taller de laboratorio 3

18
1. Un banco ha solicitado se diseñe un programa que permita encriptar (se sugiere profundizar sobre el termino encriptar ). la información de las contraseñas (4 números ) digitada por teclado (como un único numero) hasta el servidor principal, utilizando el siguiente criterio, el primer numero se envía de ultimo, el segundo, de penúltimo, el tercer numero pasa a la segunda posición, el último pasa a ser primero: ejemplo. Ejemplo : Sea 7458, se debe enviar como 8547 OJO, el valor debe ser leído en una única variable y debe ser mostrado también como una variable. #include "conio.h" #include "math.h" Ejemplo: Sea 7458, se debe enviar como 8547 #include #include int a,b,c,d; int main { printf("\ningrese el primer numero de su contraseña"); scanf("%d",&a); printf("\ningrese el segundo numero de su contraseña"); scanf("%d",&b); printf("\ningrese el tercero numero de su contraseña"); scanf("%d",&c); printf("\ningrese el cuarto numero de su contraseña"); scanf("%d",&d); printf("\nencriptando contraseña"); printf("\nsu contraseña es:\t",d,c,b,a); syatem("pause"); return 0; } 2. Escribir un programa para calcular la fecha del siguiente día a partir de una fecha digitada desde el teclado por el usuario ( dd, mm, aaaa ) e imprimirla. (tenga en cuenta los años bisiestos.). #include using namespace std; int main() { int d, m, a, dm, t, i; cout << "Ingrese fecha (dd mm aa): "; // años de dos digitos cin >> d >> m >> a; t = 365 * a + ( a - 1 ) / 4; /* dias hasta el ano anterior desde 1900 (ej. 1903, incluye el año 1900, 1901, 1902: 3 anos ). y un dia por cada ano bisiesto, hasta el ano anterior for( i = 1; i 0 && a % 4 == 0 ) dm = 29; else

Upload: dante1980

Post on 30-Nov-2015

210 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Taller de Laboratorio 3

1. Un banco ha solicitado se diseñe un programa que permita encriptar (se sugiere profundizar sobre el termino encriptar ). la información de las contraseñas (4 números ) digitada por teclado (como un único numero) hasta el servidor principal, utilizando el siguiente criterio, el primer numero se envía de ultimo, el segundo, de penúltimo, el tercer numero pasa a la segunda posición, el último pasa a ser primero: ejemplo. Ejemplo: Sea 7458, se debe enviar como 8547 OJO, el valor debe ser leído en una única variable y debe ser mostrado también como una variable.

#include "conio.h" #include "math.h" Ejemplo: Sea 7458, se debe enviar como 8547

#include #include int a,b,c,d; int main { printf("\ningrese el primer numero de su contraseña"); scanf("%d",&a); printf("\ningrese el segundo numero de su contraseña"); scanf("%d",&b); printf("\ningrese el tercero numero de su contraseña"); scanf("%d",&c); printf("\ningrese el cuarto numero de su contraseña"); scanf("%d",&d); printf("\nencriptando contraseña"); printf("\nsu contraseña es:\t",d,c,b,a); syatem("pause"); return 0; }

2. Escribir un programa para calcular la fecha del siguiente día a partir de una fecha digitada desde el teclado por el usuario ( dd, mm, aaaa ) e imprimirla. (tenga en cuenta los años bisiestos.).

#include using namespace std;

