programacion
en programación
UNIVERSIDAD
DE CANTABRIA
1. Introducción
2. Datos y expresiones. Especificación de algoritmos
3. Estructuras algorítmicas básicas
4. Iteración y recursión
5. Iteración y recursión sobre secuencias
6. Iteración y recursión sobre tablas
DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA
Y COMPUTACIÓN
4
© Michael González Harbour yJosé Luis Montaña
30/sept/09
Notas:
1
UNIVERSIDAD
DE CANTABRIA
1. Introducción
• Programas, y lenguajes. Necesidad de la programación modular. Ciclo de vida de los programas.
Concepto de algoritmo. Noción de proceso. Variables. Estado de un programa.
2. Datos y expresiones. Especificación de algoritmos
3. Estructuras algorítmicas básicas
4. Iteración y recursión
5. Iteración yrecursión sobre secuencias
6. Iteración y recursión sobre tablas
DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN
© Michael González Harbour y José Luis Montaña
30/sept/09
2
Programas y lenguajes
UNIVERSIDAD
DE CANTABRIA
Un programa es un conjunto completo de instrucciones que el
computador es capaz de ejecutar con el fin de tratar información
Se escribe en unlenguaje que el computador entienda
• lenguaje de programación
• generalmente es necesario un proceso de traducción
automática (compilación)
DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN
© Michael González Harbour y José Luis Montaña
30/sept/09
Necesidad de la programación modular
3
UNIVERSIDAD
DE CANTABRIA
Los programas pueden llegar a ser muy complejos y para podergestionar esta complejidad se dividen en módulos
• independientes entre sí
• llamados clases en Java
Un módulo de programa contiene datos y operaciones para
manipular datos
Cada una de esas operaciones representa un algoritmo
DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN
© Michael González Harbour y José Luis Montaña
30/sept/09
4
El ciclo de vida de un programaRequerimientos
Informales
Documento de
Requerimientos
Análisis de
Requerimientos
Integración y
pruebas de
sistema
Programa
final
Diseño de la
Arquitectura
Codificación
Módulos de
Programa
Módulos de
Programa
Probados
Arquitectura
del Programa
Documento de
Especificaciones
Análisis de
Especificaciones
Pruebas
de módulo
UNIVERSIDAD
DE CANTABRIA
DiseñoDetallado
Diseño de cada
Módulo (pseudocódigo)
© Michael González Harbour y José Luis Montaña
30/sept/09
DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN
Coste de los sistemas informáticos
5
UNIVERSIDAD
DE CANTABRIA
La mayor parte del gasto en sist. informáticos es el software
Los errores software tienen un alto coste: efecto y corrección
% del coste total
80Coste relativo de corregir un error
100
Hardware
60
40
Software
20
0
1955
1970
Año
DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN
1995
100
40
16
6.3
2.5
0
Ana Dis Cod
Int
Pru Man
Etapa en que se detecta el error
© Michael González Harbour y José Luis Montaña
30/sept/09
6
Distribución del Esfuerzo de
desarrollo
UNIVERSIDAD
DECANTABRIA
análisis y diseño
codificación
pruebas e
integración
DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN
© Michael González Harbour y José Luis Montaña
30/sept/09
Concepto de algoritmo
7
UNIVERSIDAD
DE CANTABRIA
Un algoritmo es:
• una secuencia finita de instrucciones,
• cada una de ellas con un claro significado,
• que puede ser realizada con un esfuerzofinito
• y en un tiempo finito
El algoritmo se diseña en la etapa de diseño detallado y se
corresponde habitualmente con el nivel de operación o método
Los programas se componen habitualmente de muchas clases
que contienen algoritmos, junto con datos utilizados por ellos
• los datos y algoritmos relacionados entre sí se encapsulan en la
misma clase
DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA...
Regístrate para leer el documento completo.