Download - 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;
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;
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) ;}
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()
{ 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; }
}
}
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;
x=0;while(n>0){ r=n%10; n=n/10; x=x*10+r; acum=acum+r;}cout<<"Numero Inverso ==== "<<acum;}
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;
} }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;}
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
{
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++;
}
} 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);}
}
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<<" , "; }; };
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){
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>
void main(){ int n,potencia;
cout<<"Ingrese numero a elevar "; cin>>n;
potencia=pow(n,2); cout<<"La potencia es "<<potencia<<endl;
}
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;}