Funciones y Procedimientos
funciones
En este capitulo se describen las funciones y procedimientos, con los conceptos de variables
locales y globales. Se introduce el concepto de recursividad como una nueva herramienta para
resolver problemas.
5.1 Introducción a los subalgoritmos o subprogramas
Soluciona problemas complejos al dividirlos en subprogramas y luegodividirlos estos en otros mas
simples, hasta que estos sean mas fáciles de resolver. Esta técnica se llama “divide y vencerás” .
El problema principal denominado controlador
o conductor (drive) y la solución de los
subproblemas conocidos como procedimientos (subrutinas) o funciones.
Problema
Principal
Subproble
ma 1
Algoritmo
Principal
Subproble
ma 2
Subalgorit
mo 1
Subproblema 3
Subalgorit
mo 2
Subalgorit
mo 3
Se dice que el programa principal invoca al subprograma, el subprograma ejecuta la tarea y luego
devuelve el control al programa.
Programa
Llamada 1
Subprograma
Retorno 1
Llamada 2
Retorno 2
Algoritmo
Subalgoritmo
Un programa puede llamar a su ves a sus propios subprogramas .
Programa
subprograma 1
subprograma1.1Subprograma 2
5.2 Funciones:
Es una que toma una o mas valores llamados argumentos y produce un valor llamado resultado
Ejemplo:
F(x) =x/i+x*x
Para evaluar f debemos darle un valor a x.
5.2.1 Declaración de funciones
Requiere de una serie de pasos que la definen .
Consta de una cabecera , seguido de la palabra (función) y del nombre del argumento de la
función después ira el cuerpo quees una serie de acciones cuya ejecución hará que se asigne un
valor al nombre de la función , esto determina el resultado que ha de devolver al programa.
La declaración de la función será :
función (lista de parámetro
[declaración locales]
inicio
//cuerpo de la función
devolver
()
fin_funcion
Ejemplo:
F(x,y)=x/1+x*x
Se define como :
Real función f(x)
Inicio
Devolver(x/(1+x*x))
Fin_funcion
5.2.2 Invocación de las funciones.
Una función puede ser llamada de la siguiente forma:
Nombre_funcion(lista de parámetros actuales)
Nombre_funcion: función que llama
Lista de parámetros actuales: constantes variables , expresiones.
Cada vez que se llama a una función desde el algoritmo principal se establece una
correspondencia entre los parámetros formales y losparámetros actuales .
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 cuero de acciones de la función .
3._Se devuelve el valor de la función y se retorna al punto de llamada.
Ejemplo:
Función potencia para el calculo de N elevada a A .El numero N deberá ser positivo aunquepodrá
tener parte fraccionaria , A es un real .
Algoritmo elevar_a_potencia
Var
Real:a.n
Inicio
Escribir(N elevado a =potencia(n.a))
Fin
Real función potencia (E real :n,a)
Inicio
Devolver(exp(a*1n(n))
Fin_funcion.
Ejemplo 2
Algoritmo que contiene y utiliza unas funciones(sen y cos) a las que les podemos pasar el Angulo
en grados.
Algoritmo sen_cos_en_grados
Ver real :g
InicioEscribir(deme ángulo en grados)
Leer (g)
Escribir(sen(g))
Escribir(cos(g))
Fin
Real función coseno(E real:g)
Inicio
Devolver(cos(g*2*3.141592/360))
Fin_funcion
Real_funcion seno(real:g)
Inicio
Devolver(sen(g*2*3.141592/360))
Fin_funcion
La salida del algoritmo sería:
2 al cubo es 8
3 al cubo es 27
Las funciones pueden tener muchos argumentos, pero solamente un resultado: el valorde la
función. Esto limita su uso, aunque se encuentran con frecuencia en cálculos científicos. Un
concepto más potente es el proporcionado por el subprograma procedimiento que se examina en
el siguiente apartado.
Ejercicio 5.5
Algoritmo que contiene y utiliza unas funciones (seno y coseno) a las que les podemos pasar el
ángulo en grados.
algoritmo Sen_cos_en_grados
var real : g...
Regístrate para leer el documento completo.