You are on page 1of 8

Universidad Nacional Mayor de San Marcos

Examen Final Lenguaje de Programacin



Nombre: __________________________________________________________________________


1. Construir un programa que muestre por pantalla una serie de n nmeros. Donde el valor de n deber
ser ingresado, adems mostrar la suma de los dgitos pares e impares y la respectiva serie que lo
genero. (3 puntos)
ej
1
3
5
-
9
SOL
#include <iostream.h>
#include <conio.h>

int main()
{
int n, p=0, m=0, i, k=0, l=0;
int s[n], par[n], imp[n];

cout<<"ingrese la cantidad de numeros deseados: ";
cin>>n;

for(i=0;i<=n;i++)
{cout<<"Ingrese el "<<i+1<<" numero: ";
cin>>s[i];
if(s[i]%2==0)
{par[k]=s[i];
k++;}
if(s[i]%2!=0)
{imp[l]=s[i];
l++;}
}
cout<<"Los numero pares dentro de la serie son: ";
for(i=0;i<=k-1;i++)
{ cout<<par[i]<<" ";
p=p+par[i];}
cout<<endl<<"La suma de los numeros pares es: "<<p;

cout<<"Los numero impares dentro de la serie son: ";
for(i=0;i<=l-1;i++)
{ cout<<imp[i]<<" ";
m=m+imp[i];}
cout<<endl<<"La suma de los numeros pares es: "<<m;

getch();
return 0;
}

2. En una tienda de artculos para caballeros al final del da se carga en la computadora las boletas que
confeccionaron los distintos vendedores para saber cunto fue la comisin del da de cada uno de
ellos. Los datos que se ingresan (por boleta) son: el nmero de vendedor y el importe. Cuando no hay
ms boletas para cargar se ingresa 0. Teniendo en cuenta que el negocio tiene 3 vendedores y que el
porcentaje sobre las ventas es del 5%, indicar cunto gan cada vendedor en el da. (4 puntos)

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

int main()
{ int ven, bol;
double mon, gan1, gan2, gan3, ven1=0, ven2=0, ven3=0,;

cout<<"En estos momentos debe ingresar las boletas del dia indicando el numero del vendedor (1,2 o
3) y el monto."<<endl<<endl;

do{
cout<<"Ingrese el numero del vendedor: ";
cin>>ven;

cout<<"Ingrese el monto de venta: ";
cin>>mon;

switch(ven)
{ case 1:
ven1=ven1+mon;
break;
case 2:
ven2=ven2+mon;
break;
case 3:
ven3=ven3+mon;
break;
default:
cout<<"El vendedor no existe"<<endl;


}
cout<<"Desea ingresar otra boleta? (escribir 0 si no tiene mas boletas)";
cin>>bol;

}while(bol!=0);

gan1=0.05*ven1;
gan2=0.05*ven2;
gan3=0.05*ven3;

cout<<"El vendedor 1 gano durante el dia: S/."<<gan1<<endl;
cout<<"El vendedor 2 gano durante el dia: S/."<<gan2<<endl;
cout<<"El vendedor 3 gano durante el dia: S/."<<gan3<<endl;

getch();
return 0;
}

3. El equipo Cienciano del Cusco est realizando una de sus mejores temporadas, se solicita que cree un
algoritmo que almacene en una matriz de orden 20x2 los resultados de cada uno de los juegos. La
columna 0 contiene la cantidad de goles realizados por El Cienciano y la columna 1 contiene los
goles realzados por su oponente en ese juego. Determine el promedio de goles anotados y recibidas
durante toda la temporada, cuantos partidos se ganaron y cuantos se perdieron. (4 puntos)
#include <iostream.h>
#include <conio.h>

