Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CURSO DE ALGORITMO
PRESENTADO POR
STEVENSON VALENCIA SANCHEZ
CDIGO: 11803916
PRESENTADO A
ERNESTO ORLANDO PARRA CAN
GRUPO: 301303_205
las contraseas (4 nmeros) digitada por teclado (como un nico numero) hasta el
servidor principal, utilizando el siguiente criterio, el primer nmero se enva de ltimo,
el segundo, de penltimo, el tercer numero pasa a la segunda posicin, el ltimo pasa a
ser primero: ejemplo: Sea 6532, se debe enviar como 2356 .
Cdigo fuente
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
int a;
char cont[100];
Ingresar:
cout << "Ingrese la contrasea: "<<endl;
cin >> a;
itoa (a,cont,10);
int lcont = strlen(cont);
if (lcont==4)
{
int n1 = a/1000;
int n2 = a/100 - n1*10;
int n3 = a/10 - (n1*100 + n2*10);
int n4 = a - (n1*1000 + n2*100 + n3*10);
int crip = n4*1000 + n3*100 + n2*10 + n1;
cout << "La contrasea sera enviada de esta forma: " << crip <<endl;
}
else
{
cout <<endl<<"La contrasea debe tener de 4 digitos"<<endl;
goto Ingresar;
}
cin.get();
cin.get();
return 0;
}
2. Escribir un programa para calcular la fecha del siguiente da a partir de una fecha digitada
desde el teclado por el usuario ( dd, mm, aaaa ) e imprimirla. (Tenga en cuenta los aos
bisiestos.).
#include "stdafx.h"
#include <iostream>
using namespace std;
int main() //
{
int dd;
int mm;
int aaaa;
int bis;
int ddmax;
cout <<"programa para ingresar la fecha por partes"<<endl;
Ingresar1:
cout <<endl<<"Ingrese el dia dia (dd): "<<endl;
cin >> dd;
cout << "ingrese el mes (mm): "<<endl;
cin >> mm;
cout << "Ingrese el ao (aaaa): "<<endl;
cin >> aaaa;
// verificar si el ao es Bisiesto
if ((aaaa%4 == 0 && aaaa%100 != 0)||aaaa%400==0)
bis = 2;
else
bis = 1;
//Verificar si la fecha que se ingreso es valida
if ((mm==1||mm==3||mm==5||mm==7||mm ==8||mm==10||mm==12)&&(dd>31)||
mm>12)
{
cout<<endl<<"La fecha es incorrecta"<<endl;
goto Ingresar1;
}
if ((mm==4||mm==6||mm==9||mm==11)&&(dd>30)||mm>12)
{
cout<<endl<<"La fecha es incorrecta"<<endl;
goto Ingresar1;
}
if (((mm==2)&&(bis==2))&&(dd>29)||mm>12)
{
cout<<endl<<"La fecha es incorrecta"<<endl;
goto Ingresar1;
}
if (((mm==2)&&(bis==1))&&(dd>28)||mm>12)
{
cout<<endl<<"La fecha es incorrecta"<<endl;
goto Ingresar1;
}
// Verifica cual es el maximo de dias de cada mes
if (mm==1||mm==3||mm==5||mm==7||mm ==8||mm==10||mm==12)
ddmax = 31;
if (mm==4||mm==6||mm==9||mm==11)
ddmax = 30;
if ((mm==2)&&(bis==2))
ddmax = 29;
if ((mm==2)&&(bis==1))
ddmax = 28;
3.Se lee un nmero de mximo tres dgitos (verifique que efectivamente sea de mximo tres
4. En una organizacin se tiene a los empleados agrupados por categora, los de categora 1
ganan $20.000, los de categora 2, $15.000, los de categora 3, $10.000 y los de categora 4,
$7.500. Se quiere un algoritmo que permita determinar cunto debe pagarse a un empleado
si se conoce el nmero de horas que trabaj durante el mes y la categora 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).
Codigo fuente
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
int categoria;
double sph;
int horas;
cout<<"NOMINA EMPLEADOS"<<endl;
Opcion:
cout << "1- Categoria 1 "<<endl;
cout << "2- Categoria 2 "<<endl;
cout << "3- Categoria 3 "<<endl;
cout << "4- Categoria 4 "<<endl;
cout <<endl<< "ingrese opcion: ";
cin >> categoria;
switch (categoria)
{
case 1: sph = 20000;break;
case 2: sph = 15000;break;
case 3: sph = 10000;break;
case 4: sph = 7500;break;
default:
cout <<endl<< "categoria no valida "<<endl;
goto Opcion;
}
cout << "Ingrese el numero de horas trabajadas por el empleado: "<<endl;
cin >> horas;
double salario = double(sph*horas) - double(0.072*(sph*horas));
if (salario<1000000)
salario = salario + 0.15*(sph*horas);
cout <<endl<< "El pago al empleado debe ser: "<<salario<<endl;
cin.get();
cin.get();
5. Elabore un programa que tenga cuatro niveles de seguridad (documntese sobre niveles
de seguridad) para un programa, si el usuario logra ingresar imprimir el mensaje
"Bienvenido", en caso contrario imprimir "Error clave" y el nivel del error.
Codigo fuente
#include "stdafx.h"
#include <iostream>
#include <math.h>
#include <stdio.h>
#include <conio.h>
using namespace std;
int main()
{
char ca [100];
int ct;
int ct1;
int sw = 0;
int cont = 0;
cout<<endl<<"Guardar contrasea: "<<endl;
cin>>ca;
ct = atoi(ca);
int lcont = strlen(ca);
cout<<"Tiene 4 intentos: sino, se bloquera su cuenta"<<endl;
while (sw == 0)
{
cout<<endl<<"Ingrese contrasea: "<<endl;
cin>>ct1;
if (ct==ct1)
{
sw=1;
cout<<endl<<"------ BIENVENIDO ------"<<endl;
}
else
{
cont = cont + 1;
cout<<endl<<"Intento No : "<<cont<<endl;
cout<<endl<<"Error en la contrasea : "<<endl;
}
if (cont == 3)
{ cout<<endl<<"Ultima oportunidad de ingresar contrasea correcta: "<<endl;
}
if (cont == 4)
{
cout<<endl<<"ERROR nivel de error: "<<cont<<endl;
cout<<endl<<"Su cuenta ha sido bloqueada por seguridad "<<endl;
sw=1;
}
}
cin.get();
cin.get();
}
6. Escriba un programa para calcular si un nmero es primo o no, recuerde que los nmeros
primos son aquellos que solo son divisibles por la unidad y por ellos mismos: ejemplo 5, 11,
17
Codigo fuente
#include "stdafx.h"
#include<iostream>
using namespace std;
int main()
{
int num=1,c,res,nc=0,rep=0;
cout<<"NUMERO PRIMO"<<endl;
while(num!=0)
{
cout<<"Introduce nmero para verificar si es o no es primo: "<<endl;
if(rep==1)
{
cout<<" --> Para salir oprime cero: "<<endl;
}
rep++;
cin>>num;
for(c=1;c<=num;c++)
{
res=num%c;
if(res==0)
nc++;
}
if(nc==2)
cout<<"Es primo\n\n";
else
cout<<"No es primo\n\n";
nc=0;
}
}
7. Lea los valores de los lados de un tringulo. Detecte y muestre un mensaje correspondiente
a su tipo (EQUILTERO, ISSCELES, O ESCALENO).
Cdigo fuente
#include "stdafx.h"
#include <stdio.h>
#include <iostream>
#include <conio.h> //Definiendo las libreras//
using namespace std;
void main()
{
float cat1, cat2, hyp; // definicin de las variables a utilizar//
printf("Ingrese medida primer lado: ");
scanf("%f", &cat1);
printf("\n\r Ingrese medida del segundo lado: ");
scanf("%f", &cat2);
printf("\n\r Ingrese medida del tercer lado: ");
scanf("%f", &hyp);
if ( cat1 + cat2 < hyp )
{
printf("\n\n\r No es un triangulo"); //establecemos la condicin de error//
}
else
{
if (( cat1 == cat2 ) && ( cat1 != hyp ) && ( cat2 != hyp ) || ( cat1 == hyp ) && ( cat1 !=
cat2 ) && ( hyp != cat2 ) || ( cat2 == hyp ) && ( cat2 != cat1 ) && ( hyp != cat1 ))
{
printf("\n\n\r Es un triangulo ISOSELES");
system ("pause");
}
if (( cat1 == cat2 ) && ( cat1 == hyp ) && ( cat2 == hyp ))
{
printf("\n\n\r Es un triangulo EQUILATERO");
system ("pause");
}
if (( cat1 != cat2 ) && ( cat1 != hyp ) && ( cat2 != hyp))
{
printf("\n\n\r Es un triangulo ESCALENO");
system ("pause");
}
}
}
for (i=1;i<=n;i++) {
cout<<"empleado"<<i<<endl;
cout<<" Es mayor de edad?"<<endl;
cout<<"si=1 no=2"<<endl;
cin>>e;
cout<<"ingeniero titulado?"<<endl;
cout<<"si=1 no=2"<<endl;
cin>>g;
cout<<"tiene experiencia laboral?"<<endl;
cout<<"si=1 no=2"<<endl;
cin>>j;
if (e==1 && g==1 && j==1) {
ac=suma+i;
}
}
cout<<"el numero de empleados aceptados es:"<<ac<<endl;
system("pause");
return 0;
}