Professional Documents
Culture Documents
UNIVERSIDAD DE CANTABRIA
Notas:
1. Introduccin
UNIVERSIDAD DE CANTABRIA
Programas, y lenguajes. Necesidad de la programacin modular. Ciclo de vida de los programas. Concepto de algoritmo. Nocin de proceso. Variables. Estado de un programa. 2. Datos y expresiones. Especificacin de algoritmos 3. Estructuras algortmicas bsicas 4. Iteracin y recursin 5. Iteracin y recursin sobre secuencias 6. Iteracin y recursin sobre tablas
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 informacin Se escribe en un lenguaje que el computador entienda lenguaje de programacin generalmente es necesario un proceso de traduccin automtica (compilacin)
UNIVERSIDAD DE CANTABRIA
Los programas pueden llegar a ser muy complejos y para poder gestionar esta complejidad se dividen en mdulos independientes entre s llamados clases en Java Un mdulo de programa contiene datos y operaciones para manipular datos Cada una de esas operaciones representa un algoritmo
UNIVERSIDAD DE CANTABRIA
Anlisis de Requerimientos
Anlisis de Especificaciones
Diseo de la Arquitectura
Pruebas de mdulo
Codificacin
Diseo Detallado
Programa final
Mdulos de Programa
UNIVERSIDAD DE CANTABRIA
La mayor parte del gasto en sist. informticos es el software Los errores software tienen un alto coste: efecto y correccin
Coste relativo de corregir un error 100 80 % del coste total 60 40 20 0 1955 Ao Hardware 100 40 16 6.3 2.5 0
Software
1970
1995
Ana Dis Cod Int Pru Man Etapa en que se detecta el error
UNIVERSIDAD DE CANTABRIA
Concepto de algoritmo
Un algoritmo es: una secuencia finita de instrucciones, cada una de ellas con un claro significado, que puede ser realizada con un esfuerzo finito y en un tiempo finito
UNIVERSIDAD DE CANTABRIA
El algoritmo se disea en la etapa de diseo detallado y se corresponde habitualmente con el nivel de operacin o mtodo 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 MATEMTICAS, ESTADSTICA Y COMPUTACIN
Nocin de proceso
Un proceso es la accin de ejecutar las instrucciones de un programa Se manifiesta por una sucesin de cambios de estado en la memoria y en el entorno del computador es decir, cambios en la informacin almacenada en el computador y su entorno
UNIVERSIDAD DE CANTABRIA
UNIVERSIDAD DE CANTABRIA
La informacin que maneja un programa se almacena en unidades llamadas variables almacenan un valor de un determinado tipo se identifican por un nombre El estado de un programa en un momento dado es el valor de las variables en ese instante
10
UNIVERSIDAD DE CANTABRIA
Programa que intenta mantener una habitacin a una temperatura deseada ( 0.5 grados) dispone de un radiador que se puede encender y apagar, y un termmetro Variables: tempDeseada: magnitud real (C) tempAmbiente: magnitud real (C) estadoRadiador: encendido o apagado Estado del programa valor de tempDeseada, tempAmbiente, y estadoRadiador en cada instante
DEPARTAMENTO DE MATEMTICAS, ESTADSTICA Y COMPUTACIN
11
Ejemplo (cont.)
Algoritmo Repetir continuamente lo siguiente si hace fro encender el radiador si hace calor apagar el radiador esperar un rato frepetir
UNIVERSIDAD DE CANTABRIA
El algoritmo se repite continuamente (hasta que el usuario apague el sistema) Ahora debemos refinar este algoritmo para expresarlo en trminos de las variables del sistema
12
Ejemplo (cont.)
Algoritmo refinado Repetir continuamente lo siguiente si tempAmbiente<tempDeseada-0.5 entonces // hace fro estadoRadiador:=encendido fsi si tempAmbiente>tempDeseada+0.5 entonces // hace calor estadoRadiador:=apagado fsi esperar 1 minuto frepetir
UNIVERSIDAD DE CANTABRIA
13
A observar
UNIVERSIDAD DE CANTABRIA
Hemos descrito el algoritmo mediante la tcnica llamada pseudocdigo, que tiene instrucciones de control presentes en todos los lenguajes si condicin entonces hacer cosas fsi obsrvese el uso del sangrado para determinar el mbito de aplicacin de cada instruccin de control clculos acciones expresadas sin el formalismo de los lenguajes El propsito es que el pseudocdigo refinado sea sencillo, y directamente traducible a cdigo en cualquier lenguaje
DEPARTAMENTO DE MATEMTICAS, ESTADSTICA Y COMPUTACIN
14
UNIVERSIDAD DE CANTABRIA
Podemos observar los diferentes estados del sistema, por ejemplo al inicio del algoritmo
tempDeseada
23.0 23.0 23.0 23.0 23.0 23.0 24.0 24.0
tempAmbiente
21.4 22.1 22.8 23.4 24.1 23.8 23.3 24.2
estadoRadiador
apagado encendido encendido encendido encendido apagado apagado encendido
15
UNIVERSIDAD DE CANTABRIA
16