Está en la página 1de 2

Funciones

Introduccin
Cuando un programa comienza a ser largo y complejo no es apropiado tener todas las instrucciones en
un solo bloque, ya que no es fcil entender lo que hace el programa debido a que se intenta abarcar toda
la solucin a la vez. Adems suelen aparecer secciones de cdigo similares entre s a lo largo de todo el
programa lo que hace que el programa se vuelva an ms difcil de entender y modificar.

Los lenguajes de alto nivel proporcionan herramientas para solucionar estos problemas permiten
estructurar el programa principal compuesto de subprogramas (funcines y procedimientos) que
resuelven partes del problema principal. A su vez, cada uno de estos subprogramas puede estar resuelto
por otro conjunto de subprogramas etc... Los procedimientos y las funciones son los mecanismos de
estructuracin que permiten ocultar los detalles de la solucin de un problema y resolver una parte de
dicho problema en otro lugar del cdigo.

El lenguaje C utiliza bibliotecas de funciones con el fin de realizar un algunas operaciones clculos de uso
comn. C adems permite que el programador defina sus propias funcines para determinadas tareas.

Funcin: es un bloque de instrucciones que realiza tareas bien definidas. Todo programa en C consta de
una o ms funcines. La ejecucin de un programa en C siempre comienza por la funcin. Cuando se
ejecuta una funcin el control pasa al punto donde esta inicia. Una vez finalizada su ejecucin, se devuelve
el control al punto desde el que se hizo la llamada a la funcin.

Procedimientos: Se llama as, en lenguaje Pascal, a un subprograma que ejecuta unas ciertas
acciones sin que valor alguno de retorno est asociado a su nombre. En otras palabras: Un
procedimiento es una funcin que NO devuelve valores.

Partes de una Funcin

1. Prototipo de la funcin
2. Definicin de la funcin
3. Llamada a la funcin

1) PROTOTIPO DE UNA FUNCIN. tiene la sintaxis:

tipo nombre(parmetro 1, parmetro 2, ...parmetro N );


donde :
tipo: es el tipo de valor devuelto por la funcin. Los procedimientos son tipo void.
nombre: es el nombre de la funcin
parmetros: conjunto de argumentos, separados por comas y encerrados entre
parntesis. Los parmetros son opcionales, en caso de que no se especifiquen,
enseguida del nombre de la funcin se escribe un par de parntesis vacos. El prototipo
de la funcin va seguido de ;

2) DEFINICIN DE LA FUNCIN: La definicin de la funcin se hace despus de cerrar la llave de


main. Esta formado por las siguientes partes:

a) Encabezado de la funcin. Es igual al prototipo pero no termina con ;


b) Cuerpo de la funcin. Entre llaves se declaran las variables locales y luego se escriben las
instrucciones. El cuerpo de la funcin termina con la sentencia return() que marca el final de la
funcin. Slo se puede incluir una expresin (variable u operacin) en la sentencia return.

Ing. Alma Leticia Palacios Guerrero


E:\lety\Programacion estructurada\Funciones.doc
Funciones

3) LLAMADA A LA FUNCIN. Es la ejecucin de la Funcin. La funcin se realiza en el momento en


que desde el programa principal se hace referencia a su nombre.

#include<stdio.h>
#include<conio.h>

void cuadro (int,int,int,int,int); //Prototipo


int suma(int , int );

void main()
{ int x1,y1,x2,y2,a,b,c;
clrscr();
printf("Coordenadas de la esquina superior izquierda");
scanf("%d,%d",&y1,&x1);

printf("Coordenadas de la esquina inferior derecha");


scanf("%d,%d",&y2,&x2);
clrscr();
cuadro (y1,x1,y2,x2,RED); // Llamada a la funcion

gotoxy(20,10);printf("Primer Numero:");scanf("%d",&a);
gotoxy(20,11);printf("Segundo Numero:");scanf("%d",&b);
c=suma(a,b);
clrscr();
cuadro(15,8,35,12,MAGENTA);
gotoxy(20,10);printf("La suma es %d",c);
getch();
}

void cuadro(int coli, int reni, int colf, int renf,int color)
{ int i;

textcolor(color);
for (i=coli;i<=colf;i++)
{ gotoxy(i,reni); cprintf("%c",219);
gotoxy(i,renf); cprintf("%c",219);
}

for (i=reni;i<=renf;i++)
{ gotoxy(coli,i); cprintf("%c",219);
gotoxy(colf,i); cprintf("%c",219);
}
}

int suma(int n1, int n2)


{ int resp;
resp=n1+n2;
return(resp);
}

Ing. Alma Leticia Palacios Guerrero


E:\lety\Programacion estructurada\Funciones.doc

También podría gustarte