guia01+[1]

21
GUI DE EJERCICIOS DESARROLLADOS 01 1. El rendimiento de un alumno se clasifica de acuerdo a lo siguiente: BUENO: si su promedio esta entre 16 y 20 REGULAR: si su promedio esta entre 11 y 15 DEFICIENTE: si su promedio esta entre 6 y 10 PESIMO: si su promedio esta entre 0 y 5 Escribir un programa en c++ que permita ingresar 3 notas de un alumno e imprima cual es su rendimiento. Solucion : #include <iostream.h> #include <stdlib.h> void main() { int n1, n2, n3,prom; cout<<"ingrese primer numero ";cin>>n1 ; cout<<"Ingrese segundo numero ";cin>>n2; cout<<"Ingrese tercer numero ";cin>>n3; prom=(n1+n2+n3); if (prom<=5) cout<<"Pesimo"; else if (prom<=10) cout<<"Deficiente"; else if(prom<=15) cout<<"Regular"; else if(prom<=20) cout<<"Bueno"; } 2. Escribir un programa en C++ que permita ingresar una hora ( en horas, minutos y segundos) e imprima la hora un segundo después. Solucion : #include <iostream.h> #include <stdlib.h>

Upload: jyhmiquispellactarimay

Post on 13-Dec-2015

247 views

Category:

Documents


5 download

DESCRIPTION

..0202

TRANSCRIPT

Page 1: GUIA01+[1]

GUI DE EJERCICIOS DESARROLLADOS 01

1. El rendimiento de un alumno se clasifica de acuerdo a lo siguiente:BUENO: si su promedio esta entre 16 y 20REGULAR: si su promedio esta entre 11 y 15DEFICIENTE: si su promedio esta entre 6 y 10PESIMO: si su promedio esta entre 0 y 5Escribir un programa en c++ que permita ingresar 3 notas de un alumno e imprima cual es su rendimiento.Solucion :

#include <iostream.h>#include <stdlib.h>void main(){ int n1, n2, n3,prom; cout<<"ingrese primer numero ";cin>>n1 ; cout<<"Ingrese segundo numero ";cin>>n2; cout<<"Ingrese tercer numero ";cin>>n3;

prom=(n1+n2+n3);if (prom<=5)

cout<<"Pesimo";else if (prom<=10)

cout<<"Deficiente";else if(prom<=15)

cout<<"Regular";else if(prom<=20)

cout<<"Bueno";}

2. Escribir un programa en C++ que permita ingresar una hora ( en horas, minutos y segundos) e imprima la hora un segundo después.Solucion :

#include <iostream.h>#include <stdlib.h>void main(){ int ns, hf, mf, sf, hh, mm, ss; cout<<"Ingrese hora";cin>>hh ; cout<<"Ingrese minutos";cin>>mm; cout<<"Ingrese segundos";cin>>ss;

ns= hh*360+mm*60+ss+1;hf=ns/3600;ns=ns-hf*3600;mf=ns/60;ns=ns-mf*60;

Page 2: GUIA01+[1]

sf=ns; cout<<"La nueva hora es:"; cout<<hf<<":"<<mf<<":"<<sf;

}

3. Si se compra 100 unidades o mas de un articulo se obtiene un descuento del 40%, si se compra desde 26 hata 99 el descuento es de 20%, si se compra desde 10 hasta 25 el descuento es del 12%. Para cantidades menores no hay descuento.ºEscribir un programa en C++ que permita ingresar el costo unitario del articulo y la cantidad de unidades compradas e imprima el monto a pagar.

#include <iostream.h>#include <stdlib.h>void main(){ int costounitario, cu, n; cout<<"ingrese Costo Unitario";cin>>cu ; cout<<"Ingrese Cantidad a comprar”;cin>>n; If (10<=n<=25

Monto=(1-0.12)*n;Else if (26<=n<=99) Monto=(1-0.20)*n;Else If(n>=100) Monto=(1-0.40)*n cout<<"Monto a Pagar”;monto;

}

4. Escribir un programa en C++ que permita ingresar un numero entero que representa una determinada cantidad de dinero e imprima cuantos billetes de 100, 50, 20, 10, 5 y 1 soles se necesitan.

Solucion :

#include <iostream.h>#include <stdlib.h>void main(){ int nb100, nb50, nb20,nb10, nb5, nb1, n; cout<<"ingrese Cantidad ";cin>>n ;

nb100=n/100; n=n-nb100*100;

nb50=n/50; n=n-nb50*50;nb20=n/20; n=n-nb20*20;nb10=n/10;

