Objetivos Específicos de la Unidad

Slides:



Advertisements
Presentaciones similares
INFORMÁTICA PROGRAMACIÓN.
Advertisements

Estrella 0 - Fundamentos de la Programación
Sesión 3 Estructuras Repetitivas
PROF. ING. JULIO CESAR CANO RAMIREZ
CARRERA: INGENIERIA CIVIL UNI-RUACS
Unidad 1 DISEÑO DE ALGORITMOS ING. Nelwi Baez. MSC
Estructuras de Repetición Algoritmos
Introducción a los Algoritmos
Lenguajes de programación
Resolución de Problemas Algoritmos y Programación
Programación modular Procedimientos y Funciones
INFORMÁTICA PROGRAMACIÓN.
Técnico en programación de Software
Algoritmos.
Concepto de programa. Directorio Concepto de programa. Analisis del problema. Resolucion del problema. Desarroollo de un programa. Partes constitutivas.
UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERIA DIVISIÓN DE INGENIERÍA ELÉCTRICA COMPUTACIÓN PARA INGENIEROS NOTA IMPORTANTE: Para complementar.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Curso de Programación I Parte III
Teoría de lenguajes y compiladores
DSUPE Pseudocódigo.
Esquema del Procesamiento de datos
2 Acciones y funciones 2.1 Concepto
Funciones en lenguaje C
Funciones y procedimientos
IINTRODUCCION A LA CIENCIA DE LA COMPUTACION Y A LA PROGRAMACION
REPRESENTACIÓN GRÁFICA DE ALGORITMOS
ALGORITMOS es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos.
ESTRUCTURAS DE CONTROL
INTRODUCCIÓN A LA COMPUTACIÓN 12va Semana – 19va Sesión Miércoles 18 de Mayo del 2005 Juan José Montero Román
Fundamentos de Programación
ESTRUCTURAS CONTROL SECUENCIAL
Proceso de información en la computadora
FORMULACIÓN DE ALGORITMOS
Academia de Informática
PROCEDIMIENTOS FUNCIONES
Funciones y Procedimientos(Pseudocódigo)
Programación Modular (Pseudocódigo)
Fundamentos de programación
Algoritmos.
Descomposición Modular. Funciones
ESTRUCTURA DE DATOS ESD-243
Fundamentos de Programación
PROGRAMACIÓN PROCEDIMENTAL
Diseño de algoritmos La computadora puede realizar procesos y darnos resultados, sin que tengamos la noción exacta de las operaciones que realiza. Con.
Fundamentos de programación Organización de una computadora.
Material de apoyo Unidad 4 Estructura de datos
Análisis de algoritmos
Juego de Preguntas y Respuestas
Figure: Algoritmos Conceptos básicos. Programación: 1.Establecer una secuencia de acciones que: puedan ser ejecutadas por el procesador realicen una.
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
Estructuras de Control.
PENSAMIENTO ANALÍTICO SISTÉMICO DAISY KATERINE RODRÍGUEZ DURÁN
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
COMPUTACIÓN I TEMA 5. Subprogramas o funciones. Alcance de variables
Objetivo Mostrar los fundamentos de la programación a través de ejemplos y prácticas utilizadas cotidianamente en el desarrollo de aplicaciones.
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
ALGORITMO QUE ES ??.
Visual Basic FUNCIONES Y PROCEDIMIENTOS
Elaboración de algoritmos usando lógica de programación
ING. JORGE OSPINA CUN, FEBRERO DE 2013 Programación procedimental y estructurada.
Presente un cuestionario con los aspectos mas importantes sobre los
Lic. Carla Aguirre Montalvo
* Cuando nos permite desarrollar un programa que necesitamos para tomar un conjunto de buenas prácticas para hacer eso. Esto se debe a que podemos ahorrar.
 Las funciones son un conjunto de instrucciones que realizan una tarea específica. En general toman unos valores de entrada, llamados parámetros y proporcionan.
1 Procedimientos y Funciones Introducción a la Informática Departamento de Sistemas Universidad del Cauca 2006.
La programación modular es un paradigma de programación que consiste en dividir un programa en módulos o subprogramas con el fin de hacerlo más legible.
Omar Herrera Caamal Rigoberto Lizárraga Luis Cetina Luna.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
ALGORITMOS Y PROGRAMAS. OBJETIVOS  Resolver problemas mediante la especificación algorítmica.  Proporcionar los procedimientos y técnicas para el desarrollo.
Transcripción de la presentación:

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 (230-1214)

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 (230-1214)

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 (230-1214) (Joyanes, 2000:23)

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 (230-1214) (Joyanes, 1998:195)

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 (230-1214) (Joyanes, 2000:23)

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 (230-1214)

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 (230-1214) (Joyanes, 2000:198)

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

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 (230-1214) (Joyanes, 1998:199)

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 (230-1214)

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 (230-1214)

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 (230-1214)

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 (230-1214) (Joyanes, 1998:224)

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 (230-1214)

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 (230-1214) (Joyanes, 1998:206)

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 (230-1214)

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 (230-1214)

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 (230-1214)

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 (230-1214)

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 (230-1214)

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 (230-1214)

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 (230-1214)

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 (230-1214)

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 (230-1214)

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 (230-1214)

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 (230-1214)

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 (230-1214)

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) = 20000 Entonces Acciones a ejecutar Fin Si Mientras (Función (Parámetros Actuales) = 0) Hacer Acciones... Fin Mientras Algoritmos y Estructuras de Datos I (230-1214)

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 (230-1214)

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 (230-1214)