Computing">
Nothing Special   »   [go: up one dir, main page]

Laboratorio Domiciliario #2

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 59

UNIVERSIDAD NACIONAL “DANIEL ALCIDES CARRIÓN

FACULTAD DE INGENIERÍA
ESCUELA DE FORMACIÓN PROFESIONAL DE SISTEMAS Y COMPUTACIÓN

LABORATORIO DOMICILIARIO N° 2 DE LENGUAJE DE PROGRAMACIÓN I


(LENGUAJE C STANDAR C/C++)

CONTROL DE PROCESOS MÚLTIPLES

(SWITCH CASE)

PROBLEMA 1. Una tienda de ropa ha establecido porcentajes de descuentos que se indican continuación, de
acuerdo a la nacionalidad del comprador (peruano, extranjero) y del producto que compra por ejemplo talla (S, M,
L), sexo (hombre, mujer). Por cada compra mostrada debe mostrarse la cantidad de productos comparado por talla,
cuantos hombres y cuantas mujeres compraron, cuantos clientes fueron naciones y cuantos extranjeros y por último
debe mostrarse el importe total de la compra. Los porcentajes de descuento varían según la tabla:

NACIONALIDAD TALLA S TALLA M TALLA L


HOMBRE MUJER HOMBRE MUJER HOMBRE MUJER
PERUANO 5 4 7 9 10 12
EXTRANJERO 4 5 9 7 12 10

#include<iostream>

/* PROBLEMA 1. Una tienda de ropa ha establecido porcentajes de descuentos que se indican


continuación,
de acuerdo a la nacionalidad del comprador (peruano, extranjero) y del producto que compra por
ejemplo talla
(S, M, L), sexo (hombre, mujer). Por cada compra mostrada debe mostrarse la cantidad de
productos comparado
por talla, cuantos hombres y cuantas mujeres compraron, cuantos clientes fueron naciones y
cuantos extranjeros
y por último debe mostrarse el importe total de la compra. Los porcentajes de descuento varían
según la tabla:

NACIONALIDAD TALLA S
TALLA M TALLA L
HOMBRE
MUJER HOMBRE MUJER HOMBRE MUJER
PERUANO 5 4
7 9 10 12
EXTRANJERO 4 5
9 7 12 10

*/
using namespace std;

int main (void){

char x,p='S';
int n,s,compraL=0,compraM=0,compraS=0,hombre=0,mujer=0,extranjero=0,peruano=0,dscto;
float precio;
cout<<"\t\t\t\tBIENVENIDO A LA TIENDA DE ROPA\n\n\n";
while(p=='S'){

cout<<"Ingrese la nacionalidad (1=Extranjero) (2=Peruano) : ";


cin>>n; if(n<1 || n>2){ cout<<"\nel dato ingresado no es valido\n\n";}

cout<<"\n\nIngrese el sexo (1=Hombre) (2=Mujer) : ";


cin>>s; if(s<1 || s>2){ cout<<"\n\nel dato ingresado no es valido\n\n";}

else{

cout<<"\n\nIngrese el precio de la prenda : ";


cin>>precio;

cout<<"\n\nIngrese la talla deseada (S, M, L) : ";


cin>>x;

switch(x){

case 'S': printf("\n\nTALLA S\n\n"); compraS++;


if(n==1){
extranjero++;
if(s==1){
hombre++;
cout<<"\nel precio de la prenda es : "<<precio-
(precio*0.04);
}
if(s==2){
mujer++;
cout<<"\nel precio de la prenda es : "<<precio-
(precio*0.05);
}
}
if(n==2){
peruano++;
if(s==1){
hombre++;
cout<<"\nel precio de la prenda es : "<<precio-
(precio*0.05);
}
if(s==2){
mujer++;
cout<<"\nel precio de la prenda es : "<<precio-
(precio*0.04);
}
}
break;
case 'M': printf("\n\nTALLA M\n\n"); compraM++;
if(n==1){
extranjero++;
if(s==1){
hombre++;
cout<<"\nel precio de la prenda es : "<<precio-
(precio*0.09);
}
if(s==2){
mujer++;
cout<<"\nel precio de la prenda es : "<<precio-
(precio*0.07);
}
}
if(n==2){
peruano++;
if(s==1){
hombre++;
cout<<"\nel precio total es : "<<precio-
(precio*0.07);
}
if(s==2){
mujer++;
cout<<"\nel precio total es : "<<precio-
(precio*0.09);
}
}
break;
case 'L': printf("\n\nTALLA L\n\n"); compraL++;
if(n==1){
extranjero++;
if(s==1){
hombre++;
cout<<"\nel precio total es : "<<precio-
(precio*0.12);
}
if(s==2){
mujer++;
cout<<"\nel precio total es : "<<precio-
(precio*0.10);
}
}
if(n==2){
peruano++;
if(s==1){
hombre++;
cout<<"\nel precio total es : "<<precio-
(precio*0.10);
}
if(s==2){
mujer++;
cout<<"\nel precio total es : "<<precio-
(precio*0.12);
}
}
break;

default : printf("\n\nNo es una talla valida \n\n");


break;
}
cout<<"\n\nEl total de las prendas compradas en talla S son : "<<compraS;
cout<<"\nEl total de las prendas compradas en talla M son : "<<compraM;
cout<<"\nEl total de las prendas compradas en talla L son : "<<compraL;
cout<<"\nEl total de prendas compradas por hombres son : "<<hombre;
cout<<"\nEl total de prendas compradas por mujeres son : "<<mujer;
cout<<"\nEl total de clientes extranjeros son : "<<extranjero;
cout<<"\nEl total de clientes nacionales son : "<<peruano<<"\n\n";
}

cout<<"Desea Realizar otra compra : (S=Si, N=No) ... ";


cin>>p;
cout<<"\n\n";
}
cout<<"\n\nGRACIAS POR SU COMPRA";
return 0;
}

PROBLEMA 2. En la feria del hogar se ha encontrado una tienda que vende al contado y al crédito en 6, 12, 18,
24 mensualidades sus artefactos: televisores, refrigeradoras, hornos microondas. Se desea saber en cualquier
momento cuantas ventas se han realizado al contado, cuantas, al crédito en 6, cuantas, al crédito en 12, cuantas, al
crédito en 18, cuantas al crédito en 24 mensualidades.

#include<iostream>

/*PROBLEMA 2. En la feria del hogar se ha encontrado una tienda que vende al contado y al crédito en 6,
12, 18, 24
mensualidades sus artefactos: televisores, refrigeradoras, hornos micro hondas. Se desea saber en cualquier
momento
cuantas ventas se han realizado al contado, cuantas al crédito en 6, cuantas al crédito en 12, cuantas al
crédito en 18,
cuantas al crédito en 24 mensualidades. */

using namespace std;


