La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Objetivos Específicos de la Unidad

Presentaciones similares


Presentación del tema: "Objetivos Específicos de la Unidad"— Transcripción de la presentación:

1 Objetivos Específicos de la Unidad
Exponer los principios de la programación estructurada. Resolver problemas algorítmicamente (Pseudocódigo), utilizando los diferentes tipos de módulos parametrizados estudiados. Algoritmos y Estructuras de Datos I ( )

2 Diseño Descendente (Top-Down).
Contenido Diseño Descendente (Top-Down). Ámbito de las variables (Locales y Globales). Procedimientos. Definición. Funcionamiento. Funciones (Estándar y Definidas por el Usuario) Definición de Funciones estándar. Definición de Funciones Definidas por el Usuario. Procedimientos y Funciones Parametrizadas. Parámetro. Definición. Parámetro por Referencia. Parámetros por Valor. Algoritmos y Estructuras de Datos I ( )

3 El Programa tiene un Diseño Modular.
Fundamentos El Programa tiene un Diseño Modular. Los Módulos son diseñados de modo descendente. Cada Módulo se codifica utilizando las tres estructuras de control básicas (Secuencia, Selección y Repetición). Con la Técnica de Programación Estructurada, los programas están dotados de una estructura, son más fáciles de escribir, leer y mantener. Algoritmos y Estructuras de Datos I ( ) (Joyanes, 2000:23)

4 Diseño Descendente SubProblema Problema SubProblema SubProblema
División SubProblema SubProblema “Uno de los métodos fundamentales para resolver un problema es dividirlo en problemas más pequeños llamados subproblemas. Estos subproblemas pueden a su vez ser divididos repetidamente en problemas más pequeños hasta que los problemas más pequeños son solucionados. Esta técnica se denomina Divide y Vencerás”. Algoritmos y Estructuras de Datos I ( ) (Joyanes, 1998:195)

5 Nivel N de refinamiento Nivel N + 1 de refinamiento
Diseño Descendente Nivel N de refinamiento ¿Qué hace? Nivel N + 1 de refinamiento ¿Cómo lo hace? Algoritmos y Estructuras de Datos I ( ) (Joyanes, 2000:23)

6 Diseño Modular Módulo Principal Módulo #1 Módulo #2 Módulo #3 Módulo
# 1.1 Módulo # 1.2 Módulo # 2.1 Módulo # 2.2 Módulo # 3.1 Algoritmos y Estructuras de Datos I ( )

7 Permite que un programa sea:
Diseño Modular Permite que un programa sea: Legible. Comprensible. Fácilmente Depurable. Fácilmente Modificable. Algoritmos y Estructuras de Datos I ( ) (Joyanes, 2000:198)

8 Tipos de Módulos PROCEDIMIENTOS FUNCIONES
Algoritmos y Estructuras de Datos I ( ) (Joyanes, 2000:198)

9 Módulo Tipo Procedimiento
Es un módulo que realiza una tarea específica. Puede recibir de otras partes del programa, cero o más valores para procesarlos, y también puede devolver de cero a más valores a dichas partes del programa que interactúan con él. Algoritmos y Estructuras de Datos I ( ) (Joyanes, 1998:199)

10 Estructura de un Procedimiento
Cabecera Procedimiento Nombre_Proc[(Lista de Parámetros Formales)] Declaración Inicio Acciones... Fin Procedimiento Declaraciones Locales Cuerpo Algoritmos y Estructuras de Datos I ( )

11 Llamada a un Procedimiento
Los procedimientos se llaman desde el módulo principal o desde otro módulo. LLAMAR Nomb_Proc [(Lista de Parámetros Actuales)] La llamada a un procedimiento va acompañada de una lista de parámetros, a través de los cuales se puede enviar y/o recibir datos desde o hacia el procedimiento (según sea la necesidad). Algoritmos y Estructuras de Datos I ( )

