Beruflich Dokumente
Kultur Dokumente
Funciones
FUNCIONES Contenido
Introduccin Funciones Predefinidas Funciones definidas por el usuario Declaracin y definicin de Funciones Lista de parmetros y sus tipos de datos Variables locales y globales Parmetros por defecto, valor Funciones que llaman a funciones Funciones recursivas
INTRODUCCION
Con la finalidad de facilitar la programacin de aplicaciones con un gran nmero de sentencias y/o Instrucciones, utilizaremos la programacin modular. Dicha programacin consiste en dividir un programa en unidades de menor tamao, donde cada fragmento realiza una tarea explcita y nica. Cada uno de esos fragmentos recibe el nombre de mdulo, en el lenguaje de programacin C++ los mdulos se llaman funciones. Dichos mdulos nos permite hacer pequeas porciones de cdigo reutilizable, que pueden ser llamados desde el programa principal sin necesidad de volver a repetirlos.
PROGRAMACION MODULAR
FUNCIONES
El funcionamiento del programa Modular, se basa en que el Programa Principal llama, a una funcin por su nombre, la funcin procesa sus instrucciones y luego devuelve al programa principal la tarea realizada por la funcin. nombre de la funcin (datos transmitidos a la funcin)
FUNCIONES
void main() {void Lectura (m); float prom(); void reporte() }
Programa Principal
llama
FUNCIONES
Funciones Predefinidas
El lenguaje de programacin borland C++ cuenta con bibliotecas de funciones predefinidas que podemos utilizar para la construccin de nuestros programas. La funcin sin se usa para determinar el seno de un nmero
valor1 = sin(3.14159);
valor2 = sin(x) - cos(y); valor3 = sin(theta)/(sin(delta) - sin(delta-theta));
Raz cuadrada de d Potencia de d1^d2 Valor absoluto de int Valor absoluto de long Valor absoluto de double Techo redondeado hacia arriba Techo redondeado hacia abajo
sin(d) acos(d) asin(d) atan(d) atan(d1,d2) atof(s) atoi(s) atol(s) getchar() putchar(c) tolower(c) toupper(c)
double double double double double double int long int int int int
devuelve el seno de d devuelve el arco coseno de d devuelve el arco seno de d devuelve la arco tangente de d devuelve la arco tangente de d1/d2 convierte la cadena s a una cantidad en doble precisin convierte la cadena s a un entero
convierte la cadena s a un entero largo
math.h math.h math.h math.h math.h stdlib.h stdlib.h stdlib.h stdio.h stdio.h ctype.h ctype.h
lee un carcter desde el dispositivo de entrada estndar escribe un carcter en el dispositivo de salida estndar convierte una letra a minscula convierte una letra a mayscula
1. DECLARACIONES DE LIBRERIA
#include <iostream.h>
2. DECLARACIONES DE PROTOTIPO DE FUNCIONES
Tipo_dato_devuelto Nombre_ funcin (lista de parmetros);
DECLARACIONES DE PROTOTIPO DE PROCEDIMIENTOS
{ }
6. PROGRAMA PRINCIPAL
Void main() { // llamadas a las funciones por su nombre }
*programa principal se define a continuacin de los prototipos de funciones.
Se declara una funcin para informar al compilador de los atributos de la funcin, que ser definida posteriormente en el programa.
Para definir una funcin debemos escribir el conjunto de instrucciones que define la funcin.
El cuerpo de la funcin
La instruccin return forma parte del cuerpo de la funcin y tiene una doble finalidad:
a)Devolver un valor
b)Provocar la salida inmediata de la funcin que la contiene, devolviendo el control de la ejecucin del programa a la lnea de cdigo que llamo a la funcin.
Las funciones devuelven tipos de datos simple: entero, real, carcter o lgico.
Tipos devueltos: float, int, double, char, etc.
Definicin de la funcin
Tipo_dato_devuelto Nombre_ funcin (lista de parmetro) { <instrucciones>; return; }
Definicin de la funcin
Tipo_dato_devuelto Nombre_ funcin ( ) { <instrucciones>; return; }
Problema 1:
Disear un programa que contenga dos funciones:
Resta (param1,param2) : permite calcular la resta de 2 nmeros
enteros
#include <iostream.h> #include <conio.h> void resta (int, int); int multiplica (int, int); // Prototipo de funciones int num1, num2, resultado; void resta ( int a, int b) { int restan; // variable local restan = a-b; gotoxy(3,7); cout<<"La resta de "<<a<<"-"<<b<< es ="<<restan<<endl;} int multiplica (int a, int b) { int producto; // variable local producto = a*b; return producto; } void main() // Funcion principal { gotoxy(3,2); cout<< "Ingresa dos numeros:" <<endl; gotoxy(3,4); cout<< "Ingrese numero 1 ="; cin>>num1; gotoxy(3,5); cout<< "Ingrese numero 2 ="; cin>>num2; resta (num1, num2); // Llama a la Funcion resta resultado = multiplica (num1,num2); gotoxy(3,9);// Llama a la Funcion resultado cout<<"El producto de "<<num1<< * "<<num2<< es ="<<resultado<<endl; getch();}
#include <iostream.h> #include <conio.h> void sumar (int*dato) { *dato= *dato + 1; return;}
void main (void) {int valor_inicial; gotoxy (3,3); cout<<Favor Ingrese un nmero: ; cin>>valor_inicial; sumar(&valor_inicial); gotoxy(4,5); cout<<Nuevo Valor<<valor_inicial; getch(); }
FUNCIONES
Paso de parmetros por defecto:
Las funciones en C++ pueden establecer valores por omisin o ausencia (por defecto) para los parmetros.
Se pueden asignar argumentos por defecto a los parmetros de una funcin. Cuando se omite el argumento de un parmetro que es un argumento por defecto, se utiliza automticamente este. Si se pasan valores a los argumentos omitidos, se utiliza ese valor; si no se pasa un valor a un parmetro opcional, se utiliza el valor por defecto como argumento. El valor por defecto debe ser una expresin constante.
FUNCIONES
Paso de parmetros por defecto:
void muestra(int fila, int columna, int numero, char c = *); muestra (4,0,40) bien muestra (4,0,40, # )
* el argumento explcito (# anula el carcter por omisin)
funcion1(12, 10); // el valor para "c" es 1 funcion1(12); // los valores para "b" y "c" son 0 y 1 funcion1(); // el valor para "a" es obligatorio
#include <iostream.h> #include <conio.h> void leer(); float sumatoria (); void imprimir(); int n; void leer ( ) gotoxy(2,3); cout<<Ingrese numero de terminos de la serie: ; cin>>n;} float sumatoria ( ) { int i =1; // variable local float s = 0; do { s = S + float (i)/(i+1); i++;} while (i<=n); return (s);} void imprimir ( ) {gotoxy(2,5);cout<<La suma es "<<sumatoria()<<endl;} void main() // Funcion principal { leer ( ); // Llama a la Funcion leer sumatoria ( ); // Llama a la Funcion sumatoria imprimir ( ); //Llama a la funcion imprimir getch();}
Un identificador es global, cuando estn definidos fuera del cuerpo de cualquier funcin y se declara al principio del programa. Generalmente pueden estar referidas por cualquier funcin en el programa.
Las variables locales que tienen el mismo nombre que las variables globales no cambian el valor de las variables globales. Las variables globales, se inicializan automticamente en 0 (cero), las locales no.
*Evitar el uso de variables globales y locales similares.
FUNCIONES Recursividad
Una funcin es recursiva cuando se llama as misma directamente o indirectamente.
La Recursividad directa es el proceso por el cual una funcin se llama as misma desde su propio cuerpo.
La Recursividad indirecta implica ms de una funcin. Se define un programa en trminos recursivos, como una serie de pasos bsicos finito.
FUNCIONES
Recursividad
Durante el proceso de compilacin, es importante resaltar en la recursividad que cuando una funcin se llama as misma, una nueva copia de sta funcin es la que se ejecuta.
Un proceso de recursividad debe tener una condicin para terminar de ejecutar su proceso para generar resultados, de lo contrario nunca terminara produciendo un bucle indefinido.
FUNCIONES
Problema 4:
Disear un programa que permita ingresar la cantidad de nmeros enteros y luego para cada nmero ingresado, mostrar su cantidad de dgitos.