int main()
{ int elpapa[20][2], i, gan=0, per=0, fav=0, cont=0;
double promfav, promcon;
cout<<"Ingrese todos los resultados (Si ingresa cualquier caracter no numerico en los
resultados el programa no funcionara"<<endl;

for(i=0;i<=19;i++)
{ cout<<"Partido numero "<<i+1<<endl;
cout<<"Goles a favor: ";
cin>>elpapa[i][0];
cout<<"Goles en contra: ";
cin>>elpapa[i][1];
if(elpapa[i][0]>elpapa[i][1])
gan=gan+1;
if(elpapa[i][0]<elpapa[i][1])
per=per+1;

}

for(i=0;i<=19;i++)
{ fav=fav+elpapa[i][0];
cont=cont+elpapa[i][1];
}

promfav=fav/20;
promcon=cont/20;
cout<<"Promedio de goles a favor: "<<promfav<<endl;
cout<<"Promedio de goles en contra: "<<promcon<<endl;
cout<<"Partidos ganados: "<<gan<<endl;
cout<<"Partidos perdidos: "<<per<<endl;

getch();
return 0;
}

4. La fecha de Pascua corresponde al primer domingo despus de la primera luna llena que sigue al
equinoccio de primavera, y se calcula con las siguientes expresiones:

A = residuo ( ao / 19 )
B = residuo ( ao / 4 )
C = residuo ( ao / 7 )
D = residuo ( (19*A+24) / 30 )
E = residuo ( (2*B + 4*C + 6*D + 5) / 7)
N = (22 + D + E)

En el que N indica el nmero del da de marzo (o Abril si N > 31) correspondiente al domingo de
Pascua. Realizar un programa que calcule esa fecha para los aos 2014 y 2015. (4 puntos)
#include <iostream.h>
#include <conio.h>

int main()
{
int year, A, B, C, D, E, N;
cout<<"Ingrese el ao: ";
cin>>year;

A=year%19;
B=year%4;
C=year%7;
D=(19*A+24)%30;
E=(2*B+4*C+6*D+5)%7;
N=22+D+E;

if(N<=31)
cout<<"La fecha de pascuas para el anho "<<year<<" es: "<<N<<" de Marzo";

else
cout<<"La fecha de pascuas para el anho "<<year<<" es: "<<N-31<<" de Abril";

getch();
return 0;
}


5. Con funciones, ingresar 20 nmeros enteros que pueden estar en un rango de valores entre -100 y
100, se debe validar los valores ingresados. Terminado el ingreso mostrar el valor mnimo, el
mximo y el promedio. (4 puntos)
#include <iostream.h>
#include <conio.h>

double rango(double n)
{ if(-100<n&&n<100)
return 1;
else
return 0;
}
double prom(double a, double p)
{ double q;
q=0.05*a;
p=p+q;
return p;
}
int main()
{ int i;
double a, b, c, d, n, m, x, p, val, num[20];
double prome;
cout<<"Ud va ha ingresar 20 numeros entre (si ingresa un caracter no numerico el programa
fallara)"<<endl;

for(i=0;i<=19;i++)
{do{
if(val==0)
{cout<<"Nmero fuera del rango, ingrese otro"<<endl;}
cout<<"Ingrese el "<<i+1<<" numero: ";
cin>>num[i];
val=rango( num[i]);
}while(val!=1);
}
m=-100;
for(i=1;i<=19;i++)
{ a=num[i];
if(a>m)
m=a;}

n=100;
for(i=0;i<=19;i++)
{ b=num[i];
if(b<n)
n=b;
}
p=0;
for(i=0;i<=19;i++)
{ x=num[i];
p=prom(x,p);
}

cout<<endl<<endl<<"El mayor numero es "<<m<<endl;
cout<<"El menor numero es "<<n<<endl;
cout<<"El promedio de los numeros es "<<p;
getch();
return 0;
}

6. "RIPLEY" ha programado su Gran Cierra Puertas por Fiestas Patrias, para lo cual ha diseado una
serie de ofertas con la finalidad de brindar facilidades a sus clientes y a la vez incrementar sus ventas.
Estas ofertas se basan especficamente en un porcentaje de descuento sobre el total de las compras
realizadas y vara de acuerdo al monto. (5.5 puntos)