12 Llamada a un Procedimiento
Algoritmo Principal Declaración Inicio Acciones... Llamar Nomb_Proc[(Lista de Parámetros Actuales)] Fin Son Constantes y Variables Globales Procedimiento Nomb_Proc [(Lista de Parámetros Formales)] Declaración Inicio Acciones... Fin Procedimiento Son Constantes y Variables Locales Algoritmos y Estructuras de Datos I ( )

13 GLOBALES Según el ámbito, las variables son: LOCALES
Ámbito de Variables Se denomina ámbito de una variable a la parte del programa donde una variable es reconocida o válida. Las reglas que definen el ámbito de una variable se llaman Reglas de Ámbito. GLOBALES Según el ámbito, las variables son: LOCALES Algoritmos y Estructuras de Datos I ( ) (Joyanes, 1998:224)

14 Estudio del Ámbito de Variables
Módulo Principal a,b,c: Entero Módulo 1 a,d,e: Entero Módulo 2 x, c, j: Entero Módulo 3 a, j, x: Entero Algoritmos y Estructuras de Datos I ( )

15 Parámetros “Un parámetro es un método para pasar información (valores a variables) del programa principal a un procedimiento y viceversa”. Un parámetro se considera como una variable cuyo valor debe ser proporcionado a un módulo, o bien, como una variable que un módulo debe devolver al programa principal o procedimiento que lo llamó. Algoritmos y Estructuras de Datos I ( ) (Joyanes, 1998:206)

16 Lista de Parámetros Actuales Lista de Parámetros Formales
Tipos de Parámetros Llamada al Módulo Cabecera del Módulo Lista de Parámetros Actuales Lista de Parámetros Formales A B C D Algoritmos y Estructuras de Datos I ( )

17 Tipos de Parámetros Formales
Llamada al Módulo Cabecera del Módulo Entrada Lista de Parámetros Actuales Lista de Parámetros Formales A B C D Entrada Salida Algoritmos y Estructuras de Datos I ( )

18 Ejemplo Parámetros de Entrada
... Escribir “Introduzca el 1er Valor a Sumar:” Leer Num1 Escribir “Introduzca el 2do Valor a Sumar:” Leer Num2 Llamar Sumador (Num1, Num2) Num1 y Num2 son Parámetros Actuales y pasan sus valores a los Parámetros Formales N1 y N2. Procedimiento Sumador ( N1, N2: Entero) Declaración Inicio Acciones... Fin Procedimiento Algoritmos y Estructuras de Datos I ( )

19 Ejemplo Parámetros de Entrada-Salida
... Escribir “Introduzca el 1er Valor a Sumar:” Leer Num1 Escribir “Introduzca el 2do Valor a Sumar:” Leer Num2 Llamar Sumador (Num1, Num2, Suma) Escribir Suma Sum obtiene la misma dirección de memoria que Suma... Procedimiento Sumador ( N1, N2: Entero, Sum: Entero) Declaración Inicio Acciones... entre las cuales Sum obtiene su valor... Fin Procedimiento Algoritmos y Estructuras de Datos I ( )

20 Indicar si es palíndromo.
Problema Diseñe un algoritmo que permita procesar una cadena de caracteres para realizar sobre ella, según la opción del usuario, cualquiera de las siguientes operaciones: Indicar si es palíndromo. Indicar si contiene un carácter en particular. Algoritmos y Estructuras de Datos I ( )

21 Diagrama de Estructura de Módulos Descomposición Modular del Problema
Operaciones Cadena Menú Opciones Palíndromo Busca carácter Descomposición Modular del Problema Algoritmos y Estructuras de Datos I ( )

22 Solución Modular del Problema
Algoritmo Operaciones_Cadena Declaración Variables LaCadena: Cadena Opc: Entero Inicio Repetir Escribir “Ingrese la cadena a procesar:” Leer LaCadena Llamar Menu(Opc) Caso Opc 1: Llamar Palindomo(LaCadena) 2: Llamar Buscador(LaCadena) Fin Caso Hasta (Opc = 3) Fin Algoritmos y Estructuras de Datos I ( )

