Tema 7a
Estructura y diseño de subprogramas
Construcción de un algoritmo
1. Definir el problema a resolver2. Identificar las entradas del algoritmo3. Identificar la salida del algoritmo4. Definir los pasos a seguir para convertir las
entradas en la salida5. Seguir los pasos y comprobar que el algoritmo
sea correcto analizando la salida.6. Revisar los pasos y hacer las correcciones.7. Resolver el problema.
nn
j
n
i
xxn
xxxf 1
2
11
1
),1max(!)(
Construcción de un algoritmo
Entrada
Salida
Calcular !x
Calcular max
Ingresar x
Calcular prom arit
Construcción de un algoritmo
Calcular prom geo
Entregar resultado
Juntar resultados
Construcció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
Construcció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.
Construcción de un algoritmo
Generar informeNotas Informe
Construcción de un algoritmo
Ingresardatos
Calcularindices
Mostrarresultados
Notas Informe
datos indices
Construcción de un algoritmo
Ingresar nota por teclado
Validardato
notas
valor
datoerror
Construcción de un algoritmo
p.arit
moda
mediana
des.std
p.geom
maximo
minimo
contar
decidir
datos
indices
Construcción de un algoritmo
Escribir linea de “-”
Escribir linea de “*”
Obtener numeroDe caracteres
Mostrar grupoMostrar
ind (números)
Mostrarind (palabras)
indices
informe
Construcción de un algoritmo
Obtener Tº
Obtener bisiesto
Número de carácteres
Construcció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.
Subprogramas 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
Metafora de conjuntosU
Metafora de conjuntos
• Si es un conjunto– Es un subconjunto de – Es un subconjunto de – Es un subconjunto de
Metafora de conjuntos
Metafora de conjuntos
• Si es un programa– Es un subprograma de – Es un subprograma de
– Es un subprograma de
Subprogramas 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??
Subprogramas 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
Fin tema 7a
Estructura y diseño de subprogramas
Top Related