n=n-nb10*10;nb5=n/5; n=n-nb5*5;nb1=n;

Page 3: GUIA01+[1]

cout<<"===>"<<nb1;

}

5. Un banco establece que la clave secreta para acceso a sus cajeros automaticos debe ser un numero de cuatro digitos, tales que ninguno de ellos se repita y que la suma de los dos digitos intermedios sea par. Escribir un programa en C++ que permita ingresar un valor entero y si se trata de una clave valida imprimir el segundo digito menor.

Solucion :

# include<iostream.h>

int IngresarClave();void ValidarClave();void MostrarSegundoMenor(int pc,int sc,int tc, int cc);

void main(){

ValidarClave();}int IngresarClave(){int n;

cout<<"ingrese contraseña bancaria"<<endl;cin>>n;return n;

}void ValidarClave(){int pc,sc,tc,cc;int n;

do{n=IngresarClave() ;pc=(n/1000);sc=(n%1000)/100;tc=((n%1000)%100)/10;cc=(((n%1000)%100)%10)/1;

}while((n<1000) || (n>9999) || (pc==sc) || (pc==tc)||(pc==cc)

|| (sc==pc) || (sc==tc)||(sc==cc) ||(tc==pc) || (tc==sc) || (tc==cc) || (sc+tc)%2!=0);

MostrarSegundoMenor(pc,sc,tc,cc) ;}

Page 4: GUIA01+[1]

void MostrarSegundoMenor(int pc,int sc,int tc, int cc){int aux,x[4],i,j;x[0]=pc;x[1]=sc;x[2]=tc;x[3]=cc;for( i=0;i<=3;i++){

for(j=0;j<=3;j++){if(x[i]<x[j]){aux=x[i];x[i]=x[j];x[j]=aux;}}} cout<<"El Segundo Menor="<<x[1]<<endl;

}

6. La temperatura de un horno puede variar desde 0 hasta 100 grados centigrados y se clasifica de acuerdo a lo siguiente:MUY ALTA: si su valor esta entre 90oC y 100oCALTA: si su valor esta entre 80oC y 89oCNORMAL: si su valor esta entre 40oC y 79oCBAJA: si su valor esta entre 0oC y 39oC

Solucion :

#include <iostream.h>#include <stdlib.h>void main(){ int temp,prom; cout<<"Ingrese Temperatura ";cin>>temp ;

if( (temp >=90) && (temp<=100)) cout<<"Muy Alta";

else if ( (temp >=80) && (temp<=89)) cout<<"Alta";

else if( (temp >=40) && (temp<=79)) cout<<"Normal";

else if( (temp >=0) && (temp<=39)) cout<<"Baja";

}

7. Escribir un programa en C++ que permita ingresar un numero de cuatro digitos y que obtenga e imprima el numero que resulta de invertir sus cifras

#include <iostream.h>#include <stdlib.h>void main()

Page 5: GUIA01+[1]

{ int num; cout<<"ingrese un numero de 4 cifras";cin>>num;

pc=num/1000; sc=(num%1000)/100; num2=num-pc*1000-sc*100; tc=num2/10; cc=num2%10;

cout<<"Numero invertido";cout<<cc*1000+tc*100+sc*10+pc;}

8. Escribir un programa en c++ que me permita ingresar un mes ( numero ) y un año e imprima cuantos dias tiene .tener en cuenta el caso de año bisiestos.

#include <iostream.h>

void main() {

int ano,mes; cout<<"Ingrese año:";cin>>ano; cout<<"Ingrese mes:";cin>>mes;

if( mes==1 || mes==3 || mes==5 || mes==7 || mes==8 || mes==10 || mes==12 ){

cout<<"El Mes tiene 31 dias"<<endl;}

if( mes==4 || mes==6|| mes==9 || mes==11 ){

cout<<"El Mes tiene 30 dias"<<endl;}

if( mes==2 ){

if((ano%4==0) && (ano%100!=0) && (ano%400==0)){

cout<<"El Mes dos tiene 29 dias"<<endl; } else {

cout<<"El Mes dos tiene 28 dias"<<endl; }

}

Page 6: GUIA01+[1]

}

Page 7: GUIA01+[1]

Ejercicios sobre Estructura Repetitiva

1. Escribir un programa en c++ que permita ingresar el largo y el ancho de N rectangulos e imprima el area del rectangulo con el menor perímetro.

Solucion :

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

int n,menor;double largo,ancho,perimetro,area;double largoMenor,anchoMenor;

