PDF de programación - Lenguaje de Diseño - Modularización: Subalgoritmos

Imágen de pdf Lenguaje de Diseño - Modularización: Subalgoritmos

Lenguaje de Diseño - Modularización: Subalgoritmosgráfica de visualizaciones

Publicado el 30 de Junio del 2018
186 visualizaciones desde el 30 de Junio del 2018
6,9 MB
47 paginas
Creado hace 6a (01/01/2015)
Lenguaje de Diseño


Primer Cuatrimestre 2015

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

Int. a la Computación-Int. a la Programación – Fund. De la Informática

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

Int. a la Computación-Int. a la Programación – Fund. De la Informática

3

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.

Int. a la Computación-Int. a la Programación – Fund. De la Informática

4

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.



Int. a la Computación-Int. a la Programación – Fund. De la Informática

5

Lenguaje de Diseño: Modularización

2
2

3
3

5
5



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

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

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.



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.



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



Int. a la Computación-Int. a la Programación – Fund. De la Informática

6

Lenguaje de Diseño: Modularización



3

5

1

2

4

Algoritmo de dibujo del triángulo
TRIAN

Int. a la Computación-Int. a la Programación – Fund. De la Informática

7

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

Int. a la Computación-Int. a la Programación – Fund. De la Informática

8

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

Int. a la Computación-Int. a la Programación – Fund. De la Informática

9

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.


Int. a la Computación-Int. a la Programación – Fund. De la Informática

10

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

11

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.

Int. a la Computación-Int. a la Programación – Fund. De la Informática

12

Lenguaje de Diseño: Modularización



1

Invoca a TRIAN

Sale de TRIAN

¡ERROR!

Invoca a TRIAN

Sale de TRIAN

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

SUBALGORITMOS
 

Int. a la Computación-Int. a la Programación – Fund. De la Informática

13

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

14

Int. a la Computación-Int. a la Programación – Fund. De la Informática

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

Int. a la Computación-Int. a la Programación – Fund. De la Informática

15

Lenguaje de Diseño: Subalgoritmos

FACTORIAL

Muestra

Pantalla

Invocación

Retorno

Calculo Factoriales

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

Int. a la Computación-Int. a la Programación – Fund. De la Informática

16

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.

Int. a la Computación-Int. a la Programación – Fund. De la Informática

17

Lenguaje de Diseño: Subalgoritmos

Subalgoritmo
FACTORIAL

Muestra

Pantalla

N

NŸ2

Calculo Factoriales

Algoritmo

Int. a la Computación-Int. a la Programación – Fund. De la Informática

18

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

?

Int. a la Computación-Int. a la Programación – Fund. De la Informática

19

Lenguaje de Diseño: Subalgoritmos

ALGORITMO Calculo Factoriales
COMENZAR
N, AUX: entero
LEER N
AUX N
FACTORIAL(N)
N
AUX Ÿ 2
FACTORIAL(N)
N
AUX Ÿ 3
FACTORIAL(N)
FIN

FINPARA
ESCRIBIR FACT
FIN

Es necesario poder “comunicarle” al subalgoritmo el valor
que necesita, en este caso el valor de N

SUBALGORITMO “Factorial” (in Nu:entero)
COMENZAR
FACT, I: entero
FACT 1
PARA I DESDE 1 HASTA Nu CON PASO 1 HACER

FACT

FACT * I

Int. a la Computación-Int. a la Programación – Fund. De la Informática

20

Lenguaje de Diseño: Subalgoritmos

Supongamos que se desea sacar del módulo FACTORIAL la tarea de mostrar por pantalla

FACTORIAL

Invocación

Retorno

Muestra

Es necesario que el módulo
devuelva el resultado para que,
desde el algoritmo se muestre por
pantalla

Calculo Factoriales

Pantalla

Int. a la Computación-Int. a la Programación – Fund. De la Informática

21

Lenguaje de Diseño: Subalgoritmos

FACTORIAL

Invocación

Retorno

Muestra

Calculo Factoriales

Pantalla

ALGORITMO Calculo Factoriales
COMENZAR
N, AUX, FACT: entero
LEER N
AUX N
FACTORIAL(N, FACT)
ESCRIBIR FACT
N
FACTORIAL(N, FACT)
ESCRIBIR FACT
N
FACTORIAL(N, FACT)
ESCRIBIR FACT
FIN

AUX Ÿ 2

AUX Ÿ 3

Int. a la Computación-Int. a la Programación – Fund. De la Informática

22

Lenguaje de Diseño: Subalgoritmos

¿Qué función cumple NU y FA?

SUBALGORITMO “Factorial” (in NU:entero, out FA:entero)
COMENZAR
I: entero
FA
PARA I DESDE 1 HASTA NU CON PASO 1 HACER

1

ALGORITMO Calculo Factoriales
COMENZAR
N, AUX, FACT: entero
LEER N
AUX N
FACTORIAL(N, FACT)
ESCRIBIR FACT
N
FACTORIAL(N, FACT)
ESCRIBIR FACT
  • Links de descarga
http://lwp-l.com/pdf12248

Comentarios de: 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