Programación Modular (Pseudocódigo)

Slides:



Advertisements
Presentaciones similares
ALGORITMO Un algoritmo es un conjunto finito de instrucciones o pasos que sirven para ejecutar una tarea y resolver un problema. De un modo más formal,
Advertisements

Programación de Computadores
Nuestro reto es educar al pensamiento, para que razone de acuerdo a ciertas reglas; con ello podremos ser más eficientes al momento en que ordenamos.
Abstracción de Datos Funciones.
CARRERA: INGENIERIA CIVIL UNI-RUACS
ALGORITMOS.
Razonamiento algorítmico
LÓGICA DE PROGRAMACIÓN
Elementos básicos del Lenguaje
Programación modular Procedimientos y Funciones
Curso de Programación I Parte I
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.
Metodología de la Programación
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
3. INTRODUCCIÓN A LA PROGRAMACIÓN
Introducción a la Programación
Introducción a la Computación
Objetivos Específicos de la Unidad
Funciones en lenguaje C
Funciones y procedimientos
ESTRUCTURAS DE CONTROL
Fundamentos de Programación
Proceso de información en la computadora
FORMULACIÓN DE ALGORITMOS
Programación II Profesor A.S. MOLINA, Carlos
Semana 5 Subprogramas..
Academia de Informática
PROCEDIMIENTOS FUNCIONES
Funciones y Procedimientos(Pseudocódigo)
Funciones1 PROGRAMACIÓN ESTRUCTURADA EN PSEUDÓCODIGO Profr. Miguel Rodríguez Hernández PROGRAMACIÓN MODULAR O FUNCIONAL.
Fundamentos de programación


Descomposición Modular. Funciones
Tema 10.3: Asignación de Espacio No Contiguo. Tema 10.3: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.),
ESTRUCTURA DE DATOS ESD-243
Fundamentos de Programación
Material de apoyo Unidad 4 Estructura de datos
Diseño de Programas.
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.
FUNCIONES Conceptos básicos. Retorno de una función Clases de funciones. Paso de parámetros. Funciones y arrays.
Unidad 1. PROGRAMACION ALGORITMICA
Representación de Algoritmos
Algoritmos y pseudocódigos
Programación Procedural y Recursiva en C++
COMPUTACIÓN I TEMA 5. Subprogramas o funciones. Alcance de variables
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
DEV- C++ ·include <iostream> Int x x=x+2(x)
Elaboración de algoritmos usando lógica de programación
ING. JORGE OSPINA CUN, FEBRERO DE 2013 Programación procedimental y estructurada.
Daniel Camilo Albarracín torres Christian David Donoso Beltrán 1002.
Programación Orientada a Objetos.  Un método es una función, segmento, rutina, subrutina o subalgoritmo que puede ser definido dentro de una clase con.
Capítulo 2 “Subprogramas/Funciones - Arreglos”
Presente un cuestionario con los aspectos mas importantes sobre los
M.S.C. Ivette Hernández Dávila
Metodología de la programación
Bases Metodológicas de la Programación
Algoritmos Programación
Lenguaje estructurado
3. Herramientas de representación de algoritmos
David A Salamanca Díaz. DEFINICIÓN  Se define como una serie de pasos organizados que describen el proceso que se debe seguir, para dar solución a un.
:: Prof. Yeniffer Peña Introducción a JAVA Presentación Programación I.
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.
Prof. Jonathan Silva Ingeniería Civil – Informática I Ingeniería Civil Informática I Clase 7 – Funciones y Procedimientos.
Funciones y Procedimientos(Pseudocódigo)
Docente: Ing. Francisco Rodríguez
Transcripción de la presentación:

Programación Modular (Pseudocódigo) Facultad de Ciencia de la Computación Programación Profr. Miguel Rodríguez Hdez. ELEC 330

Programación Modular Contenido Introducción Definición de Módulo ¿Cuándo utilizar modularización? Esquema de la Programación Modular Formas de utilizar el enfoque de diseño descendente Características deseable en en los módulos Formato de los módulos Variables locales, globales, argumentos y parámetros Ejemplos y ejercicios 206_C5 ELEC 330

Programación Modular Es una técnica que permite diseñar la solución de un problema con base en la modularización o segmentación, dado un enfoque de arriba hacia abajo (Top-Down). Esta solución se divide en módulos que se estructuran jerárquicamente, como si fuera el organigrama de una empresa. Ejemplo: Algoritmo Principal Módulo Uno Dos Tres 206_C5 ELEC 330

Programación Modular Cada uno de los módulos ejecuta una tarea especifica. En su momento, el módulo principal, invocará o llamará a los módulos subordinados, es decir, dirigirá su funcionamiento. 206_C5 ELEC 330

Definición de Módulo Un módulo es una rutina, subrutina, subalgoritmo, procedimiento o función (en C) que puede definirse dentro de un algoritmo con el fin de ejecutar una tarea específica y puede ser llamado o invocado desde el algoritmo principal cuando sea necesario. 206_C5 ELEC 330