int main() { int d, m, a, dm, t, i;

cout << "Ingrese fecha (dd mm aa): "; // años de dos digitos cin >> d >> m >> a;

t = 365 * a + ( a - 1 ) / 4; /* dias hasta el ano anterior desde 1900 (ej. 1903, incluye el año 1900, 1901, 1902: 3 anos ). y un dia por cada ano bisiesto, hasta el ano anterior for( i = 1; i 0 && a % 4 == 0 ) dm = 29; else dm = 28; }

Page 2: Taller de Laboratorio 3

3. Se lee un número de máximo tres dígitos (verifique que efectivamente sea de máximo tres dígitos) y se debe determinar si es un número capicúa, es decir, que leído de izquierda a derecha es igual que leído de derecha a izquierda. Por ejemplo: 727, 343, etc.

#include "iostream.h"

// Retorna la cantidad de digitos que tiene un numero int numeroDigitos(int numero) { int i=1;

while(numero/10!=0) { numero=numero/10; i++; }

return i; }

/* Si "pos" es una poscion invalida, retorna -1, sino Retorna el digito de la posicion "pos" de un numero */

int obtenerDigito(int numero, int pos) { int numDigitos, i, digito;

// Obtenemos el numero de digitos de un numero numDigitos=numeroDigitos(numero);

// Verificamos si "pos" es una posicion invalida if(pos<=0 pos>numDigitos) digito=-1; else { i=1;

Page 3: Taller de Laboratorio 3

4. En una organización se tiene a los empleados agrupados por categoría, los de categoría 1 ganan $20.000, los de categoría 2, $15.000, los de categoría 3, $10.000 y los de categoría 4, $7.500. Se quiere un algoritmo que permita determinar cuanto debe pagarse a un empleado si se conoce el número de horas que trabajó durante el mes y la categoría a la que pertenece. Se sabe que a todos se les descuenta un 7.2% por concepto de salud, y si el salario total devengado (mensual) es menos de 1 ´000.000, se le da un subsidio del 15% sobre su salario mensual (sin descuentos).

#include<stdio.h>#include<stdlib.h>#define DE 7.2int hora,phora,sueldo,des,sub,ca;int main(){printf("\ningrese numero de horas que trabaja");scanf("%d",&hora);printf("\ningreae la categoria a la que pertenece");printf("\nmarque 1 categoria 1");printf("\nmarque 2 categoria 2");printf("\nmarque 3 categoria 3");printf("\nmarque 4 categoria 4");scanf("%d",&ca);if(ca==1){des=(sueldo*DE)/100;sueldo=(hora*20000)-des;if(sueldo<1000000){sub=(15*sueldo)/100;sueldo=sueldo+sub;printf("su sueldo es:%d",sueldo);}}if(ca==2){des=(sueldo*DE)/100;sueldo=(hora*15000)-des;if(sueldo<1000000){sub=(15*sueldo)/100;sueldo=sueldo+sub;printf("su sueldo es:%d",sueldo);}

}if (ca==3){des=(sueldo*DE)/100;sueldo=(hora*10000)-des;if(sueldo<1000000){sub=(15*sueldo)/100;sueldo=sueldo+sub;printf("su sueldo es:%d",sueldo);}}if (ca==4){des=(sueldo*DE)/100;sueldo=(hora*7500)-des;if(sueldo<1000000){sub=(15*sueldo)/100;

Page 4: Taller de Laboratorio 3

sueldo=sueldo+sub;printf("su sueldo es:",sueldo);}}system("pause");return 0;

5. Escriba un programa para calcular si un número es primo o no, recuerde que los números primos son aquellos que solo son divisibles por la unidad y por ellos mismos: ejemplo 5, 11, 17..

#include<stdio.h>#include<stdlib.h>

int main(){long Num,divisor=2; printf("\t Introducir el Numero = ");scanf("%ld",&Num);while(divisor<Num){ while( Num % divisor != 0)divisor=divisor+1;if(Num== divisor) printf("t %ld es PRIMO n",Num); elseprintf("t%ld NO es PRIMO ,pues ES multiplo de %ld n",Num,divisor); break;}system("pause");return 0;

6. Lea los valores de los lados de un triángulo. Detecte y muestre un mensaje correspondiente a su tipo (EQUILÁTERO, ISÓSCELES, O ESCALENO)

#include<iostream>#include<cmath>#include<stdlib.h>using namespace std;int a;int b;int c;int main() {cout<<"ingrese el lado a del triangulo"<<endl;cin>>a;cout<<"ingrese el lado b del triangulo"<<endl;cin>>b; cout<<"ingrese el ladoc del triangulo"<<endl;cin>>c;if (a==b && b==c) {cout<<"triángulo equilátero"<<endl;} else {if (a==b || b==c || a==c) { cout<<" triángulo isoceles"<<endl;} else {cout<<"triángulo escaleno"<<endl;}}system("pause"); return 0;}

Page 5: Taller de Laboratorio 3

7. Elaborar un programa que convierta un número entero positivo, menor a 257 a sistema binario

#include <stdio.h>#include <conio.h>#include<stdlib.h>main(){float a[16];int ne,x,swi;printf("Este progrograma esta diseñado para convertir un numero entero positivo decimal a binario.");printf("\n\nPara continuar con el programa presione ENTER");getch();intonum:printf("Introduzca el numero entero positivo que desea convertir a binario:");scanf("%i",&ne);if(ne<0){err:printf("Ha introducido un numero negativo, si desea intentar nuevamente presione 1 o si desea salir del programa presione 2\n");scanf("%i",&swi);if(swi==1){printf("\n");goto intonum;}elseif(swi==2){printf("fin");}else{printf("Error de entrada");goto err;}}else{for(x=15;x>=0;x=x-1){if(ne<257){a[x]=ne%2;}else{a[x]=0;}ne=ne/2;}for(x=0;x<=15;x++){printf("%.0f",a[x]);}}system("pause");return 0;}

Page 6: Taller de Laboratorio 3

8. Dada tu fecha de nacimiento (mes, día, año) indicar cuantos días (exactos) han transcurrido desde ese año.

#include<stdio.h>#include<stdlib.h>int dia; int mes; int ano; int cad; int cad1;int main(){printf("\ningrese el numero del dia de nacimiento");scanf("%d",&dia);printf("\ningrese el numero del mes de nacimiento");printf("\nenero=1");printf("\nfebrero=2");printf("\nmarzo=3");printf("\nabril=4");printf("\nmayo=5");printf("\njunio=6");printf("\njulio=7");printf("\nagosto=8");printf("\nseptiembre=9");printf("\noctubre=10");printf("\nnobiembre=11");printf("\ndiciembre=12");scanf("%d",&mes);printf("\ningrese el numero del año completo de nacimiento");scanf("%d",&ano);if(mes==4||mes==6||mes==9||mes==11){cad1=(30-dia)+(30*3)+(31*7)+(28);cad=(2009-ano)*cad1;printf("los dias vividos son:%d",cad);}else{if (mes==1||mes==3||mes==5||mes==7||mes==8||mes==10||mes==12)cad1=(31-dia)+(30*4)+(31*6)+(28);cad=(2009-ano)*cad1;printf("los dias vividos son:%d",cad);}if(mes==2){cad1=(28-dia)+(30*4)+(31*7);cad=(2009-ano)*cad1;printf("los dias vividos son:%d",cad);}

system("pause");return 0;}

Page 7: Taller de Laboratorio 3

9. Elabore un programa que genere un número aleatorio y que les dé la posibilidad a dos jugadores de adivinar dicho número, el algoritmo debe pedir el número de partidas, intercalar los turnos para adivinar, mostrar el ganador por partida y el ganador final. El número debe estar entre 0-100. (Use la función random.)

1. //Programa Realizado Por: Jorge Chayan

2. #include <iostream>

3. #include <time.h>

4. using namespace std;

5.  

6. int main(void)

7. {

8.     int p1 = 1, p2 = 1, partidas, n, m;

9.     bool jug1 = true, jug2 = true, salir1 = false, salir2 = false;

10.     cout << "Numero De Partidas: ";

11.     cin >> partidas;

12.     srand(time(NULL));

13.     m = rand() % 101;

14.     do

15.     {

16.         system("cls");

17.         //cout << m; //Si Quieres Ver El Numero Al Ejecutar Borra

Las Primeras "//"

18.         if (jug1 == true && salir1 == false)

19.         {

20.             cout << "\nJugador 1, Partida " << p1 << endl << endl;

21.             cout << "Adivina EL Numero: ";

Page 8: Taller de Laboratorio 3

22.             cin >> n;

23.             if (n == m)

24.             {

25.                 cout << "\nFelicidades Adivinaste!";

26.                 cin.get();

27.                 cin.get();

28.                 salir1 = true;

29.             }

30.             else

31.             {

32.                 cout << "\nLo Siento Has Fallado!";

33.                 cin.get();

34.                 cin.get();

35.             }

36.             p1++;

37.             if (salir2 == false) jug1 = false;

38.             jug2 = true;

39.         }

40.         else if (jug2 == true && salir2 == false)

41.         {

42.             cout << "\nJugador 2, Partida " << p2 << endl << endl;

43.             cout << "Adivina EL Numero: ";

44.             cin >> n;

Page 9: Taller de Laboratorio 3

45.             if (n == m)

46.             {

47.                 cout << "\nFelicidades Adivinaste!";

48.                 cin.get();

49.                 cin.get();

50.                 salir2 = true;

51.             }

52.             else

53.             {

54.                 cout << "\nLo Siento Has Fallado!";

55.                 cin.get();

56.                 cin.get();

57.             }

58.             p2++;

59.             if (salir1 == false) jug2 = false;

60.             jug1 = true;

61.         }

62.         if (salir1 == true && salir2 == true)

63.         {

64.             p1 = partidas + 2;

65.             p2 = partidas + 2;

66.         }

67.     }while(p1 <= partidas || p2 <= partidas);

Page 10: Taller de Laboratorio 3

68.     system("cls");

69.     if (salir1 == true) cout << endl << "Jugador 1 Adivino" << endl

<< endl;

70.     else cout << "Jugador 1 No Adivino" << endl << endl;

71.     if (salir2 == true) cout << "Jugador 2 Adivino" << endl <<

endl;

72.     else cout << "Jugador 2 No Adivino" << endl << endl;

73.     system("pause");

74.     return EXIT_SUCCESS;

75. }

Page 11: Taller de Laboratorio 3

10. Elabore un programa que lea las ventas de (n) número de vendedores, para los productos (A, B, C, D y C), si los precios de los productos son ($1000, $2345, $3876, $1235 y $550) respectivamente, calcule el número individual y total de productos vendidos, las ventas totales por producto, el promedio total de ventas, el producto mas vendido, el menos vendido, el vendedor que más ventas realizó

#include<iostream>#include<cmath>#include<stdlib.h>using namespace std;

int main() {

int nipa=0;

float nipb;float nipc;float nipd;float nipe;float ntp;float vtpa;float vtpb;float vtpc;float vtpd;float vtpe;float ptv;float pmv;float pmev;float vmv;float a;float suma;int n;float A;int b;int c;int d;int e;int f;int VENTAS[200];nipb=0;nipc=0;nipd=0;nipe=0;ntp=0;vtpa=0;vtpb=0;vtpc=0;vtpd=0;vtpe=0;ptv=0;pmv=0;pmev=0;vmv=0;

Page 12: Taller de Laboratorio 3

a=0;suma=0;cout<<"ingrese la cantidad de vendedores que va a nalizar"<<endl;cin>>n;for (a=1;a<=n;a++) {cout<<"vendedor"<<a<<endl;cout<<"cantidad del producto a vendida?"<<endl;cin>>b;cout<<"cantidad del producto b vendida?"<<endl;cin>>c;cout<<"cantidad del producto c vendida?"<<endl;cin>>d;cout<<"cantidad del producto d vendida?"<<endl;cin>>e;cout<<"cantidad del producto e vendida?"<<endl;cin>>f;nipa=suma+b;nipb=suma+c;nipc=suma+d;nipd=suma+e;nipe=suma+f;ntp=suma+b+c+d+e+f;vtpa=100*b;vtpb=2345*c;vtpc=3876*d;vtpd=1235*e;vtpe=550*f;ptv=(vtpa+vtpb+vtpc+vtpd+vtpe)/5;if (nipa>nipb && nipa>nipc && nipa>nipd && nipa>nipe) {cout<<"el producto mas vendido es el a"<<endl;} else {if (nipb>nipa && nipb>nipc && nipb>nipd && nipb>nipe) {cout<<"el producto mas vendido es el b"<<endl;} else {if (nipc>nipa && nipc>nipb && nipc>nipd && nipc>nipe) {cout<<"el producto mas vendido es el c"<<endl;} else {if (nipd>nipa && nipd>nipb && nipd>nipc && nipd>nipe) {cout<<"el producto mas vendido es el d"<<endl;} else {if (nipe>nipa && nipe>nipb && nipe>nipc && nipe>nipd) {cout<<"el producto mas vendido es el e"<<endl;}}}}}if (nipa<nipb && nipa<nipc && nipa<nipd && nipa<nipe) {cout<<"el producto menos vendido es el a"<<endl;} else {if (nipb<nipa && nipb<nipc && nipb<nipd && nipb<nipe) {cout<<"el producto mas vendido es el b"<<endl;} else {if (nipc<nipa && nipc<nipb && nipc<nipd && nipc<nipe) {cout<<"el producto mas vendido es el c"<<endl;} else {if (nipd<nipa && nipd<nipb && nipd<nipc && nipd<nipe) {cout<<"el producto mas vendido es el d"<<endl;} else {if (nipe<nipa && nipe<nipb && nipe<nipc && nipe<nipd) {cout<<"el producto mas vendido es el e"<<endl;}

Page 13: Taller de Laboratorio 3

}}}}}cout<<"el numero de productos a vendidos es:"<<nipa<<endl;cout<<"el numero de productos b vendidos es:"<<nipb<<endl;cout<<"el numero de productos c vendidos es:"<<nipc<<endl;cout<<"el numero de productos d vendidos es:"<<nipd<<endl;cout<<"el numero de productos e vendidos es:"<<nipe<<endl;cout<<"el numero total de productos e vendidos es:"<<ntp<<endl;cout<<"las ventas totales por producto a es:"<<vtpa<<endl;cout<<"las ventas totales por producto b es:"<<vtpb<<endl;cout<<"las ventas totales por producto c es:"<<vtpc<<endl;cout<<"las ventas totales por producto d es:"<<vtpd<<endl;cout<<"las ventas totales por producto e es:"<<vtpe<<endl;cout<<"el promedio total de ventas es:"<<ptv<<endl;system("pause");return 0;}

11. Desarrolle un programa que mediante la construcción de un menú, permita la utilización de por lo menos cinco (5), funciones de la librería math.h

#include<iostream>#include<cmath>#include<stdlib.h>using namespace std;#define SIN_TIPO floatfloat salir;float n;float x;int opcion;float r;float f;string primo;float nu;int main() {salir=0;cout<<"Ingresar Numero:"<<endl;cin>>n;do {cout<<" "<<endl;cout<<"Presione Enter para continuar"<<endl;cin>>x;cout<<"1 - Seno, Coseno, ArcoTangente"<<endl;cout<<"2 - Lograritmo Natural, Funcion Exponencial"<<endl;cout<<"3 - Truncar, Redondear"<<endl;cout<<"4 - Raiz Cuadrada"<<endl;cout<<"5 - Valor Absoluto"<<endl;cout<<"6 - Separar parte entera y decimal"<<endl;cout<<"7 - Hallar Factorial"<<endl;cout<<"8 - Averiguar si es primo"<<endl;cout<<"9 - Ingresar Otro Numero"<<endl;cout<<" "<<endl;cout<<"0 - para Salir"<<endl;

Page 14: Taller de Laboratorio 3

cout<<" "<<endl;cin>>opcion;switch (opcion) {case 1:cout<<"Seno:"<<sin(n)<<endl;cout<<"Coseno:"<<cos(n)<<endl;cout<<"ArcTangente:"<<atan(n)<<endl;break;case 2:if (n<=0) {cout<<"El numero debe ser mayor a cero!"<<endl;} else {cout<<"Log Nat.:"<<log(n)<<endl;cout<<"Func Expon.:"<<exp(n)<<endl;}break;case 3:cout<<"Turncar:"<<floor(n)<<endl;cout<<"Redondear:"<<ceil(n+.5)<<endl;break;case 4:cout<<"Raiz Cuad.:"<<sqrtf(n)<<endl;break;case 5:cout<<"Valor Abs.:"<<abs(n)<<endl;break;case 6:cout<<"Parte Entera:"<<floor(n)<<endl;cout<<"Parte Decimal:"<<n-floor(n)<<endl;break;case 7:if (n!=floor(n)) {cout<<"El numero debe ser entero!"<<endl;} else {if (abs(n)>50) {cout<<"Resultado muy grande!"<<endl;} else {r=1;f=1;while (f<=abs(n)) {if (n<0) {r=(-f)*r;} else {r=f*r;}f=f+1;}cout<<"Factorial:"<<r<<endl;}

Page 15: Taller de Laboratorio 3

}break;case 8:if (n!=floor(n)) {cout<<"El numero debe ser entero!"<<endl;} else {primo="Si";if (n/2==floor(n/2)) {primo="No";}if (n<0) {nu=n*-1;} else {nu=n;}nu=sqrtf(nu);f=3;while (f<=nu && primo=="Si") {if (n/f==floor(n/f)) {primo="No";}f=f+2;}cout<<"Numero Primo:"<<primo<<endl;if (f==3) {f=4;}if (primo=="No") {cout<<n<<"="<<f-2<<"x"<<n/(f-2)<<endl;}}break;case 9:cout<<"Ingrese Numero:"<<endl;cin>>n;break;case 0:salir=1;break;default:cout<<"Opcion No Valida!"<<endl;break;}} while (salir==1);system("pause");return 0;}

Page 16: Taller de Laboratorio 3

http://saforas.wordpress.com/2008/01/04/codigos-sencillos-hechos-en%C2%A0c/http://aprendiendounad.blogspot.com/http://foros.abcdatos.com/viewtopic.php?t=14592&start=20