Por un monto igual o mayor a S/. 500 se descontar el 30%.
Por un monto menor de S/. 500 pero mayor o igual a S/. 200 se descontar 20%.
Por un monto menor de S/. 200 pero mayor o igual a 100 se descontar 10%.

Considere N personas.

Al Final del da deber mostrar LA CANTIDAD DE VENTAS EFECTUADAS, EL TOTAL DE
LAS VENTAS REALIZADAS SIN DESCUENTOS Y EL TOTAL DE LAS VENTAS
REALIZADAS CON DESCUENTOS. (4 puntos)
#include <iostream.h>
#include <conio.h>

int main()
{
int p=0, n, i;
double monto, monto1, sd=0, cd=0, d;

cout<<"Ingrese la cantidad de compras (personas) realizadas: ";
cin>>n;

for(i=0;i<=n-1;i++)
{
cout<<"Ingrese el monto de la compra "<<i+1<<": ";
cin>>monto;
cout<<"Precio sin descuento: "<<monto<<endl;
sd=sd+monto;
if(monto>=500)
d=0.3;
else
{if(monto<500&&monto>=200)
d=0.2;
else
{if(monto<200&&monto>=100)
d=0.1;
else
d=0;}
}
monto1=monto-monto*d;
cd=cd+monto1;
cout<<"Precio con descuento: "<<monto1<<endl;
}
cout<<"Cantidad de compras realizadas: "<<n<<endl;
cout<<"Total de las ventas realizadas sin descuento: "<<sd<<endl;
cout<<"Total de las ventas realizadas con descuento: "<<cd<<endl;
getch();
return 0;
}

7. Desarrollar un algoritmo que solicite el ingreso de 2 matrices (el usuario debe definir las
dimensiones) unas vez ingresadas el usuario debe poder elegir que se desea realizar una suma, resta o
una multiplicacin, finalmente debe mostrar el resultado. (5 puntos)
#include <iostream.h>
#include <conio.h>