¿Cuándo utilizar modularización? Este enfoque es útil en dos casos: Cuando existe un grupo de instrucciones o una tarea específica que deba ejecutarse en más de una ocasión. Cuando el problema es complejo o extenso, la solución se divide en módulos, “partes o subtareas más simples o específicas”. Dicha solución se organiza en forma jerárquica. Cada una de las partes ejecutará una tarea específica. El módulo principal dirige o coordina el funcionamiento de los módulos subordinados. 206_C5 ELEC 330

Esquema de Programación Modular Principal S1 S3 S5 S2 S4 206_C5 ELEC 330

Forma de utilizar el enfoque de diseño descendente Cuando el enfoque de diseño descendente o modular se usa efectivamente, se logra una herramienta de diseño de algoritmos muy poderosa. Procedimiento para usar dicha herramienta Se tiene el análisis del problema Se diseña la estructura general del algoritmo utilizando el diseño modular o descendente Se toma cada módulo y se diseña su lógica utilizando el pseudocódigo. 206_C5 ELEC 330

Características deseable en los módulos Deberán estar jerarquizados Deberán ser pequeños y sencillos Deberán ser legibles Deberán usar una estructura de datos y control adecuados 206_C5 ELEC 330

Definición de Módulos Plantilla (formato) Tipo Nombre_Módulo (Lista de argumentos) Inicio Definiciones Cuerpo del módulo (instrucciones) [Retornar Expresión] FinMódulo 206_C5 ELEC 330

Variables globales, locales, argumentos y parámetros A las variables definidas en el contexto general se les llama variables globales y pueden ser utilizadas en cualquier parte del algoritmo. Las variables locales definidas en un determinado módulo sólo pueden utilizarse en el contexto de dicho módulo (o función) La lista de argumentos es un medio de comunicación entre los distintos módulos en forma bidireccional no necesariamente. Los parámetros son variables o valores que son copiados en los argumentos de un módulo, para que éste realice su tarea específica. 206_C5 ELEC 330

Tipos de paso de parámetros Por valor. Se copian los valores de los parámetros en los argumentos, es decir, NO se modifican los valores de los primeros después de la ejecución del módulo. Por referencia. Se copian las direcciones de los parámetros en los argumentos. Después de la ejecución del módulo los parámetros se ven alterados o modificados. Un ejemplo de paso de parámetros por valor es el paso de un vector como argumento de un módulo. En C se requiere el uso de apuntadores, para tal efecto. 206_C5 ELEC 330

Un Ejemplo siempre es bueno! Calcular el área, perímetro y diámetro de un círculo de rádio R. Principal LeerRadio Perímetro Área Diámetro 206_C5 ELEC 330

El diseño descendente del ejemplo Constante Pi=3.1416 Real LeerRadio() Inicio Escribir “ Radio =?” Leer Radio Retornar (Radio); FinLeerRadio Real Area(Real R) Retornar (Pi*R*R); FinArea Real Perimetro(Real R) Retornar (2*Pi*R); Real Diametro(Real R) Inicio Retornar (2*R); FinDiametro // Módulo Principal Principal Real Radio; Radio<-LeerRadio() Escribir “Area=“,Area(Radio); Escribir “Perím =“,Perimetro(Radio); Escribir “Diámetro =“,Diámetro(Radio); FinPrincipal 206_C5 ELEC 330

Ejercicios 1.-Elabore un algoritmo modular para calcular la suma, el promedio, el máximo y el mínimo de un vector de 100 elementos. 2.- Elabore un algoritmo modular para leer dos puntos (x , y) y calcular la pendiente, la distancia entre los puntos y el punto medio. 3.- Elabore un algoritmo modular para implementar las operaciones de conjuntos en un vector de tamaño N. Las operaciones son: Unión, Intersección, Pertenencia, Diferencia y Producto cartesiano. 206_C5 ELEC 330

Más ejercicios e = 1+1/2!+1/3!+…+ 1/n! 4.-Elabore un algoritmo modular para calcular la serie que aproxima al valor de e con la fórmula siguiente y n términos: e = 1+1/2!+1/3!+…+ 1/n! 5.- Definir una función que calcule el valor de: F = 1/ ax2+bx2+c 6.-Definir la función ABSOLUTO que calcula el valor absoluto de su argumento si éste es un número utilizando una estructura condicional. 206_C5 ELEC 330

Más ejercicios 7.-Definir la función FACTORIAL de forma recursiva e iterativa sabiendo que el factorial de N es 1 si N es 0 y en otro caso será N veces el factorial de N-1. 8.-Definir de forma iterativa la EXPONENCIACION de dos números. 9.-Definir un predicado que devuelva T si alguno de sus dos primeros argumentos es menor que el tercero y mayor que el cuarto. 10.-Definir una función que pase de grados centígrados a grados Fahrenheit, sabiendo que: F = (C + 40) x 1.8 – 40 206_C5 ELEC 330

Resumen Modularidad o programacion modular Funciones definidas por el programador Paso de Parémetros Ámbito de las variables Módulo Ventajas ¿Cuándo usar modularidad? Funciones o módulos predefinidos por el sistema 206_C5 ELEC 330

¿Preguntas? 206_C5 ELEC 330