teoria sobre programacion de computadoras: Funciones

download teoria sobre programacion de computadoras: Funciones

of 13

description

teoria sobre programacion de computadoras: Funciones

Transcript of teoria sobre programacion de computadoras: Funciones

  • Prof. Luis Vicente Bazalar Guerrero

    Universidad Nacional Mayor de San Marcos Universidad del Per, Decana de Amrica

    Facultad de Ciencias Matemticas

    E.A.P. Matemtica

    CURSO: PROGRAMACION DE COMPUTADORAS I

  • Funciones

    Matemticamente una funcin es una operacin que toma uno o ms valores llamados argumentos y produce un valor denominado resultado (valor de la funcin para los argumentos dados). Todos los lenguajes de programacin tienen funciones incorporadas o intrnsecas y funciones definidas por el usuario. Por ejemplo: Donde f es el nombre de la funcin y x es el argumento. Para evaluar f debemos darle un valor real o actual a x.

    21 x

    xxf

  • Funciones

    Una funcin puede tener varios argumentos, por ejemplo: es una funcin con dos argumentos. Sin embargo, solamente un nico valor se asocia con la funcin para cualquier par de valores dados a los argumentos. Cada lenguaje de programacin tiene sus propias funciones incorporadas, que se utilizan escribiendo sus nombres con los argumentos adecuados en expresiones. Cada funcin se evoca utilizando su nombre en una expresin con los argumentos actuales o reales encerrados entre parntesis.

    yx

    yxyxf

    ,

  • Funciones

    Las funciones incorporadas al sistema se denominan funciones o internas o intrnsecas y las funciones definidas por el usuario, funciones externas. Cuando las funciones estndares o internas no permiten realizar el tipo de clculo deseado es necesario recurrir a las funciones externas que puede ser definidas por el usuario mediante una declaracin de funcin. A una funcin no se le llama explcitamente, sino que se le invoca o referencia mediante un nombre y una lista de parmetros actuales. El algoritmo o programa llama o invoca a la funcin con el nombre de esta ltima en una expresin seguida de una lista de argumentos que deben coincidir en cantidad, tipo y orden con los de la funcin que fue definida. La funcin devuelve un nico valor. Las funciones son diseadas para realizar tareas especficas: tomar una lista de valores, llamados argumentos y devolver un nico valor.

  • Funciones

    Declaracin de Funciones La declaracin de una funcin requiere una serie de pasos que la definen. Una funcin como tal subprograma tiene una constitucin similar a los algoritmos, por consiguiente, constar de una cabecera que comenzar con el tipo del valor devuelto por la funcin, seguido de la palabra funcin y del nombre y argumentos de dicha funcin. A continuacin ir el cuerpo de la funcin, que ser una serie de acciones o instrucciones cuya ejecucin har que se asigne un valor al nombre de la funcin. Esto determina el valor particular del resultado que da de devolverse al programa llamador. Los argumentos de la declaracin de la funcin se denominan parmetros formales, ficticios o mudos (dummy), son los nombres de variables, de otras funciones o procedimientos y que slo se utilizan dentro del cuerpo de la funcin. Los argumentos utilizados en llamada a la funcin se denominan parmetros actuales, que a su vez pueden ser constantes, variables, expresiones, valores de funciones o nombres de funciones o procedimientos.

  • Funciones

    Invocacin las funciones Cada vez que se llama a una funcin desde el algoritmo principal se establece automticamente una correspondencia entre los parmetros formales y los parmetros actuales. Debe haber exactamente el mismo nmero de parmetros actuales que de parmetros formales en la declaracin de la funcin y se presupone una correspondencia uno a uno de izquierda a derecha entre los parmetros formales y los actuales. Una llamada a la funcin implica los siguientes pasos: 1. A cada parmetro formal se le asigna el valor real de su correspondiente

    parmetro actual. 2. Se ejecuta el cuerpo de acciones de la funcin. 3. Se devuelve el valor de la funcin al nombre de la funcin y se retorna al

    punto de llamada.

  • Funciones

    Ejemplo: Realizar el pseudocdigo donde se utilice una funcin llamada potencia para el clculo de N elevado a A. Los nmeros A y N debern ser positivos y enteros.

  • Funciones

    Ejemplo: Realizar el pseudocdigo donde una utilice una funcin llamada cubo para el clculo de x elevado al cubo. El nmero x es positivo y entero. La salida del algoritmo sera: 2 al cubo es 8 3 al cubo es 27

  • Funciones

    Variables Globales y Locales Las variables utilizadas en los programas principales y subprogramas se clasifican en dos tipos: -Variables Globales: es aquella que est declarada para el programa o algoritmo principal, del que dependen todos los subprogramas.

    - Variables Locales: es aquella que est declarada y definida dentro de un subprograma, en el sentido de que est dentro de ese subprograma y es distinta de las variables con el mismo nombre declaradas en cualquier parte del programa principal. El significado de una variable se confina al procedimiento en el que est declarada. Cuando otro subprograma utiliza el mismo nombre se refiere a una posicin diferente en memoria. Se dice que tales variables son locales al programa en el que estn declaradas.

  • Funciones

    Variables Locales y Globales El uso de variables locales tiene muchas ventajas. En particular, se hace a los subprogramas independientes, con la comunicacin entre el programa principal y los subprogramas manipulados estructuralmente a travs de la lista de parmetros. Para utilizar un procedimiento slo necesitamos conocer lo que hace y no tenemos que estar preocupados por su diseo, es decir, cmo estn programados. Esta caracterstica hace posible dividir grandes proyectos en piezas ms pequeas independientes. Cuando diferentes programadores estn implicados, ellos pueden trabajar independientemente. A pesar del hecho importante de los subprogramas independientes y las variables locales, la mayora de los lenguajes proporcionan algn mtodo para tratar ambos tipos de variables.

  • Funciones

    Comunicacin con Subprogramas: Paso de Parmetros Existen diferentes mtodos para la transmisin o el paso de parmetros a subprogramas. Es preciso conocer el mtodo adoptado por cada lenguaje, ya que la eleccin puede afectar a la semntica del lenguaje. Dicho de otro modo, un mismo programa puede producir diferentes resultados bajo diferentes sistemas de paso de parmetros. Los parmetros pueden ser clasificados como: Entradas: Proporcionan valores desde el programa que llama y que se utilizan dentro de un procedimiento. En los subprogramas funcin, las entradas son los argumentos en el sentido tradicional. Salidas: Producen los resultados del subprograma; de nuevo si se utiliza el caso una funcin este devuelve un valor calculados por dicha funcin, mientras que con procedimientos pueden calcularse cero, una o varias salidas. Entradas/Salidas: Un solo parmetro se utiliza para mandar argumentos a un programa y para devolver resultados.

  • Funciones

    Comunicacin con Subprogramas: Paso de Valor El paso por valor se utiliza en muchos lenguajes de programacin. La razn de su popularidad es la analoga con los argumentos de una funcin, donde los valores se proporcionan en el orden de clculo de resultados. Los parmetros se tratan como variables locales y los valores iniciales se proporcionan copiando los valores de los correspondientes argumentos. Los parmetros formales, reciben como valores iniciales los valores de los parmetros actuales y con ello se ejecutan las acciones descritas en el subprograma. No se hace diferencia entre un argumento que es variable, constante o expresin, ya que slo importa el valor del argumento.

  • Funciones

    Comunicacin con Subprogramas: Paso por Referencia En numerosas ocasiones se requiere que ciertos parmetros sirvan como parmetros de salida, es decir, se devuelvan los resultados a la unidad o programas que llama. Este mtodo se denomina paso por referencia o tambin de llamada por direccin o variable. La unidad que llama pasa a la unidad llamada la direccin del parmetro actual (que est en el mbito de la unidad llamante). Una referencia al correspondiente parmetro formal se trata como una referencia a la posicin de memoria, cuya direccin se ha pasado. Entonces una variable pasada como parmetro real es compartida, es decir, se puede modificar directamente por el subprograma. Los parmetros valor y parmetros variable se suelen definir en la cabecera del subprograma.