Está en la página 1de 18

1

GUIA 02
Ejercicios Resueltos 1. Desarrollar un Algoritmo que permita calcular el rea de un crculo, ingrese su radio y visualizar el rea #include<iostream.h> #include<math.h> void main(){ int radio; double area; cout<<"Ingrese el radio: "; cin>>radio; area=M_PI*radio*radio; cout<<"El area del circulo es "<<area; } 2. Desarrolle un Algoritmo para SEDAPAL, que permita el ingreso de los siguientes datos: nmero de contrato y la cantidad de metros cbicos consumidos. Calcule y visualice los siguientes pagos: Importe: que representa el precio por cada metro cbico por los metros cbicos consumidos Relleno Sanitario: representa 1.4% del Importe Mantenimiento General: representa 2.1% del Importe IGV: representa el 19% de la Suma de Importe, Relleno y Mantenimiento Pago Total: representa la Suma del los pagos #include<iostream.h> #include<conio.h> const float precio=0.45; void main(){ char contrato[15]; float mc,importe,relleno,mantgral,igv,ptotal; clrscr(); cout<<"Ingrese el Contrato"; cin>>contrato; cout<<"Ingrese el Consumo de Agua:"; cin>>mc; importe=precio*mc; mantgral=importe*0.028; relleno=importe*0.014; igv=0.19*(importe+mantgral+relleno); ptotal=importe+mantgral+relleno+igv; clrscr(); cout<<"Contrato :"<<contrato<<endl; cout<<"Importe :"<<importe<<endl; cout<<"Mantenimiento:"<<mantgral<<endl; cout<<"Relleno :"<<relleno<<endl; cout<<"Igv :"<<igv<<endl; cout<<"Pago Total :"<<ptotal<<endl; } -1-

2 3. Desarrollar un Algoritmo donde ingrese un nmero de dos dgitos, visualice la suma de sus dgitos #include<iostream.h> void main(){ int numero,unidad,decena; cout<<"Ingrese el numero: "; cin>>numero; unidad=numero%10; decena=int(numero/10); cout<<"La suma es: "<<(unidad+decena); } 4. Ingrese por Teclado el nombre de un Trabajador y su sueldo bsico, calcule y visualice: Bonificacin : 5% del sueldo bsico Descuento : 2% del sueldo bsico Sueldo Neto : Sumar el sueldo bsico y la Bonificacin y restarlo con el descuento #include<iostream.h> #include<conio.h> void main(){ char ntrab[45]; float sueldo,bonif,dscto,neto; cout<<"Ingrese el Nombre del Trabajador:"; cin>>ntrab; cout<<"Ingrese el Sueldo Basico:"; cin>>sueldo; bonif=0.05*sueldo; dscto=0.02*sueldo; neto=sueldo+bonif-dscto; clrscr(); cout<<"Trabajador :"<<ntrab<<endl; cout<<"Sueldo :"<<sueldo<<endl; cout<<"Bonificacion :"<<bonif<<endl; cout<<"Descuento :"<<bonif<<endl; cout<<"Sueldo Neto :"<<neto<<endl; } 5. Ingrese por Teclado el sueldo de un Trabajador, asumiendo que ste es un valor entero, visualizar la mejor distribucin de billetes y monedas que se utilizaran para pagar el sueldo: Considere billetes de 100, 50, 20, 10. Monedas de 5, 2 y 1 #include<iostream.h> #include<conio.h> void main(){ int sueldo,d100=0,d50=0,d20=0,d10=0,d5=0,d2=0,d1=0; clrscr(); cout<<"Ingrese el Sueldo:"; cin>>sueldo; //Cuantos billetes de 100 recibir d100=int(sueldo/100); sueldo - =100*d100; -2-

