PDF de programación - Tema 2: Programación Modular y Estructurada

Imágen de pdf Tema 2: Programación Modular y Estructurada

Tema 2: Programación Modular y Estructuradagráfica de visualizaciones

Actualizado el 15 de Diciembre del 2018 (Publicado el 3 de Diciembre del 2018)
1.644 visualizaciones desde el 3 de Diciembre del 2018
1,5 MB
53 paginas
Creado hace 8a (08/10/2015)
Fundamentos de la Programación

08/10/2015

1

TEMA 2:

Programación

Modular y
Estructurada

Tema2: Fundamentos de la Programación

1

Fundamentos de la Programación

08/10/2015

2

Final de estos

apartados:

EJEMPLOS

ILUSTRATIVOS

TRABAJO
PERSONAL

ÍNDICE

2.1. Introducción(2-5)

2.2. Principios de la Programación Estructurada(6,7)

2.3. Pasos para la construcción de un programa Modular(8-15)

2.4. Ámbito de las variables (Globales y Locales)(16-21)

2.5. Creación de subprogramas (22-52)

2.5.1. Paso de parámetros por valor y por referencia(24,25)

2.5.2. Definición de función (26-40)

2.5.3 Definición de Procedimientos (41-52)

Tema 2: Fundamentos de Programación

Tema2: Fundamentos de la Programación

2

Fundamentos de la Programación

08/10/2015

2.1. Introducción

3

 Hasta ahora nosotros hemos aprendido a invocar

funciones predefinidas

(abs,

round…..)

 Otras funciones las hemos utilizado importándolas de algunos módulos (módulo math:

sin, log…)

 En este capítulo se explicarán todos los elementos necesarios para crearlas

Programación modular : Diseño de programas mediante la descomposición del

problema en módulos sencillos e independientes

Programación estructurada : Programación de cada uno de estos módulos de forma

estructurada . Unión de módulos para la resolución del problema global.

Tema 2: Fundamentos de Programación
Tema 3: Fundamentos de Programación

Tema2: Fundamentos de la Programación

3

Fundamentos de la Programación

08/10/2015

2.1. Introducción

4

Recordemos el principal objetivo de la asignatura:

“Aprender a programar según este paradigma =>Escribir programas

que funcionen correctamente y sean claros, legibles y fácilmente

actualizables y depurables.”

Tema 2: Fundamentos de Programación
Tema 3: Fundamentos de Programación

Tema2: Fundamentos de la Programación

4

Fundamentos de la Programación

08/10/2015

2.1. Introducción

5

 Evitar determinados 'malos hábitos' de programación que llevan a problemas como:

● Código demasiado largo, enrevesado y poco claro, ilegible en la mayoría de los casos

no solo para otros programadores, también para el autor del mismo.

● Dificultades en la corrección de errores, siendo generalmente difícil la localización de los

mismos. Las modificaciones o actualizaciones son costosas por lo que generalmente se

recurre a 'parches' que contribuyen a su vez a un empeoramiento en la lógica inicial del

programa.

● A estos inconvenientes se suele añadir una documentación escasa e incompleta y no

siempre actualizada.

Tema 2: Fundamentos de Programación
Tema 3: Fundamentos de Programación

Tema2: Fundamentos de la Programación

5

Fundamentos de la Programación

08/10/2015

2.2. Principios de la Programación Estructurada

6

Programación Estructurada.

Principios:

 Abstracción.

No se diseña la solución de un problema pensando en una máquina y lenguaje concreto.

 Teorema de la Estructura (Bohn y Jacopini)

Todo diagrama o programa propio, cualquiera que sea el trabajo que tenga que realizar, se
puede implementar utilizando las tres estructuras de control básicas que son la secuencial,
alternativa o selectiva y repetitiva o iterativa.

La importancia de este teorema radica en que estas tres estructuras tienen un único punto
de entrada y un único punto de salida => Todo lo que se construya con estas tres estructuras
tendrá también un único inicio y un único final.

 Diseño descendente (Top-down).

Resolver el problema original apoyándonos en una serie de subtareas o módulos.

Tema 2: Fundamentos de Programación
Tema 3: Fundamentos de Programación

Tema2: Fundamentos de la Programación

6

Fundamentos de la Programación

08/10/2015

2.2.1. Instrucción goto

Observación: la instrucción “ir a” (goto).

7

 Esta instrucción fue la base de lenguajes como BASIC, o FORTRAN y muchos otros, pero
desde la aparición de la programación estructurada, esta instrucción esta proscrita puesto
que va contra los principios de la misma.

 Esta instrucción permite saltar desde cualquier punto del programa a cualquier otro, y por

tanto va contra el principio enunciado en el Teorema de la estructura.

 Esta instrucción nos impide hacer una descomposición del problema, puesto que si desde
cualquier lugar podemos ir a cualquier otro es imposible ir separando el programa en áreas
claras,
trabajar de forma
estructurada.

todo estará mezclado con todo. Nuestro objetivo es

 Norma importantísima: se llega al fin del programa por un sólo camino, de la misma forma

que se sale de un bucle por una única vía.

 En programación estructurada esta totalmente prohibido el uso de la instrucción goto

Tema 2: Fundamentos de Programación
Tema 3: Fundamentos de Programación

Tema2: Fundamentos de la Programación

7

Fundamentos de la Programación

08/10/2015

2.3. Pasos para la construcción de un programa modular

8

