Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Objetivos
Solucionar problemas usando funciones y procedimientos
Codificar algoritmos que usan funciones y procedimientos
PROBLEMA 01
Calcular la suma de tres nmeros, cree un procedimiento para la lectura o ingreso de los nmeros
y otro procedimiento para que dibuje la lnea de separacin, de tal manera que la salida sea de la
siguiente manera:
-----------------------
INGRESE UN NUMERO: 23
INGRESE UN NUMERO: 21
INGRESE UN NUMERO: 10
-----------------------
EL TOTAL ES: 54
-----------------------
1. En una ventana nueva escriba la codificacin en C++del problema 01, use procedimientos.
Guia0601.cpp
#include <cstdlib>
#include <iostream>"
using namespace std;
voi dingresar(); Declaracin de los procedimientos
voi dlinea();
main()
{
int X,Y,Z,T;
linea();
ingresar();
cin>>X; Llamada o invocacin al procedimiento
ingresar();
cin>>Y;
ingresar();
cin>>Z;
T=X+Y+Z;
linea();
cout<<"EL TOTAL ES: "<<T<<"\n";
linea();
system("pause");
return 0;
}
void ingresar()
{
cout<< "INGRESA UN NUMERO ENTERO : "; Implementacin de los procedimientos
}
void linea()
{
int i;
for(i=1;i<=30;i++)
cout<<"-";
cout<<"\n";
}
Ing. Edwing A. Maquera Flores Pagina 1 de 7
Ing. Juan Carlos Clares Perca
Lenguajes de Programacin UNAM
=======================
INGRESE UN NUMERO: 23
INGRESE UN NUMERO: 21
INGRESE UN NUMERO: 10
=======================
EL TOTAL ES: 54
=======================
PROBLEMA 02
Visualice la tabla de multiplicar de un nmero dado, use un procedimiento que reciba dos
parmetros: el primer parmetro ser un nmero entero y el segundo indicara el nmero de
mltiplos que se debe visualizar.
2. Escriba el siguiente cdigo como solucin al problema 02, se usa un procedimiento con dos
parmetros, pero no se devuelve ningn valor.
Guia0602.cpp
/*Ejemplo de un procedimiento con parmetros y que no devuelve un
valor*/
#include <iostream>
#include <cstdlib>
using namespace std;
void tablamult(int, int);
main()
{
int n, m;
cout<<"Cual tabla desea?";
cin>>n;
cout<<"Cuantos multiplos desea?";
cin>>m;
tablamult(n,m);
system("pause");
} //fin de main()
b) Mejore el programa Guia0602.cpp de tal manera que si el usuario ingresa para la variable
m un nmero menor que 1 (m<1) el programa emita un mensaje de error, en caso contrario
visualice los resultados solicitados
PROBLEMA 03
Mediante el uso de funciones, calcule la suma de dos nmeros. Use dos parmetro y que la
funcin devuelva la suma de dichos nmeros ingresados.
3. Escriba el siguiente cdigo como solucin al problema 03, se usa una funcin que recibe dos
parmetros y devuelve la suma de los parmetros recibidos.
Guia0603.cpp
#include <cstdlib>
#include <iostream>
using namespace std;
int operacion(int,int);
main()
{
int X,Y,T;
cout<<"INGRESE UN NUMERO : "; cin>>X;
cout<<"INGRESE OTRO NUMERO : "; cin>>Y;
T=operacion(X,Y);
cout<<"LA SUMA DE LOS NUMEROS ES: "<<T<<endl;
system("pause");
return 0;
}
PROBLEMA 04
Mediante el uso de funciones calcule el mayor de dos nmeros. Use una funcin que reciba dos
parmetros y que la funcin devuelva el mayor de dichos parmetros.
PROBLEMA 05
Mediante funciones y procedimientos calcule el resultado de dos nmeros, de acuerdo al
operador ingresado ( + - * / ).
5. Como solucin al problema 05, escriba y analice el siguiente programa, este contiene la
funcin operacion() que recibe dos parametros y devuelven un valor, y la funcin titulo() sin
parmetros y que no devuelve un valor .
Guia0605.cpp
/*Ejemplo de una funcin con parmetros y que devuelve un
valor. La funcin calcula el resultado de la operacin suma,
resta, multiplicacin odivisin de dos nmeros*/
#include<cstdlib>
#include<iostream>
using namespace std;
void titulo(void);
int operacion(int A,int B,char Op);
main()
{
int X,Y;
charOp;
titulo();
cout<<"INGRESE UN NUMERO : "; cin>>X;
cout<<"INGRESE OTRO NUMERO : "; cin>>Y;
cout<<"INGRESE EL OPERADOR (+, -, *, /) : ";
cin>>Op;
cout<<"EL RESULTADO ES: "<<operacion(X,Y,Op)<<"\n";
system("pause");
return 0;
}
voidtitulo(void)
{
cout<<" CALCULO DE OPERACIONES \n";
cout<<" ====================== \n";
}
a) Ejecute el programa Guia0605.cpp con los valores 10 y 2 operador /, ahora pruebe con los
valores 10 y 0 operador /.
b) Mejore el programa Guia0605.cpp, de tal manera que no permita una divisin por cero y
adems agregue el operador %.
PROBLEMA 06
Escriba y analice el siguiente cdigo
Guia0606.cpp
//Ejemplo de funcin con parmetros y que devuelve un valor
//Diseo de un men y para cada opcin se utiliza una funcin
#include <cstdlib>
#include <iostream>
using namespace std;
voidtitulo(void);
intoperacion(intA,intB,char Op);
main()
{
intX,Y,Eleccion,k;
k=1;
titulo();
cout<<" 1. SUMAR DATOS \n";
cout<<" 2. RESTAR DATOS \n";
cout<<" 3. MULTIPLICAR DATOS \n";
cout<<" 4. DIVIDIR DATOS \n";
cout<<" 5. SALIR \n";
k=1;
while (k==1)
{
cout<<"\n INGRESE SU OPCION : "; cin>>Eleccion;
if (Eleccion>0 &&Eleccion<5)
{
cout<<" INGRESE UN NUMERO : "; cin>>X;
cout<<" INGRESE OTRO NUMERO : "; cin>>Y;
cout<<"\n";
switch(Eleccion)
{
case 1:
cout<<" LA SUMA DE LOS NUMERO ES: ";
cout<<operacion(X,Y,'+')<<"\n";
break;
case 2:
cout<<" LA RESTA DE LOS NUMEROS ES : ";
cout<<operacion(X,Y,'-')<<"\n";
break;
case 3:
cout<<" LA MULTIPLICACION DE LOS NUMEROS ES : ";
cout<<operacion(X,Y,'*')<<"\n";
break;
case 4:
cout<<" LA DIVISION DE LOS NUMEROS ES : ";
cout<<operacion(X,Y,'/')<<"\n";
break;
}
}
else {k=0;}
}
return 0;
}
EJERCICIOS PROPUESTOS
4. El algoritmo de codificacin del Cesar codifica un texto sustituyendo cada letra por la letra
tres posiciones a su derecha en el alfabeto. Realizar un programa que codifique un texto
terminado en el carcter . Mediante el algoritmo del Cesar. Este programa deber incluir
una funcin para codificar una letra y hacer uso de esta funcin para codificar el texto.
Ejercicio0604.c
pp
/*****************************************
*Autor:
*Fecha: version:
******************************************/
#include<iostream>
#include<cstdlib>
using namespace std;
charcodifica(char letra);
int main()
{
char l, c;
cout<<"Introduzca texto terminado en punto:";
cin>>l;
while (l!='.')
{
c=codifica(l);
cout<<c;
cin>>l;
}
cout<<endl;
system("pause");
return 0;
}
**********
Entonces con el procedimiento anterior dibujar el tringulo, que tomara el ancho 10:
*
**
***
****
*****
******
*******
********
*********
**********
"Estudia y practica! No para saber una cosa ms, sino para saberla
Estudia y practica! Nomejor."
para saber una cosa ms, sino para
saberla mejor.