3 //Cuantos billetes de 50 recibir d50=int(sueldo/50); sueldo - =50*d50; //Cuantos billetes de 20 recibir d20=int(sueldo/20); sueldo - =20*d20; //Cuantos billetes de 10 recibir d10=int(sueldo/10); sueldo - =10*d10; //Cuantas monedas de 5 recibir d5=int(sueldo/5); sueldo - =5*d5; //Cuantos monedas de 2 recibir d2=int(sueldo/2); sueldo - =2*d2; //Cuantos billetes de 50 recibir d1=sueldo; cout<<"Billetes de 100:"<<d100<<endl; cout<<"Billetes de 50:"<<d50<<endl; cout<<"Billetes de 20:"<<d20<<endl; cout<<"Billetes de 10:"<<d10<<endl; cout<<"Monedas de 5:"<<d5<<endl; cout<<"Monedas de 2:"<<d2<<endl; cout<<"Monedas de 1:"<<d1<<endl; } Laboratorio N 2 Ejercicios Resueltos 1. Desarrollar un Algoritmo donde ingrese dos nmeros visualizar el mayor numero #include<iostream.h> void main(){ int n1,n2; cout<<"Ingrese el Primer Numero"; cin>>n1; cout<<"Ingrese el Segundo Numero"; cin>>n2; if (n1= =n2) cout<<"El mayor es"<<n1; else cout<<"El mayor es"<<n2; } 2. Desarrollar un Algoritmo que permita calcular la remuneracin del empleado. Ingrese el bsico, nmero de hijos y cargo; si su cargo es obrero[O] recibir 100 por Bonificacin, si su cargo es empleado[E] recibir una Bonificacin de 120. Si tiene hijos recibir por cada uno 41 soles por concepto de Asignacin. El total ser la suma del bsico, bonificacin y Asignacin #include<iostream.h> -3Estructuras Condicionales y Selectivas

4 void main(){ float basico, bonificacion, asignacion; int nhijos; char cargo; cout<<"Ingrese el Basico,Hijos,Cargo"<<"\n"; cin>>basico; cin>>nhijos; cin>>cargo; if (cargo= ='E') bonificacion=120; else if (cargo= ='O') bonificacion=100; else bonificacion=0; if (nhijos>0) asignacion=nhijos*41; else asignacion=0; cout<<"Total a Recibir: "<<(basico+bonificacion+asignacion); }

3. Desarrollar un Algoritmo que permita calcular la comisin total que recibe un vendedor donde ingrese el monto de ventas, si el monto es menor a 10000 recibir solamente 5% de su ventas por comisin; si sus ventas se encuentran entre 10000 a 50000 su comisin ser de 7.5% de las ventas y 200 por bonificacin, pero si sus ventas es mayor a 50000 su comisin ser de 9% de sus ventas y su bonificacin es 300.Visualizar el total #include<iostream.h> void main(){ float ventas, bonificacion=0, comision=0, total=0; cout<<"Ingrese en Monto de las Ventas:"; cin>>ventas; if (ventas<10000) comision=ventas*0.05; else if ((ventas>=10000) && (ventas<=50000)){ comision=ventas*0.075; bonificacion=200; } else if (ventas>50000){ comision=ventas*0.09; bonificacion=300; } total=ventas+bonificacion+comision; cout<<"Total a Recibir: "<<total; } 4 Desarrollar un Algoritmo que permita ingresar un nmero de 1 digito, visualizarlo en letras -4-

5 #include<iostream.h> void main(){ int digito; cout<<"ingrese un digito"; cin>>digito; switch(digito){ case 1: cout<<"Uno"; break; case 2: cout<<"Dos"; break; case 3: cout<<"Tres"; break; case 4: cout<<"Cuatro"; break; case 5: cout<<"Cinco"; break; case 6: cout<<"Seis"; break; case 7: cout<<"Siete"; break; case 8: cout<<"Ocho"; break; case 9: cout<<"Nueve; break; default: cout<<"2 digitos"; break; } } 5. Ingrese por Teclado el Nombre del Obrero, las horas trabajadas y el Tipo de Actividad (Pintado, Laqueado, Barnizado), por cada hora trabajada se le pagara: a) Si el Servicio es Pintado se le pagara s/. 10 a) Si el Servicio es Laqueado se le pagara s/. 12 a) Si el Servicio es Barnizado se le pagara s/. 14 Por cada hora extra se le pagara 30% mas sobre el pago por hora trabajada, sabiendo que semanalmente trabaja 40 horas. Calcule y visualice El Jornal Semanal que recibir el Obrero, el Jornal Extra y el Total del Jornal. #include<iostream.h> #include<string.h> #include<conio.h> void main(){ char nombre[40]; char actividad[20]; int ht,he,ph,jornal; clrscr(); cout<<"Ingrese el Nombre del Obrero:"; cin>>nombre; cout<<"Ingrese la Actividad:"; cin>>actividad; cout<<"Ingrese las horas trabajadas:"; cin>>ht; //calculo del pago por la actividad if(strcmp(actividad,"pintado")= =0) ph=10; else if(strcmp(actividad,"laqueado")= =0) ph=12; else if(strcmp(actividad,"barnizado")= =0) ph=14; else return; -5-

