Procedimientos y Funciones

Slides:



Advertisements
Presentaciones similares
Fundamentos de Programación
Advertisements

COMPUTACIÓN I TEMA 5. Subprogramas o funciones. Alcance de variables
Operaciones con Decimales Suma, Resta, Multiplicación y División Autor: Grupo Océano Colaborador: Prof. Lourdes Barreno Huffman Portal Educa Panamá.
Unidad 1: Conceptos fundamentales Instituto Tecnológico de Toluca Ing. Sistemas Computacionales Asignatura: Programación Lógica y Funcional Presentan Nieto.
Periodo II Técnicas de programación. Sin Parámetros Con parámetros Funciones.
PROGRAMACIÓN ORIENTADA A OBJETOS SEGUNDA UNIDAD: “CLASES, OBJETOS Y MÉTODOS” IRVING YAIR SALAS CHÁVEZ ING. EN SISTEMAS COMPUTACIONALES - ITSLP.
Funciones en lenguaje C 2 Funciones Definición: – Las funciones son los bloques de construcción básicos de C. Dentro de ellas se da toda la actividad.
Tipos de funciones Marcela mayen#14 4b.
Funciones y gráficas ITZEL ALEJANDRA LOZOYARODRIGUEZ
FUNCIONES, PROCESAMIENTO ELEMENTAL DE DATOS
Introducción a la Programación Multimedial
Ingreso , proceso y salida de datos
LÍMITES Y CONTINUIDAD IVºELECTIVO
ESTRATEGIAS PARA EL APRENDIZAJE DE LAS MATEMÁTICAS EN LA EDUCACIÓN A DISTANCIA CONJUNTOS NUMERICOS.
Tarea II Matemáticas Francisco Raul Gandara Villaverde
ESTRUCTURAS CONDICIONALES
ROBERTO PINEDA FLORES. ALEXIS JULIAN VELAZQUEZ NAVA.
Programación 1 Curso: 5to. I TT
Olimpiadas Chilenas de Informática - Formación
INFORMATICA DEL CBU Clase 8 Año 2016 PROCEDIMIENTOS.
FUNCIONES EN C.
Métodos y parámetros.
FUNCIONES, PROCESAMIENTO ELEMENTAL DE DATOS
RECURSIVIDAD.
Resolución de problemas y algoritmos
Métodos en Java.
Estructuras de Datos Recursividad.
PSEUDOCÓDIGO Prof. Rafael Mourglia.
Tema 4 Elementos para el Desarrollo de Algoritmos
TUTORIAL PSeint.
VECTORES Juan Daniel Fregoso Rubio B.
Tema 6. Conceptos básicos de programación Clase 1
FÓRMULAS Una fórmula es la representación de una operación aritmética en una hoja de cálculo. Características: Siempre comienza por el signo igual(=) ó.
Tema 7. Introducción a lenguaje de programación Visual Basic (clase 2)
LÓGICA DE PROGRAMACIÓN
EXPRESIONES Una expresión es una forma especial de asignación.
2.1 POTENCIAS Y RADICALES.
Unidad 2. Algoritmos Unidad 4. Control de flujo
2da clase ofimatica.
Programación Orientada a Objetos
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
FunciÓn PotenciaL, exponencial y logarÍtmica.
DOCENTE: ANGEL PALACIO BIENVENIDOS AL MUNDO DEL
HERRAMIENTAS DE PROGRAMACIÓN
LENGUAJE C.
Estructuras de Repetición Pseudocodigo1 Estructuras de Repetición Algoritmos Mientras Hacer-Mientras Para.
Introducción al Visual Basic  Un programa en sentido informático está constituido en un sentido general por variables que contienen los datos con los.
Metodología de la Programación
Funciones y Procedimientos(Pseudocódigo)
Procesamiento de señales Introducción a Matlab 2014
ACCIONES Y ESTRUCTURAS
Los números naturales y los números enteros
Docente: Ing. Francisco Rodríguez
Introducción a la Estadística Informática
FUNCIONES Y PROCEDIMIENTOS
Diseño de algoritmos.
MC Beatriz Beltrán Martínez Verano 2018
TUTORIAL PS EINT FUNDAMENTOS DE PROGRAMACIÓN Ing. Elizabeth Díaz Orea.
TUTORIAL PS EINT FUNDAMENTOS DE PROGRAMACIÓN Ing. Elizabeth Díaz Orea.
Estructuras de Repetición Algoritmos
Programación Modular Programación de Computadoras - Hugo Vega Grupo2: Reina Rodríguez Miriam Salluca.
Tema 7. Introducción a lenguaje de programación Visual Basic (clase 2)
CONTROLES Y ESTRUCTURAS BÁSICAS DE PROGRAMACIÓN  1. Algoritmos: conjunto de instrucciones programadas para resolver una tarea específica.  2. Datos:
UNIVERSIDAD JUÁREZ AUTÓNOMA DE TABASCO Nombres: Isaac Sánchez García Teofilo Martinez Garcia Ricardo Del Carmen Paz López Vanesa Anahí Pérez Lizárraga.
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Funciones Subprogramas definidos por el usuario Subprogrmas.
Tema 8. Estructuras de decisión. Clases 1 y 2.
NÚMEROS REALES. NÚMEROS NATURALES Los números naturales son aquellos que sirven para designar la cantidad de elementos que posee un cierto conjunto. Se.
UNIDAD II Generalidades sobre Algoritmos
UNIDAD VII FUNCIONES (SUBPROCESOS)
Transcripción de la presentación:

Procedimientos y Funciones Subprogramas Procedimientos y Funciones Instituto Superior de Formación Docente N 49 – Prof. Pujol – Programacion II

Programación Modular subprogramas Funciones Procedimientos Ámbito de las variables Paso de parámetros: por valor - por referencia Sintaxis de la transmisión de parámetros Recursividad Instituto Superior de Formación Docente N 49 – Prof. Pujol – Programacion II

Introducción a los subalgoritmos o subprogramas Un programa se subdivide en otras mas pequeños. Método Top-Down design Programa principal resuelve problema principal Subprograma, recibe dato, procesa y devuelve resultado. Instituto Superior de Formación Docente N 49 – Prof. Pujol – Programacion II Programa Principal Subprograma 1 Subprograma 1 Subprograma 1 Programa “llama” al subprograma. Subprograma ejecuta tarea y “devuelve” ctrol al programa Programa Llamada 1 Subprograma Llamada 2 Retorno 2 Retorno 1

√ x - √y Tener en cuenta Funciones Una función es una operación que toma uno o mas valores llamados argumentos y produce un valor denominado resultado. F(x)= x 1+x3 En este ejemplo vemos una función un solo argumento (X), pero las funciones pueden tener mas de un argumento, pero el valor de respuesta es uno solo, independientemente de la cantidad de argumentos. Instituto Superior de Formación Docente N 49 – Prof. Pujol – Programacion II F(x, y)= X - y √ x - √y Tener en cuenta Cada función se evoca usando su nombre en una expresión con los argumentos actuales o reales encerrados entre paréntesis. La expresión que invoca a la función debe tener una lista de argumentos que deberán coincidir en cantidad, tipo y orden con los de la función que fue definida. Las funciones son diseñadas para realizar tareas especificas: tomar una lista de valores – llamados argumentos – y devolver un unico valor.

Declaración de las funciones e invocación de las mismas La declaración de una función requiere una serie de paso que la definen. Por ser un subprograma tiene una cabecera, un cuerpo y un fin de función <tipo_de_funcion> función <nombre_fun> (lista de parámetros) {declaraciones locales} Inicio <acciones> //cuerpo de la función devolver (<expresión>) Fin _ función Instituto Superior de Formación Docente N 49 – Prof. Pujol – Programacion II Los argumentos de la declaración de las funciones se denominan: parámetros formales y pueden ser nombres de variables, de otras funciones o procedimientos y solo se utilizan en el cuerpo de la función. Los argumentos utilizados en la llamada de la función se denominan parámetros actuales, y pueden ser constantes, variables, expresiones, valores de funciones o nombre de funciones o procedimientos Invocando a las funciones: nombre _ función (lista de parámetros actuales) Nombre _ función función que llama Lista de parámetros actuales constantes, variables, expresiones, valores, nombres de funciones o expresiones

Declaración de las funciones e invocación de las mismas Una llamada a la función implica los siguientes pasos: 1) A cada parámetro formal se le asigna el valor real de su correspondiente parámetro actual 2) Se ejecuta el cuerpo de las acciones de la función 3) Se devuelve el valor de la función al nombre de la función y se retorna al punto de llamada Instituto Superior de Formación Docente N 49 – Prof. Pujol – Programacion II Ejemplo de función: Algoritmo que contiene y utiliza unas funciones (seno y coseno) a las que les podemos pasar el ángulo en grados Real función coseno (E real : g) Inicio devolver (cos (g * 2 * 3.141592/360)) Fin _ función Algoritmo Sen_cos_en_grados Var real : g Inicio escribir (‘Deme angulo en grados’) leer(g) escribir (seno (g)) escribir (coseno (g)) fin Real función seno (E real : g) Inicio devolver (sen (g * 2 * 3.141592/360)) Fin _ función

