22

Click here to load reader

JSP

Embed Size (px)

DESCRIPTION

JSP

Citation preview

Page 1: JSP

1

GUIA 02

Ejercicios Resueltos1. Desarrollar un Algoritmo que permita calcular el área de un círculo, 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: número de contrato y la cantidad de metros cúbicos consumidos. Calcule y visualice los siguientes pagos:

Importe: que representa el precio por cada metro cúbico por los metros cúbicos 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 -

Page 2: JSP

2

}3. Desarrollar un Algoritmo donde ingrese un número de dos dígitos, visualice la suma de sus dígitos

#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 básico, calcule y visualice:Bonificación : 5% del sueldo básicoDescuento : 2% del sueldo básicoSueldo Neto : Sumar el sueldo básico y la Bonificación 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 distribución 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);

- 2 -

Page 3: JSP

3

sueldo - =100*d100;//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 Estructuras Condicionales y Selectivas

Ejercicios Resueltos

1. Desarrollar un Algoritmo donde ingrese dos números 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 remuneración del empleado. Ingrese el básico, número de hijos y cargo; si su cargo es obrero[O] recibirá 100 por Bonificación, si su cargo es empleado[E] recibirá una Bonificación de 120. Si tiene hijos recibirá por cada uno 41 soles por concepto de Asignación. El total será la suma del básico, bonificación y Asignación

- 3 -

Page 4: JSP

4

#include<iostream.h>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 comisión 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 comisión; si sus ventas se encuentran entre 10000 a 50000 su comisión será de 7.5% de las ventas y 200 por bonificación, pero si sus ventas es mayor a 50000 su comisión será de 9% de sus ventas y su bonificación 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 -

Page 5: JSP

5

4 Desarrollar un Algoritmo que permita ingresar un número de 1 digito, visualizarlo en letras#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 actividadif(strcmp(actividad,"pintado")= =0)

ph=10;else if(strcmp(actividad,"laqueado")= =0)

ph=12;else if(strcmp(actividad,"barnizado")= =0)

ph=14;else

- 5 -

Page 6: JSP

6

return;//calculo del jormalif(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 Estructuras Repetitivas

Ejercicios Resueltos

1. Desarrollar un Programa donde Visualice los 80 primeros números 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 números de dos dígitos visualizar la suma de los números ingresados

#include<iostream.h>#include<conio.h>void main(){

- 6 -

Page 7: JSP

7

clrscr();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 Números, luego visualizar un Mensaje si desea continuar ingresar Números, al finalizar visualizar la Suma de los Números 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 número de 3 cifras calcule y visualice, la cantidad de dígitos 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 -

Page 8: JSP

8

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

}

Guía de Laboratorio Nº 02

Laboratorio Funciones y Procedimientos.

Ejercicios Resueltos

1. Desarrollar un Programa donde ingrese dos números, 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 más 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))

- 8 -

Page 9: JSP

9

z=susti; p=(x+y+z)/3;}return p;

}3. Desarrollar un Programa que permita calcular las 4 operaciones básicas a través de 2 números 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 -

Page 10: JSP

10

clrscr();cout<<"La division es:"<<(x/y); getch();

}

4. Desarrollar un Programa donde ingrese un número mayor a cero, calcule y visualice el inverso del número ingresado, utilice una función con parámetro 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 Repitente06 a 10 Reprobado11 a 14 Aprobado15 a 18 Media Beca19 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 -

Page 11: JSP

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 Liquidación de un Trabajador, ingrese el nombre del trabajador, su año de ingreso y haber básico, Calcule y visualice:

Vacaciones; si tiene mas de 20 años será 5 haberes básico, caso contrario será 3 haberes básico.

Bonificación de Servicios; que representa el haber básico por los años de servicio Liquidación, suma de la bonificación 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:"; cin>>trabajador;cout<<"Ingrese su Haber Basico:"; cin>>basico;cout<<"Ingrese el Año de Ingreso:"; cin>>yingreso;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 Propuestos1

- 11 -

Page 12: JSP

12

Guía de Laboratorio Nº 03

Laboratorio Funciones Recursivas

Ejercicios Resueltos

1. Desarrollar un Programa que calcule y visualice la Suma de los 20 términos 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 Número ingresado

#include<iostream.h>float factorial(int);void main(){

int n;cout<<"Ingrese un Numero:";

- 12 -

Page 13: JSP

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 número de elementos de la Serie.

- 13 -

Page 14: JSP

14

Guía de Laboratorio Nº 04

Laboratorio Nº 1 Arreglos

Ejercicios Resueltos

1. Desarrollar un Programa donde ingrese 100 Números en un Arreglo; visualice la Suma de los Números 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 Números en un Array; visualice la cantidad de números de 1 cifra existen en el Array, así como la suma de los números 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 -

Page 15: JSP

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, Búsqueda, Ordenamiento de 100 números 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 -

Page 16: JSP

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 -

Page 17: JSP

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 números 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 -

Page 18: JSP

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<<"Números ordenados";listado(x);

}

- 18 -