6 //calculo del jormal if(ht<=40) jornal=ph*ht; else{ he=ht-40; jornal=(ph*40) + (ph*1.30*he); } cout<<"El Jornal Semanal es:"<<jornal; } Ejercicios Propuestos Laboratorio N 3 Ejercicios Resueltos 1. Desarrollar un Programa donde Visualice los 80 primeros nmeros naturales #nclude<iostream.h> #include<conio.h> void main(){ clrscr(); int n=1; while(n<=80){ cout<<"numero: "<<n<<endl; n++; } getch(); } 2. Genere y Visualice los 70 primeros impares positivos, al final visualice la suma #include<iostream.h> #include<conio.h> void main(){ int nimpar=1,suma=0; for(int i=1;i<=70;i++){ nimpar=2*i-1; cout<<"numero: "<<nimpar<<endl; suma+=nimpar; } cout<<"suma de los impares: "<<suma<<"endl; getch(); } 3. Desarrolle un Programa donde digite 10 nmeros de dos dgitos visualizar la suma de los nmeros ingresados #include<iostream.h> #include<conio.h> void main(){ clrscr(); -6Estructuras Repetitivas

7 int numero,suma=0,i=1; while(i<=10){ cout<<"ingreso numero: "; cin>>numero; if((numero>=10)&&(numero<=99)) suma+=numero; i++; } cout<<"suma de nros de 2 digitos es: "<<suma<<endl; getch(); } 4. Desarrollar un Algoritmo donde permita ingresar Nmeros, luego visualizar un Mensaje si desea continuar ingresar Nmeros, al finalizar visualizar la Suma de los Nmeros Ingresados #include<iostream.h> #include<conio.h> void main(){ char op; int numero,suma=0; do{ clrscr(); cout<<"Ingrese el numero"; cin>>numero; suma+=numero; cout<<"Desea ingresar otro numero [s/n]"; cin>>op; }while(op!='n'); cout<<"La suma es: "<<suma; getch(); } 5. Ingrese por teclado un nmero de 3 cifras calcule y visualice, la cantidad de dgitos pares e impares que tiene el numero #include<iostream.h> #include<conio.h> void main(){ int numero,par=0,impar=0,digito; do{ clrscr(); cout<<"Ingrese un Numero de 3 cifras:"; cin>>numero; }while((numero<100)||(numero>999)); while(numero>0){ digito=numero%10; if((digito%2)= =0) par++; else impar++; numero=int(numero/10); } -7-

8 cout<<"Cantidad de digitos pares:"<<par<<endl; cout<<"Cantidad de digitos impares:"<<impar<<endl; }

Gua de Laboratorio N 02
Laboratorio Funciones y Procedimientos. Ejercicios Resueltos 1. Desarrollar un Programa donde ingrese dos nmeros, calcule y visualice la Suma. #include<iostream.h> void suma(int,int); /*prototipo*/ int a,b; /*variables globales*/ void main(){ cout<<"Ingrese dos numeros"; cin>>a; cin>>b; suma(a,b); } void suma(int x,int y){ cout<<x+y; } 2. Desarrollar un Programa que permita calcular el promedio de 3 notas ingresadas, si el promedio de las 3 notas es menor a 10.5 deber ingresar la nota sustitutorio donde reemplaza la nota ms baja de las 3 y se calcula el nuevo promedio #include<iostream.h> float promedio(int, int, int); void main(){ int n1,n2,n3; float prom=0; cout<<"Ingrese la Nota 1:"; cin>>n1; cout<<"Ingrese la Nota 2:"; cin>>n2; cout<<"Ingrese la Nota 3:"; cin>>n3; prom=promedio(n1,n2,n3); cout<<prom; } float promedio(int x,int y,int z){ float p=(x+y+z)/3; if(p<10.5){ int susti; cout<<"Ingrese el Sustitutorio"; cin>>susti; if((x<y)&&(x<z)) x=susti; else if((y<x)&&(y<z)) y=susti; else if((z<x)&&(z<y)) z=susti; -8-

