PDF de programación - Teoría 7 - Lenguaje de Diseño - Modularización: Subalgoritmos

Imágen de pdf Teoría 7 - Lenguaje de Diseño - Modularización: Subalgoritmos

Teoría 7 - Lenguaje de Diseño - Modularización: Subalgoritmosgráfica de visualizaciones

Actualizado el 30 de Junio del 2018 (Publicado el 26 de Junio del 2018)
870 visualizaciones desde el 26 de Junio del 2018
6,5 MB
48 paginas
Creado hace 7a (01/05/2016)
Teoría Nº 7: Lenguaje de Diseño


Modularización: Subalgoritmos

Ing. Electrónica con OSD – TUT – TUR – TUE – TUW - TUG

Ing. en Computación – Ing. en Informática



Segundo Cuatrimestre 2016

1

Programación Modular

Programación Estructurada

Programas fáciles de

leer y modificar

Estructuras de Control

Secuencia

Condicional

Iteración

Técnicas de Diseños

Dividir y Conquistar

Dividir a un problema
en subproblemas más

simples

Algoritmos
Exhaustivos

Algoritmos

Voraces

n

c i ó
a m a
r
g
a
á m i c
D i n

o

P r

Módulo

Programación Modular

Res. De Problemas y Algoritmos - Int. a la Computación-Int. a la Programación – Fund. De la Informática - 2016

2

Programación Modular

Enfoque de Diseño

y

Programación Modular Conviene

Cuando una tarea específica debe
ejecutarse varias veces

Cuando un problema es complejo y la
solución se divide o segmenta en módulos
donde cada uno ejecuta una tarea
específica

Res. De Problemas y Algoritmos - Int. a la Computación-Int. a la Programación – Fund. De la Informática - 2016

3

Programación Modular

La Tarara, sí;
la tarara, no;
La Tarara, niña,
que la he visto yo.
Lleva la Tarara
un vestido verde
lleno de volantes
y de cascabeles.
La Tarara, sí;
la tarara, no;
La Tarara, niña,
que la he visto yo

Luce mi Tarara
su cola de seda
sobre las retamas
y la hierbabuena.
La Tarara, sí;
la tarara, no;
La Tarara, niña,
que la he visto yo
Ay, Tarara loca.
Mueve, la cintura
para los muchachos
de las aceitunas.

La Tarara, sí;
la tarara, no;
La Tarara, niña,
que la he visto yo.

Estribillo

[Estribillo]
Lleva la Tarara
un vestido verde
lleno de volantes
y de cascabeles.
[Estribillo]
Luce mi Tarara
su cola de seda
sobre las retamas
y la hierbabuena

[Estribillo]
Ay, Tarara loca.
Mueve, la cintura
para los muchachos
de las aceitunas.

Res. De Problemas y Algoritmos - Int. a la Computación-Int. a la Programación – Fund. De la Informática - 2016

4

Lenguaje de Diseño: Modularización



1

2

3

t1 - Dibujo la base.
t2 - Dibujo el poste.
t3 - Dibujo el triángulo inferior.
t4 - Dibujo el triángulo superior.



3 t1 - Dibujo el rectángulo.
t2 - Dibujo el triángulo.



2

t1 - Dibujo el triángulo.
t2 - Dibujo la cola.

Res. De Problemas y Algoritmos - Int. a la Computación-Int. a la Programación – Fund. De la Informática - 2016

5

Lenguaje de Diseño: Modularización



4

4



t1 - Dibujo triángulo1.
t2 - Dibujo triángulo2.
t3 - Dibujo triángulo3.
t4 - Dibujo triángulo4.
t5 - Dibujo triángulo5.
t6 - Dibujo triángulo6.
t7 - Dibujo linea1.
t8 - Dibujo linea2.
t9 - Dibujo linea3.

5

t1 - Dibujo rectángulo1.
t2 - Dibujo rectángulo2.
t3 - Dibujo triángulo1.
t4 - Dibujo triángulo2.
t5 - Dibujo triángulo3.
t6 - Dibujo triángulo4.



Res. De Problemas y Algoritmos - Int. a la Computación-Int. a la Programación – Fund. De la Informática - 2016

6

t1 - Dibujo la base.
t1 - Dibujo la base.
t2 - Dibujo el poste.
t2 - Dibujo el poste.
t3 - Dibujo el triángulo inferior.
t3 - Dibujo el triángulo inferior.
t4 - Dibujo el triángulo superior.
t4 - Dibujo el triángulo superior.

