Title: Tema 7a
1Tema 7a
- Estructura y diseño de subprogramas
2Construcción de un algoritmo
- Definir el problema a resolver
- Identificar las entradas del algoritmo
- Identificar la salida del algoritmo
- Definir los pasos a seguir para convertir las
entradas en la salida - Seguir los pasos y comprobar que el algoritmo sea
correcto analizando la salida. - Revisar los pasos y hacer las correcciones.
- Resolver el problema.
3Construcción de un algoritmo
Salida
Entrada
4Construcción de un algoritmo
Ingresar x
Calcular !x
Calcular max
Calcular prom arit
Calcular prom geo
Juntar resultados
Entregar resultado
5Construcción de un algoritmo
- Problema
- Mostrar un informe en pantalla de las
estadísticas de un curso - Se pide
- Ingresar datos por pantalla
- Validar que las notas esten entre 0 y 100
- Obtener promedios aritmético y geométrico
- Obtener desviación estandar
- Obtener mediana, moda, máximo, minimo.
- Contar numero de aprobados y reprobados
- Decidir si el curso es bueno, malo o regular en
base a todos los indicadores anteriores
6Construcción de un algoritmo
- Formato
- Los datos deben separarse por lineas de -
- Los grupos deben separarse por lineas de
- El largo de las lineas debe ser de 48 caracteres
si se hace calor y en 56 si hace frio. Este
número se duplica si el año es bisiesto. - Todos los valores deben estar expresados en
números y palabras.
7Construcción de un algoritmo
Generar informe
Informe
Notas
8Construcción de un algoritmo
Ingresar datos
Mostrar resultados
Notas
Informe
Calcular indices
datos
indices
9Construcción de un algoritmo
notas
Ingresar nota por teclado
valor
Validar dato
error
dato
10Construcción de un algoritmo
datos
p.arit
p.geom
minimo
des.std
maximo
moda
mediana
contar
indices
decidir
11Construcción de un algoritmo
indices
Obtener numero De caracteres
Escribir linea de -
Escribir linea de
Mostrar ind (números)
Mostrar grupo
Mostrar ind (palabras)
informe
12Construcción de un algoritmo
Obtener Tº
Obtener bisiesto
Número de carácteres
13Construcción de un algoritmo
- Un elemento clave para diseñar programas es la
creación de subprogramas - Permite solucionar problemas más grandes.
- Permite organizar de mejor manera el código
- Permite trabajar mas rápido al reutilizar trabajo.
14Subprogramas y Modularidad
- Un subprograma o modulo es un trozo de código que
tiene - Entradas
- Salidas
- Instrucciones
- Es un programa!
- Un subprograma puede ser utilizado por el
programa principal o por otros subprogramas
15Metafora de conjuntos
U
16Metafora de conjuntos
- Si es un conjunto
- Es un subconjunto de
- Es un subconjunto de
- Es un subconjunto de
17Metafora de conjuntos
18Metafora de conjuntos
- Si es un programa
- Es un subprograma de
- Es un subprograma de
- Es un subprograma de
19Subprogramas y Modularidad
- Modularidad
- Caracteristica de un programa de estar divido en
módulos - Permite
- Permite mayores niveles de abstracción, por ende
capacidad de abordar problemas más complejos - Diseñar programas más claros, y por ende más
fáciles de mantener - Permite la reutilización de código, y por ende
evita retrabajo y aumenta productividad - Y el Copy paste??
- Que pasa al encontrar un error??
20Subprogramas y Modularidad
- Dividir y conquistar
- Tecnica de programacion consistente en dividir un
problema complejo en varios más simples. - Estos problemas simples pueden ser nuevamente
divididos
21Fin tema 7a
- Estructura y diseño de subprogramas