9 p=(x+y+z)/3; } return p; } 3. Desarrollar un Programa que permita calcular las 4 operaciones bsicas a travs de 2 nmeros ingresados, utilice un men de opciones #include<iostream.h> #include<conio.h> void suma(int,int); void diferencia(int,int); void promedio(int,int); void division(int,int); void menu(); void main(){ int n1,n2,op=0; cout<<"Ingrese el primer numero"; cin>>n1; cout<<"Ingrese el segundo numero"; cin>>n2; do{ menu(); cin>>op; switch(op){ case 1: suma(n1,n2);break; case 2: diferencia(n1,n2);break; case 3: promedio(n1,n2);break; case 4: division(n1,n2);break; } }while(op!=5); } void menu(){ clrscr(); cout<<"MENU DE OPCIONES"<<endl; cout<<"[1]Suma"<<endl"; cout<<"[2]Diferencia"<<endl; cout<<"[3]Promedio"<<endl; cout<<"[4]Division"<<endl; cout<<"[5]Salir"<<endl; cout<<"Ingrese una opcion"; } void suma(int x, int y){ clrscr(); cout<<"La suma es:"<<(x+y); getch(); } void diferencia(int x, int y){ clrscr(); cout<<"La diferencia es:"<<(x-y); getch(); } void promedio(int x, int y){ clrscr(); cout<<"El promedio es:"<<((x+y)/2); getch(); } void division(int x, int y){ -9-

10 clrscr(); cout<<"La division es:"<<(x/y); } 4. Desarrollar un Programa donde ingrese un nmero mayor a cero, calcule y visualice el inverso del nmero ingresado, utilice una funcin con parmetro por referencia. #include<iostream.h> int inverso(int *); /*prototipo*/ void main(){ int n; cout<<"Ingrese el numero:"; cin>>n; cout<<"El numero inverso es:"<<inverso(&n); /*llamar funcion*/ } int inverso(int *x){ int ninv=0; while(*x>0){ ninv=ninv*10 + (*x%10); *x/=10; } return(ninv); } 5. Ingrese por Teclado las tres notas de un alumno, visualice su promedio y su mensaje: 0 a 05 Repitente 06 a 10 Reprobado 11 a 14 Aprobado 15 a 18 Media Beca 19 a 20 Beca #include<iostream.h> void mensaje(int*,int*,int*); /*prototipo*/ void main(){ int n1,n2,n3; cout<<"Ingrese la nota1:"; cin>>n1; cout<<"Ingrese la nota2:"; cin>>n2; cout<<"Ingrese la nota3:"; cin>>n3; mensaje(&n1,&n2,&n3); } void mensaje(int *x,int *y,int *z){ float p=(*x+*y+*z)/3; char *msg[15]; if(p<=6) *msg="Repitente"; else if(p<=10) *msg="Desaprobado"; else if(p<=14) *msg="Aprobado"; else if(p<=18) *msg="Media Beca"; - 10 getch();

11 else if(p<=20) *msg="Beca"; cout<<"El promedio es:"<<p<<endl; cout<<"La Condicion es:"<<*msg; } 6. Desarrollar un Programa que permita calcular la Liquidacin de un Trabajador, ingrese el nombre del trabajador, su ao de ingreso y haber bsico, Calcule y visualice: Vacaciones; si tiene mas de 20 aos ser 5 haberes bsico, caso contrario ser 3 haberes bsico. Bonificacin de Servicios; que representa el haber bsico por los aos de servicio Liquidacin, suma de la bonificacin y Vacaciones #include<iostream.h> #include<conio.h> const int yactual=2005; void Planilla(float *,int *); void main(){ char trabajador[40]; float basico; int yingreso; cout<<"Ingrese el Nombre del Trabajador:"; cout<<"Ingrese su Haber Basico:"; cout<<"Ingrese el Ao de Ingreso:"; Planilla(&basico,&yingreso); } void Planilla(float *bas,int *ying){ float bonif=0,vacac=0,liq=0; int yserv=yactual-*ying; if(yserv<=20) vacac=(*bas)*3; else vacac=(*bas)*5; bonif=(*bas)*yserv; liq=bonif+vacac; cout<<"Bonificacion:"<<bonif<<endl; cout<<"Vacaciones :"<<vacac<<endl; cout<<"Liquidacion :"<<liq; } Ejercicios Propuestos 1

cin>>trabajador; cin>>basico; cin>>yingreso;

- 11 -

12

Gua de Laboratorio N 03
Laboratorio Funciones Recursivas Ejercicios Resueltos 1. Desarrollar un Programa que calcule y visualice la Suma de los 20 trminos de la siguiente serie: 1, 1.5, 2, 2.5, 3 . #include<iostream.h> float serie(int); void main(){ float suma; suma=serie(20); cout<<"La suma de la Serie es:"<<suma; } float serie(int n){ float valor; if(n= =1) valor=1; else valor=1+0.5*(n-1)+serie(n-1); return(valor); } 2. Desarrollar un programa que permita obtener la sumatoria de la siguiente serie: 11 + 22 + 33 + 44 + 55 + .Nn #include<iostream.h> float serie(int); void main(){ int n; cout<<"Numero de elementos de la Serie:"; cin>>n; cout<<"La suma de la Serie es:"<<serie(n); } float serie(int n){ float valor; if(n= =1) valor=1; else valor=n*n + serie(n-1); return(valor); } 3. Desarrollar un programa que permita obtener el Factorial de un Nmero ingresado #include<iostream.h> float factorial(int); void main(){ int n; cout<<"Ingrese un Numero:"; - 12 -

13 cin>>n; cout<<"El Factorial del Numero es:"<<factorial(n); } float factorial(int n){ float f; if(n= =1) f=1; else f=n*factorial(n-1); return(f); } 4. Desarrollar un programa que permita suma la Serie Fibonnaci: 1, 1, 2, 3, 5, 8, . Donde deber ingrese el nmero de elementos de la Serie.

- 13 -

14

Gua de Laboratorio N 04
Laboratorio N 1 Ejercicios Resueltos 1. Desarrollar un Programa donde ingrese 100 Nmeros en un Arreglo; visualice la Suma de los Nmeros del Array. #include<iostream.h> #include<conio.h> int n[100]; void main(){ int i=0; float suma=0; while(i<=99){ clrscr(); cout<<"Ingrese un Numero:"; cin>>n[i]; i++; } clrscr(); for(i=0;i<=99;i++) suma+=n[i]; cout<<"La Suma de los numeros es:"<<suma; } 2. Desarrollar un Programa donde ingrese en forma aleatoria 300 Nmeros en un Array; visualice la cantidad de nmeros de 1 cifra existen en el Array, as como la suma de los nmeros de 1 cifra. . #include<iostream.h> #include<stdlib.h> int n[300]; void main(){ clrscr(); int i=0,contador=0; float suma=0; while(i<=299){ n[i]=rand()%100; if((n[i]>=0)&&(n[i]<=9)) i++; } i=0; while(i<=299){ if((n[i]>=0)&&(n[i]<=9)){ cout<<n[i]<<endl; contador++; suma+=n[i]; } i++; } cout<<"La suma de los digitos es:"<<suma; } - 14 Arreglos