int main()
{
cout<<"OPERACIONES CON MATRICES"<<endl;
int n1, m1, n2, m2, e=1;
cout<<"Ingrese las dimensiones de la primera matriz (A): (nxm) "<<endl;
cin>>n1>>m1;

cout<<"Ingrese las dimensiones de la segunda matriz (B): (nxm)"<<endl;
cin>>n2>>m2;

double A[n1][m1], B[n2][m2], ;
int op, i, j, k;
cout<<"Ingrese la primera matriz (A) :"<<endl;
for(i=0;i<=m1-1;i++)
{for(j=0;j<=n1-1;j++)
{cin>>A[j][i];}
}
cout<<"Matriz A"<<endl;
for(i=0;i<=m1-1;i++)
{for(j=0;j<=n1-1;j++)
{cout<<A[j][i]<<" ";}
cout<<endl;}

cout<<"Ingrese la segunda matriz (B) :"<<endl;
for(i=0;i<=m2-1;i++)
{for(j=0;j<=n2-1;j++)
{cin>>B[j][i];}
}
cout<<"Matriz B"<<endl;
for(i=0;i<=m2-1;i++)
{for(j=0;j<=n2-1;j++)
{cout<<B[j][i]<<" ";}
cout<<endl;}

do{
if(e=0)
cout<<"Opcion erronea, elija una de las 3 opciones mostradas"<<endl;
cout<<"OPERACIONES: "<<endl<<"1. Suma (A+B)"<<endl<<"2. Resta (A-B)"<<endl<<"3.
Resta (B-A)"<<endl<<"4. Multiplicacion"<<endl;
cout<<"Elija una de las operaciones: ";
cin>>op;
switch(op)
{case 1:
if(n1==n2&&m1==m2)
{ double S[n1][m1];
for(i=0;i<=n1-1;i++)
{for(j=0;j<=m1-1;j++)
{S[i][j]=A[i][j]+B[i][j];}
}

for(i=0;i<=m2-1;i++)
{for(j=0;j<=n2-1;j++)
{cout<<S[j][i]<<" ";}
cout<<endl;}

for(i=0;i<=m1-1;i++)
{for(j=0;j<=n1-1;j++)
{cout<<S[j][i]<<" ";}
cout<<endl;}
}
else
cout<<"Las matrices tienen diferentes dimensiones por lo que no se pueden
sumar."<<endl;
break;
case '2':
if(n1==n2&&m1==m2)
{ double R1[n1][m1];
for(i=0;i<=n1-1;i++)
{for(j=0;j<=m1-1;j++)
{R1[i][j]=A[i][j]-B[i][j];}
}
for(i=0;i<=m2-1;i++)
{for(j=0;j<=n2-1;j++)
{cout<<R1[j][i]<<" ";}
cout<<endl;}
for(i=0;i<=m1-1;i++)
{for(j=0;j<=n1-1;j++)
{cout<<R1[j][i]<<" ";}
cout<<endl;}
}

else
cout<<"Las matrices tienen diferentes dimensiones por lo que no se pueden
restar."<<endl;
break;
case 3:
if(n1==n2&&m1==m2)
{ double R2[n1][m1];
for(i=0;i<=n1-1;i++)
{for(j=0;j<=m1-1;j++)
{R2[i][j]=B[i][j]-A[i][j];}
}

for(i=0;i<=m2-1;i++)
{for(j=0;j<=n2-1;j++)
{cout<<R2[j][i]<<" ";}
cout<<endl;}
for(i=0;i<=m1-1;i++)
{for(j=0;j<=n1-1;j++)
{cout<<R2[j][i]<<" ";}
cout<<endl;}
}

else
cout<<"Las matrices tienen diferentes dimensiones por lo que no se pueden
restar."<<endl;
break;
case 4:
if(m1==n2)
{ double M[n1][m2];
for(i=0;i<=m1-1;i++)
{for(j=0;j<=n2-1;j++)
{ M[i][j]=0;
for (k=1;k<=m1;k++)
{M[i][j]=M[i][j]+A[i][k]*B[k][j];
}
}
}
for(i=0;i<=m1-1;i++)
{for(j=0;j<=n1-1;j++)
{cout<<M[j][i]<<" ";}
cout<<endl;}
}
else
cout<<"Las matrices no se pueden multiplicar."<<endl;
break;
default :
e=0;
}
}while(e!=0);
getch();
return 0;
}
pregunta 8.- luego de ingresar dos numeros enteros por
teclado salga los numeros entre ellos de menor a
mayor?cuantos son pares ? cuantos son primos?

#include <iostream.h>
#include <conio.h>
#include <math.h>
int main()
{
int a, b, m, n, p=0, r, pr=0, j, i, ab, res;
cout<<"Ud. va ha ingresar 2 numeros"<<endl;
cout<<"Ingrese el primer numero: ";
cin>>a;
cout<<"Ingrese el segundo numero: ";
cin>>b;

if(a<b)
{m=a;
n=b;}
else
{if(a>b)
{m=b;
m=a;}
else
{m=a;
n=a;}}

cout<<"Los numeros que se encuentran entre los ingresados, en orden de menor a mayor:"<<endl;
for(i=m+1;i<n;i++)
{cout<<i<<" ";
r=0;


if(i>0)
{for(j=1;j<=i;j++)
{res=i%j;
if(res==0)
{r++;}
}

if(r==2)
{pr++;
}}
if(i%2==0)
{p++;}
}

cout<<endl;
cout<<"Entre estos numeros hay "<<p<<" numeros pares"<<endl;
cout<<"Entre estos numeros hay "<<pr<<" numeros primos"<<endl;


getch();
return 0;
}

You might also like