int main(){

char ventas='S';
int tipoventa, tipocred;
int ncont=0, ncre6=0, ncre12=0, ncre18=0, ncre24=0;

while (ventas=='S'){

printf("\n\nIngrese el tipo de venta (1)=Contado, (2)=Credito : ");


scanf("%d",&tipoventa);
if (tipoventa==2){

printf("\n\nIngrese el tipo de credito en mensualidades (6), (12), (18), (24) : ");


scanf ("%d",&tipocred);

switch(tipocred){

case 6: ncre6++; break;


case 12 : ncre12++; break;
case 18: ncre18++; break;
case 24: ncre24++; break;
default : printf("\n\nEl tipo de credito ingresado es erroneo"); break;
}
}
else{
ncont++;
printf("\n\nUd. Compro su artefacto al contado ");

}
printf ("\n\n Desea realizar mas ventas? (S)=Si, (N)=No: ");
scanf ("%s",&ventas);
}
printf ("\n\nNumero de ventas al contado : %d",ncont);
printf ("\nNumero de ventas al credito en 06 meses: %d ", ncre6);
printf ("\nNumero de ventas al credito en 12 meses: %d", ncre12);
printf ("\nNumero de ventas al credito en 18 meses: %d", ncre18);
printf ("\nNumero de ventas al credito en 24 meses: %d", ncre24);

return 0;
}
PROBLEMA 3. Una persona va de compras N veces a un supermercado donde le obsequian un chocolate sublime
por cada vez que compra más de 50 soles. Se desea saber cuántos chocolates sublimes ha ganado en las N veces
que compró.

#include<iostream>

/*PROBLEMA 3. Una persona va de compras N veces a un supermercado donde le obsequian un chocolate


sublime por cada vez que compra más de 50 soles. Se desea saber cuántos chocolates sublimes
ha ganado en las N veces que compró. */

using namespace std;

int main(){

char ventas='S';
int importe=0;
float sublime=0;

while (ventas=='S'){

printf ("\n\nIngrese el importe de la compra : ");


scanf ("%d",&importe);

if(importe>50){
sublime=sublime+1;
}

printf ("\n\nDesea realizar mas compras? (S)=Si, (N)=No : ");


scanf ("%s",&ventas);

}
printf ("\n\nNumero de sublimes ganados = %0.f ",sublime);

return 0;
}
PROBLEMA 4. Una empresa tiene N trabajadores, a cada uno de ellos le paga un sueldo según las horas
trabajadas a cierta tarifa por hora. Además, a cada trabajador cuyo sueldo supero los 600 soles le descuenta 10%
por concepto de impuestos. Se desea saber cuántos trabajadores gana más de 600 soles, cuantos ganan hasta 600
soles y cuánto dinero se tiene que pagar al estado por concepto de impuestos.

#include<iostream>

/*PROBLEMA 4. Una empresa tiene N trabajadores, a cada uno de ellos le paga un sueldo según las horas
trabajadas a cierta tarifa por hora. Además, a cada trabajador cuyo sueldo supero los 600 soles
le descuenta 10% por concepto de impuestos. Se desea saber cuántos trabajadores gana más de 600 soles,
cuantos ganan hasta 600 soles y cuánto dinero se tiene que pagar al estado por concepto de impuestos. */

using namespace std;

int main(){

int n,x=1, may600=0, men600=0;


int sueldo=0, impuestos=0;

cout<<"Ingrese el numero de trabajadores: ";


cin>>n;

while (x<=n){

cout<<"\n\nIngrese sueldo del trabajador "<<x<<" : ";


cin>>sueldo;

if (sueldo >600){
impuestos=impuestos+sueldo*0.1;
may600++;
x++;
}

else{

men600++;
x++;
}
}
cout<<"\n\nTrabajadores con sueldos menores e iguales a 600: "<<men600;
cout<<"\nTrabajadores con sueldos mayores a 600: "<<may600;
cout<<"\nTotal de impuestos: "<<impuestos;

return 0;
}

PROBLEMA 5. Determinar el importe a pagar por un alumno de un instituto cuya cuota tiene un porcentaje de
descuento que se establece en la siguiente tabla y en esa función el colegio de procedencia del alumno; así mismo
los importes están exonerados de impuestos.

INSTITUTOS
A B C
COLEGIO
Nacional 50 40 30
Particular 25 20 15

#include<iostream>

/* PROBLEMA 5. Determinar el importe a pagar por un alumno de un instituto cuya cuota tiene un
porcentaje de descuento que se establece en la siguiente tabla y en esa función el colegio de procedencia
del alumno; así mismo los importes están exonerados de impuestos.

COLEGIO
INSTITUTOS
A B C
Nacional 50 40 30
Particular 25 20 15

*/
using namespace std;
int main (void){

char x;
int n;
float precio;

cout<<"Ingrese el colegio (1=Nacional) (2=Particular) : ";


cin>>n; if(n<1 || n>2){ cout<<"\nel dato ingresado no es valido\n\n";}

else{

cout<<"\n\nIngrese importe a pagar : ";


cin>>precio;
cout<<"\n\nIngrese el instituto (A, B, C) : ";
cin>>x;

switch(x){

case 'A': printf("\n\nINSTITUTO A\n\n");

if(n==1){
cout<<"\nEl importe total a pagar es : S/."<<precio-
(precio*0.5)<<" procedente del (INSTITUTO A : NACIONAL)";
}
if(n==2){
cout<<"\nel importe total a pagar es : S/."<<precio-
(precio*0.25)<<" procedente del (INSTITUTO A : PARTICULAR)";
}

break;
case 'B': printf("\n\nINSTITUTO B\n\n");

if(n==1){
cout<<"\nEl importe total a pagar es : S/."<<precio-
(precio*0.5)<<" procedente del (INSTITUTO B : NACIONAL)";
}
if(n==2){
cout<<"\nel importe total a pagar es : S/."<<precio-
(precio*0.25)<<" procedente del (INSTITUTO B : PARTICULAR)";
}

break;
case 'C': printf("\n\nINSTITUTO C\n\n");

if(n==1){
cout<<"\nEl importe total a pagar es : S/."<<precio-
(precio*0.5)<<" procedente del (INSTITUTO C : NACIONAL)";
}
if(n==2){
cout<<"\nel importe total a pagar es : S/."<<precio-
(precio*0.25)<<" procedente del (INSTITUTO C : PARTICULAR)";
}

break;

default : printf("\n\nNo es una instituto valido \n\n");


break;

}
}
cout<<"\n\n\n";

return 0;
}

PROBLEMA 6. Se ponen a la venta, las entradas para un partido de fútbol internacional, cuyo precio depende de
la tribuna, así: tribuna norte y sur cuesta 25 nuevos soles, tribuna oriente cuesta 45 nuevos soles y tribuna occidente
cuesta 65 nuevos soles. Diseñe usted, la solución a un programa que controle la venta de dichas entradas a fin de
poder saber la cantidad de personas que asisten a cada tribuna, la cantidad total de personas (Asistencia) y el monto
total recaudado por la venta de todas las entradas. (Recaudación).

#include<iostream>

/* PROBLEMA 6. Se ponen a la venta, las entradas para un partido de fútbol internacional,


cuyo precio depende de la tribuna, así: tribuna norte y sur cuesta 25 nuevos soles, tribuna oriente
cuesta 45 nuevos soles y tribuna occidente cuesta 65 nuevos soles. Diseñe usted, la solución a un
programa que controle la venta de dichas entradas a fin de poder saber la cantidad de personas que asisten
a
cada tribuna, la cantidad total de personas (Asistencia) y el monto total recaudado por
la venta de todas las entradas. (Recaudación).
*/
using namespace std;

int main(int argc, char** argv){

int tn=0,ts=0,to=0,tox=0,montot=0,x;
char ventas='S';

printf ("\t\t\tPRECIOS DE BOLETOS\n\n\n");


printf ("Tribuna norte a 25 soles (1)");
printf ("\nTribuna sur 25 soles (2)");
printf ("\nTribuna oriente 45 soles (3)");
printf ("\nTribuna oxidente 65 soles (4)");

while(ventas=='S'){
printf ("\n\nIngrese el numero de tribuna que desea : ");
scanf("%d",&x);
switch(x){

case 1:printf ("\n\n\t\t\tTRIBUNA NORTE\n\n"); tn++; montot=montot+25; break;


case 2 :printf ("\n\n\t\t\tTRIBUNA SUR\n\n"); ts++; montot=montot+25; break;
case 3:printf ("\n\n\t\t\tTRIBUNA ORIENTE\n\n"); to++; montot=montot+45; break;
case 4:printf ("\n\n\t\t\tTRIBUNA OXIDENTE\n\n"); tox++; montot=montot+65; break;
default : printf("\n\nEl tipo de numero ingresado es erroneo"); break;
}

printf("\n\nDesea realizar mas compras? (S)=Si, (N)=No : ");


scanf("%s",&ventas);
}

printf("\n\nEl numero de personas que asitiran a la tribuna norte es de %d",tn);


printf("\nEl numero de personas que asitiran a la tribuna norte es de %d",ts);
printf("\nEl numero de personas que asitiran a la tribuna norte es de %d",to);
printf("\nEl numero de personas que asitiran a la tribuna norte es de %d",tox);
printf("\nEl numero total de personas que asistiran al partido son %d",tn+ts+to+tox);

printf("\n\nEl monto total recaudado es de : %d",montot);

return 0;
}

PROBLEMA 7. Una hacienda productora de ganado negocia con vacas de cuatro diferentes razas como son
Shorton, Yorkshire, Holstein y Hereford. Diseñe usted la solución de un programa que permita ingresar la raza y el
peso en kilogramos de un conjunto de vacas. Las vacas con peso de hasta 500 kilogramos se destinan a ganadería
de carne, y el resto a la producción de leche. Debe mostrar luego de cada vaca ingresada lo siguiente:

El número total de vacas ingresadas.


El número total de vacas de cada raza.
El peso promedio entre todas las vacas ingresadas.
El número de vacas de cada raza que se dedicaron a la producción de leche.
El mayor y menor peso ingresado.

#include<iostream>

/*PROBLEMA 7. Una hacienda productora de ganado negocia con vacas de cuatro diferentes razas
como son
Shorton, Yorkshire, Holstein y Hereford. Diseñe usted la solución de un programa que permita
ingresar la raza y el peso en kilogramos de un conjunto de vacas. Las vacas con peso de hasta 500
kilogramos se destinan a ganadería de carne, y el resto a la producción de leche. Debe mostrar
luego
de cada vaca ingresada lo siguiente:

El número total de vacas ingresadas.


El número total de vacas de cada raza.
El peso promedio entre todas las vacas ingresadas.

El número de vacas de cada raza que se dedicaron a la producción de leche.


El mayor y menor peso ingresado.
*/

using namespace std;

int main(){
setlocale(LC_CTYPE,"Spanish");
float peso,r1=0,n,r2=0,r3=0,r4=0,suma=0,p1=0,p2=0,p3=0,p4=0,pmenor=10000,pmayor=0;
int opcion;
char x='S';

while(x=='S'){

cout<<"\n\nSeleccione opción : ";


cout<<"\n1 - Shorton";
cout<<"\n2 - Yorkshire";
cout<<"\n3 - Holstein";
cout<<"\n4 - Hereford";
cout<<"\n0 - salir\n\n";
cin>>opcion;
if(opcion!=0){

cout<<"\nIngrese el peso en kg. : ";


cin>>peso;
}

if(peso<=pmenor){ pmenor=peso; }
if(peso>=pmayor){ pmayor=peso; }

switch(opcion)
{
case 1: cout<<"\n\nShorton"; r1++;
if(peso<=500){ cout<<"\nLa vaca se destina a ganaderia"; }

else{ cout<<"\nLa vaca se destina a produccion de leche";


p1++; }
break;

case 2: cout<<"\n\nYorkshire"; r2++;


if(peso<=500){ cout<<"\nLa vaca se destina a ganaderia"; }

else{ cout<<"\nLa vaca se destina a produccion de leche";


p2++; }
break;

case 3: cout<<"\n\nHolstein"; r3++;


if(peso<=500){ cout<<"\nLa vaca se destina a ganaderia"; }

else{ cout<<"\nLa vaca se destina a produccion de leche";


p3++; }
break;

case 4: cout<<"\n\nHereford"; r4++;


if(peso<=500){ cout<<"\nLa vaca se destina a ganaderia"; }

else{ cout<<"\nLa vaca se destina a produccion de leche";


p4++; }
break;

case 0: cout<<"\n\nSalir"; x='N';


break;

default: cout<<"\n\nOpción no válida.";


break;
}
}

suma=suma+peso;
n=r1+r2+r3+r4;

cout<<"\n\nEl número total de vacas ingresadas es "<<n;


cout<<"\nla raza Shorton tiene :"<<r1<<" y :"<<p1<<" producen leche";
cout<<"\nla raza Yorkshire tiene :"<<r2<<" y :"<<p2<<" producen leche";
cout<<"\nla raza Holstein tiene :"<<r3<<" y :"<<p3<<" producen leche";
cout<<"\nla raza Hereford tiene :"<<r4<<" y :"<<p4<<" producen leche";
cout<<"\nel peso promedio de las vacas es : "<<suma/n;
cout<<"\nel peso menor es : "<<pmenor;
cout<<"\nel peso mayor es : "<<pmayor;

return 0;
}
CONTROL DE PROCESOS REPETITIVOS.

PROBLEMA 8. ¿Cuál es la salida de los siguientes bucles? Antes de responder piense primero sobre el
papel la respuesta y después compruébelo con el Dev C++.

for (n=10; n>0; n=n-2) for (n=0; n<=12; n++)


{ {
printf (“Hola”); printf (“Hola”);
printf (“%i” \n”, n); printf (“%i” \n”, n);
} }

for (n=1; n<=10; n++)


{
for (m=10; m>=1; m--)
{
printf (%i veces %i = %i \n”, n, m, n*m);
}
}

#include<iostream>

/* PROBLEMA 8. ¿Cuál es la salida de los siguientes bucles? Antes de responder piense primero
sobre el papel la respuesta y después compruébelo con el Dev C++.
*/
using namespace std;

int main (void){


int n;

for(n=10; n>0; n=n-2){

printf("Hola ");
printf("%i \n",n);
}
cout<<"\n\nEl programa imprime (HOLA) seguido de numeros desde 10 hasta 2 con un descenso
de 2";
return 0;
}

#include<iostream>

/* PROBLEMA 8. ¿Cuál es la salida de los siguientes bucles? Antes de responder piense primero
sobre el papel la respuesta y después compruébelo con el Dev C++.
*/
using namespace std;

int main (void){

int n;

for(n=0; n<=12; n++){

printf("Hola ");
printf("%i \n",n);
}
cout<<"\n\nEl programa imprime (HOLA) seguido de numeros desde 0 hasta 10 con un ascenso de 1";
return 0;
}
#include<iostream>

/* PROBLEMA 8. ¿Cuál es la salida de los siguientes bucles? Antes de responder piense primero
sobre el papel la respuesta y después compruébelo con el Dev C++.
*/
using namespace std;

