Curso Basico De Visual Studio
Enviado por wuendygil • 16 de Agosto de 2012 • 3.001 Palabras (13 Páginas) • 593 Visitas
Funciones en Dev-C++
¿Qué es una función? Una función es un conjunto de instrucciones que se la puede llamar desde el programa principal o desde otras funciones. Las funciones sirven para desarrollar algo en especial cuando el programa así lo necesite.
Para usar funciones, se deben tener en cuenta dos cosas que necesita:
1. La declaración de la función: Esto sirve para que al compilar el programa, el compilador reconozca que esa función existe; ya que si se llama desde alguna parte del programa sin haberla declarado o habiéndola declarado, se la declaró mal eso dará error.
Para declararla se sigue la siguiente sintaxis:
prototipo_de_funcion nombre_de_la_funcion ( parametros opcionales );
¿Qué es prototipo y qué son parámetros?
- Prototipo de la función: sirve para indicar que va a retornar la función, si va a retornar un entero, un double, un char, o simplemente no retorna nada (void). Esto es obligatorio.
- Parámetros: son los datos que recibe o que se le envían a la función para que con ellos posiblemente desarrolle algo que se necesite. Esto es opcional.
Entonces, una función para ingresar podría ser así:
void ingresar();
Donde se aprecia que no va a retornar nada (por ello tiene void); entonces, la función hace lo que tiene que hacer y termina, no devuelve nada.
Un ejemplo de devolución seria en una suma de enteros, ya que se le podría enviar como dato los dos números y la función haría internamente la suma devolviendo la suma de dichos números (si son todos enteros, devolvería un int. Si son enteros y flotantes devolvería un float ), así:
int suma_enteros ( int, int ); // suma únicamente enteros, devuelve un entero
float suma_numeros ( float, float ); // suma enteros o flotantes, devuelve un flotante
2. La definición de la función: Sirve ya para desarrollar la función; es decir ya programar dentro de ella para que haga lo que se necesita. Como consecuencia de que ya está creada se puede usarla, pero si no se hubiese declarado y se desarrolla (hacemos la definición), al compilar dará error y dirá que esa función no fue declarada, que no existe.
La definición es muy similar a la declaración, solo que esta vez lleva un ambiente (donde se va a programar, es decir las llaves “{ … }” ), así:
void ingresar()
{
……… // Lo que deba hacer esa funcion
}
También otra diferencia es que la declaración lleva “;” (punto y coma) al final, la definición no lo lleva.
Ejemplo: Hacer un programa que pida dos datos llamando a una función sin retorno y luego confirme si se ingresaron correctamente.
Solución: El programa debe usar una función sin retorno, es decir una void. Se deben pedir en esa función dos valores; en este caso se van a pedir dos cosas: nombre y número de la suerte; luego se mostrará el mensaje de que se ingresaron correctamente dichos datos.
#include <iostream.h>
#include <conio.h>
// se declara la función “ingresar”
void ingresar();
main()
{
cout<<“\n Ingrese los datos: \n”;
ingresar();
cout<<“\n Los datos se ingresaron correctamente! \n”;
getch();
}
//se define la función “ingresar”
void ingresar()
{
char nombre[10];
int numero;
cout<<“\n Ingrese su nombre: \n”;
cin>>nombre;
cout<<“\n Ingrese su numero de la suerte: \n”;
cin>>numero;
}
La declaración de una función debe estar siempre antes de la definición, por eso es recomendable que se la coloque al inicio del programa debajo de las librerías.
Ya que se creó una función llamada “ingresar” para pedir los datos por medio de ella y no por medio del cuerpo principal main(), se debe llamar o invocar para que ejecute lo que tiene programado en su interior ya que por sí sola (sin ser llamada), el programa terminaría y ella no realizaría alguna acción.
Para llamar o invocar una función lo único que se debe hacer es escribirla tal cual fue declarada sin alteraciones ya que las funciones son key sensitive, es decir que no es lo mismo:
void HOLA(); que void HoLa();
Pues aunque son la misma palabra pero escrita diferente, para el compilador son dos funciones diferentes.
Para llamar a la función se coloca tal como fue declarada seguida del punto y coma (no se le pone el prototipo), solo el nombre y los posibles parámetros que lleve.
FUNCIONES EN DEV-C++ (PASO POR VALOR)
Las funciones no solamente son llamadas para que realicen cierta necesidad, sino que en algunas ocasiones para que la función desarrolle dicha necesidad necesita que se le envíen parámetros.
Los parámetros que se le enviarán a la función para que ella pueda cumplir su papel correctamente, pueden ser enviados de dos maneras:
1) Pasar los parámetros por valor (paso por valor)
2) Pasar los parámetros por referencia (paso por referencia)
¿Qué es el paso por valor? Es enviarle un parámetro (variable, constante, entre otros) a otra función que para resolver su contenido necesita obligatoriamente recibir ese parámetro; es decir, la función depende de los parámetros para funcionar.
¿Al pasar por valor los parámetros qué se hace en sí? Se envía el contenido de algo (ya sea una variable, constante) para que la función de destino la use y pueda completar con éxito su objetivo. Pero se debe tener en cuenta que al pasar por valor; la variable original no se altera, se envía una “copia” de ella a la cual si se le aplican cambios serán alterados únicamente en ella, más no en la original.
¿Cómo se declara una función que reciba parámetros por valor? La sintaxis sería la siguiente:
prototipo_de_la_función nombre_de_la_función (tipo_de_dato del parámetro1, tipo_de_dato del parámetro2 , … );
Ejemplo: void suma (int, int);
Se declara una función “suma” que va a recibir dos parámetros que serán enteros porque el tipo de dato lo denota así. Aquellos parámetros son por valor, lo denotamos por el hecho que únicamente va el tipo de dato en los paréntesis.
El prototipo de la función “suma” es void, es decir que no va a retornar valores, será un procedimiento. Si retornara un entero sería int el prototipo, un número con decimales sería float el prototipo, entre otros.
...