|
Inicio
Generalidades
Ejercicios
Talleres
Proyecto

|
Funciones
La modularidad de los programas es un elemento
clave en la programación estructurada. La parametrización de
funciones permite la reutilización de software y la facilidad de
mantenimiento, y es también característica fundamental de la programación
orientada a objetos.
¿Qué es una función?
En programación, una función es un segmento independiente de código fuente
diseñado para realizar una tarea específica. Todos los programas escritos
en C/C++ tienen al menos una función llamada main(). Usted ya ha
utilizado algunas funciones de biblioteca, como getch(), gets(), clrscr(),
printf(), pow()...
Las funciones de biblioteca son las que ya vienen predefinidas en el
lenguaje de programación, pero usted también puede crear sus propias
funciones. Esto le permitirá escribir una función y luego utilizarla de
forma repetida al igual que las funciones de biblioteca. De hecho, usted
puede crear su propia biblioteca de funciones, grabarlas en su disco y
luego invocarlas en sus programas de la misma forma que hace con getch(),
gets(), clrscr(), printf(), pow()...
Las funciones son los bloques constructores del lenguaje C/C++ y el lugar
donde se produce toda la actividad del programa.
Formato general de una función
tipo_dev nombre_de_la_función (lista
de parámetros)
{
cuerpo de la función
}
El tipo_dev especifica el tipo de dato que devuelve la función. Una
función puede devolver cualquier tipo de dato (int, float, char, void)
excepto un arreglo. Todas las funciones que no son de tipo void
devuelven un valor. Este valor se especifica explícitamente en la
instrucción return. La lista de parámetros es una lista de
nombres de variable separados por comas con sus tipos asociados. Los
parámetros reciben los valores de los argumentos cuando se llama a la
función. Una función puede no tener parámetros, en cuyo caso la lista de
parámetros está vacía, lo cual se puede especificar colocando la palabra
clave void entre los paréntesis.
Las variables que están definidas dentro de una función son variables
locales.
¿Cómo se declara una función?
En C/C++, cuando se crea una función diferente a main() y antes de
main(), primero debe declararse y después definirse. La declaración
de una función se realiza mediante lo que se denomina prototipo de una
función, el cual consta del nombre de la función y de información
importante relativa a la misma. Los prototipos de las funciones aparecen
al comienzo del programa y antes de main().
Cuando se define una función, se indica de nuevo el nombre de la función,
la información relativa a la misma (igual que en el prototipo de la
función) y el cuerpo de la función, que contiene todo el código fuente
utilizado por la función. Todo esto se muestra en el siguiente ejemplo:
/*
Programa : FuncionC.cpp
Autor : Un buen programador
Fecha : H/o/y
Descripción : Este programa ilustra una forma simple de programa
estructurado en bloques o módulos.
*/
#include "iostream.h"
#include "conio.h"
// prototipo de funciones:
void saludo(); //La función visualiza un saludo en la pantalla
float cuadrado(float numero); // La función eleva un número al cuadrado.
void main()
{
float valor, respu;
clrscr();
saludo(); // Llamada a la función saludo.
cout << "Por favor, escriba un número y se lo elevaré al cuadrado -> ";
cin >> valor;
respu = cuadrado(valor); // Llamada a la función cuadrado.
cout << endl << "El cuadrado de "<< valor << " es " << respu;
getch();
}
void saludo()
{
cout << "Hola!. Bienveni2 a la programación modular\n" << endl;
}
float cuadrado(float numero)
{
float respu;
respu = numero * numero;
return(respu); // Devuelve el cuadrado del número
}
Ejercicios "amistosos"
// Otro programa modular
sencillo en lenguaje C...
#include "iostream.h"
#include "conio.h"
#define lp clrscr()
void diafeliz(){
cout << "Dic. 21 /2003"<< endl;
cout << "DEPORTES TOLIMA CAMPEON * !!!"<< endl;
}
int suma(int x, int y){
return(x+y);
}
void tolgoles(){
int ngi, ngc, totg;
cout << "Cuantos goles marco Tolima en la gran
final?"<<endl;
cout << "En Ibague -> "; cin >> ngi;
cout << "En Cali -> "; cin
>> ngc;
lp;
diafeliz();
// Llamado de funcion
totg = suma(ngi,ngc); // Llamado de funcion con
paso de parametros
cout << "Goles que marco en la gran final -> "<<
totg;
}
void main(){
lp;
tolgoles(); // Llamado a la funcion
getch();
}
______________________________________________
Métodos
en lenguaje Java:
-------------------------------------------------------------------------
/**
* @(#)DT2003.java
*
*
* @author Viejo Gus
* @version 1.00 2008/10/28
*/
import javax.swing.JOptionPane;
class DTolima{
private String ngi,ngc;
public DTolima() {
ngi=ngc=" ";
}
public void diafeliz(){
JOptionPane.showMessageDialog(null,"Dic. 21
/2003\n"+"DEPORTES TOLIMA CAMPEÓN * !!!");
}
public void tolgoles(){
ngi=JOptionPane.showInputDialog("Cuántos
goles marcó Tolima en la gran final en Ibagué?");
ngc=JOptionPane.showInputDialog("Cuántos
goles marcó Tolima en la gran final en Cali?");
}
}
public class DT2003{
public static void main(String arg[]){
DTolima DT = new DTolima();
DT.diafeliz();
DT.tolgoles();
}
}

|