int main (void){

int n,m;

for(n=1; n<=10; n++){

for(m=10; m>=1; m--){

printf("%i veces %i = %i \n",n,m,n*m);


}
}

cout<<"\n\nEl programa imprime una tabla que multiplica numeros (desde 1 hasta 10 con salto de 1) *
(desde 10 hasta 1 con salto de -1)";

return 0;
}
PROBLEMA 9. ¿Qué hace el siguiente bucle while?. Rescríbalo con sentencias for y do-while.

num = 10;
while (num <= 10)
{
printf (“%d \n”, num);
num = num +10;
}

#include<iostream>

/* PROBLEMA 9. ¿Qué hace el siguiente bucle while?. Rescríbalo con sentencias for y do-while.
*/
using namespace std;

int main (void){

int num;

num = 10;
do{

printf("%d \n",num);
num=num + 10;
}while(num <=10);

cout<<"\n\nEl programa imprime un entero que comienza en 10 y avanza de 10 en 10 por la cual


no puede seguir impriendo debido a la condicion";

return 0;
}
#include<iostream>

/* PROBLEMA 9. ¿Qué hace el siguiente bucle while?. Rescríbalo con sentencias for y do-while.
*/
using namespace std;

int main (void){

for(int num=10;num<=10;num=num+10){

printf("%d \n",num);

cout<<"\n\nEl programa imprime un entero que comienza en 10 y avanza de 10 en 10 por la cual


no puede seguir impriendo debido a la condicion";

return 0;
}
#include<iostream>

/* PROBLEMA 9. ¿Qué hace el siguiente bucle while?. Rescríbalo con sentencias for y do-while.
*/
using namespace std;

int main (void){

int num;

num = 10;
while(num <=10){

printf("%d \n",num);
num=num + 10;
}

cout<<"\n\nEl programa imprime un entero que comienza en 10 y avanza de 10 en 10 por la cual no puede
seguir impriendo debido a la condicion";

return 0;
}
PROBLEMA 10. Calcular la suma de las siguientes series:

11 1 1
a) + + +.....
1 2 3 n

1 2 3 4 n
a) 2 + 22 + 23 + 24 +.....+ 2n

donde n es un número entero introducido por teclado.

#include<iostream>
#include<math.h>

/* PROBLEMA 10. Calcular la suma de las siguientes series:

1 1 1 1
a) _ + _ + _ + ... _
1 2 3 n

b) 1 2 3 4 n
_ + _ + _ + _ + ..._
2 2^2 2^3 2^4 2^n

donde n es un número entero introducido por teclado.

*/
using namespace std;

int main (void){

float num,i=1,secuencia=0,division;
cout<<"ingrese un numero : ";
cin>>num;

while(num>=i){

division=(1/i);
secuencia=secuencia+division;
i++;

}
cout<<"\n\nLa suma de la serie a) es : "<<secuencia;

secuencia=0;
division=0;
i=1;

while(num>=i){

division=(i/pow(2,i));
secuencia=secuencia+division;
i++;

}
cout<<"\n\nLa suma de la serie b) es : "<<secuencia;

return 0;
}

PROBLEMA 11. Realice un programa que lea números enteros positivos hasta que se introduzca un 0. El
programa deberá mostrar por pantalla la cantidad de números leídos, la media, así como el valor máximo
introducido.

#include<iostream>
/*
PROBLEMA 11. Realice un programa que lea números enteros positivos hasta que se introduzca un 0.
El programa deberá mostrar por pantalla la cantidad de números leídos, la media, así como el
valor máximo introducido.

*/

using namespace std;