1
1

4
4



Lenguaje de Diseño: Modularización



2
2

t1 - Dibujo el triángulo.
t1 - Dibujo el triángulo.
t2 - Dibujo la cola.
t2 - Dibujo la cola.

3
3

t1 - Dibujo el rectángulo.
t1 - Dibujo el rectángulo.
t2 - Dibujo el triángulo.
t2 - Dibujo el triángulo.

5
5

t1 - Dibujo triángulo1.
t1 - Dibujo triángulo1.
t2 - Dibujo triángulo2.
t2 - Dibujo triángulo2.
t3 - Dibujo triángulo3.
t3 - Dibujo triángulo3.
t4 - Dibujo triángulo4.
t4 - Dibujo triángulo4.
t5 - Dibujo triángulo5.
t5 - Dibujo triángulo5.
t6 - Dibujo triángulo6.
t6 - Dibujo triángulo6.
t7 - Dibujo linea1.
t7 - Dibujo linea1.
t8 - Dibujo linea2.
t8 - Dibujo linea2.
t9 - Dibujo linea3.
t9 - Dibujo linea3.


Res. De Problemas y Algoritmos - Int. a la Computación-Int. a la Programación – Fund. De la Informática - 2016

t1 - Dibujo rectángulo1.
t1 - Dibujo rectángulo1.
t2 - Dibujo rectángulo2.
t2 - Dibujo rectángulo2.
t3 - Dibujo triángulo1.
t3 - Dibujo triángulo1.
t4 - Dibujo triángulo2.
t4 - Dibujo triángulo2.
t5 - Dibujo triángulo3.
t5 - Dibujo triángulo3.
t6 - Dibujo triángulo4.
t6 - Dibujo triángulo4.



7

Lenguaje de Diseño: Modularización



3

5

1

2

4

Algoritmo de dibujo del triángulo
TRIAN

Res. De Problemas y Algoritmos - Int. a la Computación-Int. a la Programación – Fund. De la Informática - 2016

8

Lenguaje de Diseño: Modularización

Descomposición del problema



suma (unión) de pequeños problemas



Se pretende:



4 que tengan una tarea específica.
4 sean totalmente independientes del resto.



Dividirlo en pequeños problemas



Puede suceder que dicho subproblema sea común a un conjunto de problemas de

mayor envergadura.

El algoritmo que lo resuelve debería ser el mismo cada vez que el

subproblema esté presente en un problema.



MODULARIZACIÓN DEL PROBLEMA

Res. De Problemas y Algoritmos - Int. a la Computación-Int. a la Programación – Fund. De la Informática - 2016

9

Lenguaje de Diseño: Modularización



TRIAN es un algoritmo común al conjunto de problemas



TRIAN es un MÓDULO

2

TRIAN

1

4

3

5

Res. De Problemas y Algoritmos - Int. a la Computación-Int. a la Programación – Fund. De la Informática - 2016

10

1

t1 - Dibujo la base.
t2 - Dibujo el poste.
t3 – TRIAN
t4 - TRIAN


3

t1 - Dibujo el rectángulo.
t2 - TRIAN

Lenguaje de Diseño: Modularización

2

4



t1 – TRIAN
t2 - Dibujo la cola.
t1 – TRIAN
t2 – TRIAN
t3 – TRIAN
t4 – TRIAN
t5 – TRIAN
t6 – TRIAN
t7 - Dibujo linea1.
t8 - Dibujo linea2.
t9 - Dibujo linea3.


Res. De Problemas y Algoritmos - Int. a la Computación-Int. a la Programación – Fund. De la Informática - 2016

11

Lenguaje de Diseño: Modularización



Invocación

5



t1 - Dibujo rectángulo1.
t2 - Dibujo rectángulo2.
t3 - TRIAN
t4 - TRIAN
t5 - TRIAN
t6 - TRIAN

Res. De Problemas y Algoritmos - Int. a la Computación-Int. a la Programación – Fund. De la Informática - 2016

12

Lenguaje de Diseño: Modularización



Consideraciones:
• - Se debe tener en cuenta el estado previo del ambiente antes de la
invocación del módulo.
• - Se debe tener en cuenta el estado del ambiente luego de la ejecución del
módulo.