cout<<"ingrese cantidad de Datos de Triangulos ";cin>>n ; cout<<"Ingrese el Largo ";cin>>largo; cout<<"Ingrese el Ancho ";cin>>ancho;

perimetro=2*largo+2*ancho;menor=perimetro;

for( int i=2;i<=n;i++){ cout<<"Ingrese el Largo ";cin>>largo; cout<<"Ingrese el Ancho ";cin>>ancho;

perimetro=2*largo+2*ancho;if(perimetro<menor){

largoMenor=largo;anchoMenor=ancho;

menor=perimetro;}

} cout<<"El Perimetro Menor es =="<<menor; cout<<"\nEl Area del Perimetro Menor ==";cin>>area;

}

2. Escribir un programa en c++ que me permita ingresar un numero entero positivo y que imprima la suma de sus cifras.

Solucion :

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

long n,r,acum=0;

cout<<"Ingrese Numero===";cin>>n;

Page 8: GUIA01+[1]

x=0;while(n>0){ r=n%10; n=n/10; x=x*10+r; acum=acum+r;}cout<<"Numero Inverso ==== "<<acum;}

Page 9: GUIA01+[1]

3. Escribir un programa en C++ que me permita ingresar 2 enteros N y D que representan los valores del denominador de un quebrado. Imprimir el quebrado después de haber sido simplificado;

Solucion :

#include <iostream.h>

void main() { int mayor,menor;int n,j,temp,sw,resto;int a[40];n=2;for(j=1;j<=n;j++){

if(j==1) cout<<"Ingrese Numerador"<<endl; else

cout<<"Ingrese Denominador"<<endl;

cin>>a[j];}

for(j=1;j<=n-1;j++){

if( a[j]<a[j+1]) { temp=a[j]; a[j]=a[j+1]; a[j+1]=temp;

} mayor= a[j+1];

menor=a[j] ;

do { sw=0;

resto=a[j]%a[j+1];if(resto==0){ sw=1;

}else { a[j]=a[j+1];

a [j+1]=resto;

Page 10: GUIA01+[1]

} }while(sw!=1);

cout<<"El NUMERADOR : "<<(mayor/a[j+1])<<endl;

cout<<"El DENOMINADOR : "<<(menor/a[j+1])<<endl;

}

}

4. Escribir un programa en c que permita ingresar para los N alumnos de una universidad : SEXO ( ‘M’ o ‘F’ ) , edad y carrera ( ‘A’,’B’,’C’ ) . imprimir la carrera con menor promedio de edad de sus alumnos que son varones.

Soluciones :

#include <iostream.h>void main() { int n,i;

long edad[100],sexo,carrera; int prom1=0,prom2=0,prom3=0,menor; char car;

cout<<"cuantos Alumnos Deseas ingresar?????"<<endl;cin>>n;

for( i=0;i<=n;i++) { cout<<"Ingrese Edad ";cin>>edad[i]; cout<<"Ingrese Sexo ";cin>>sexo; cout<<"Ingrese Carrera ";cin>>carrera;

if( ( sexo=='M') || ( sexo=='m')) {switch(carrera ){case 'A' : {

prom1=prom1+edad[i];

break;}

case 'B' : {

prom2=prom2+edad[i];

break;}

Page 11: GUIA01+[1]

case 'C' : {

prom3=prom3+edad[i];

break;}} }

else {if( ( sexo=='F') || ( sexo=='f')) {

switch(carrera ){

case 'A' : {

prom1=prom1+edad[i];

break;}

case 'B' : {

prom2=prom2+edad[i];

break;}

case 'C' : {

prom3=prom3+edad[i];

break;}}}

}

}

if( (prom1<prom2) && (prom1>prom3) ){ menor=prom1;

car='A'; }

else {if( (prom2<prom1) && (prom2>prom3))

{menor=prom2;

car='B';

}

else

Page 12: GUIA01+[1]

{

menor=prom3; car='C';

} }

cout<<"Carrera "<<car<< "con Menor Promedio de Edades de Alumnos Varones es =="<<menor<<endl;}

5. Escribir un programa en c que permita ingresar un entero n y que imprima si se trata o no de un numero capicua .

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

long n,r; int numero[100];cout<<"Ingrese Numero\n";cin>>n; int i=0;while(n>0){r=n%10;n=n/10;numero[i]=r;i++;}int flag=-1; int j=0;

cout<<i<<endl;if((i%2==0) )

{ while(( numero[j]==numero[(i-1)-j] ) && (j<=(i-1)) ){

if(j==(i-1)){ cout<<" es capicua"<<endl; }

j++;

}

Page 13: GUIA01+[1]

} else