int main( int argc, char** argv){

int n=1,suma,media,cant=0;

while(n>0){

cout<<"\nIngrese un numero : ";


cin>>n;
suma=suma+n;
cant++;

}
media=suma/(cant-1);

cout<<"\n\n la suma de los numeros ingresados es : "<<suma;


cout<<"\n la cantidad de numeros ingresados es : "<<cant-1;
cout<<"\n la media es : "<<media;

return 0;

PROBLEMA 12. Realice un programa que calcule y visualice el más grade, el más pequeño y la media de
n números (n>0). El valor de n se solicitará al principio del programa y los números serán introducidos
por el usuario.
#include<iostream>

/*
PROBLEMA 12. Realice un programa que calcule y visualice el más grade, el más pequeño
y la media de n números (n>0). El valor de n se solicitará al principio del programa
y los números serán introducidos por el usuario.

*/
using namespace std;

int main( int argc, char** argv){

float n,n1,cont=1,mayor=0,menor=1000000,media,suma=0;
cout<<"\nIngrese la cantidad de numeros que desea calcular : ";
cin>>n;

while(n>0){

cout<<"\nIngrese el valor del numero "<<cont<<" : ";


cin>>n1;

cont++;
n--;
if(n1<=menor){
menor=n1;
}
if(n1>=mayor){
mayor=n1;
}
suma=suma+n1;
}
media=suma/(cont-1);
cout<<"\n\nLa media es : "<<media;
cout<<"\nEl numero mayor es : "<<mayor;
cout<<"\nEl numero menor es : "<<menor;

return 0;

}
PROBLEMA 13. Realizar un programa que pida dos números enteros por teclado y muestre por pantalla
el siguiente menú:
MENU
1. Sumar
2. Restar
3. Multiplicar
4. Dividir
5. Salir
Elija opción:

El usuario deberá elegir una opción y el programa deberá mostrar el resultado por pantalla y después
volver al menú. El programa deberá ejecutarse hasta que se elija la opción 5. Salir.

#include<iostream>

/*

PROBLEMA 13. Realizar un programa que pida dos números enteros por teclado y muestre por
pantalla el siguiente menú:

MENU
1. Sumar
2. Restar
3. Multiplicar
4. Dividir
5. Salir

Elija opción:

El usuario deberá elegir una opción y el programa deberá mostrar el resultado por pantalla y
después volver al menú.
El programa deberá ejecutarse hasta que se elija la opción 5. Salir.
*/

using namespace std;

int main( int argc, char** argv){

float a,b,rpta;
int opcion;
char x='S';

cout<<"Ingrese dos numeros : ";


cin>>a>>b;

while(x=='S'){

cout<<"\n\n\t\t MENU \n\n";


cout<<"\t1) Sumar \n\t2) Restar \n\t3) Multiplicar \n\t4) Dividir \n\t5) Salir \n\n";
cout<<"Elija una opcion : ";
cin>>opcion;

switch(opcion){

case 1: cout<<"\n\n\t\t SUMA \n\n"; rpta=a+b;


cout<<"La Suma de "<<a<<" + "<<b<<" = "<<rpta;
break;
case 2: cout<<"\n\n\t\t RESTA \n\n"; rpta=a-b;
cout<<"La Resta de "<<a<<" - "<<b<<" = "<<rpta;
break;
case 3: cout<<"\n\n\t\t MULTIPLICACION \n\n"; rpta=a*b;
cout<<"La Multiplicacion de "<<a<<" * "<<b<<" = "<<rpta;
break;
case 4: cout<<"\n\n\t\t DIVISION \n\n"; rpta=a/b;
cout<<"La Divicion de "<<a<<" / "<<b<<" = "<<rpta;
break;
case 5: cout<<"\n\n\t\t SALIR \n\n";
x='N';
break;
default: cout<<"\n\n\t\t Opcion no valida \n\n";
break;
}

rpta=0;
}
return 0;

}
PROBLEMA 14. Modificar el ejercicio anterior para que al elegir la opción 5, en vez de salir del
programa directamente, nos muestre el siguiente mensaje de confirmación.

MENU
1. Sumar
2. Restar
3. Multiplicar
4. Dividir
5. Salir
Elija opción: 5
¿Desea salir realmente (S/N)?

De modo que si pulsamos el carácter ‘s’ salgamos del programa, pero si pulsamos el carácter ‘n’,
volvamos al menú.

#include<iostream>

/*

PROBLEMA 14. Modificar el ejercicio anterior para que al elegir la opción 5, en vez de salir del
programa
directamente, nos muestre el siguiente mensaje de confirmación.

MENU
1. Sumar
2. Restar
3. Multiplicar
4. Dividir
5. Salir

Elija opción:
De modo que si pulsamos el carácter 's' salgamos del programa, pero si pulsamos el carácter 'n',
volvamos al menú.

*/

using namespace std;

int main( int argc, char** argv){

float a,b,rpta;
int opcion;
char x='N';

cout<<"Ingrese dos numeros : ";


cin>>a>>b;

while(x=='N'){

cout<<"\n\n\t\t MENU \n\n";


cout<<"\t1) Sumar \n\t2) Restar \n\t3) Multiplicar \n\t4) Dividir \n\t5) Salir \n\n";
cout<<"Elija una opcion : ";
cin>>opcion;

switch(opcion){

case 1: cout<<"\n\n\t\t SUMA \n\n"; rpta=a+b;


cout<<"La Suma de "<<a<<" + "<<b<<" = "<<rpta;
break;
case 2: cout<<"\n\n\t\t RESTA \n\n"; rpta=a-b;
cout<<"La Resta de "<<a<<" - "<<b<<" = "<<rpta;
break;
case 3: cout<<"\n\n\t\t MULTIPLICACION \n\n"; rpta=a*b;
cout<<"La Multiplicacion de "<<a<<" * "<<b<<" = "<<rpta;
break;
case 4: cout<<"\n\n\t\t DIVISION \n\n"; rpta=a/b;
cout<<"La Divicion de "<<a<<" / "<<b<<" = "<<rpta;
break;
case 5: cout<<"\n\n\t\t SALIR \n\n";
cout<<"Desea salir realmente (S/N) : ";
cin>>x;
if(x=='n'){ x='N';}

break;
default: cout<<"\n\n\t\t Opcion no valida \n\n";
break;
}

rpta=0;
}
return 0;

}
PROBLEMA 15. Realice un programa que determine si un número leído del teclado es primo o no.

#include<iostream>

/*

PROBLEMA 15. Realice un programa que determine si un número leído del teclado es primo o no.

*/

using namespace std;

int main( int argc, char** argv){

int n,i,a=0;

cout<<"Ingrese un numero : ";


cin>>n;

for(i=1;i<=n;i++){
if(n%i==0){
a++;
}
}

if(a==2){
cout<<"\n\nEl numero "<<n<<" es primo";
}
else{
cout<<"\n\nEl numero "<<n<<" no es primo";
}

return 0;
}
PROBLEMA 16. Un número perfecto es un entero positivo, que es igual a la suma de todos los enteros
positivos (excluido él mismo) que son divisores del número. El primer número perfecto es 6, ya que los
divisores de 6 son 1, 2, 3 y 1 + 2 + 3 = 6. Escriba un programa que lea un número entero positivo n y
muestre por pantalla si ese número es o no perfecto.

#include<iostream>

/*
PROBLEMA 16. Un número perfecto es un entero positivo, que es igual a la suma de todos los
enteros positivos
(excluido él mismo) que son divisores del número. El primer número perfecto es 6, ya que los
divisores de
6 son 1, 2, 3 y 1 + 2 + 3 = 6. Escriba un programa que lea un número entero positivo n y muestre
por
pantalla si ese número es o no perfecto.

*/

using namespace std;

int main( int argc, char** argv){

int n,i,suma=0;

cout<<"\nIngrese un numero : ";


cin>>n;
for(i=1;i<n;i++){
if(n%i==0){
suma=suma+i;
}
}
if(suma==n){
cout<<"\n\n"<<n<<" es perfecto";
}
else{
cout<<"\n\n"<<n<<" no es perfecto";
}
return 0;

PROBLEMA 17. Que pase de Kg a otra unidad de medida de masa, mostrar en pantalla un menú con las opciones
posibles.

#include<iostream>

/*
PROBLEMA 17. Que pase de Kg a otra unidad de medida de masa, mostrar en pantalla un menú con las
opciones posibles.

*/
using namespace std;
int main(){
setlocale(LC_CTYPE,"Spanish");
int opcion;
float peso;

printf("Introduzca peso en kilogramos : ");


scanf("%d",&peso);

printf("\n\nSeleccione opción:\n");
printf("\n\n1 - Hectogramos\n");
printf("2 - Decagramos\n");
printf("3 - Gramos\n");
printf("4 - Decigramos\n");
printf("5 - Centigramos\n");
printf("6 - Miligramos\n\n");
scanf("%d",&opcion);

switch (opcion)
{
case 1:
cout<<"\n\nEl peso es : "<<peso/10;
break;
case 2:
cout<<"\n\nEl peso es : "<<peso/100;
break;
case 3:
cout<<"\n\nEl peso es : "<<peso/1000;
break;
case 4:
cout<<"\n\nEl peso es :"<<peso/10000;
break;
case 5:
cout<<"\n\nEl peso es : "<<peso/100000;
break;
case 6:
cout<<"\n\nEl peso es : "<<peso/1000000;
break;
default:
printf("Opción no válida.");
break;
}

return 0;
}

PROBLEMA 18. Realice un programa que lea un número entero por teclado y devuelva por pantalla el
número de dígitos que componen ese número. Por ejemplo, si introducimos el número 12334, el
programa deberá devolver 5.
(Pista: utilice el operador %, averigüe para qué sirve y piense cómo utilizarlo).
#include<iostream>

/*
PROBLEMA 18. Realice un programa que lea un número entero por teclado y devuelva por
pantalla el número de dígitos que componen ese número. Por ejemplo, si introducimos el
número 12334, el programa deberá devolver 5.
*/

using namespace std;

int main( int argc, char** argv){

int n,i=0,x=1,y=10,a;

cout<<"Ingrese un numero entero : ";


cin>>n;

cout<<"\n\n";
if(n<0){
n=n*(-1);
cout<<"-";
}
if(n==0 || n<10){
cout<<n<<" tiene "<<x<<" cifra";
}
else{

while(n>=i){

a=i%y;

if(a==0){
y=y*10;
x++;
}
if(i==n){
cout<<n<<" tiene "<<x<<" cifras";
}
i++;
}
}
return 0;
}

PROBLEMA 19. Realice un programa que lea un número entero por teclado y devuelva por pantalla las
que forman ese número. Por ejemplo, si se introduce el número 2345, el programa deberá mostrar por
pantalla 5 – 4 – 3 – 2.
(Pista: utilice el ejercicio anterior como base para realizar este ejercicio).

#include<iostream>

/*
PROBLEMA 19. Realice un programa que lea un número entero por teclado y devuelva por pantalla las
que forman ese número.
Por ejemplo, si se introduce el número 2345, el programa deberá mostrar por pantalla 5 - 4 - 3 - 2.
(Pista: utilice el ejercicio anterior como base para realizar este ejercicio).

#include<iostream>

/*
PROBLEMA 19. Realice un programa que lea un número entero por teclado y devuelva por
pantalla las que forman ese número.
Por ejemplo, si se introduce el número 2345, el programa deberá mostrar por pantalla 5 - 4 -
3 - 2.
(Pista: utilice el ejercicio anterior como base para realizar este ejercicio).

*/

using namespace std;

int main( int argc, char** argv){

int n,x=0,a,b=10,n1,a1,i=0,y=10,x1=1;

cout<<"Ingrese un numero entero : ";


cin>>n;

n1=n;
cout<<"\n\n";

while(n1>=i){
a1=i%y;

if(a1==0){
y=y*10;
x1++;
}
i++;
}
if(n<=9){
x=1;
}
while(x<x1){

y=y/10;
a=n%10;
n=n/10;

cout<<a;

if(n1>=b){
cout<<" - ";
b=b*10;
}
x++;
}

return 0;

PROBLEMA 20. Realizar un programa que imprima las letras desde la ‘A’ hasta la ‘Z’.

Ejemplo:

ABCDEFGHIJKLMNOPQRSTUVWXYZ

#include<iostream>

/*
PROBLEMA 20. Realizar un programa que imprima las letras desde la 'A' hasta la 'Z'.

Ejemplo:

ABCDEFGHIJKLMNOPQRSTUVWXYZ

*/

using namespace std;

int main( int argc, char** argv){

char i ;

for(i='A';i<'Z';i++){
cout<<i;
}
return 0;

PROBLEMA 21. Realizar un programa que imprima las letras desde la ‘A’ hasta la ‘Z’ en diagonal.

Ejemplo:

A
B
C
D

Z

#include<iostream>

/*
PROBLEMA 21. Realizar un programa que imprima las letras desde la 'A' hasta la 'Z' en diagonal.

Ejemplo:

A
B
C
D

Z
*/

using namespace std;

int main( int argc, char** argv){


char i;
int cont=1,n=1;
cout<<endl;
for(i='A';i<='Z';i++){
cout<<i<<endl;

while(cont<=n){
cout<<" ";
cont++;
}
cont=1;
n++;
}

return 0;
}

PROBLEMA 22. Realice un programa que pida al usuario un número N y muestre un árbol centrado
desde 1 hasta N

Ejemplo de árbol centrado para N = 2


1
12

Ejemplo de árbol centrado para N = 5


1
12
123
1234
12345
#include<iostream>

using namespace std;


/* PROBLEMA 22. Realice un programa que pida al usuario un número N y muestre un árbol
centrado desde 1 hasta N

Ejemplo de árbol centrado para N = 2


1
12

Ejemplo de árbol centrado para N = 5


1
12
123
1234
12345
*/
int main(){
int n,x,a,y=1;

cout<<"Ingrese un numero : ";


cin>>n;

cout<<"\n";
for(x=0;x<n;x++){
for(a=n;y<=a;a--){
cout<<" ";
}
for(a=1;y>=a;a++){
cout<<a;
cout<<" ";
}
cout<<endl;
y++;
}

return 0;
}
PROBLEMA 23. Dado el nombre, día de la semana (0=domingo, 1=lunes, 2=martes, etc.), número de
horas diurnas y número de horas nocturnas trabajadas de un grupo de trabajadores, tomando en cuenta
que:
• La tarifa de las horas diurnas es de Bs. 10000
• La tarifa de horas nocturnas es de Bs. 25000
• En caso de ser Domingo la tarifa se incrementará en Bs. 5000 el turno diurno y Bs. 7500 el
turno nocturno Desarrolle un programa que determine e imprima:
1) Para cada trabajador, el monto a cobrar por concepto de salario
2) Nombre del primer trabajador cuyas horas nocturnas son mayores que las diurnas
3) Nombre del trabajador y día de la semana con mayor salario.
4) Promedio de horas de los trabajadores que laboraron el día domingo.

