Para tratar de entender desde cero empezaremos por algoritmos .
Qué es ?
- Un algoritmo es un grupo de instrucciones que definen la secuencia de operaciones a realizar para resolver una clase de problema.
-Secuencia ordenada de pasos que nos sirve para resolver un problema
Características :
+Tiene que ser preciso.
+Tiene que estar bien definido.
+Tiene que ser finito.
Estos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocódigo, diagramas de flujo y lenguajes de programación.
Es decir INSTRUCCIONES QUE DEFINEN LA SECUENCIA DE OPERACIONES A REALIZAR PARA RESOLVER UNA CLASE DE PROBLEMA eso si EN UNA SECUENCIA ORDENADA DE PASOS! claro recordemos como nuestros profes nos decian ..A ver dime el algoritmo para venir a esta clase y la clásica ..me levante, me bañe, me cambie, tome mi desayuno..tome un bus,etc y eso era! No omitir nada y que todo sea secuencial y detalladamente Correcto!.
Para siempre tener claro lo que tendremos que que hacer antes de pasar a programar en cualquier lenguaje de programacion(python,java,visual,c++,etc) realizaremos Analisis de datos ,Algoritmo y Prueba de escritorio.
Comenzaremos con ejercicios simples que sólo tendremos que usar operaciones basicas luego seguiremos con aquellos que necesiten los diferentes tipos de estructura for,if,while,do-while,etc.
Algoritmos 1 :
Diseñar un algoritmo que permita convertir
una cantidad de dolares a una cantidad soles,
teniendo en cuenta el tipo de cambio
del dolar.
/+/+Analisis de datos/+/+
E:cd(cantidad dolares),tc(tipo de cambio)
S:cs(cantidad soles)
/+/+Algoritmo/+/+
1.-inicio
2.-cd=0.0,tc=0.0,cs=0.0
3.-leer cd,tc
4.-cs=cd*tc
5.-escribir cs
6.-fin
/+/+Prueba de Escritorio/+/+
cd=375
tc=2.75
cs=1031.25
Diseñar un algoritmo que permita realizar
las operaciones aritmeticas basicas como:
suma,resta,mult,división,residuo,potencia,
raiz cuadrada, mediante dos números
ingresados.
+/+/Analisis 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,n2=0,s=0,r=0,m=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=4 s=6 , r=2 , m=8 , d=2
n2=2 rs=0 , p=16 ,rc=2
Diseñar un algoritmo que permita distribuir una cantidad
ingresada en soles y Visualice la cantidad de billetes de
cada denominación de billetes de 200,100,50,20,10 y 5.
/+/Analisis de datos/+/
Entrada(E):cs(cantidad en soles)
Salida(S):b200(billetes 200),b100(billetes 100),
b50(billetes 50),b20(billetes de 20),
b10(billetes de 10),m5(monedas de 5)
/+/+Algoritmo/+/
1.-inicio
2.-cs=0,b200=0,b100=0,b50=0,b20=0,b10=0,m5=0,r=0
3.-leer cs
4.-b200=entero(cs/200)
r=residuo(cs/200)
b100=entero(r/100)
r=residuo(r/100)
b50=entero(r/50)
r=residuo(r/50)
b20=entero(r/20)
r=residuo(r/20)
b10=entero(r/10)
r=residuo(r/10)
m5=entero(r/5)
5.-escribir b200,b100,b50,b20,b10,m5
6.-Fin
/+/+ Prueba de escritorio/+/
cs=385
b200=1 b100=1 b50=1
b20=1 b10=1 m5=1
Diseñar un algoritmo que permita determinar el sueldo neto de un empleado, al cual se le realiza un descuento del 13%(por planilla) de su sueldo bruto que se calcula en base a las horas trabajadas y su tarifa por hora trabajada.
Visualizar sueldo bruto,descuento y sueldo neto a pagar.
/+/+Analisis de datos/+/+
E:hr(hora trabajada),th(tarifa por hora)
S:sb(sueldo bruto)d(descuento),sn(sueldo neto)
/+/+Algoritmo/+/+
1.-inicio
2.-hr=0,th=0,sb=0.0,d=0.0,sn=0.0
3.-leer hr,th
4.-sb=ht * th
d=sb * 0.13
sn=sb - d
5.-escribir sb,d,sn
6.-fin
/+/+Prueba de Escritorio/+/+
ht=160
th=20
sb=3600
d=468
sn=3.132