Clase Programación 9
description
Transcript of Clase Programación 9
ProgramaciónClase 9. Programación Modular
Prof. Gonzalo Müller [email protected]
Facultad de IngenieríaUniversidad Central de Venezuela
ProgramaciónClase 9. Programación Modular
Clase Anterior
� Algunas aplicaciones numéricas:
� Métodos Secuenciales� Sucesión, Sumatoria y Productoria.
� Estadística Descriptiva: Media, Varianza, Regresión.
� Integración: Suma de Riemann.
� Métodos Iterativos
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 2
� Métodos Iterativos� Solución de una ecuación f(x) = 0: Newton
� Métodos Evolutivos� Búsqueda del Máximo o Mínimo de f(x): 1 + 1.
� Métodos Iterativos – Reducción de Intervalos� Solución de una ecuación f(x) = 0: Bisección.
� Búsqueda del Máximo o Mínimo de f(x): Sección Dorada.
Programación Estructurada
Técnica de programación donde:
� El algoritmo tiene un solo final.
� Toda operación realizada por el algoritmo estádefinida en un solo bloque.
� Todo el algoritmo está construido utilizando las
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 3
� Todo el algoritmo está construido utilizando lasestructuras básicas:
� Secuencial.
� Selectiva.
� Repetitiva.
Programación Estructurada
Ejemplo: Algoritmos estructurados:
Leer A y B
Comienzo
Sumatoria
S = 0
k = 0
Leer N
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 4
A > BFV
B = A + B Escribir A
Escribir B
Fin
Leer N
S = S + k
k = k + 1
Mientras (k ≤ N)
Escribir S
FIN
Programación Estructurada
En la programación estructurada se ataca el problemautilizando un solo bloque.
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 5
Programación Modular
Técnica de programación en la cual se descompone elproceso en pequeños módulos independientes.
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 6
Programación Modular
Técnica de programación en la cual se descompone elproceso en pequeños módulos independientes.
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 7
Divide y Vencerás
Módulos
Conjunto de sentencias que realizan una tarea concreta.
� Cada módulo se comporta como un subprograma:el cual recibe entradas, realiza un proceso y generasalidas.
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 8
salidas.
MóduloEntradas Salidas
Las entradas recibe el nombre de parámetros
Módulos
Conjunto de sentencias que realizan una tarea concreta.
� Cada módulo se comporta como un subprograma:el cual recibe entradas, realiza un proceso y generasalidas.
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 9
salidas.
MóduloParámetros Salidas
ResultadoValor utilizado dentro
del algoritmo
Valor utilizado fuera
del algoritmo
Módulos
…
…
…Resultado
Valor utilizado
dentro del algoritmo
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 10
…
Mientras (…)
…
FIN
Salidas
dentro del algoritmo
Valor utilizado
fuera del algoritmo
Clases de Módulos
� Reciben parámetros y retorna un resultado.
MóduloParámetros
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 11
Ejemplo:
� sqrt(x): recibe un número x y devuelve el resultado
de x1/2
� pow(x, y): recibe dos número y devuelve xy
Resultado
Clases de Módulos
� No reciben parámetros y retorna un resultado.
Módulo
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 12
Ejemplo:
� rand(): devuelve un número aleatorio entre 0 y32767.
� random(): devuelve un número aleatorio entre 0 y 1.
Resultado
Clases de Módulos
� Reciben parámetros y no retorna resultado, pero cumplen un propósito(puede generar salidas).
MóduloParámetros Salidas
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 13
Clases de Módulos
� Reciben parámetros y no retorna resultado, pero cumplen un propósito(puede generar salidas).
MóduloParámetros Salidas
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 14
Ejemplo:
� write(texto): Escribe un texto en salida.
write(‘C++ #1’)
C++ #1
Salida
Clases de Módulos
� No reciben parámetros y no retorna resultado, pero cumplen un propósito(puede generar salidas).
MóduloSalidas
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 15
Clases de Módulos
� No reciben parámetros y no retorna resultado, pero cumplen un propósito(puede generar salidas).
MóduloSalidas
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 16
Ejemplo:
� version(): datos sobre versión de programa.
version()
COLARA
versión 1.101
Salida
Tipos de Módulos
� Se agrupan en:
� Funciones: realiza una operación y retorna elresultado de la misma.
Ejemplo: rand(), sqrt(x), etc.
� Subrutinas o procedimientos: realiza una tarea y
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 17
� Subrutinas o procedimientos: realiza una tarea yregresa a la instrucción siguiente a su llamada, esdecir, no generan un resultado.
Ejemplo: write(), version(), etc.
Ambos pueden o no recibir parámetros.
Programación Modular
Algoritmo
� Existe un bloque principal en el cual se encuentranlas llamadas a los módulos.
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 18
Programación Modular
Algoritmo
� Existe un bloque principal en el cual se encuentranlas llamadas a los módulos.
� El algoritmo estará construido con:
� Estructuras:
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 19
� Estructuras:
� Secuenciales.
� Selectivas.
� Repetitivas.
Programación Modular
Algoritmo
� Existe un bloque principal en el cual se encuentranlas llamadas a los módulos.
� El algoritmo estará construido con:
� Estructuras:
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 20
� Estructuras:
� Secuenciales.
� Selectivas.
� Repetitivas.
� Dentro de las estructuras existirán:
� Llamadas a módulos previamente definidos.
Programación Modular
Estructuras
Secuenciales, Bloque Principal
Nombre
…
…
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 21
Secuenciales,
Selectivas, Repetitivas
y Llamadas a módulos.
Bloque Principal …
Mientras (…)
…
FIN
Ni el bloque principal ni los módulos debe
ocupar más de 20 líneas
Representación de Algoritmos Modulares
� Definición de una subrutina.
PC
� Con parámetros:
Nombre(parámetro1, parámetro2, …)
{
…
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 22
…
}
� Sin parámetros:
Nombre()
{
…
}
Representación de Algoritmos Modulares
� Definición de una subrutina.
PC
� Con parámetros:
Nombre(parámetro1, parámetro2, …)
{
…
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 23
…
}
� Sin parámetros:
Nombre()
{
…
}
← Los paréntesis permiten
diferenciar un módulo del
bloque principal
Representación de Algoritmos Modulares
DRE
� Con parámetros:
Nombre(parámetro1, parámetro2, …)
…
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 24
� Sin parámetros:
…
Fin
Nombre()
…
Fin
Representación de Algoritmos Modulares
DF
� Con parámetros:
Nombre(parámetro1, parámetro2, …)
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 25
� Sin parámetros:Fin
Nombre()
Fin
Representación de Algoritmos Modulares
Ejemplo: Construir una subrutina para presentar en lasalida el máximo de dos números.
Fase 1: Diseño y Análisis: DES, DRE ó DF y LV.
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 26
Representación de Algoritmos Modulares
� Definición de una función.
PC
� Con parámetros:
Nombre(parámetro1, parámetro2, …)
{
…
retorna valor
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 27
retorna valor
}
� Sin parámetros:
Nombre()
{
…
retorna valor
}
Representación de Algoritmos Modulares
DRE
� Con parámetros:
Nombre(parámetro1, parámetro2, …)
…
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 28
� Sin parámetros:
…
retorna valor
Nombre()
…
retorna valor
Representación de Algoritmos Modulares
DF
� Con parámetros:
Nombre(parámetro1, parámetro2, …)
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 29
� Sin parámetros:retorna valor
Nombre()
retorna valor
Representación de Algoritmos Modulares
Ejemplo: Construir una función para calcular elmáximo de dos números.
Fase 1: Diseño y Análisis: DES, DRE ó DF, LV.
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 30
Representación de Algoritmos Modulares
� Llamada a una subrutina.
PC
� Con argumentos:
…
Nombre(argumento1, argumento2, …)
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 31
Nombre(argumento1, argumento2, …)
…
� Sin argumentos:
…
Nombre()
…
Representación de Algoritmos Modulares
DRE
� Con argumentos:
Nombre(argumento1,argumento2,…)
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 32
� Sin argumentos:
Nombre(argumento1,argumento2,…)
Nombre()
Representación de Algoritmos Modulares
DF
� Con argumentos:
Nombre(argumento1, argumento2, …)
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 33
� Sin argumentos:
Nombre(argumento1, argumento2, …)
Nombre()
Representación de Algoritmos Modulares
� Llamada a una función.
PC
� Con argumentos:
…
variable = Nombre(argumento1, argumento2, …)
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 34
variable = Nombre(argumento1, argumento2, …)
…
� Sin argumentos:
…
Escribir Nombre()
…
Representación de Algoritmos Modulares
DRE
� Con argumentos:
Mientras (Nombre(argumento1, …) ==…)
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 35
� Sin argumentos:
Variable = Nombre()
Mientras (Nombre(argumento1, …) ==…)
Representación de Algoritmos Modulares
DF
� Con argumentos:
Escribir Nombre(argumento1, argumento2, …)
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 36
� Sin argumentos:
variable = Nombre()
Representación de Algoritmos Modulares
Ejemplo: Construir dos algoritmos para calcular elmáximo de dos números que utilicen los módulosdesarrollados previamente.
Fase 1: Diseño y Análisis: DES, DRE ó DF y LVdel Bloque Principal.
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 37
Corrida en frío de Algoritmo Principal
Dato
1…
Dato
N
Módulo1
(…)…
MóduloZ
(…)
Condición
1…
Condición
MSalida
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 38
… … … … … … … … …
Variables Llamadas Condiciones
Corrida en frío de Subrutinas
Parámetro
1…
Parámetro
W
Dato
1…
Dato
N
Condición
1…
Condición
MSalida
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 39
… … … … … … … … … …
Parámetros Variables Condiciones
Corrida en frío de Funciones
Parámetro
1…
Parámetro
W
Dato
1…
Dato
N
Condición
1…
Condición
MRetorno
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 40
… … … … … … … … … …
Parámetros Variables Condiciones
Corrida en frío de Módulos
Ejemplo: Realizar una corrida en frío para el algoritmoprincipal y módulos del ejemplo anterior.
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 41
Programación Modular
Llamada
…
Nombre(argumento1,argumento2,…)
…
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 42
DefiniciónNombre(parámetro1, parámetro2, …)
…
Fin
Programación Modular
Llamada
Asigna el argumento al parámetro antes de continuar la ejecución:
1
…
Nombre(argumento1,argumento2,…)
…
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 43
continuar la ejecución:
parametro1 = argumento1
Nombre(parámetro1, parámetro2, …)
…
Fin
Programación Modular
…
Nombre(argumento1,argumento2,…)
…
Continua la ejecución el
2
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 44
Nombre(parámetro1, parámetro2, …)
…
Fin
Continua la ejecución el
módulo correspondiente
Programación Modular
…
Nombre(argumento1,argumento2,…)
…
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 45
Nombre(parámetro1, parámetro2, …)
…
Fin
Ejecuta todas las
sentencias del módulo
3
Programación Modular
…
Nombre(argumento1,argumento2,…)
…
Regresa y continua la
4
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 46
Nombre(parámetro1, parámetro2, …)
…
Fin
Regresa y continua la
ejecución el algoritmo
principal
Metodología de la Programación Modular
� Diseño Modular del algoritmo
� Estructurar la resolución del problema pormódulos.
� Cada módulo se encarga de resolver una parcialidaddel problema.
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 47
del problema.
� Cada módulo debe realizar una función especifica ydebe ser sencillo e independiente.
Divide y Vencerás
Metodología de la Programación Modular
� Se debe realizar una descomposición jerárquica,utilizando el diseño top-down o diagramas deestructuras.
� Diagramas Top-Down: Son una representacióngráfica de la jerarquía existente entre los módulos.
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 48
gráfica de la jerarquía existente entre los módulos.
� Cada módulo se representa con un rectángulo.
� Existen dos tipos de módulos:
� Primitivos o Terminales: Es independiente.
� No Primitivos: Requiere de otros módulos.
Metodología de la Programación Modular
� Los módulos debe ser organizados de tal maneraque la secuencia de ejecución de los mismo sea deizquierda a derecha.
1. Se desarrolla un bosquejo inicial.
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 49
1. Se desarrolla un bosquejo inicial.
Programa
Inicialización Entrada Proceso Salida
Secuencia de Ejecución
Módulo Primitivo
Módulo No Primitivo
Metodología de la Programación Modular
� Cuando la descripción de la tarea realizada por unmódulo no es lo suficientemente sencilla se debesubdividir en varios módulos.
� Se debe subdividir en al menos dos módulos.
2. Se refina paso a paso de forma de enriquecer la
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 50
2. Se refina paso a paso de forma de enriquecer lajerarquía inicial con niveles adicionales.
Programa
Inicialización Entrada Proceso Salida
Validación Tarea 1Lectura Tarea 2
Metodología de la Programación Modular
Programa
Inicialización Entrada Proceso Salida
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 51
Bottom-Up
Validación Tarea 1Lectura Tarea 2
Metodología de la Programación Modular
Ejemplo: Se requiere un programa para obtener lasraíces de una ecuación cuadrática. Realizar el diseño,utilizando una descomposición jerárquica.
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 52
Metodología de la Programación Modular
� Luego de realizar el diagrama Top-Down, se continuacon la construcción del algoritmo el cual secomplementa con dos nuevos pasos muy importantes:
� Definición de módulos: se desarrolla el algoritmoque define a la subrutina.
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 53
que define a la subrutina.
� Cada módulo dispone de su propio diagrama.
� Llamada a los módulos: Se pone en ejecución elmodulo previamente definida donde sea necesario.
Programación Modular
� Algunos módulos clásicos son:
� Módulos de entrada de datos.
� Módulos de proceso.
� Módulos de presentación de resultados.
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 54
� Los módulos se caracterizan por su:
� Acoplamiento.
� Cohesión.
Acoplamiento
Describe la dependencia de un módulo respecto de otro.
� Acoplamiento de zonas: Los módulos manejan losdatos de entradas y de salida a través de variablescomunes, llamadas variables globales.
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 55
Datos
(Variables
Globales)
Acoplamiento
de Alto Nivel
Módulo A Módulo B
comunes, llamadas variables globales.
Diagrama de
acoplamientoEfecto Colateral
Acoplamiento
� Acoplamiento de datos: Los módulos manejan losdatos de entradas y de salida haciendo uso deparámetros.
Acoplamiento Módulo A Módulo B
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 56
de Bajo NivelMódulo A Módulo B
Datos(Parámetros)
Datos(Parámetros)
Un buen programa contiene módulos con
acoplamiento de bajo nivel, ya que al
realizar modificaciones no es necesario
preocuparse por el impacto en los otros
módulos.
Cohesión
Establece como se interrelacionan el conjunto de sentencias y datos que forman al módulo.
� Cohesión funcional: Todas las sentencias se destinan
a llevar a cabo una y solo una sola tarea.
Cohesión de Alto Nivel
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 57
a llevar a cabo una y solo una sola tarea.
� Cohesión secuencial: Los resultados generados por
una sentencia son utilizados en la siguiente.
� Cohesión en datos: Las sentencias realizan varias
tareas a las vez utilizando los mismo datos.
Nivel
Cohesión
� Cohesión temporal: Las sentencias realizan varias
tareas sin importar el orden con distintos datos cuyo
significado es el mismo. Por ejemplo: Módulo de
inicialización.
� Cohesión lógica: Las sentencias realizan una de
varias tareas a partir de datos de control. PorCohesión
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 58
varias tareas a partir de datos de control. Por
ejemplo: Módulo de selección de un menú.
� Cohesión coincidental: Las sentencias realizan varias
tareas sin relación alguna.
Cohesión de Bajo Nivel
Programación Modular
Un buen programa contiene módulos con cohesión de
alto nivel, donde sus sentencias y datos se interrelaciona
fuertemente entre sí y no depende de otros módulos, ya
que es más sencillo realizar modificaciones cuando éstos
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 59
que es más sencillo realizar modificaciones cuando éstos
se destina a realizar funciones especifica.
Un módulo debe tener una o pocas responsabilidades de
lo contrario debería dividirse en varios para facilitar una
fuerte cohesión.
Acoplamiento de datos básico
El bloque principal se construye solo con los bloquesterminales del diagrama Top-Down y módulos solodeben poseer parámetros de entrada.
ProgramaBloque Principal
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 60
Inicialización Entrada Proceso Salida
Validación Tarea 1Lectura Tarea 2
Bloques Terminales
Acoplamiento de datos básico
El bloque principal se construye solo con los bloquesterminales del diagrama Top-Down y módulos solodeben poseer parámetros de entrada.
ProgramaBloque Principal
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 61
Inicialización Salida
Validación Tarea 1Lectura Tarea 2
Bloques Terminales
Acoplamiento de datos básico
� Subrutinas:
� Pueden recibir Valores o Parámetros de Entrada.
� No retorna resultado, pero realizar una operacióndada.
� Utilizadas usualmente para presentación de datos en
…
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 62
� Utilizadas usualmente para presentación de datos en
pantalla.
� Funciones:
� Pueden recibir Valores o Parámetros de Entrada.
� Retorna 1 resultado.
…
1
Acoplamiento de datos básico
Ejemplo: Construir el algoritmo modular conacoplamiento de datos básico para obtener las raícesde una ecuación cuadrática.
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 63
Metodología de la Programación Modular
� Tabla de Módulos: Una vez desarrollados losalgoritmos de todos los módulos es de utilidad para laposterior implementación en el lenguaje construir unatabla donde se listen todos los módulos, sus tipos yparámetros.
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 64
Modulo Parámetros Retorno Tipo
Nombre del
módulo
Lista de
parámetros
Valor
retornado
Subrutina o
Función
Metodología de la Programación Modular
Ejemplo: Construir la tabla de módulos del algoritmoanterior.
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 65
Programación Modular
� Reutilización: Separa en un módulos los procesos quese repita más de una vez el programa.
� Disminuye el tamaño del programa.
Ejemplo: La lectura de un punto (X, Y)
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 66
Programación Modular
� Reutilización: Separa en un módulos los procesos quese repita más de una vez el programa.
� Disminuye el tamaño del programa.
Ejemplo: La lectura de un punto (X, Y)
� Facilita las modificaciones y localización de errores: Se
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 67
� Facilita las modificaciones y localización de errores: Secomprueba o modifica de forma individual cada unode los módulos.
Programación Modular
� Reutilización: Separa en un módulos los procesos quese repita más de una vez el programa.
� Disminuye el tamaño del programa.
Ejemplo: La lectura de un punto (X, Y)
� Facilita las modificaciones y localización de errores: Se
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 68
� Facilita las modificaciones y localización de errores: Se comprueba o modifica de forma individual cada uno de los módulos.
� Reduce el tiempo de desarrollo: Se reparte laconstrucción de los módulos entre diferentes equiposde trabajo.
Ejercicios
a) Definir un módulo para:
1) Establecer el mínimo de dos valores.
2) Determinar la distancia entre 2 maquinas.
3) Calcular f(x) = sen(2*x)+x4.
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 69
3) Calcular f(x) = sen(2*x)+x4.
4) Determinar si un número entero es par.
5) Establecer el signo de un valor (-1, 0, 1).
Fase 1: Diseño y Análisis: DES, DRE ó DF, LV yCF del Módulo.
Ejercicios
b) Partiendo de los módulos creados
anteriormente construir un algoritmo modular para:
1) Establecer el menor de 3 valores.
2) Determinar las distancias entre 3 maquinas.
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 70
2) Determinar las distancias entre 3 maquinas.
3) Calcular f(x) = sen(2*x)+x4 para N puntos.
4) Contar la cantidad de números pares de N datos.
5) Establecer si 2 valores tienen el mismo signo.
Fase 1: Diseño y Análisis: DES, DRE ó DF, LV yCF del Bloque Principal.
Ejercicios
c) Construir un algoritmo modular para:
1) Calcular el factorial de N números.
2) Dado un conjunto de N números, establecercuales son números compuestos.
3) Promediar los pares y promediar los impares delos números entre A y B.
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 71
los números entre A y B.
4) Dado N intervalos, calcular la sumatoria de losnúmeros que contiene cada intervalo.
Fase 1: Diseño y Análisis: DES, DTD
DES, DRE ó DF y LV de Módulos y TM.
DRE ó DF, LV y CF del Bloque Principal.
Ejercicios
c) Construir un algoritmo modular para:
5) Dado un conjunto de puntos en R2 por el usuariodeterminar cuales se encuentra por encima, pordebajo y sobre una recta dada por el usuario.
6) Encontrar por Newton 1 solución para f(x) = 0.
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 72
7) Encontrar 1 Mínimo de f(x) por 1+1.
Fase 1: Diseño y Análisis: DES, DTD
DES, DRE ó DF y LV de Módulos y TM.
DRE ó DF, LV y CF del Bloque Principal.
Resumen
� Programación estructurada.
� Programación modular.
� Algoritmo: Bloque principal, llamadas, 20 líneas.
� Módulos.
� Clases.
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 73
� Clases.
� Tipos: Subrutinas y Funciones.
� Representación de Algoritmos Modulares
� Definición: subrutinas, funciones.
� Llamada: subrutinas, funciones.
Resumen
� Metodología de la Programación Modular
� Diseño Modular: Diagrama Top-Down.
� DRE, DF, PC y CF.
� Tabla de Módulos.
� Características: Acoplamiento y Cohesión.
Programación – Prof. Gonzalo Müller – Clase 9 – GM - 74
� Características: Acoplamiento y Cohesión.
� Acoplamiento de datos básico.
� Solo bloques terminales del DTD.
� Subrutinas: No generan resultado.
� Funciones: Generan 1 resultado.
� Beneficios: reutilización, cambios, errores y tiempo.