21
Tema 7a Estructura y diseño de subprogramas

Tema 7a Estructura y diseño de subprogramas. Construcción de un algoritmo 1.Definir el problema a resolver 2.Identificar las entradas del algoritmo 3.Identificar

Embed Size (px)

Citation preview

Page 1: Tema 7a Estructura y diseño de subprogramas. Construcción de un algoritmo 1.Definir el problema a resolver 2.Identificar las entradas del algoritmo 3.Identificar

Tema 7a

Estructura y diseño de subprogramas

Page 2: Tema 7a Estructura y diseño de subprogramas. Construcción de un algoritmo 1.Definir el problema a resolver 2.Identificar las entradas del algoritmo 3.Identificar

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 Estructura y diseño de subprogramas. Construcción de un algoritmo 1.Definir el problema a resolver 2.Identificar las entradas del algoritmo 3.Identificar

nn

j

n

i

xxn

xxxf 1

2

11

1

),1max(!)(

Construcción de un algoritmo

Entrada

Salida

Page 4: Tema 7a Estructura y diseño de subprogramas. Construcción de un algoritmo 1.Definir el problema a resolver 2.Identificar las entradas del algoritmo 3.Identificar

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 Estructura y diseño de subprogramas. Construcción de un algoritmo 1.Definir el problema a resolver 2.Identificar las entradas del algoritmo 3.Identificar

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 Estructura y diseño de subprogramas. Construcción de un algoritmo 1.Definir el problema a resolver 2.Identificar las entradas del algoritmo 3.Identificar

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 Estructura y diseño de subprogramas. Construcción de un algoritmo 1.Definir el problema a resolver 2.Identificar las entradas del algoritmo 3.Identificar

Construcción de un algoritmo

Generar informeNotas Informe

Page 8: Tema 7a Estructura y diseño de subprogramas. Construcción de un algoritmo 1.Definir el problema a resolver 2.Identificar las entradas del algoritmo 3.Identificar

Construcción de un algoritmo

Ingresardatos

Calcularindices

Mostrarresultados

Notas Informe

datos indices

Page 9: Tema 7a Estructura y diseño de subprogramas. Construcción de un algoritmo 1.Definir el problema a resolver 2.Identificar las entradas del algoritmo 3.Identificar

Construcción de un algoritmo

Ingresar nota por teclado

Validardato

notas

valor

datoerror

Page 10: Tema 7a Estructura y diseño de subprogramas. Construcción de un algoritmo 1.Definir el problema a resolver 2.Identificar las entradas del algoritmo 3.Identificar

Construcción de un algoritmo

p.arit

moda

mediana

des.std

p.geom

maximo

minimo

contar

decidir

datos

indices

Page 11: Tema 7a Estructura y diseño de subprogramas. Construcción de un algoritmo 1.Definir el problema a resolver 2.Identificar las entradas del algoritmo 3.Identificar

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 Estructura y diseño de subprogramas. Construcción de un algoritmo 1.Definir el problema a resolver 2.Identificar las entradas del algoritmo 3.Identificar

Construcción de un algoritmo

Obtener Tº

Obtener bisiesto

Número de carácteres

Page 13: Tema 7a Estructura y diseño de subprogramas. Construcción de un algoritmo 1.Definir el problema a resolver 2.Identificar las entradas del algoritmo 3.Identificar

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 Estructura y diseño de subprogramas. Construcción de un algoritmo 1.Definir el problema a resolver 2.Identificar las entradas del algoritmo 3.Identificar

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 Estructura y diseño de subprogramas. Construcción de un algoritmo 1.Definir el problema a resolver 2.Identificar las entradas del algoritmo 3.Identificar

Metafora de conjuntosU

Page 16: Tema 7a Estructura y diseño de subprogramas. Construcción de un algoritmo 1.Definir el problema a resolver 2.Identificar las entradas del algoritmo 3.Identificar

Metafora de conjuntos

• Si es un conjunto– Es un subconjunto de – Es un subconjunto de – Es un subconjunto de

Page 17: Tema 7a Estructura y diseño de subprogramas. Construcción de un algoritmo 1.Definir el problema a resolver 2.Identificar las entradas del algoritmo 3.Identificar

Metafora de conjuntos

Page 18: Tema 7a Estructura y diseño de subprogramas. Construcción de un algoritmo 1.Definir el problema a resolver 2.Identificar las entradas del algoritmo 3.Identificar

Metafora de conjuntos

• Si es un programa– Es un subprograma de – Es un subprograma de

– Es un subprograma de

Page 19: Tema 7a Estructura y diseño de subprogramas. Construcción de un algoritmo 1.Definir el problema a resolver 2.Identificar las entradas del algoritmo 3.Identificar

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 Estructura y diseño de subprogramas. Construcción de un algoritmo 1.Definir el problema a resolver 2.Identificar las entradas del algoritmo 3.Identificar

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 Estructura y diseño de subprogramas. Construcción de un algoritmo 1.Definir el problema a resolver 2.Identificar las entradas del algoritmo 3.Identificar

Fin tema 7a

Estructura y diseño de subprogramas