Download - Tema 7a
![Page 1: Tema 7a](https://reader036.vdocumento.com/reader036/viewer/2022062322/5681504e550346895dbe4b94/html5/thumbnails/1.jpg)
Tema 7a
Estructura y diseño de subprogramas
![Page 2: Tema 7a](https://reader036.vdocumento.com/reader036/viewer/2022062322/5681504e550346895dbe4b94/html5/thumbnails/2.jpg)
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.
![Page 3: Tema 7a](https://reader036.vdocumento.com/reader036/viewer/2022062322/5681504e550346895dbe4b94/html5/thumbnails/3.jpg)
nn
j
n
i
xxn
xxxf 1
2
11
1
),1max(!)(
Construcción de un algoritmo
Entrada
Salida
![Page 4: Tema 7a](https://reader036.vdocumento.com/reader036/viewer/2022062322/5681504e550346895dbe4b94/html5/thumbnails/4.jpg)
Calcular !x
Calcular max
Ingresar x
Calcular prom arit
Construcción de un algoritmo
Calcular prom geo
Entregar resultado
Juntar resultados
![Page 5: Tema 7a](https://reader036.vdocumento.com/reader036/viewer/2022062322/5681504e550346895dbe4b94/html5/thumbnails/5.jpg)
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
![Page 6: Tema 7a](https://reader036.vdocumento.com/reader036/viewer/2022062322/5681504e550346895dbe4b94/html5/thumbnails/6.jpg)
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.
![Page 7: Tema 7a](https://reader036.vdocumento.com/reader036/viewer/2022062322/5681504e550346895dbe4b94/html5/thumbnails/7.jpg)
Construcción de un algoritmo
Generar informeNotas Informe
![Page 8: Tema 7a](https://reader036.vdocumento.com/reader036/viewer/2022062322/5681504e550346895dbe4b94/html5/thumbnails/8.jpg)
Construcción de un algoritmo
Ingresardatos
Calcularindices
Mostrarresultados
Notas Informe
datos indices
![Page 9: Tema 7a](https://reader036.vdocumento.com/reader036/viewer/2022062322/5681504e550346895dbe4b94/html5/thumbnails/9.jpg)
Construcción de un algoritmo
Ingresar nota por teclado
Validardato
notas
valor
datoerror
![Page 10: Tema 7a](https://reader036.vdocumento.com/reader036/viewer/2022062322/5681504e550346895dbe4b94/html5/thumbnails/10.jpg)
Construcción de un algoritmo
p.arit
moda
mediana
des.std
p.geom
maximo
minimo
contar
decidir
datos
indices
![Page 11: Tema 7a](https://reader036.vdocumento.com/reader036/viewer/2022062322/5681504e550346895dbe4b94/html5/thumbnails/11.jpg)
Construcción de un algoritmo
Escribir linea de “-”
Escribir linea de “*”
Obtener numeroDe caracteres
Mostrar grupoMostrar
ind (números)
Mostrarind (palabras)
indices
informe
![Page 12: Tema 7a](https://reader036.vdocumento.com/reader036/viewer/2022062322/5681504e550346895dbe4b94/html5/thumbnails/12.jpg)
Construcción de un algoritmo
Obtener Tº
Obtener bisiesto
Número de carácteres
![Page 13: Tema 7a](https://reader036.vdocumento.com/reader036/viewer/2022062322/5681504e550346895dbe4b94/html5/thumbnails/13.jpg)
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.
![Page 14: Tema 7a](https://reader036.vdocumento.com/reader036/viewer/2022062322/5681504e550346895dbe4b94/html5/thumbnails/14.jpg)
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
![Page 15: Tema 7a](https://reader036.vdocumento.com/reader036/viewer/2022062322/5681504e550346895dbe4b94/html5/thumbnails/15.jpg)
Metafora de conjuntosU
![Page 16: Tema 7a](https://reader036.vdocumento.com/reader036/viewer/2022062322/5681504e550346895dbe4b94/html5/thumbnails/16.jpg)
Metafora de conjuntos
• Si es un conjunto– Es un subconjunto de – Es un subconjunto de – Es un subconjunto de
![Page 17: Tema 7a](https://reader036.vdocumento.com/reader036/viewer/2022062322/5681504e550346895dbe4b94/html5/thumbnails/17.jpg)
Metafora de conjuntos
![Page 18: Tema 7a](https://reader036.vdocumento.com/reader036/viewer/2022062322/5681504e550346895dbe4b94/html5/thumbnails/18.jpg)
Metafora de conjuntos
• Si es un programa– Es un subprograma de – Es un subprograma de
– Es un subprograma de
![Page 19: Tema 7a](https://reader036.vdocumento.com/reader036/viewer/2022062322/5681504e550346895dbe4b94/html5/thumbnails/19.jpg)
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??
![Page 20: Tema 7a](https://reader036.vdocumento.com/reader036/viewer/2022062322/5681504e550346895dbe4b94/html5/thumbnails/20.jpg)
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
![Page 21: Tema 7a](https://reader036.vdocumento.com/reader036/viewer/2022062322/5681504e550346895dbe4b94/html5/thumbnails/21.jpg)
Fin tema 7a
Estructura y diseño de subprogramas