Procedimientos (subrutinas) Es un subprograma que ejecuta un proceso especifico. La declaración de un procedimientos es similar a la de la función. Procedimiento nombre {(lista de parámetros formales)} ……………… <acciones> Fin_procedimiento Instituto Superior de Formación Docente N 49 – Prof. Pujol – Programacion II Parámetros formales tienen el mismo significado que en la funciones; los parámetros variables, están precedidos por la palabra var, por el cual se determina que ellos obtendrán resultados del procedimiento en lugar de los valores actuales asociados a ellos. El procedimiento se llama de la siguiente manera: {llamar_a} nombre (lista de parámetros actuales) Importante: Las funciones devuelven un valor, los procedimientos 0, 1 o n valores y en forma de lista de parámetros. El procedimiento se declara = que una función, pero su nombre no esta asociado a Ninguno de los resultados que obtiene.

Procedimientos (subrutinas) ejemplos El siguiente ejercicio, busca realizar la división de dos números obtener el cociente y el resto: Programa principal: Algoritmo Aritmética Var entero: M, N, P, Q, S, T Inicio leer (M, N) llamar_a división (m, N, P, Q) escribir (P, Q) llamar_a división (M * N – 4, N + 1,S, T) escribir (S, T) fin Instituto Superior de Formación Docente N 49 – Prof. Pujol – Programacion II Procedimiento división (E entero: Dividendo, Divisor; S entero: cociente, Resto) Inicio Cociente Dividendo div Divisor Resto Dividendo – Cociente * Resto Fin_procedimiento

Sustitución de Argumentos y parámetros La lista de parámetros formales (en el procedimiento) o actuales (en la llamada), se conoce como lista de parámetros y estos pueden ser de los siguientes tipos: (E) Entrada (S) Salida (E/S) Entrada / Salida Instituto Superior de Formación Docente N 49 – Prof. Pujol – Programacion II Cuando se llama al procedimiento, cada parámetro formal toma como valor inicial el valor del correspondiente parámetro actual.