23 Solución Modular del Problema
Procedimiento Menu( Opc: Entero) Inicio Escribir “Menú de Opciones:” Escribir “1. Verificar si es Palíndromo” Escribir “2. Buscar un carácter particular” Escribir “3. Ninguna” Repetir Escribir “Ingrese la opción de su preferencia: ” Leer Opc Hasta (Opc > = 1) Y (Opc < =3) Fin Procedimiento Algoritmos y Estructuras de Datos I ( )

24 Solución Modular del Problema
Procedimiento Palindromo( Cade: Cadena) Declaración Variables: i, Longi: Entero; CadeAux: Cadena Inicio longi  Largo(Cade) CadeAux”” Para i= longi Hasta 1 Inc[-1] CadeAux  CadeAux + Cade[i] Fin Para Si Cade = CadeAux Entonces Escribir “La Cadena Sí es un Palíndromo” Sino Escribir “La Cadena No es un Palíndromo” Fin Si Fin Procedimiento Algoritmos y Estructuras de Datos I ( )

25 Solución Modular del Problema
Procedimiento Buscador( Cade: Cadena) Declaración Variables: i, Longi: Entero; Buscado: Caracter Inicio longi  Largo(Cade) Escribir “Introduzca un carácter a buscar ” Leer Buscado i  1, Hallado  Falso Mientras (i < = Longi) Y (Hallado = Falso) Hacer Si Cade[i] = Buscado Entonces Hallado  Verdadero Fin Si i  i + 1 Fin Mientras Si Hallado = Verdadero Entonces Escribir “Sí se encontró el carácter” Sino Escribir “El carácter no está en la cadena” Fin Procedimiento Algoritmos y Estructuras de Datos I ( )

26 Función Tipos de Funciones
Es un módulo que realiza una tarea específica. Puede recibir de otras partes del programa, cero o más valores para procesarlos y devolver un valor como resultado. Tipos de Funciones Estándar Definidas por el Programador Algoritmos y Estructuras de Datos I ( )

27 Estructura de una Función
Cabecera Tipo de dato del resultado que devuelve Función Nombre_Func[(Lista de Parámetros Formales)]: Declaración Constantes Variables Variable_Resultado: Tipo de Dato Inicio Acciones... Nombre_Func  Variable_Resultado Fin Función Declaraciones Locales Cuerpo Algoritmos y Estructuras de Datos I ( )

28 Llamada a una Función La llamada a una función no puede aparecer sola en ningún punto del algoritmo, dado que el nombre de la función invoca su ejecución y luego se sustituye por el valor que ella trae como resultado. Ejemplos de invocación: Variable  Función(Parámetros Actuales) Si Función (Lista de Parámetros Actuales) = Entonces Acciones a ejecutar Fin Si Mientras (Función (Parámetros Actuales) = 0) Hacer Acciones... Fin Mientras Algoritmos y Estructuras de Datos I ( )

29 Llamada a una Función Algoritmo Principal Declaración Inicio Acciones... Escribir “El resultado de la operación x”, Nombre_Func(Lista de Parámetros Actuales) Fin Función Nombre_Func[(Lista de Parámetros Formales)]: Tipo Declaración Variables: Variable Auxiliar: Tipo de Dato Inicio Acciones... Nombre_Func  Variable Auxiliar Fin Función Algoritmos y Estructuras de Datos I ( )

30 Problema Diseñe una Función que calcule el número AN de la Serie de Fibonacci, para cualquier N>=3. Ejemplo: con N=10, Serie=1,1,2,3,5,8,13,21,34,55 Función SerieFibo( N: Entero): Entero Declaración Variables i, AN_1, AN_2, Ai: Entero Inicio AN_1  1 AN_2  1 Para i = 3 Hasta N Ai  AN_2 +AN_1 AN_1  AN_2 AN_2  Ai Fin Para SerieFibo  Ai Fin Función Algoritmos y Estructuras de Datos I ( )


Descargar ppt "Objetivos Específicos de la Unidad"

Presentaciones similares


Anuncios Google