Sei sulla pagina 1di 10

GUA DE PRCTICA 11

Seccin : ___________________________ Apellidos : ____________________________


Asignatura : Computacin Nombres : ____________________________
Docente : Fecha : __________ Duracin: 90 min.

Desarrolle los siguientes programas haciendo uso del software Dev-C++


Instrucciones:
y empleando funciones.

Objetivos: En esta prctica el objetivo principal es el de poner en prctica los


principios bsicos del uso de funciones en lenguaje C++.

Realice los programas en C++:

1 Realizar una funcin llamada par, que toma un nmero entero como parmetro,
y devuelve 1 si es par o devuelve 0 si es impar.
NOTA: Para saber si un nmero entero es par, al dividirlo entre 2 su resto debe ser
0.
#include <cstdlib>
#include <iostream>

using namespace std;

int par(int) ;
int main ()
{
int numero,resultado;
cout<<"Introduzca numero:/n";
cin>>numero;

resultado=par(numero); //1 o 0 lamado

if (resultado==1)
cout<<"Es par,par/n";
else cout<<"Es impar,n/";

system("PAUSE");
return 0;
}
/*Funcion par: Devuelve un valor indicando si un numero entero es par o no */

int par(int numero) //Definicion


{
if (numero%2==0)
return 1;
else
return 0;
}
2 Realizar una funcin llamada media2, que toma dos nmeros reales como
parmetros, y devuelve un nmero real que es la media de los dos nmeros
pasados como parmetros.
NOTA: Para calcular la media de dos nmeros, se suman, y ese resultado se divide
entre 2.
#include <cstdlib>
#include <iostream>

using namespace std;


float media2 (float n1, float n2) ;
int main ()
{
float n1, n2, resultado;
cout<<"Introduzca un numero real:\n"<<endl;
cin>>n1;
cout<<"Introduzca otro numero real:\n"<<endl;
cin>>n2;

resultado=media2(n1,n2); //llamado
cout<<"La media es: "<<resultado<<"\n"; //llamada a funcion

system("PAUSE");
return 0;
}

float media2 (float n1, float n2) //Definicion


{
float resultado;
resultado=(n1+n2)/2;
return resultado;
}
3 Realizar una funcin llamada media3, que toma tres nmeros reales como
parmetros, y no devuelve nada. Esa funcin debe calcular la media de los tres
nmeros pasados como parmetros y mostrar con un mensaje cul es la
media calculada.
NOTA: Para calcular la media de tres nmeros, se suman, y ese resultado se divide
entre 3.
#include <cstdlib>
#include <iostream>

using namespace std;


float media3(float n1, float n2, float n3);
int main()

{
float n1,n2,n3,resultado;
cout<<"introdusca un numero 1:\n";
cin>>n1;
cout<<"introdusca un numero 2:\n";
cin>>n2;
cout<<"introduzca un numero 3:\n";
cin>>n3;

resultado=media3(n1,n2,n3);

cout<<"la media es: "<<resultado<<"\n";

system("pause");
return 0;
}

float media3(float n1, float n2, float n3);


