sesion09-funciones y procedimientos.ppt

19
Principios de Algoritmos Sesión Nº 09: Programación Modular Funciones y Procedimientos Mgtr. Marcelino Estrada A.

Upload: juliocesarcollantesmoreyra

Post on 16-Sep-2015

25 views

Category:

Documents


0 download

TRANSCRIPT

  • Principios de AlgoritmosSesin N 09: Programacin ModularFunciones y ProcedimientosMgtr. Marcelino Estrada A.

  • Uno de los mtodos ms conocidos para resolver un problema es dividirlo en problemas ms pequeos, llamados subproblemas. De esta manera, en lugar de resolver una tarea compleja y tediosa, resolvemos otras ms sencillas y a partir de ellas llegamos a la solucin.

    Esta tcnica se usa mucho en programacin ya que programar no es ms que resolver problemas, y se le suele llamar diseo descendente, metodologa del divide y vencers o programacin top-down. Programacin Modular

  • Es evidente que si esta metodologa nos lleva a tratar con subproblemas, entonces tambin tengamos la necesidad de poder crear y trabajar con subprogramas para resolverlos. A estos subprogramas se les suele llamar mdulos, de ah viene el nombre de programacin modular. En Java disponemos de dos tipos de mdulos: Procedimientos Funciones

  • Supongamos que un profesor quiere crear un programa para gestionar las notas de sus alumnos. Quiere que dicho programa le permita realizar tareas tales como asignar notas, cambiar notas, ver las notas segn distintas calificaciones, etc. A continuacin tienes un esquema que representa una de las posibles divisiones del problema en mdulos.

  • Subprogramas

  • Subprogramas

  • LOS PROCEDIMIENTOSUn procedimiento es un subprograma que realiza una tarea especfica. Para hacer que se ejecute, basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal y enviar los parmetros que el necesite.

    Su declaracin debe hacerse antes de que sea llamado por otro mdulo. Su formato en pseudocdigo es:

    procedimiento nombre_procedimiento (lista de parmetros) declaraciones de variables locales cuerpo del procedimiento (instrucciones) fin.

  • Procedimiento PromedioP ( Entero nota1, Entero nota2)

    // declaracin de variables locales Real suma, prom // proceso suma (nota1+nota2) prom suma/2.0 // salida Escribir (El promedio es : , prom)FIN_PROCEDIMIENTOEJEMPLO EN PSEUDOCODIGO

  • void PromedioP ( int nota1, int nota2){ // declaracin de variables locales double suma, prom; // proceso suma=(nota1+nota2); prom= suma/2.0; // salida cout
  • PARAMETROSA los parmetros tambin se les conoce como argumentos y tienen la misin de comunicar al procedimiento con el programa que lo llama.

    Por ejemplo, si quieres hacer un subprograma que multiplique dos nmeros, lo ms cmodo es que al llamar al procedimiento le pases los valores que participarn en la operacin.

    Estos parmetros son conocidos como Parmetros por Valor.

  • La diferencia de pasar parmetros por referencia respecto a parmetros por valor radica en que en estos ltimos se guarda en memoria una copia temporal de la variable, dentro del procedimientosolo se utiliza la copia, cuando se modifica el valor del parmetro solo afecta al almacenamiento temporal, la variable actual fuera del procedimiento nunca se toca.PASO DE PARAMETRO POR VALOR

  • La diferencia de pasar parmetros por referencia respecto a parmetros por valor radica en que en los parmetros por referencia pueden modificar su valor durante la ejecucin del algoritmo y para indicar que la variable que se enva al modulo es un de referencia se tiene que colocar el smbolo del ampersand (&) antes de la declaracin de la variablePASO DE PARAMETRO REFERENCIA

  • PROCEDIMIENTO PRINCIPALEntero nota1, nota2 // declaracin de variables localEscribir (Ingrese la nota 1: )Leer (nota1)Escribir (Ingrese la nota 2: )Leer (nota2)

    // llamada a procedimiento CalcularPromedio(nota1,nota2) FIN_PROCEDIMIENTOLlamada a un Procedimiento Procedimiento CalcularPromedio ( Entero nota1, Entero nota2)Real suma, prom // declaracin de variables locales // proceso suma (nota1+nota2) prom suma/2.0 // salida Escribir (El promedio es : , prom)FIN_PROCEDIMIENTO

  • LAS FUNCIONESLas funciones son, al igual que los procedimientos, un conjunto de sentencias que se ejecutan constantemente, la diferencia entre estas y los procedimientos es que las funciones regresan un valor. La declaracin de las funciones se realiza de la siguiente forma:

    funcin nombre_funcion (lista de parmetros) declaraciones de variables locales cuerpo de la funcin (instrucciones) retornar valor; fin

  • Funcion PromedioF ( Entero nota1, Entero nota2, Entero nota3)// Declaracin de variables locales Real promedio

    //proceso promedio (nota1 + nota2 + nota3)/3.0;

    // Valor de retorno retornar promedio;

    Fin_FuncionEJEMPLO EN PSEUDOCODIGO

  • double PromedioF ( int nota1, int nota2, int nota3){ // Declaracin de variables locales double promedio;

    //proceso promedio = (nota1 + nota2 + nota3)/3.0;

    // Valor de retorno return promedio;}EJEMPLO DE CODIFICACION

  • PROCEDIMIENTO PRINCIPALEntero nota1, nota2, nota 3 // declaracin de variablesReal promEscribir (Ingrese la nota 1: )Leer (nota1)Escribir (Ingrese la nota 2: )Leer (nota2)Escribir (Ingrese la nota 3: )Leer (nota3)

    // llamada a funcion promCalcularProm(nota1,nota2,nota3) Escribir (El promedio es : , prom) FIN_PROCEDIMIENTOLlamada a unaFuncin Funcion CalcularProm( Entero nota1, Entero nota2, Entero nota3)// Declaracin de variables locales Real promedio //proceso promedio (nota1 + nota2 + nota3)/3.0; // Valor de retorno retornar promedio;Fin_Funcion

  • Llamada a una Funcin

    *