lunes, 10 de febrero de 2014

1.3. Definición de funciones en distintos lenguajes de programación.

FORTRAN
Las funciones en Fortran son bastante similares a las funciones matemáticas: ambas toman un conjunto de variables de entrada (parámetros) y regresan un valor de algún tipo. Al inicio de la sección se comento de los subprogramas definidas por el usuario, pero Fortran 77 tiene también funciones incorporadas.
Un ejemplo simple muestra cómo usar una función:
      x = cos(pi/3.0)
En este caso la función coseno cos de 60º, asignará a la variable x el valor de 0.5 (si pi ha sido definido correctamente; Fortran 77 no tiene constantes incorporadas). Hay varias funciones incorporadas en Fortran 77. Algunas de las más comunes son:
abs     valor absoluto
min     valor mínimo
max     valor máximo
 sqrt    raíz cuadrada
sin     seno
cos     coseno
tan     tangente
atan    arco tangente
exp     exponencial (natural)
log     logaritmo (natural)

En general, una función siempre tiene un tipo. Varias de las funciones incorporadas mencionadas anteriormente son sin embargo genéricas. Por lo tanto en el ejemplo anterior pi y x podrían ser del tipo real o del tipo double precisión. El compilador revisará los tipos y usará la versión correcta de la función cos (real o double precisión). Desafortunadamente, Fortran no es un lenguaje polimórfico, por lo que en general, el programador debe hacer coincidir los tipos de las variables y las funciones.
Se revisa a continuación como implementar las funciones escritas por el usuario. Supongamos el siguiente problema: un meteorólogo ha estudiado los niveles de precipitación en el área de una bahía y ha obtenido un modelo (función) ll (m,t) donde ll es la cantidad de lluvia, m es el mes, y t es un parámetro escalar que depende de la localidad. Dada la fórmula para ll y el valor de t, calcular la precipitación anual.
La forma obvia de resolver el problema es escribir un ciclo que corra sobre todos los meses y sume los valores de ll. Como el cálculo del valor de ll es un subproblema independiente, es conveniente implementarlo como una función. El siguiente programa principal puede ser usado:
program lluvia
real r, t, suma
integer m
 read (*,*) t
 suma = 0.0
 do m = 1, 12
 suma = suma + ll(m, t)
 end do
 write (*,*) 'La precipitación Anual es ', suma, 'pulgadas'
 stop
 end

C
Una función es un fragmento de código que realiza una tarea bien definida. Por ejemplo, la función printf imprime por la salida estándar los argumentos que le pasamos. Al igual que esta función, existen otras funciones que realizan diversas tareas ya definidas en el estándar ANSI C y que pueden ser utilizadas por el programador. Este tipo de funciones predefinidas son denominadas funciones de biblioteca. Sin embargo, cada programador puede definir sus propias funciones de acuerdo a sus necesidades. Las funciones que define el programador son conocidas como funciones de usuario.
La utilización de funciones nos permite dividir un programa extenso en pequeños segmentos que realizan tareas concretas. Probablemente, dentro de un mismo programa se realicen  las mismas tareas varias veces, lo que se facilita mediante la utilización de funciones. . Sin embargo, es probable que ciertas funciones no sean reutilizables, pero al usarlas se mejora la legibilidad del programa.
Con el propósito de permitir un manejo eficiente de los datos, las funciones en C no se
pueden anidar. En otras palabras, una función no se puede declarar dentro de otra función , por lo que todas las funciones son globales o externas, lo que hace que puedan llamarse desde cualquier parte de un programa.
Cuando se accede a una función desde un determinado punto del programa, se le puede pasar información mediante unos identificadores especiales conocidos como argumentos (también denominados parámetros). Una vez que la función procesa esta información, devuelve un valor mediante la instrucción return.
La estructura general de una función en C es la siguiente:
tipo_de_retorno nombre_de_la_función (lista_de_parámetros)
{
cuerpo_de_la_función
return expresión
}
Donde:
• tipo_de_retorno: es el tipo del valor devuelto por la función, o, en caso de que la función no devuelva valor alguno, la palabra reservada void.
• nombre_de_la_función: es el nombre o identificador asignado a la función.
• lista_de_parámetros: es la lista de declaración de los parámetros que son pasados a la función. Éstos se separan por comas. Debemos tener en cuenta que pueden existir funciones que no utilicen parámetros.
• cuerpo_de_la_función: está compuesto por un conjunto de sentencias que llevan a cabo la tarea específica para la cual ha sido creada la función.
• return expresión: mediante la palabra reservada return, se devuelve el valor de la función, en este caso representado por expresión

C++
Una función es un conjunto de líneas de código que realizan una tarea específica y puede retornar un valor. Las funciones pueden tomar parámetros que modifiquen su funcionamiento. Las funciones son utilizadas para descomponer grandes problemas en tareas simples y para implementar operaciones que son comúnmente utilizadas durante un programa y de esta manera reducir la cantidad de código. Cuando una función es invocada se le pasa el control a la misma, una vez que esta finalizó con su tarea el control es devuelto al punto desde el cual la función fue llamada.
<tipo> [clase::] <nombre> ( [Parámetros] )
{
    cuerpo;
}
Ejemplo de una función
Para comenzar, vamos a considerar el caso en el cual se desea crear la función cuadrado(), que deberá devolver el cuadrado de un número real (de punto flotante), es decir, cuadrado() aceptará números de punto flotante y regresará una respuesta como número flotante.
Nota: aunque para la función que veremos el tipo de retorno coincide con el tipo de parámetro pasado, algunas veces las cosas pueden cambiar, es decir, no es obligatorio que una función reciba un parámetro de un tipo y que tenga que regresar una respuesta de dicho tipo.
// regresar el cuadrado de un número
double Cuadrado(double n)
{
    return n*n;
}

JAVA
En Java una función es un modulo de un programa separado del cuerpo principal, que realiza una tarea específica y que puede regresar un valor a la parte principal del programa u otra función o procedimiento que la invoque.
La forma general de una función es:

tipodatoregresa Nom_fun(parametros)
{ cuerpo de instrucciones;
intruccion return;
}
El tipo especifica el tipo de valor que la función regresara utilizando la instrucción return.
Si no se especifica un tipo se asume de default que el tipo regresado es int.
La lista de parametros formales es una lista de variables separadas por comas (,) que almacenaran los valores que reciba la función, estas variables actúan como locales dentro del cuerpo de la función.
Aunque no se ocupen parametros los paréntesis son requeridos.
La declaración de parametros es la especificación de cada tipo de parámetro recibido.

INSTRUCCION RETURN
Dentro del cuerpo de la función deber haber una instrucción return cuando menos, para regresar el valor, esta instrucción permite regresar datos.
Prog.java ejemplo:
import java.io.*; import javax.servlet.*;
import javax.servlet.http.*;
public class prog26 extends HttpServlet
{ public void doPost (HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{ int x=10;
x = funcion1(x,20);
PrintWriter pagina;
response.setContentType("text/html");
pagina = response.getWriter();
pagina.println("<HTML>");
pagina.println("x="+x);
pagina.println("</HTML>");
pagina.close();
}; // termina dopost
public int funcion1(int a, int b){return a+b;};

public void destroy(){super.destroy();};

}// termina class

No hay comentarios.:

Publicar un comentario