Vous êtes sur la page 1sur 18

Algoritmos

Instrucciones: A continuacin se le presentan una serie de problemas que deber


resolver mediante un algoritmo. Presente diagrama de flujo, Pseudocdigo y culmine
trasladndolo a lenguaje C++. Entregue la presente tarea el da debidamente impresa
diagrama, pseudocdigo y cdigo C++-, adicional entregue junto a su clase un CD
con los programas funcionando. 1 solo CD con todas las tareas del grupo.
Laboratorio 5
a) Escribir una sentencia i f - e1se que visualice la palabra Aprobado si el valor de la
variable nota es mayor que 60 y Reprobado si el valor de esa nota es menor que 61.
DIAGRAMA DE FLUJO:
INICIO
NOTA,
NOTA >60
zz
zz
NO SI SI
zz
zz
REPROBADO
APROBADo
FIN
PSEUDOCODIGO:
Programa; muestra aprobado o reprobado
Entorno:
Nota
Algoritmo:
escribir Introduzca Nota
leer Nota
si nota > 60
escribir Aprovado
si no
escribir Reprovado
fin si
Finprograma

LENGUAJE C++:
// Programa; muestra aprobado o reprobado
#include <iostream>
#include <conio>
int main()
{
int Nota;
cout<<"Ingrese nota: ";
cin>> Nota;
if (Nota > 60)
{ cout << "Aprovado" << endl; }
else
{ cout << "Reprovado" << endl; }
getch (); }

b) Codificar un programa que escriba la calificacin correspondiente a una nota, de


acuerdo con el siguiente criterio: 0 a 60 Reprobado 60 a 70 Aprobado 71 a 80 Notable
80 a 90 Sobresaliente 90 a 100 Excelente.
INICIO
DIAGRAMA DE FLUJO:
NOTA,
SI
NOTA
< 61
NOTA
< 61
REPROBADO
NO
SI
NOTA
>60 Y <71
NOTA
>60 Y <71
APROBADO
NO
SI
NOTA
>70 Y <81
NOTA

>70 Y <81
NOTABLE
NO
SI
NOTA
>80 Y <91
SOBRESALIENTE
NO
NOTA
>90 Y <101
SI
EXELENTE
NO
NOTA
<100
SI
INGRESE NOTA ENTRE 0 Y 100
FIN
PSEUDOCODIGO:
Programa; Califica una nota de acuerdo al criterio: 0 a 60 Reprobado 60 a 70
Aprobado 71 a 80 Notable 80 a 90 Sobresaliente 90 a 100 Excelente
Entorno: Nota
Algoritmo:
escribir Introduzca Nota
leer Nota
si Nota < 61
escribir0.
Reprobado
si no
si Nota >60 & < 71
escribir Aprobado
si no
si Nota >70 & < 81
escribir Notable
si no
si Nota >80 & < 91
escribir Sobresaliente
si no
si Nota >90 & < 101
escribir Excelente
si Nota >100

escribir Ingrese una nota entre 0 y 100