15 3. Desarrollar un programa que permita generar y visualizar la Tabla de Multiplicar del 0 al 11. #include<iostream.h> #include<conio.h> const int tabla=12; void main() { int x,i; int numeros[tabla][tabla]; /* rellenamos la matriz */ for (x=0;x<tabla;x++) for (i=0;i<tabla;i++) numeros[x][i]=x*i; int fila=1; clrscr(); /* visualizamos la matriz */ for (x=0;x<tabla;x++){ for (i=0;i<tabla;i++){ gotoxy((i+1)*4,fila); cout<<numeros[x][i]; } fila++; } } 4. Desarrollar un Programa que permita realizar el Ingreso, Bsqueda, Ordenamiento de 100 nmeros aleatorios almacenados en un Array. Utilice un Men de Opciones. #include<iostream.h> #include<conio.h> #include<stdlib.h> void menu(); void ingreso(); void listado(); void ordenasc(); void ordendes(); void buscar(); int n[100]; void main(){ int op=0; do{ menu(); cin>>op; switch(op){ case 1: ingreso(); break; case 2: listado(); break; case 3: ordenasc();break; case 4: ordendes();break; case 5: buscar();break; } - 15 -

16 }while(op!=6); } void menu(){ clrscr(); cout<<"[1]Ingreso de Numeros"<<endl; cout<<"[2]Listado de Numeros"<<endl; cout<<"[3]Orden Ascendente"<<endl; cout<<"[4]Orden Descendente"<<endl; cout<<"[5]Salir"<<endl; cout<<"Ingrese una Opcion:"; } void ingreso(){ clrscr(); for(int i=0;i<=99;i++) n[i]=rand(); cout<<"Ingrese realizado"; getch(); } void listado(){ clrscr(); for(int i=0;i<=99;i++) cout<<n[i]<<endl; getch(); } void ordenasc(){ int aux=0,i,j; clrscr(); for(i=0;i<=99;i++){ for(j=i+1;j<=99;j++){ if(n[i]>n[j]){ aux=n[i]; n[i]=n[j]; n[j]=aux; } } } cout<<"Numeros ordenados en forma Ascendente"; getch(); } void ordendes(){ int aux=0,i,j; clrscr(); for(i=0;i<=99;i++){ for(j=i+1;j<=99;j++){ if(n[i]<n[j]){ aux=n[i]; n[i]=n[j]; n[j]=aux; } - 16 -

17 } } cout<<"Numeros ordenados en forma descendente"; getch(); } void buscar(){ clrscr(); int num,contador=0; cout<<"ingrese un numero a buscar"; cin>>num; for(int i=0;i<=99;i++){ if(num==n[i]) contador++; } cout<<"veces que se repite"<<contador; getch(); } 5. Desarrollar un programa que permita realizar el Ingreso, Listado y Ordenar 20 nmeros aleatorios de dos cifras almacenados en Array, todos ellos diferentes. Utilice un Men de Opciones. #include<iostream.h> #include<conio.h> #include<stdlib.h> void menu(); void ingreso(); void listado(int []); void ordenar(int []); int n[20]; void main(){ int op=0; do{ menu(); cin>>op; switch(op){ case 1: ingreso(); break; case 2: listado(n); break; case 3: ordenar(n);break; } }while(op!=4); } void menu(){ clrscr(); cout<<"[1]Ingreso de Numeros"<<endl; cout<<"[2]Listado de Numeros"<<endl; cout<<"[3]Ordenar Numeros"<<endl; cout<<"[4]Salir"<<endl; cout<<"Ingrese una Opcion:"; } - 17 -

18 void ingreso(){ clrscr(); int i=0,j,num; while(i<=19){ do{ num=rand()%1000; }while((num<10)||(num>99)); j=0; while((j<=i)&&(n[j]!=num)){ j++; } if(j>i){ n[i]=num; i++; } } cout<<"Ingreso realizado"; getch(); } void listado(int x[20]){ clrscr(); for(int i=0;i<=19;i++) cout<<x[i]<<endl; getch(); } void ordenar(int x[20]){ int aux=0,i,j; clrscr(); for(i=0;i<=19;i++){ for(j=i+1;j<=19;j++){ if(x[i]>x[j]){ aux=x[i]; x[i]=x[j]; x[j]=aux; } } } cout<<"Nmeros ordenados"; listado(x); }

- 18 -

También podría gustarte