#include<iostream>

/*

PROBLEMA 23. Dado el nombre, día de la semana (0=domingo, 1=lunes, 2=martes, etc.), número de horas
diurnas y número de horas
nocturnas trabajadas de un grupo de trabajadores, tomando en cuenta que:

o La tarifa de las horas diurnas es de Bs. 10000


o La tarifa de horas nocturnas es de Bs. 25000
o En caso de ser Domingo la tarifa se incrementará en Bs. 5000 el turno diurno y Bs. 7500 el turno
nocturno Desarrolle un programa que determine e imprima:

1) Para cada trabajador, el monto a cobrar por concepto de salario


2) Nombre del primer trabajador cuyas horas nocturnas son mayores que las diurnas
3) Nombre del trabajador y día de la semana con mayor salario.
4) Promedio de horas de los trabajadores que laboraron el día domingo.

*/

using namespace std;

int main( int argc, char** argv){


setlocale(LC_CTYPE,"Spanish");
int DS,HD,HN,MDia;
int C1=0,S1=0,Bandera1=0,Bandera2=0;
float Mayor,Pro,MT;
string Nombre,MNombre,PNombre;
char cent='N';

while(cent=='N'){

cout<<"Nombre del empleado : ";


cin>>Nombre;

cout<<"\nDia de la Semana (0=Do , 1=Lu , 2=Ma , 3=Mi , 4=Ju, 5=Vi , 6=Sa) : ";
cin>>DS;

cout<<"\nHor: Diurn: :";


cin>>HD;

cout<<"\nHor: Nocturnas : ";


cin>>HN;

if(DS==0){

MT = HD * 15000 + HN * 32500;
S1 = S1 + HD + HN;
C1++;

}
else{
MT = HD * 10000 + HN * 25000;
}

cout<<endl<<Nombre<<" : "<<MT;

if(HN>HD){
if(Bandera1==0){
PNombre = Nombre;
Bandera1 = 1;
}
}
if(Bandera2==0){

Mayor = MT;
MNombre = Nombre;
MDia = DS;
Bandera2 = 1;
}
else{
if(MT>Mayor){
Mayor = MT;
MNombre = Nombre;
MDia = DS;
}
}
cout<<"\n\nUltimo Candidato (S/N) ? ";
cin>>cent;
cout<<"\n\n";
}
if(Bandera1==0){
cout<<"\n\nNo hubo trabajadores con HN > HD ";
}
else{
cout<<"\n\nNombre del primer trabajador con HN > HD : "<<PNombre;
}
cout<<"\nNombre de la persona con mayor salario : "<<MNombre;
cout<<"\nDia de la semana donde gano el mayor salario : "<<MDia;

if(C1==0){
cout<<"\nNo hubo trabajadores en Domingo";
}
else{
Pro = S1 / C1;
cout<<"\n\nPromedio de horas los domingos : "<<Pro;
}
return 0;

PROBLEMA 24. Para ser admitidos en el Club MENSA los candidatos deben aprobar un test de inteligencia con
un puntaje de 74 puntos como mínimo. Los nombres de los candidatos y los resultados son suministrados a una
computadora. Elabore un programa que procese la información y determine lo siguiente:

1) Cuántos candidatos aprobaron el test


2) Porcentaje de candidatos que no aprobaron el test
3) Cuál fue el mayor puntaje
4) Cuál fue el menor puntaje
5) Cuántos candidatos aprobaron con un puntaje entre 80 y 100 puntos

#include<iostream>

/*

PROBLEMA 24. Para ser admitidos en el Club MENSA los candidatos deben aprobar un test de inteligencia
con un puntaje de 74
puntos como mínimo. Los nombres de los candidatos y los resultados son suministrados a una computadora.
Elabore un programa que procese la información y determine lo siguiente:

1) Cuántos candidatos aprobaron el test


2) Porcentaje de candidatos que no aprobaron el test
3) Cuál fue el mayor puntaje
4) Cuál fue el menor puntaje
5) Cuántos candidatos aprobaron con un puntaje entre 80 y 100 puntos

*/

