Escolar Documentos
Profissional Documentos
Cultura Documentos
PROGRAMAS
90 ALGORITMOS
Algoritmos
Estructurados
C++
GUIA PRCTICA
ALGORITMOS
ESTRUCTURADOS
C++
Pgina 1 de 20
INDICE
PAG
Secuenciales.............................................. 3
SESION 01 :
Procesos
SESION 02 :
Estructuras Condicionales............................................
21
SESION 03 :
Estructuras Selectivas
44
SESION 04 :
SESION 05 :
SESION 06 :
Procedimientos .......................................................
114
SESION 07 :
Funciones ................................................................
135
SESION 08 :
Arreglos de datos
...................................................
156
SESION 09 :
181
.............................................
S SESION 01
Los procesos secuenciales
Permiten realizar un proceso
tras otro no dependiendo de
alguna
condicin
variar la secuencia.
Pgina 3 de 20
que
haga
SESION 01
PROCESOS SECUENCIALES
1. Disear un algoritmo en donde un vendedor recibe un sueldo mensual ms un 10% de
comisin por ventas, el vendedor desea saber cunto dinero obtendr por las tres ventas
que realiza en el mes. Determinar el pago total que recibir a fin mes el vendedor.
Solucin:
*Anlisis de datos
E: vendedor, sm, vt1, vt2 ,vt3.
S: pt (pago total)
*Algoritmo
1.-Inicio
2.-vendedor='', sm=0.0, vt1=0.0, vt2=0.0, vt3=0.0,pt=0.0,c=0.0
3.-Leer vendedor, sb, vt1, vt2, vt3.
4.-c=(vt1+vt2+vt3)*0.10
pt=sb + c
5.-Escribir pt
6.-fin
*Prueba de escritorio
vendedor='juan'
sm=1800
vt1=200
vt2=400
vt3=600
pt=1920
*Implementacin del algoritmo.
//libreria de entrada y salida de datos por consola
#include <iostream.h>
#include <conio.h>
//procedimiento principal
int main(){
//declarar variables
char vendedor[20];//variable tipo cadena
double sm,pt,c; //variable tipo reales
int vt1,vt2,vt3; //variables enteras
//entrada de datos
cout<<"Ingresar Vendedor:";cin>>vendedor;
cout<<"Ingresar Sueldo mensual:";cin>>sm;
cout<<"Ingresar Venta1:";cin>>vt1;
cout<<"Ingresar Venta2:";cin>>vt2;
cout<<"Ingresar Venta3:";cin>>vt3;
//proceso de datos
c=(vt1+vt2+vt3)*0.10;
pt=sm+c;
//salida de datos
cout<<"El pago total es:"<<pt;
getch();//permite leer un carcter del teclado
}//fin del procedimiento
Pgina 5 de 20
Pgina 7 de 20
Pgina 9 de 20
5. Disear un algoritmo que permita realizar las operaciones aritmeticas basicas como: suma,
resta, mult, divisin, residuo, potencia, raiz cuadrada mediante dos nmeros ingresados.
Solucin:
*Anlisis de datos
E:n1,n2
S:s(suma),r(resta),m(mult),d(div),
rs(residuo),p(potencia),rc(raiz cuadrada)
*Algoritmo
1.-inicio
2.-n1=0.0,n2=0.0,s=0.0,r=0.0,m=0.0,d=0.0,rs=0,p=0,rc=0.0
3.-leer n1,n2
4.-s=n1+n2
r=n1-n2
m=n1*n2
d=n1/n2
rs=residuo(n1/n2)
p=potencia(n1,n2)
rc=raiz(n1)
5.-escribir s,r,m,d,rs,p,rc
6.-fin
*Prueba de Escritorio
n1=10
n2=5
S=15
R=5
M=50
D=2
RS=0
P=100000
RC=3.16228
Pgina 11 de 20
6. Disear un algoritmo que solicite al usuario su sueldo mensual, sus gastos de: renta, luz,
agua y comida y le muestre cunto dinero le queda.
Solucin:
*Anlisis de datos
E:sm,r,l,a,c
S:dr(dinero restante)
*Algoritmo
1.-inicio
2.-sm=0,r=0,l=0,a=0,c=0,dr=0,s=0
3.-leer sm,r,l,a,c
4.-s=r+l+a+c
dr=sm-s
5.-escribir dr
6.-fin
*Prueba de Escritorio
sm=2000
r=700
l=100
a=120
comida=300
dr=780
Pgina 13 de 20
7.- Digite un nmero entero positivo de tres cifras, luego visualice el nuevo formado por sus
cifras extremas y la inversa de dicho nmero.
Solucin:
*Anlisis de datos
E:n(numero)
S: nnum(digitos de extremos), inv_nnum(nmeros invertidos)
*Algoritmo
1.-inicio
2.-n=0.0, c1=0,c2=0,c3=0, nnum=0,inv_nnum=0,r=0
3.-leer n
4.-c1=entero(n/100)
r=residuo(n/100)
c2=entero(r/10)
r=residuo(r/10)
c3=entero(r)
nnum=(c1*10+c3)
inv_nnum=(c1+c3*10)
5.-escribir nnum,inv_nnum
6.-fin
*Prueba de Escritorio
n=483
nnum=43
inv_nnum=34
*Implementacin del algoritmo.
//libreria de e/s de datos
#include <iostream.h>
//progrma principal
main(){
//declarar variables
int n,c1,c2,c3,nnum,inv_nnum,r;
//entrada de datos
cout<<"Ingresar Cantidad:";cin>>n;
//proceso de datos
c1=n/100;
r=n%100;
c2=r/10;
r=r%10;
c3=r;
nnum=(c1*10+c3);//extremos de numeros
inv_nnum=(c1+c3*10);//numeros invertidos
//salida de datos
cout<<"Extremo de numeros:"<<nnum<<endl;
cout<<"Numero Invertidos:"<<inv_nnum<<endl;
system("PAUSE");
}//fin programa
Pgina 15 de 20
8.- Cual es el monto a devolver si nos prestan un capital c a una tasa de interes t%, durante n
periodos?
Solucin:
*Analisis de datos
E:c(capital),t(tasa de interes),n(periodos)
S:m(monto)
*Algoritmo
1.-Inicio
2.-c=0.0,t=0.0,n=0,m=0.0
3.-m=c*pow(1 + t ,n)
4.-escribir m
5.-fin
*Prueba de escritorio
c=500
t=0.2
n=5
m=1244.16
9.- Disear un algoritmo que permite obtener el tiempo en segundos , si se ingresa el tiempo en
horas, minutos y segundos.(Ejemplo 15hrs 20min 30seg).
Solucin:
*Analisis de datos
E:hr(horas),m(minutos),s(segundos)
S:ts(tiempo total en segundos)
*Algoritmo
1.-Inicio
2.-hr=0.0,m=0.0,s=0.0,ts=0.0
3.-leer hr,m,s
4.-ts=hr*3600 + m*60 + s
5.-escribir ts
6.-fin
*Prueba de escritorio
hr=5
m=30
s=40
ts=19840
Pgina 17 de 20
Pgina 19 de 20