Programación modular

 División del problema a resolver en varios subproblemas más sencillos con entidad y sentido

propios .

 Búsqueda de la abstracción => no importa como se hace sino que hace cada uno de los

módulos.

 Para cada uno de estos subproblemas o módulos se construye un algoritmo que los resuelve.

 Terminada esta fase, se componen todos los módulos para obtener un algoritmo global que

resuelva el problema. Esto se conoce como la técnica Divide y vencerás.

 Existen dos formas de realizar el diseño modular:

 Diseño descendente (Top Down): Resolver el problema original apoyándonos en una
serie de subtareas o módulos que se suponen ya resueltos y obtener la solución del
problema, posponiendo la solución de dichas subtareas.



Diseño ascendente (Bottom Up): Se comienza por resolver las subtareas más pequeñas
que contiene el problema original para, posteriormente, unirlas obteniendo la solución
del problema.

Tema 2: Fundamentos de Programación
Tema 3: Fundamentos de Programación

Tema2: Fundamentos de la Programación

8

Fundamentos de la Programación

08/10/2015

9

2.3.1. Ejemplo 1

 Algoritmo para el calculo del área de un cilindro:

leer radio y altura

Calcular área circunferencia (*)

calcular longitud circunferencia

Calcular área rectángulo (**)

Calcular área cilindro

(*) área circunferencia

= p * radio * radio

Longitud = 2 * p * radio

(**) área rectángulo = longitud * altura

área cilindro= 2 * área circunferencia + área rectángulo

Tema 2: Fundamentos de Programación
Tema 3: Fundamentos de Programación

Tema2: Fundamentos de la Programación

9

Fundamentos de la Programación

08/10/2015

2.3.2. Organigramas

10

Diseño del organigrama modular, donde se muestran los diferentes módulos en los que se divide el

problema inicial y la comunicación entre ellos.

Diseño del modulo principal que realiza la distribución del trabajo entre los diferentes submódulos.

 Incluye básicamente las llamadas a los diferentes submódulos y algunas operaciones de

carácter general.

 Cuando se llama a un módulo, el módulo que llama cede el control al submódulo llamado, y

este le devuelve el control en el punto inmediatamente siguiente al de la llamada, una vez

completado el proceso o tarea que realiza es decir cuando finalicen TODAS SUS

INSTRUCCIONES (incluyendo las llamadas a otros módulos si las hay).

 Los módulos se pueden llamar tantas veces como sea necesario, es decir es posible realizar el

mismo proceso sobre diferentes datos tantas veces como se precise sin repetir código.

Tema 2: Fundamentos de Programación
Tema 3: Fundamentos de Programación

Tema2: Fundamentos de la Programación

10

Fundamentos de la Programación

08/10/2015

2.3.2. Organigramas

Prog. Principal

11

Módulo 1

Módulo 2

Módulo 3

Módulo 4

Módulo 5

Módulo 6

Módulo 7

Módulo 8

Tema 2: Fundamentos de Programación
Tema 3: Fundamentos de Programación

Tema2: Fundamentos de la Programación

11

Fundamentos de la Programación

08/10/2015

2.3.3. Organigrama Ejemplo1

Calcular el área de un cilindro

12

Leer radio (r) y altura (h)

Calcular el área de un círculo

Calcular el área de la pieza

Sumar 2*S y F

de radio r (S)

frontal de altura h

S = p * r2

Calcular la longitud de una
circunferencia de radio r (L)

Calcular el área de un rectángulo de

altura h y base L (F)

Tema 2: Fundamentos de Programación
Tema 3: Fundamentos de Programación

L = 2 * p * r

F = L * S

Tema2: Fundamentos de la Programación

12

Fundamentos de la Programación

08/10/2015

2.3.4. Comunicación entre módulos

13

Establecer la comunicación entre los módulos: Qué información necesitan, qué información
devuelven y quién y a quién se la proporcionan. Los módulos deben cumplir las siguientes
características:

Máxima cohesión, es decir, las salidas de un módulo deben ser compatibles con las entradas de
otros módulos.

Mínimo acoplamiento, es decir, la cantidad de información que recibe un módulo de otro
módulo debe ser la mínima.

El resultado de un módulo debe ser función directa de sus entradas y no depender de ningún
estado interno.

Los módulos serán como 'cajas negras' que recibe un / unos valores de entrada y devuelven un /
unos valores de

salida (los programas son combinaciones de esas cajas negras enlazadas por sus salidas y
entradas).

Tema 2: Fundamentos de Programación
Tema 3: Fundamentos de Programación

Tema2: Fundamentos de la Programación

13

Módulo 1 Módulo 2 E1 S1 /E2 S2 I/F 1 I/F 2 Programa E1 S2 Fundamentos de la Programación

08/10/2015

2.3.4. Comunicación entre módulos

14

 Describir en detalle cada módulo básico, como paso previo a su implementación.

En el caso de que el proceso que realiza un módulo sea a su vez una tarea compleja
puede ser necesario volver a dividirlo en otros submódulos con idéntica filosofía (diseño
descendente).

 Unión de los subprogramas construidos para obtener

la solución del problema (diseño

ascendente).

Esta técnica aporta dos características importantes :

 Reutilización de código

 Abstracción

 La programación modular se implementa utilizando módulos que toman diferentes
  • Links de descarga
http://lwp-l.com/pdf14399

Comentarios de: Tema 2: Programación Modular y Estructurada (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad