Está en la página 1de 9

Gua de Laboratorio 17

Fundamentos de la Computacin

GUIA DE LABORATORIO 17: FUNCIONES


1. INTRODUCCION:
Utilizaremos el lenguaje de programacin C++ con el objetivo de
comprobar el funcionamiento de los arreglos unidimensionales y
bidimensionales. Adems se desarrollar ejercicios adicionales de
laboratorio para afianzar los conceptos. Para ello en primer lugar
se requiere que en el estudiante haya comprendido la lgica de
funcionamiento de los arreglos as como la manera de recorrerlos
utilizando los bucles. Siendo siempre un requisito comprobar el
buen desarrollo del algoritmo, con las condiciones de entrada y los
valores de salida requeridos por el problema.
2. OBJETIVOS:

Conocer y utilizar las funciones, implementado para ello los


algoritmos que demuestran su uso en pseudocdigo y lenguaje C+
+.
Conocer los mecanismos para su implementacin, ya sea como
funciones o como procedimiento en C++.

3. EQUIPOS Y MATERIALES:

Computadora personal.
Programa Borland/Turbo c++.
Notas de los ejercicios resueltos en la clase.

4. METODOLOGIA Y ACTIVIDADES

Encender el computador.
Crear carpeta donde guardar sus programas (proyectos,
paquetes, libreras, etc.).
Ejecutar el aplicativo Borland c++.
Codificar los algoritmos desarrollados en el aula.
Presentar avances y ejecucin de cada uno de los ejercicios
al docente de prctica encargado para la calificacin
correspondiente.
Guardar la carpeta de sus archivos a sus memorias flash
(USB).
Apagar el computador y dejarla en buen estado.
Retirarse del laboratorio y dejar todo en orden.

5. OBSERVACION
Antes de comenzar a utilizar la herramienta de desarrollo, se
sugiere al estudiante crear una carpeta con el nombre del
laboratorio (Laboratorio16), donde pueda guardar los ejercicios
que se desarrollaran en clase, de la siguiente manera.
Ingrese al Explorador del Windows.
Escuela de Formacin Profesional de Sistemas y
Computacin

Lisbeth
Negrete C.

-1-

Gua de Laboratorio 17

Fundamentos de la Computacin

En la unidad de disco (D:) es donde se crear la carpeta


sugerida.
Cierre la ventana del Explorador del Windows.

6. BIBLIOGRAFIA:
Gua del Lenguaje C, James R. Groff, Paul N. Weinberg
McGRAW-HILL, 1998
7. PROCEDIMIENTOS:

FUNCIONES Y PROCEDIMIENTOS EN C++


Hace muchos aos, el emperador Julio Csar, dijo "divide et vinces"
(divide y vencers) al referirse a su estrategia militar para aduearse de
un territorio. Poco se sospechaba que, en plena era de la informtica,
iba a ser una frase que inspirara a programadores por doquier. Cuando
los programadores nos enfrentamos a un problemn, es mejor dividirlo
en problemas ms pequeos ms sencillos de resolver. Ms fcil. Y algo
que facilita la destrozadera de problemotas en problemitas son las
funciones y procedimientos.
Las funciones y procedimientos son pedazos de cdigo que se pueden
ejecutar dentro de un programa. Son muy tiles para ahorrarte escribir
cdigo que se repite mucho y para dividir un programa en problemas
ms sencillos.

DEFINIENDO UNA FUNCIN


Una funcin es un conjunto de lneas de cdigo que realizan una tarea
especfica y puede retornar un valor. Las funciones pueden tomar
parmetros que modifiquen su funcionamiento. Las funciones son
utilizadas para descomponer grandes problemas en tareas simples y
para implementar operaciones que son comnmente utilizadas durante
un programa y de esta manera reducir la cantidad de cdigo. Cuando
una funcin es invocada se le pasa el control a la misma, una vez que
esta finaliz con su tarea el control es devuelto al punto desde el cual la
funcin fue llamada.

Escuela de Formacin Profesional de Sistemas y


Computacin

Lisbeth
Negrete C.

-2-

Gua de Laboratorio 17

Fundamentos de la Computacin

Escuela de Formacin Profesional de Sistemas y


Computacin

Lisbeth
Negrete C.

-3-

Gua de Laboratorio 17

Fundamentos de la Computacin

SINTAXIS
<tipo> <nombre> ( [Parmetros] )
{
cuerpo;
}

Ejemplo de una funcin


Para comenzar, vamos a considerar el caso en el cual se desea crear la
funcin cuadrado(), misma que deber volver el cuadrado de un nmero
real (de punto flotante), es decir, cuadrado() aceptar nmeros de punto
flotante y regresar una respuesta como nmero flotante.
Nota: aunque para la funcin que veremos el tipo de retorno coincide con el
tipo de parmetro pasado, algunas veces las cosas pueden cambiar, es
decir, no es obligatorio que una funcin reciba un parmetro de un tipo y
que tenga que regresar una respuesta de dicho tipo.

// regresar el cuadrado de un nmero


double cuadrado(double n)
{
return n*n;
}

Escuela de Formacin Profesional de Sistemas y


Computacin

Lisbeth
Negrete C.

-4-

Gua de Laboratorio 17

Fundamentos de la Computacin

Fjese que se repite en el siguiente cdigo:


# include <iostream.h>
# include <stdio.h>
void main()
{
int a,b,c;
cout<<Programa que ejemplifica el uso de funciones en c<<endl<<endl;
cout<<Escriba un valor para A:;
cin>>a;
cout<<Escriba un valor para B:;
cin>>b;
c=a+b;
cout<<****Valores de A,B y C***<<endl<<A=<<a;
cout<<endl<<B=<<b<<endl<<C=<<c<<endl<<endl;
c=a-b;
cout<<****Valores de A,B y C***<<endl<<A=<<a;
cout<<endl<<B=<<b<<endl<<C=<<c<<endl<<endl;
c=a*b;
cout<<****Valores de A,B y C***<<endl<<A=<<a;
cout<<endl<<B=<<b<<endl<<C=<<c<<endl<<endl;
c=a/b;
cout<<****Valores de A,B y C***<<endl<<A=<<a;
cout<<endl<<B=<<b<<endl<<C=<<c<<endl<<endl;
getchar();
}

Escuela de Formacin Profesional de Sistemas y


Computacin

Lisbeth
Negrete C.

-5-

Gua de Laboratorio 17

Fundamentos de la Computacin

# include <iostream.h>
# include <stdio.h>
void imprime ABC()
{
cout<<****Valores de A,B y C***<<endl<<A=<<a;
cout<<endl<<B=<<b<<endl<<C=<<c<<endl<<endl;
}
void main()
{
int a,b,c;
cout<<Programa que ejemplifica el uso de funciones en c<<endl<<endl;
cout<<Escriba un valor para A:;
cin>>a;
cout<<Escriba un valor para B:;
cin>>b;
c=a+b;
imprimeABC();
c=a-b;
imprimeABC();
c=a*b;
imprime ABC();
c=a/b;
imprime ABC();
}

Escuela de Formacin Profesional de Sistemas y


Computacin

Lisbeth
Negrete C.

-6-

Gua de Laboratorio 17

Fundamentos de la Computacin

PARMETROS
Normalmente, las funciones operan sobre ciertos valores pasados
a las mismas ya sea como constantes literales o como variables,
aunque se pueden definir funciones que no reciban parmetros.
Existen dos formas en C++ de pasar parmetros a una funcin;
por referencia o por valor. El hecho es que si en una declaracin
de funcin se declaran parmetros por referencia, a los mismos no
se les podr pasar valores literales ya que las referencias apuntan
a objetos (variables o funciones) residentes en la memoria; por
otro lado, si un parmetro es declarado para ser pasado por valor,
el mismo puede pasarse como una constante literal o como una
variable. Los parmetros pasados por referencia pueden ser
alterados por la funcin que los reciba, mientras que los
parametros pasados por valor o copa no pueden ser alterados por
la funcin que los recibe, es decir, la funcin puede manipular a su
antojo al parmetro, pero ningn cambio hecho sobre este se
reflejar en el parmetro original.

En el ejemplo anterior qu sucede cuando yo quiero que las variables


pertenezcan a una funcin en particular?
Si yo pusiera otro valor dentro de la funcin imprimeABC por ejemplo a=9 me
altera el resultado
Para hacer los programas ms modulares ms independientes para eso voy
utilizar los parmetros
# include <iostream.h>
# include <stdio.h>
void imprime ABC(int x, int y, int z)
{
cout<<****Valores de A,B y C***<<endl<<A=<<a;
cout<<endl<<B=<<b<<endl<<C=<<c<<endl<<endl;
}
void main()
Escuela de Formacin Profesional de Sistemas y
Computacin

Lisbeth
Negrete C.

-7-

Gua de Laboratorio 17

Fundamentos de la Computacin

{
int a,b,c;
cout<<Programa que ejemplifica el uso de funciones en c<<endl<<endl;
cout<<Escriba un valor para A:;
cin>>a;
cout<<Escriba un valor para B:;
cin>>b;
c=a+b;
imprimeABC(a,b,c);
c=a-b;
imprimeABC(a,b,c);
c=a*b;
imprime ABC(a,b,c);
c=a/b;
imprime ABC(a,b,c);
}

Otro ejemplo en caso cuando la funcin devuelve un


valor
# include <iostream.h>
# include <stdio.h>
Int mayor(int uno, int dos)
{
Int res;
If (uno>dos)
res=uno;
else
res=dos;
return res;
}
void main() {
int num1,num2,res;
cout<<Ejemplo de funcin que devuelve valor<<endl<<endl;
cout<<Escribe un valor:;
Escuela de Formacin Profesional de Sistemas y
Computacin

Lisbeth
Negrete C.

-8-

Gua de Laboratorio 17

Fundamentos de la Computacin

cin>>num1;
cout<<Escribe un valor:;
cin>>num2;
res=mayor(num1,num2);
cout<<El valor mayor es:<<res<<endl;
getchar();
}

Funcin que regresa el producto de dos argumentos


#include <stdio.h>
#include <conio.h>
int a,b,c;
int producto(int a, int b);
main(){
//Pedir un numero
clrscr();
printf("Escriba un numero entre 1 y 100: ");
scanf("%d", &a); //Calcular el segundo numero
printf("Escriba otro numero entre 1 y 100: ");
scanf("%d", &b);
//Calcular y despliega el producto
c=producto(a,b); printf("n %d multiplicado por % d = %d",a,b,c);
getch();
return 0;
}
/*Funcion que regresa el productode dos argumentos*/
int producto(int a, int b)
{
return(a*b);
}

Escuela de Formacin Profesional de Sistemas y


Computacin

Lisbeth
Negrete C.

-9-

También podría gustarte