Sustitución de Argumentos y parámetros (Ejemplo) Algoritmo que transforma un numero introducido por el teclado en notación decimal a romana. El numero será entero y positivo y no excederá de 3000 Procedimiento Programa Principal Instituto Superior de Formación Docente N 49 – Prof. Pujol – Programacion II Algoritmo romanos Var n, r, digito:entero Inicio repetir escribir (“deme numero”) leer (n) hasta_que (n >= 0 ) y (n <= 3000) r = n digito = r div 1000 r = 5 mod 1000 calccifrarom (digito, ‘M’, ‘ ‘, ‘ ‘ ) digito = r div 100 r = r mod 100 calccifrarom (digito, ‘C’, ‘D ‘, ‘M ‘ ) digito = r div 10 r = r mod 10 calccifrarom (digito, ‘X’, ‘L ‘, ‘C ‘ ) digito = r calccifrarom (digito, ‘I’, ‘V ‘, ‘X ‘ ) fin Procedimiento calccifraron (E entero: digito; E carácter: v1, v2, v3 var entero: J inicio si digito = 9 entonces escribir (V1, V3) si_no SI digito > 4 entonces escribir (v2) desde j=1 hasta digito – 5 hacer escribir (v1) fin_desde si digito = 4 entonces escribir (v1, v2) desde j= 1 hasta digito hacer fin_si Fin_procedimiento

Ámbito de las Variables: Locales y Globales Variable Local: es aquella variable que esta declarada y definida en un subprograma y actúa dentro de su entorno y es distinta de otra variable declarada de la misma manera en cualquier otra parte del programa principal. El significado de una variable se confina al procedimiento en el que esta declarado. Variable Global: aquella declarada para el programa principal, del que dependen todos los subprogramas. Instituto Superior de Formación Docente N 49 – Prof. Pujol – Programacion II Programa Demo Tipo X, X1 Ámbito de X Procedimiento B Tipo Z, Z1,…… Ámbito de Z Procedimiento C Tipo W, W1,…… Ámbito de W

Ámbito de las Variables: Locales y Globales (continuación) El ámbito de un identificador es la parte del programa donde se conoce el identificador. Las variables definidas en un ámbito son accesibles en el mismo, es decir en todos los procedimientos interiores Instituto Superior de Formación Docente N 49 – Prof. Pujol – Programacion II

Ámbito de las Variables: Locales y Globales (ejemplos) La función signo realiza la siguiente tarea: dado un numero real x, si x es 0, entonces se devuelve un ; si x es positivo, se devuelve 1, y si x es negativo, se devuelve un valor -1 La declaración de la función es: Entero función signo (E real: x) Var entero:s Inicio si x = 0 entonces s =0 si x > 0 entonces s = 1 si x < 0 entonces s = -1 devolver (s) Fin_funcion Ahora veremos un programa donde se invoca a la función signo: Instituto Superior de Formación Docente N 49 – Prof. Pujol – Programacion II Algoritmo SIGNOS Var entero: a, b, c real: x, y, z Inicio x = 5.4 a = signo (x) y = 0 b = signo (y) z = 7.8975 c = signo (z-9) Escribir (`las respuestas son:`, a, ‘ ‘ ,b, ‘ ‘ , c) fin Resultados: X = 5,4 x es el parámetro actual de la 1ra llamada a la función signo a = signo (5.4) a toma el valor de 1 Y = 0 b = signo (0) b toma el valor de 0 z = 7.8975 c = signo (7.8975-9) c toma el valor de -1

Comunicación con subprogramas- Paso de parámetros La comunicación entre subprogramas se hace por medio de los parámetros. Los parámetros actuales son “sustituidos” o “utilizados” en lugar de los parametros formales. Las clases de parámetros son: (E) Entrada (S) Salida (E/S) Entrada – Salida Instituto Superior de Formación Docente N 49 – Prof. Pujol – Programacion II Modo de correspondencia: Posicional: Haciendo una concordancia entre los parámetros formales y los reales según su posición en la lista. Fi se corresponde con Ai. Donde i = 1, 2, …..n Por nombre explicito: la llamada se indica por la correspondencia entre los parámetros reales y formales El método que usaremos es el Posicional Losa pasos de parámetros que usaremos serán dos: Por valor Por referencia

Paso de parámetros: Por Valor – Por Referencia Paso Por Valor Introducción: Los parámetros formales reciben como valores iniciales los valores de los parámetros actuales y con ello se ejecutan las acciones descritas en el subprograma. No se hace diferencia entre un argumento que es variable, constante o expresión, dado que solo importa el valor del argumento. Instituto Superior de Formación Docente N 49 – Prof. Pujol – Programacion II A 5 B 7 Llamar_a PROC1 (A, 18, B * 3 + 4 ) 5 18 25 Procedimiento PROC1 (E entero: X, Y, Z ) Valor del primer parámetro: A = 5 Valor del segundo parámetro: constante = 18 Valor del tercer parámetro: expresión B * 3 + 4 = 25

Paso de parámetros: Por Valor – Por Referencia Paso Por Referencia Cuando los parámetros sirven como salida, en otras palabras, se devuelven resultados al programa que lo llamó, este método se llama paso por referencia. La unidad que llama pasa a la unidad que llamada la dirección del parámetro actual Las llamadas por referencia es muy útil en el caso de programas donde se necesita la comunicación del valor en ambas direcciones Instituto Superior de Formación Docente N 49 – Prof. Pujol – Programacion II Comparación de los métodos de paso por parámetros Algoritmo DEMO Var entero: A,B,C Inicio A= 3 B= 5 C= 17 llamar_a SUBR (A, A, A+B, C) escribir(C) fin Solo por valor: No se trasmite ningún resultado. C no varia C = 17 Valor_resultado: X=A= 3 Y=A= 3 Z=A+B= 8 V=C= 17 A=3 B=5 C=17 resultado Al ejecutar el procedimiento quedara: x = x + 1 = 3 + 1 = 4 V = y + z = 3 + 8 = 11 Procedimiento SUBR( entero: x, y; E entero:z; enteros:v) Inicio x = x + 1 v = y + z Fin_procedimiento Observación: el parámetro v pasa el valor del resultado v a su parámetro actual correspondiente, c. Por consiguiente C = 11.

Recursividad Un subprograma puede llamar a otro subprograma y este a otro, y así sucesivamente. En otras palabras los subprogramas se pueden anidar. Ej: A llamar_a B, B llamar_a C, C llamar_a D El retorno será: D retornar_a C, C retornar_a B, B retornar_a A Una función o procedimiento que se puede llamar a si mismo, se llama recursivo. La recursividad puede ser utilizada como alternativa a la repetición o estructuras repetitivas. Es importante que se debe tener en cuenta que debe tener una condición de terminación. Instituto Superior de Formación Docente N 49 – Prof. Pujol – Programacion II Representación grafica tomando el caso de n = 3 Ejemplo: Entero función factorial (E entero: n) //calculo recursivo del factorial Inicio si n = 0 entonces devolver (1) si_no devolver (n * factorial (n-1)) fin_si Fin_funcion N es 3 FACTORIAL 3 * FACTORIAL (2) Retorno N es 2 FACTORIAL 2 * FACTORIAL (1) Retorno N es 1 FACTORIAL 1 * FACTORIAL (0) Retorno N es 0 FACTORIAL 3 Retorno

F . I . N DE PROCEDIMIENTOS Y FUNCIONES Instituto Superior de Formación Docente N 49 – Prof. Pujol – Programacion II