Fin si
Fin si
Fin si
Fin si
Fin si
Fin programa
LENGUAJE C++:
/* Programa; Califica una nota de acuerdo al criterio: 0 a 60 Reprobado 60 a 70
Aprobado 71 a 80 Notable 80 a 90 Sobresaliente 90 a 100 Excelente*/
#include<iostream.h>
#include<conio.h>
void main ()
{
int nota;
cout<<"Ingrese la nota: ";
cin>>nota;
if(nota<61)
cout<<"Reprobado";
{
if(nota>60 & nota<71)
cout<<"Aprobado";
{
if(nota>70 & nota<81)
cout<<"Notable";
{
if(nota>80 & nota<91)
cout<<"Sobresaliente";
{
if(nota>90 & nota<101)
cout<<"Excelente";
{
if(nota>100)
cout<<"Ingrese una nota entre 0 y 100";
getch ();
}
c) Escribir un programa que lea la hora de un da de notacin de 24 horas y la
respuesta en notacin de 12 horas. Por ejemplo, si la entrada es 13:45, la salida ser

1:45 PM.
DIAGRAMA DE FLUJO:
Hora, min, hora2
Inicio
SI
Ingrese hora y minutos
La hora es: hora : min AM
hora <12 & min<60
NO
SI
NO
hora==12 & min<60
La hora es: hora : min PM
NO
SI
hora>12 & hora <=24 & min<60
hora2=hora-12
La hora es: hora2 : min PM
NO
SI
Ingrese una hora correcta
hora>24
NO
SI
min>60
Ingrese los minutos correctamente
Fin
PSEUDOCODIGO:
Programa: programa que convierte la hora en formato de 24 horas a 12 horas.
Entorno: hora, min, hora2
Algoritmo:
Escribir i Ingrese hora y minutos por separado ejemplo para 13:45 primero 13, luego
45
Escribir Ingrese la hora
Leer hora
Escribir Ingrese los minutos
Leer min

Si hora <12 & min<60


Escribir la hora es: hora:min AM
Si hora>12 & hora <=24 & min<60
hora2=hora-12
Escribir la hora es: hora2:min PM
Si hora>24
Escribir ingrese una hora correcta
Si min>60
Escribir Ingrese los minutos correctamente
Fin programa.
LENGUAJE C++:
//programa que convierte la hora en formato de 24 horas a 12 horas
#include<iostream.h>
#include<conio.h>
main()
{
int hora, min, hora2;
cout<<"\n\n Ingrese hora y minutos por separado ejemplo para 13:45 primero 13,
luego 45";
cout<<"\n\n Ingrese la hora: ";
cin>>hora;
cout<<"\n\n Ingrese los minutos: ";
cin>>min;
if (hora <12 & min<60)
{cout<<"\n La hora es: "<<hora;
cout<<":"<<min;
cout<<" AM";}
if (hora==12 & min<60)
{cout<<"\n La hora es: "<<hora;
cout<<":"<<min;
cout<<" PM";}
if (hora>12 & hora <=24 & min<60)
{cout<<"\n La hora es: ";
hora2=hora-12;
cout<<hora2<<":"<<min;
cout<<" PM";}

if (hora>24)
{cout<<"\nIngrese una hora correcta";}
if (min>60)
{cout<<"\nIngrese los minutos correctamente";}
getch();
}
d) Se desea calcular el salario extra neto semanal de los trabajadores de una
empresa de acuerdo a las siguientes normas:
* Horas semanales trabajadas < 38 a una tasa dada.
* Horas extras (38 o ms) a una tasa 50 por ciento mayor a la tasa dada.
DIAGRAMA DE FLUJO:
Inicio
Inicio
Tasa, htra, htra2, extra, total;
Ingrese horas trabajadas y tasa a pagar
SI
htra<38
El total a pagar es: total
total=htra*tasa
NO
SI
extra=htra-38;
htra2=extra*tasa*2;
total=38*tasa+htra2;
Amrica Central
Costo es:
htra>38
NO
Fin
PSEUDOCODIGO:
Programa: calcula el salario extra neto semanal de los trabajadores de una empresa
de acuerdo a las siguientes normas:
* Horas semanales trabajadas < 38 a una tasa dada.
* Horas extras (38 o ms) a una tasa 50 por ciento mayor a la tasa dada
Entorno: tasa, htra, htra2, extra, total;
Algoritmo:
Escribir Ingrese total de horas trabajadas
Leer htra

Escribir Ingrese tasa a pagar por hora


Leer tasa
Si hora htra<38
total=htra*tasa
Escribir el total a pagar es total;
Si htra>38
extra=htra-38;
htra2=extra*tasa*2;total=38*tasa+htra2;
Escribir el total a pagar es: total;
Fin programa.
LENGUAJE C++:
/*programa que calcula el salario de trabajadores incluyendo horas extra, pagadas con
un 50% mas de la tasa dada.*/
#include<iostream.h>
#include<conio.h>
main()
{
int tasa, htra;
float htra2, extra,total;
cout<<"\n\n Ingrese las horas trabajadas: ";
cin>>htra;
cout<<"\n\n Ingrese tasa a pagar por hora: ";
cin>>tasa;
if (htra<38)
{cout<<"\n El total a pagar por: "<<htra;
total=htra*tasa;
cout<<" horas \n\n Es: "<<total;}
if (htra>38)
{cout<<"\n El total a pagar por: "<<htra;
extra=htra-38;
htra2=extra*tasa*2;
total=38*tasa+htra2;
cout<<" horas \n\n Es: "<<total;}
getch();
}
e ) Dado como datos cuatro nmeros reales, identifique cul es el mayor.
Considere que los nmeros pueden ser iguales.
DIAGRAMA DE FLUJOSI A>B & A>C & A>D

SI A>B & A>C & A>D


INGRESAR VALORES PARA A, B, C, D
EL NUMERO MAYOR ES A
SI B>A & B>C & B>D
SI C>A & C>B & C>D
ELNUMERO MAYOR ES C
INICIO
SI
EL NUMERO MAYOR ES B
NO
SI
NO
SI
SI D>A & D>B & D>C
EL NUMERO MAYOR ES D
FIN
PSEUDOCODIGO:
Programa: identifica el mayor de 4 nmeros reales
Entorno: a, b, c, d
Algoritmo:
Escribir ingrese el valor para a
Leer a
Escribir ingrese el valor para b
Leer b
Escribir ingrese el valor para c
Leer c
Escribir ingrese el valor para d
Leer d
Si a>b & a>c & a>d
Escribir el numero mayor es a
Si b>a & b>c & b>d
Escribir el numero mayor es b
Si c>a & c>b & c>d
Escribir el nmero mayor es c
Si d>a & d>b & d>c
Escribir el nmero mayor es d
Fin si
Fin si
Fin si

Fin si
Fin programa
LENGUAJE C++:
#include<iostream.h>
#include<conio.h>
void main()
{
int a,b,c,d;
cout<<"Ingrese el valor de a:";
cin>>a;
cout<<"Ingrese el valor de b:";
cin>>b;
cout<<"Ingrese el valor de c:";
cin>>c;
cout<<"Ingrese el valor de d:";
cin>>c;
cout<<"El numero mayor
es:"<<endl;
if(a>b & a>c & a>d)
cout<<a<<endl;
if(b>a & b>c & b>d)
cout<<b<<endl;
if(c>a & c>b & c>d)
cout<<c<<endl;
if(d>a & d>b & d>c)
cout<<d<<endl;
getch();
}

f) El costo de las llamadas telefnicas internacionales depende de la zona geogrfica


en la que se encuentre el pas destino y del nmero de minutos hablados. En la
siguiente tabla se presenta el costo del minuto por zona. A cada zona se le ha
asociado una clave.
CLAVE ZONA PRECIO

12 Amrica del Norte 2


15 Amrica Central 2.55
18 Amrica del Sur 4.90
19 Europa 3.5
23 Asia 6
25 frica 7.6
29 Oceana 5
Inicio
Inicio
Claves: Amrica del Norte 12, Amrica Central 15, Amrica del Sur 18, Europa 19,
Asia 23, frica 25 y Oceana 29
Claves: Amrica del Norte 12, Amrica Central 15, Amrica del Sur 18, Europa 19,
Asia 23, frica 25 y Oceana 29
Zona, clave, min, costo,
SI
Clave=12?
Costo=min*2.00
Amrica del Norte
Costo es:
SI
Costo=min*2.55
Amrica Central
Costo es:
Clave=15?
SI
Costo=min*4.90
Amrica del Sur
Costo es:
Clave=18?
SI
Costo=min*3.50
Europa
Costo es:
Clave=19?
SI
Costo=min*6.00
Costo=min*6.00
Asia
Costo es:
Clave=23?
SI
Clave=25?
frica
Costo es:
Costo=min*7.60
SI

Costo=min*5.00
Oceana
Costo es:
Clave=29?
SI
ninguna anterior
No es una clave geogrfica valida
NO
Fin
PSEUDOCODIGO:
Programa: calcula el costo por llamada segn regin y minutos hablados.
Entorno: clave, min, costo
Algoritmo:
Escribir ingresar clave de la region
Leer clave
Escribir ingresar cantidad de minutos hablados
Leer min
___________________________________
|CLAVE| ZONA GEOGRAFICA | PRECIO |
|______|____________________|________|
| 12 | America del Norte | 2.00 |
| 15 | America Central | 2.55 |
| 18 | America del Sur | 4.90 |
| 19 | Europa | 3.50 |
| 23 | Asia | 6.00 |
| 25 | Africa | 7.60 |
| 29 | Oceania | 5.00 |
___________________________________
Si clave = 12 (costo=min*2.00)
Escribir La regin es Amrica del Norte
Escribir El costo es:
Si clave = 15 (costo=min*2.55)
Escribir La regin es Amrica Central
Escribir El costo es:
Si clave = 18 (costo=min*4.90)
Escribir La regin es Amrica del Sur
Escribir El costo es:
Si clave = 19 (costo=min*3.50)
Escribir La regin es Europa
Escribir El costo es:
Si clave = 23 (costo=min*6.00)
Escribir La regin es Asia
Escribir El costo es:

Si clave = 25 (costo=min*7.60)
Escribir La regin es frica
Escribir El costo es:
Si clave = 29 (costo=min*5.00)
Escribir La regin es Oceana
Escribir El costo es:
Si no es ninguna anterior
Escribir No es una clave vlida:
Fin programa
LENGUAJE C++:
#include<iostream.h>
#include<conio.h>
main()
{
int clave,min;
float costo;
cout<<"\n ___________________________________";
cout<<"\n |CLAVE | ZONA GEOGRAFICA |PRECIO|";
cout<<"\n |______|___________________|________|";
cout<<"\n | 12 | America del Norte | 2.00 |";
cout<<"\n | 15 | America Central | 2.55 |";
cout<<"\n | 18 | America del Sur | 4.90 |";
cout<<"\n | 19 | Europa | 3.50 |";
cout<<"\n | 23 | Asia | 6.00 |";
cout<<"\n | 25 | Africa | 7.60 |";
cout<<"\n | 29 | Oceania
| 5.00 |";
cout<<"\n ----------------------------------------------------------";
cout<<"\n\n Ingrese la clave de la zona de destino: ";
cin>>clave;
cout<<" Ingrese cantidad de minutos hablados: ";
cin>>min;
if (clave==12)
{cout<<"\nUsted se comunico para la zona de \"AMERICA DEL NORTE\"";
costo=min*2;
cout<<"\nEl costo de la llamada es de:"<<costo;}
if (clave==15)
{cout<<"\nUsted se comunico para la zona de \"AMERICA CENTRAL\"";
costo=min*2.55;
cout<<"\nEl costo de la llamada es de:"<<costo;}

if (clave==18)
{cout<<"\nUsted se comunico para la zona de \"AMERICA DEL SUR\"";
costo=min*4.90;
cout<<"\nEl costo de la llamada es de:"<<costo;}
if (clave==19)
{cout<<"\nUsted se comunico para la zona de \"EUROPA\"";
costo=min*3.50;
cout<<"\nEl costo de la llamada es de:"<<costo;}
if (clave==23)
{cout<<"\nUsted se comunico para la zona de \"ASIA\"";
costo=min*6;
cout<<"\nEl costo de la llamada es de:"<<costo;}
if (clave==25)
{cout<<"\nUsted se comunico para la zona de \"AFRICA\"";
costo=min*7.60;
cout<<"\nEl costo de la llamada es de:"<<costo;}
if (clave==29)
{cout<<"Usted se comunico para la zona de \"OCEANIA\"";
costo=min*5;
cout<<"\nEl costo de la llamada es de:"<<costo;}
if (clave !=12)
if (clave !=15)
if (clave !=18)
if (clave !=19)
if (clave !=23)
if (clave !=25)
if (clave !=29)
cout<<"No es una clave geografica valida";
getch();
}

g) En una tienda efectan un descuento a los clientes dependiendo del monto de la


compra. El descuento se efecta con base en el siguiente criterio:
a. Si el monto es menor que Q.500.00, no hay descuento e indqueselo al usuario.
b. Si el monto est comprendido entre Q.500.00 y Q.1000.00 inclusive, el
5% de descuento.
c. Si el monto est comprendido entre Q.1000.00 y Q.7000.00 inclusive, el

11% de descuento.
d. Si el monto est comprendido entre Q.7000.00 y Q.15000.00 inclusive,
el 18% de descuento.
e. Si el monto es mayor a Q.15000.00, el descuento e del 30% de
descuento si es fin de semana, en caso contrario es del 25%.
Todos los descuentos habrn de notificarse al usuario.
DIAGRAMA DE FLUJO:
Inicio
monto<500
No hay descuento
NO
Desc, find, total
Ingrese el monto, indique si es fin de semana o no
SI
el descuento es : desc
el total a pagar es: total
al=monto-desc;
total=monto-desc;
monto>=500 & monto<=1000
SI
desc=monto*0.11;
total=monto-desc;
monto>1000 & monto<=7000
SI
el descuento es : desc
el total a pagar es: total
SI
el descuento es : desc
el total a pagar es: total
monto>15000
desc=monto*0.25;
total=monto-desc;
el descuento es : desc
el total a pagar es: total
desc=monto*0.30;
total=monto-desc;
monto>15000 & es fin de semana
monto>7000 & monto<=15000
desc=monto*0.18;
total=monto-desc;
el descuento es : desc
el total a pagar es: total
Fin

PSEUDOCODIGO:

Programa: calcula el descuento dependiendo de un monto y si es fin de semana.


Entorno: desc, find, total;
Algoritmo:
Escribir ingrese el monto
Leer monto
Escribir ingresar 1 si es fin de semana
Leer find
Si monto<500
Escribir no hay descuento
Si
monto>=500 & monto<=1000
desc=monto*0.05;
total=monto-desc;
Escribir el descuento es de: desc
Escribir El total a pagar es de: total
Si monto>1000 & monto<=7000
desc=monto*0.11;
total=monto-desc;
Escribir el descuento es de: desc
Escribir El total a pagar es de: total
Si monto>7000 & monto<=15000
desc=monto*0.18;
total=monto-desc;
Escribir el descuento es de: desc
Escribir El total a pagar es de: total
Si monto>=500 & monto<=1000
desc=monto*0.05;
total=monto-desc;
Escribir el descuento es de: desc
Escribir El total a pagar es de: total
Si monto>15000
desc=monto*0.25;
total=monto-desc;
Escribir el descuento es de: desc
Escribir El total a pagar es de: total
Si monto>15000 & find==1
desc=monto*0.30;
total=monto-desc;
Escribir el descuento es de: desc
Escribir El total a pagar es de: total

Fin programa
/* Programa que calcula el descuento dependiendo de un monto y si es fin de
semana.*/
#include<iostream.h>
#include<conio.h>
main()
{ int monto;
float desc, find,total;
cout<<"\n\n Ingrese el monto: ";
cin>>monto;
cout<<"\n\n Si es fin de semana ingrese 1, si no ingrese 0: ";
cin>>find;
if (monto<500)
{cout<<"\nEl descuento para: "<<monto<<endl;
cout<<"\No hay descuento:";}
if
(monto>=500 & monto<=1000)
{cout<<"\nEl descuento para: "<<monto<<endl;
desc=monto*0.05;
total=monto-desc;
cout<<"\nEs:"<<desc;
cout<<"\n Su total a pagar es: "<<total; }
if (monto>1000 & monto<=7000)
{ cout<<"\n El descuento para: "<<monto;
desc=monto*0.11;
total=monto-desc;
cout<<"\n Es: "<<desc;
cout<<"\n Su total a pagar es: "<<total; }
if (monto>7000 & monto<=15000)
{ cout<<"\n El descuento para: "<<monto;
desc=monto*0.18;
total=monto-desc;
cout<<"\n Es: "<<desc;
cout<<"\n Su total a pagar es: "<<total; }
if (monto>15000)
{ cout<<"\n El descuento para: "<<monto;
desc=monto*0.25;
total=monto-desc;
cout<<"\n Es: "<<desc;
cout<<"\n Su total a pagar es: "<<total; }
if (monto>15000 & find==1)

{ cout<<"\n El descuento para: "<<monto;


desc=monto*0.30;
total=monto-desc;
cout<<"\n Es: "<<desc;
cout<<"\n Su total a pagar es: "<<total; }
getch(); }

Vous aimerez peut-être aussi