using namespace std;

int main( int argc, char** argv){


setlocale(LC_CTYPE,"Spanish");

int Puntos,mayor,menor;
int C1=0,C2=0,C3=0,Bandera1=0,Bandera2=0,C4=0;
float por;
string Nombre,Mnombre;
char cent='N';

while(cent=='N'){

cout<<"Nombre : ";
cin>>Nombre;

cout<<"\nPuntos obtenidos : ";


cin>>Puntos;

if(Puntos>= 74){
C1++;
if(Puntos >=80 && Puntos<=100){
C4++;
}
}
else{
C2++;
}
C3++;
if(Bandera1==0){
mayor=Puntos;
Bandera1=1;
}
else{
if(Puntos>mayor){
mayor=Puntos;
}
}

if(Bandera2==0){
menor=Puntos;
Bandera1=1;
}
else{
if(Puntos<menor){
menor=Puntos;
}
}

cout<<"\n\nUltimo Candidato (S/N) ? ";


cin>>cent;
cout<<"\n\n";
}

cout<<"\n\nPorcentaje de Candidatos reprobados : "<<por;


cout<<"\nMayor Puntaje : "<<mayor;
cout<<"\nMenor Puntaje : "<<menor;
cout<<"\nCantidad de Candidatos con Puntos entre [80 & 100] : "<<C4;
return 0;

PROBLEMA 25. Se tiene la siguiente información relacionada a los empleados de una empresa:
nombre del empleado
Sexo: 0 = femenino, 1 = masculino
departamento: 1= compras, 2= contabilidad, 3= control de calidad, 4= ingeniería
edad
tiempo en años que tiene trabajando en la empresa

Elabore un programa que determine lo siguiente:

1) Promedio de edad de las mujeres.


2) Promedio del tiempo trabajando para la empresa del personal mayor de 40 años.
3) Nombre y edad de la persona con mayor tiempo trabajando en la empresa.
4) Porcentaje de mujeres que trabajan en el departamento de contabilidad.

#include<iostream>
#include<string>
#include <clocale>

/*
PROBLEMA 25. Se tiene la siguiente información relacionada a los empleados de una empresa:
nombre del empleado
Sexo: 0 = femenino, 1 = masculino
departamento: 1= compras, 2= contabilidad, 3= control de calidad, 4= ingeniería
edad
tiempo en años que tiene trabajando en la empresa

Elabore un programa que determine lo siguiente:

1) Promedio de edad de las mujeres.


2) Promedio del tiempo trabajando para la empresa del personal mayor de 40 años.
3) Nombre y edad de la persona con mayor tiempo trabajando en la empresa.
4) Porcentaje de mujeres que trabajan en el departamento de contabilidad.

*/

using namespace std;

int main( int argc, char** argv){


setlocale(LC_CTYPE,"Spanish");

int S1=0,C1=0,S2=0,C2=0,C3=0,C4=0,mayor;
int sexo, dpto, edad, TT,bandera=0,Medad;
float pro1,pro2,por;
string Nombre,Mnombre;
char cent='N';

while(cent=='N'){

cout<<"Nombre de la Persona : ";


cin>>Nombre;

cout<<"\nSexo (0=Femenino , 1=Masculino) : ";


cin>>sexo;

cout<<"\nDepartamento (1=compras , 2=contabilidad ,3=control de calidad ,4=ingenieria) : ";


cin>>dpto;

cout<<"\n Edad : ";


cin>>edad;
cout<<"\nTiempo en años trabajado en la empresa : ";
cin>>TT;

if(sexo==0){
S1 = S1 + edad;
C1 = C1++;
if(dpto==2){
C3++;
}
}

C4 = C4 + 1;

if(edad>40){
S2 = S2 + TT;
C2++;
}

if(bandera==0){
mayor = TT;
Mnombre = Nombre;
Medad = edad;
bandera = 1;
}
else{
if(TT>mayor){
mayor=TT;
Mnombre=Nombre;
Medad=edad;
}
}

cout<<"\n\nUltimo Trabajador (S/N) ? ";


cin>>cent;
cout<<"\n\n";
}

if(C1==0){
cout<<"\n\nNo hubo empleadas a quienes calcular el promedio de la edad ";
}
else{
pro1 = S1 / C1;
cout<<"\nPromedio de Edad de las Mujeres : "<<pro1;
}
if(C2==0){
cout<<"\nNo Hubo empleados mayores de 40 años para el promedio";
}
else{
pro1 = S2 / C2;
cout<<"\nPromedio de tiempo trabajado de aquellos con edad > 40 : "<<pro2;
}

cout<<"\nNombre del empleado con mayor tiempo trabajado : "<<Mnombre;


cout<<"\nEdad del empleado con mayor tiempo trabajado : "<<Medad;
por = C3 / C4 * 100;
cout<<"\nPorcentaje de mujeres que trabajan en contabilidad : "<<por;
return 0;

}
PROBLEMA 26. Realice un programa que calcule el producto n! (n-1)!...3!*2!*1!

#include<iostream>

/*
PROBLEMA 26. Realice un programa que calcule el producto n! (n-1)!...3!*2!*1!

*/

using namespace std;