{

while(( numero[j]==numero[(i-1)-j] ) && (j<=(i-1)) ){

if(j==(i-1)){

cout<<" es capicua"<<endl; }

j++; } } }

6. Dada la siguente sumatoria

Solucion :

# include <iostream.h> int factorial(int n);

void main(){int a[100],i,n,s=0;cout<<"ingrese cantidad de elementos"<<endl;cin>>n;for(i=0;i<=n;i++){ a[i+2]=a[i]+a[i+1]; }s=0;for(i=0;i<=n;i++){ s=s+a[i]/ factorial(i);} cout<<"La sumatoria de la serie es =="<<s<<endl;}int factorial(int n){ if( (n==0) || ( n==1) ) {return 1;}else { return n*factorial(n-1);}

}

Page 14: GUIA01+[1]

7. Escriba un programa en c que permita ingresar 2 enteros positivos e imprima sus divisores comunes

Solucion :

#include <iostream.h>#include <conio.h>

int main(){

clrscr(); int num1, num2; int mayor; do { cout <<"Ingrese el primer numero entero y positivo: "; cin >> num1;

} while (num1 <= 0);

do { cout <<"Ingrese el segundo numero entero y positivo: "; cin >> num2;

} while (num2 <= 0);

if (num1 > num2) { mayor = num1; } else { mayor = num2; }; cout <<"Los divisores comunes son: ";

for (int i = 1; i < mayor; i++) { if ((num1%i == 0)&&(num2%i ==0)) { cout <<i<<" , "; }; };

Page 15: GUIA01+[1]

getch();

return 1;

}

8. Escriba un programa en c que permita ingresar un numero entero positivo e imprima sus cifras al reves

Solucion :

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

long n,x,r;int numero[100];

cout<<"Ingrese Numero\n";cin>>n;int i=0;while(n>0){r=n%10;n=n/10;numero[i]=r;i++;}for(int j=0;j<=i-1;j++){cout<<numero[j];

}}

9. Escriba un programa en c que permita ingresar un numero entero positivo e imprima su respectivo factorial.

Solucion :

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

cout<<"Ingrese el numero de factorial"<<endl; cin>>i;

cout<<" El Factorial es =="<<factorial(i)<<endl; }

int factorial(int n){

Page 16: GUIA01+[1]

if( (n==0) || ( n==1) ) {return 1;}else {

return n*factorial(n-1);}}

10. Escriba un programa en c que permita ingresar un numero entero positivo N e imrprima los N primeros terminos de la serie finonacci 1,1 ,2,3,5,8,13,21 …..

Solucion :

#include <iostream.h> #include <stdlib.h>

int fibonacci( int t ) { if ( t == 1 || t == 2 ) return 1; else return fibonacci(t-1)+fibonacci(t-2); }

void main() { int term, fib; cout<<"Ingrese termino de la serie de Fibonacci: "; cin>>term; fib = fibonacci(term); cout<<"El termino "<<term<<" es "<<fib<<endl;}

12. Escribir un programa en c que permita ingresar 2 numeros enteros positivos A y B e imprima el resultado que se obtiene al elevar A a la potencia B.Solucion :#include <iostream.h>#include <math.h>

Page 17: GUIA01+[1]

void main(){ int n,potencia;

cout<<"Ingrese numero a elevar "; cin>>n;

potencia=pow(n,2); cout<<"La potencia es "<<potencia<<endl;

}

Page 18: GUIA01+[1]

Una de chino Los días de la semana

#include <cstdlib>#include <iostream>

using namespace std;

int main(int argc, char *argv[]){ int i=0; cout<<"Introduzca el numero del dia de la semana: "; cin>>i; switch (i) { case 1 : cout<<"El dia de la semana es Lunes"<<" "<<endl; break; case 2 : cout<<"El dia de la semana es Martes "<<" "<<endl; break; case 3 : cout<<"El dia de la semana es Miercoles "<<" "<<endl; break; case 4 : cout<<"El dia de la semana es Jueves "<<" "<<endl; break; case 5 : cout<<"El dia de la semana es Viernes "<<" "<<endl; break; case 6 : cout<<"El dia de la semana es Sabado "<<" "<<endl; break; case 7 : cout<<"El dia de la semana es Domingo "<<" "<<endl; break; default : cout<<"El numero de la semana son del 1 al 7, CACHIMBO"<<" "<<endl; } system("PAUSE"); return EXIT_SUCCESS;}