Funciones

Anuncio
Funciones
Introducción
Cuando un programa comienza a ser largo y complejo no es apropiado tener todas las instrucciones en
un solo bloque, ya que no es fácil entender lo que hace el programa debido a que se intenta abarcar toda
la solución a la vez. Además suelen aparecer secciones de código similares entre sí a lo largo de todo el
programa lo que hace que el programa se vuelva aún más difícil de entender y modificar.
Los lenguajes de alto nivel proporcionan herramientas para solucionar estos problemas permiten
estructurar el programa principal compuesto de subprogramas (funciónes 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
estructuración que permiten ocultar los detalles de la solución de un problema y resolver una parte de
dicho problema en otro lugar del código.
El lenguaje C utiliza bibliotecas de funciones con el fin de realizar un algunas operaciones cálculos de uso
común. C además permite que el programador defina sus propias funciónes para determinadas tareas.
Función: es un bloque de instrucciones que realiza tareas bien definidas. Todo programa en C consta de
una o más funciónes. La ejecución de un programa en C siempre comienza por la función. Cuando se
ejecuta una función el control pasa al punto donde esta inicia. Una vez finalizada su ejecución, se devuelve
el control al punto desde el que se hizo la llamada a la función.
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 función que NO devuelve valores.
Partes de una Función
1. Prototipo de la función
2. Definición de la función
3. Llamada a la función
1) PROTOTIPO DE UNA FUNCIÓN. tiene la sintaxis:
tipo nombre(parámetro 1, parámetro 2, ...parámetro N );
donde :
tipo: es el tipo de valor devuelto por la función. Los procedimientos son tipo void.
nombre: es el nombre de la función
parámetros: conjunto de argumentos, separados por comas y encerrados entre
paréntesis. Los parámetros son opcionales, en caso de que no se especifiquen,
enseguida del nombre de la función se escribe un par de paréntesis vacíos. El prototipo
de la función va seguido de ;
2) DEFINICIÓN DE LA FUNCIÓN: La definición de la función se hace después de cerrar la llave de
main. Esta formado por las siguientes partes:
a) Encabezado de la función. Es igual al prototipo pero no termina con ;
b) Cuerpo de la función. Entre llaves se declaran las variables locales y luego se escriben las
instrucciones. El cuerpo de la función termina con la sentencia return() que marca el final de la
función. Sólo se puede incluir una expresión (variable u operación) en la sentencia return.
Ing. Alma Leticia Palacios Guerrero
E:\lety\Programacion estructurada\Funciones.doc
Funciones
3) LLAMADA A LA FUNCIÓN. Es la ejecución de la Función. La función 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);
int suma(int , int );
//Prototipo
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
Descargar