int main( int argc, char** argv){

float n,producto=1,fac=1;

cout<<"ingrese un numero : ";


cin>>n;
cout<<"\n\n";
while(n>0){

for(int c=1;c<=n;c++){
fac=fac*c;
}
cout<<n<<"!";
if(n>=2){ cout<<" * ";}

producto=producto*fac;
fac=1;
n--;

cout<<" = "<<producto;
return 0;

PROBLEMA 27. Obtener los dígitos de un número ingresado por teclado, ejemplo 100, tiene 3 dígitos.

#include<iostream>

/* PROBLEMA 27. Obtener los dígitos de un número ingresado por teclado, ejemplo
100, tiene 3 dígitos.*/

using namespace std;

int main( int argc, char** argv){

int n,i=0,x=1,y=10;

cout<<"Ingrese un numero entero : ";


cin>>n;

cout<<"\n\n";
if(n<0){
n=n*(-1);
cout<<"-";
}

while(n>=i){

if(n>=y){
y=y*10;
x++;
}
if(i==n){
cout<<n<<" tiene "<<x<<" cifras";
}
i++;
}

return 0;

(WHILE Y DO-WHILE)

PROBLEMA 28. Hallar la sumatoria de:   2! + 4! + 6! + 8! + ...

#include<iostream>

/*
PROBLEMA 28. Hallar la sumatoria de: 2! + 4! + 6! + 8! + ...

*/

using namespace std;

int main( int argc, char** argv){

int n,serie=2,suma=0,i=1,c=1,fac=1;

cout<<"Ingrese la cantidad que desea sumar : ";


cin>>n;

do{

while(c<=serie){
fac=fac*c;
c++;
}
cout<<serie<<"! ";
if(n>=2 && n>=i+1){
cout<<" + ";
}

suma=suma+fac;
serie=serie+2;
i++;
c=1;
fac=1;
}while(i<=n);

cout<<" = "<<suma;

return 0;
}

PROBLEMA 29. Generar la serie: 1, 5, 3, 7, 5, 9, 7, ..., 23

#include<iostream>

/*
PROBLEMA 29. Generar la serie: 1, 5, 3, 7, 5, 9, 7, ..., 23

*/

using namespace std;

int main( int argc, char** argv){

int serie=1,a=0,b=1;

cout<<serie<<" ";
do{
if(a==0){
serie+=4;
a=1;
cout<<serie<<" ";
}
else{
serie-=2;
a=0;
cout<<serie<<" ";
}
}while(serie<23);

return 0;

}
PROBLEMA 30. Generar 5,10,15,20,25,30, 35…n.

#include<iostream>

/*
PROBLEMA 30. Generar 5,10,15,20,25,30, 35…n.

*/

using namespace std;

int main( int argc, char** argv){

int n,c=1,serie=5;

cout<<"Ingrese un numero : ";


cin>>n;

while(c<=n){
cout<<serie<<" ";
serie+=5;
c++;
}

return 0;

}
PROBLEMA 31. Si n=7 generar 7,6,5,4,3,2,1.

#include<iostream>

/*
PROBLEMA 31. Si n=7 generar 7,6,5,4,3,2,1.

*/

using namespace std;

int main( int argc, char** argv){

int n,c=1,serie;

cout<<"Ingrese un numero : ";


cin>>n;
serie=n;

while(c<=n){
cout<<serie<<" ";
serie--;
c++;
}

return 0;

}
PROBLEMA 32. Determine el resultado de la siguiente serie, considerando que el denominador no debe exceder
de 100: ¾ - 7/8 + 15/16 -31/32 + ……

#include<iostream>

/*
PROBLEMA 32. Determine el resultado de la siguiente serie, considerando que el
denominador no debe exceder de 100: 3/4- 7/8 + 15/16 -31/32 + ……

*/

using namespace std;

int main( int argc, char** argv){

float num1=4,num2=8,rpta=0,suma=0,a=1;

while(num2<60){

cout<<num1-1<<"/"<<num1<<" - "<<num2-1<<"/"<<num2;

num2=num2*2;
num1=num1*2;

rpta=((num1-1)/num1)-((num2-1)/num2);
suma=suma+rpta;

if(a<2){
cout<<" + ";
}
num2=num2*2;
num1=num1*2;
a++;

cout<<" = "<<rpta;
return 0;

PROBLEMA 33. Escriba un programa que, para cualquier entero positivo n, dé una lista de todos los enteros
positivos primos menores o iguales que n.

#include<iostream>

/*
PROBLEMA 33. Escriba un programa que, para cualquier entero positivo n, dé una lista de
todos los enteros positivos primos menores o iguales que n.

*/

using namespace std;

int main( int argc, char** argv){

int n,i,a,cont=1;

cout<<"Ingrese un numero : ";


cin>>n;

while(cont<n){
a=0;

for(i=1;i<=cont;i++){
if(cont%i==0){
a++;
}
}
if(a==2){
cout<<cont<<" ";
}
cont++;
}

return 0;
}

PROBLEMA 34. Recibe un número entero y retorne su factorial.

#include<iostream>

/*
PROBLEMA 34. Recibe un número entero y retorne su factorial.

*/

using namespace std;

int main( int argc, char** argv){

int n,fac=1;

cout<<"Ingrese un numero : ";


cin>>n;

for(int c=1;c<=n;c++){
fac=fac*c;
}

cout<<"\n\nEl factorial del numero "<<n<<" es : "<<fac;

return 0;

}
PROBLEMA 35. Recibe un número entero y retorne un nuevo número con sus cifras invertidas.

#include<iostream>

/*
PROBLEMA 35. Recibe un número entero y retorne un nuevo número con sus cifras invertidas.

*/

using namespace std;

int main( int argc, char** argv){

int n,x=0,a,b=10,n1,a1,i=0,y=10,x1=1;

cout<<"Ingrese un numero entero : ";


cin>>n;

n1=n;
cout<<"\n\n";

while(n1>=i){
a1=i%y;

if(a1==0){
y=y*10;
x1++;
}
i++;
}
if(n<=9){
x=1;
}
while(x<x1){

y=y/10;
a=n%10;
n=n/10;

cout<<a;
x++;
}

return 0;

PROBLEMA 36. Recibe dos números enteros, el primero representa un número y el segundo representa la base de
numeración. El método debe retornar el número expresado en dicha base de numeración.

#include<iostream>

/*
PROBLEMA 36. Recibe dos números, el primero representa un número y el segundo representa
la base de numeración. El método debe retornar el número expresado en dicha base de numeración.

*/

using namespace std;

int main( int argc, char** argv){

float n,n1,var=1;
float rp=0;

cout<<"Ingrese el primer numero : ";


cin>>n;
cout<<"\n\nIngrese el segundo numero : ";
cin>>n1;

cout<<"\n\nserie = ";
while(n1<=100){
cout<<"("<<var<<")"<<n<<"/"<<n1<<" + ";
rp=rp+var*(n/n1);

if(var==1){
var--;
}
else{
var=1;
}
n=n+n1;
n1=n1*2;
}

cout<<"\n\n La respuesta es : "<<rp;

return 0;

PROBLEMA 37. Recibe dos números enteros y retorna su máximo común divisor.

#include<iostream>

/*
PROBLEMA 37. Recibe dos números enteros y retorna su máximo común divisor.

*/

using namespace std;

int main( int argc, char** argv){

int n,n1,c,D,d,r;

cout<<"Ingrese el primer numero : ";


cin>>n;
cout<<"\n\nIngrese el segundo numero : ";
cin>>n1;

if(n==0 || n1==0){
cout<<"\n\nel cero no es factor de ningun numero";
}
else{
if(n>n1){
D=n;
d=n1;
}
else{
D=n1;
d=n;
}
c=D/d;
r=D%d;
while(r!=0){
D=d;
d=r;
c=D/d;
r=D%d;
}
}

cout<<"\n\nMCD("<<n<<","<<n1<<") = "<<d;

return 0;

PROBLEMA 38. Recibe un número entero y retorna el mayor número posible que se pueda formar con sus cifras.
Por ejemplo. Recibe 2009, debe retornar 9200.

#include<iostream>
/*
PROBLEMA 38. Recibe un número entero y retorna el mayor número posible que se pueda formar
con sus cifras. Por ejemplo. Recibe 2009, debe retornar 9200.

*/

using namespace std;

int main( int argc, char** argv){

int n,i=0,a,x=0,z=10,m=0,z1,mayor=0,mayor1=0;
int oep;

cout<<"ingrese un numero : ";


cin>>n;

while(i<n){
if(n>=z){
z=z*10;
m++;
}
i++;
}

z=z/10; z1=z;

for(int c=0;c<=m;c++){

while(x<=m){

a=n/z; a=a%10;

if(mayor<=a){
mayor=a;
oep=z;
mayor1=mayor;
}
z=z/10;
x++;
}
n=n-(oep*mayor);
z=z1; x=0; oep=0; mayor=0;
cout<<mayor1;
}

return 0;
}

Nota
 Los problemas serán resueltos con Diagramas de Flujo de cada uno de los problemas.
 El desarrollo será en forma global en (DEV C/C++.)
 Los trabajos se realizarán de forma individual.
 Se entregarán grabado en CD e impreso.
 La fecha de entrega será el día viernes 15 de diciembre del presente.
 La exposición individual con respecto a los problemas se realizará el día 16 de diciembre a horas 11:00 am
del presente.
 Las fechas son improrrogables.

UNDAC diciembre - 2020

El Docente.

También podría gustarte