{
float resultado;
resultado=(n1+n2+n3)/3;
return resultado;
}
4 Realizar una funcin llamada negativo, que toma un nmero entero como
parmetro, la funcin imprime la respuesta si es negativo o si no lo es.
NOTA: Un nmero es negativo si es menor que 0.
#include <cstdlib>
#include <iostream>
#include<stdio.h>
int main()
{
float n1, n2, n3;
cout<<"Introduzca un nmero real:\n;
cin>>n1;
cout<<"Introduzca otro nmero real:\n);
cin>>n2;
cout<<"Introduzca otro nmero real:\n);
cin>>n3;
media3
(n1,n2,n3);
return(0);
}
// Funcin media3: Informa de la media de
void media3(float n1, float n2, float n3)
3 nmeros.
{
float resultado;
resultado=(n1+n2+n3)/3
5 Nota definitiva de Computacin. Utilizando la estructura if-else y aplicando
funciones desarrollar un programa que enve como parmetros 4 notas a una
funcin y esta muestre en pantalla un resultado de acuerdo al detalle.

Consolidado 1 20%
Examen Parcial 20%
Consolidado 2 20%
Examen final 40%
#include <iostream>
using namespace std;
float promedio(float n1,float n2,float n3,float n4);
int main()
{
float c1,c2,ep,ef,resultado;
cout<<"introduzca el primer consolidado:\n";
cin>>c1;
cout<<"introduzca el examen parcial:\n";
cin>>ep;
cout<<"introduzca el segundo consolidado:\n";
cin>>c2;
cout<<"introduzca el examen final:\n";
cin>>ef;
if(c1<0||c1>20||ep<0||ep>20||c2<0||c2>20||ef<0||ef>20)
cout<<"!!!ingreso notas incorrectas deven ser menores e iguales a 20!!!";
else
resultado=promedio(c1,ep,c2,ef);

if(resultado>=15&&resultado<20)
cout<<"con honores, nota= "<<resultado<<endl;
else
if(resultado>=10.5&&resultado<15)
cout<<"aprobo, nota= "<<resultado<<endl;
else
if(resultado>=0&&resultado<10.5)
cout<<"Quedo, nota= "<<resultado<<endl;
else
cout<<"no paso el curso";

system("PAUSE");
return 0;
}
float promedio(float n1,float n2,float n3,float n4)
{
float resultado;
resultado=(n1*0.2+n2*0.2+n3*0.2+n4*0.4);
return resultado;
}

Si promedio 15 Con Honores, nota = ?


10.5 <= promedio < 15 Aprob, nota =?
Promedio de nota < 10.5 Qued, nota =?
Nota: debe entrar nota por teclado, mostrar notas parciales, promedio y
como queda el estudiante

6 Utilizando la estructura switch y aplicando funciones desarrollar un programa que


permita determinar el salario neto de un empleado de una compaa con base
en el salario bsico, bonificacin, descuento y categora. Considere la siguiente
tabla:

categora bonificaci descuent


1 n 15% o 4%
2 13% 3%
3 12% 2%
4 9.5% 0%

Nota: debe entrar sueldo y categora por teclado y enviarlos como


parmetros.
#include <cstdlib>
#include <iostream>

using namespace std;


void salario(float basico,int cat);
int main()
{
float sueldo;
int categoria;

cout<<"ingrese sueldo basico: ";


cin>>sueldo;
cout<<"ingrese categoria (1-4): ";
cin>>categoria;

salario(sueldo, categoria) ;
return 0;
}
void salario(float basico, int cat)
{
float bono,descuento,neto;
switch(cat)
{
case 1:
bono=0.15*basico;
descuento=0.04*basico;
break;
case 2:
bono=0.13*basico;
descuento=0.03*basico;
break;
case 3:
bono=0.12*basico;
descuento=0.02*basico;
break;
case 4:
bono=0.95*basico;
descuento=0;
break;
}
neto=basico+bono-descuento;

cout<<"sueldo basico s/."<<basico;

cout<<"bonificacion s/."<<bono;
cout<<"descuento s/."<<descuento;
cout<<"sueldo neto s/."<<neto;
}
7.Utilizando la estructura while y aplicando funciones desarrollar un programa que
permita determinar la suma y el producto de los nmeros pares entre 20 y 40
inclusive.

#include <cstdlib>
#include <iostream>

using namespace std;


int sumpro();
int main()
{
sumpro();
return 0;
}

int sumpro()
{
int i=20,f=40,s=0,p=1;

while(i<=f)
{
if(i%2==0)
{
s+=i;
p*=i;
}
i++;
}
cout<<"la suma es:"<<s<<endl;
cout<<"el producto es:"<<p<<endl;

system("PAUSE");
return 0;
}

8.Utilizando la estructura while y aplicando funciones desarrollar un programa que


permita calcular la suma de los nmeros mltiplos de 5 comprendidos entre 1 y
N, donde N entra por teclado

9.Utilizando la estructura do while y aplicando funciones desarrollar un programa que


muestre por pantalla los nmeros pares del 1 al 100.

#include <iostream>
using namespace std;
int main()
{
unsigned short N;
cout<<"ingrese la cantidad de numero que se muestre del 1 al
100:"<<endl;
cin>>N;
for(int i=0; i<N*2; i+=2)
cout<<endl<<i<<endl;

system("pause");
return 0;
}

10.Utilizando la estructura do while y aplicando funciones desarrollar un programa que


permita hallar la suma total, suma de pares e impares entre 1 y n, donde n entra
por teclado.

#include <iostream>
using namespace std;
int main(){
int i,sump=0,sumi=0,n;
cout<<"ingrese un numero:"<<endl;
cin>>n;
cout<<"Pares"<<endl;
for(i=1;i<n;i++){
cout<<(2*i)<<" ";
sump=sump+(2*i);
}
cout<<endl<<"Impares"<<endl;
for(i=1;i<n;i++){
cout<<(2*i-1)<<" ";
sumi=sumi+(2*i-1);
}
cout<<endl<<"Suma Impares: "<<sumi<<endl;
cout<<" Suma Pares "<<sump<<endl;
system("pause");
return 0;
}

11.Utilizando la estructura for y aplicando funciones desarrollar un programa que


muestre por pantalla los primeros 30 nmeros naturales, pero a la inversa del 30 al 1

#include <cstdlib>
#include <iostream>

using namespace std;


int inversa();
int main()
{
inversa();
return 0;
}

int inversa()
{
int i;
for(i=30;i>=1;i--)
{
cout<<i<<"-";
}
system("PAUSE");
return 0;

}
16.Utilizando la estructura for
Realizar un programa que reciba un nmero entero y calcule:
La suma de los primeros 5 nmeros consecutivos
#include <iostream>
using namespace std;
int sumar (int x);

int main()
{
int n;
cout<<"ingrese el numero"<<endl;
cin>>n;

cout<<"La suma de los primeros 5 numeros consecutivos es


"<<sumar(n)<<endl;

return 0;
}
int sumar (int x)
{
int suma=0,a,i;

for(i=1;i<=5;i++)
{
a++;
suma=suma+a;
}
return suma;
}
La suma de los primeros 10 pares consecutivos
#include <iostream>
using namespace std;
int sumar (int x);

int main()
{
int n;
cout<<"ingrese el numero"<<endl;
cin>>n;

cout<<" La suma de los primeros 10 pares consecutivos es


"<<sumar(n)<<endl;

return 0;
}
int sumar (int x)
{
int suma=0,a,i;

for(i=1;i<=10;i++)
{
a++;
if(a%2==0)
suma=suma+a;
else
i--;
}
return suma;
}
La suma de los 15 impares consecutivos
#include <iostream>
using namespace std;
int sumar (int x);

int main()
{
int n;
cout<<"ingrese el numero"<<endl;
cin>>n;

cout<<"La suma de los 15 impares consecutivos es "<<sumar(n)<<endl;

return 0;
}
int sumar (int x)
{
int suma=0,a,i;

for(i=1;i<=15;i++)
{
a++;
if(a%2==0)
i--;
else
suma=suma+a;
}
return suma;
}