Ejemplo:
- Se desea realizar la gráfica del farol con el uso del modulo TRIAN.
- Suponga la existencia de un módulo TRIAN que grafica un triángulo equilátero.

- orientación de la tortuga y recorrido que realiza para
la construcción del triángulo dentro del módulo.

Res. De Problemas y Algoritmos - Int. a la Computación-Int. a la Programación – Fund. De la Informática - 2016

13

Lenguaje de Diseño: Modularización



1

Invoca a TRIAN

Sale de TRIAN

Invoca a TRIAN

Sale de TRIAN

En Lenguaje de Diseño el concepto de Modularización se implementa con los

SUBALGORITMOS
 

Res. De Problemas y Algoritmos - Int. a la Computación-Int. a la Programación – Fund. De la Informática - 2016

14

Lenguaje de Diseño: Subalgoritmos

Ejemplo:
Dado un número n entero positivo, se desea calcular e imprimir el factorial de n,
n2 y de n3. Se debe tratar de utilizar el algoritmo para el calculo del factorial como
un módulo (subalgoritmo).

Nota:
el algoritmo FACTORIAL
permite calcular el valor factorial
para un número cualquiera N
ingresado por el usuario.

ALGORITMO “Factorial”
COMENZAR
N, FACT, I: entero
LEER N
FACT 1
PARA I DESDE 1 HASTA N CON PASO 1 HACER

FACT

FACT * I

FINPARA
ESCRIBIR FACT
FIN

15

Res. De Problemas y Algoritmos - Int. a la Computación-Int. a la Programación – Fund. De la Informática - 2016

Lenguaje de Diseño: Subalgoritmos

SUBALGORITMO “FACTORIAL”
COMENZAR


N, FACT, I: entero
LEER N
FACT 1
PARA I DESDE 1 HASTA N CON PASO 1 HACER

FACT

FACT * I

FINPARA
ESCRIBIR FACT

FIN

ALGORITMO “Calculo Factoriales”
COMENZAR
FACTORIAL
FACTORIAL
FACTORIAL
FIN

Res. De Problemas y Algoritmos - Int. a la Computación-Int. a la Programación – Fund. De la Informática - 2016

16

Lenguaje de Diseño: Subalgoritmos

Invocación

Retorno

FACTORIAL

Pantalla

Ingreso

Muestra

“Calculo Factoriales”

Tres veces se invoca el módulo
FACTORIAL, quien además de
calcular el factorial lo muestra por
pantalla

Res. De Problemas y Algoritmos - Int. a la Computación-Int. a la Programación – Fund. De la Informática - 2016

17

Lenguaje de Diseño: Subalgoritmos

Inconveniente:
- se debe ingresar el número toda vez que se invoca el
subalgoritmo.
-  alta probabilidad de cometer error en el ingreso.

Se pretende:
- ingresar el dato una única vez.

Res. De Problemas y Algoritmos - Int. a la Computación-Int. a la Programación – Fund. De la Informática - 2016

18

Lenguaje de Diseño: Subalgoritmos

Subalgoritmo
FACTORIAL

Muestra

Pantalla

N

NŸ2

Ingreso

Calculo Factoriales

Algoritmo

Res. De Problemas y Algoritmos - Int. a la Computación-Int. a la Programación – Fund. De la Informática - 2016

19

Lenguaje de Diseño: Subalgoritmos

ALGORITMO “Calculo Factoriales”
COMENZAR
N, AUX: entero
LEER N
AUX N
FACTORIAL
N
FACTORIAL
N
FACTORIAL
FIN

AUX Ÿ 3

AUX Ÿ 2

SUBALGORITMO “Factorial”
COMENZAR
FACT, I: entero
FACT 1
PARA I DESDE 1 HASTA N CON PASO 1 HACER

FACT

FACT * I

FINPARA
ESCRIBIR FACT
FIN

?

Res. De Problemas y Algoritmos - Int. a la Computación-Int. a la Programación – Fund. De la Informática - 2016

20

Lenguaje de Diseño: Subalgoritmos

ALGORITMO “Calculo Factoriales”
COMENZAR
N, AUX: entero
LEER
  • Links de descarga
http://lwp-l.com/pdf12143

Comentarios de: Teoría 7 - Lenguaje de Diseño - Modularización: Subalgoritmos (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