La verdad es que una de las cosas que más me gusta de la programación es la necesidad de desarrollar algoritmos que realizarán una cierta tarea, pues en cierta parte, los algoritmos son la base de la automatización de cualquier sistema informático, aunque hablaré mas sobre el tema de algoritmos en otro artículo, por ahora sólo te digo que una de las mejores cosas de realizar algoritmos es la capacidad de ir adquiriendo creatividad para resolver problemas.
Pero bueno, ya que este es mi primer artículo sobre algoritmos, he decidido iniciar esta sección con algo sencillo. Lo que vamos a hacer es plantear un algoritmo para que cuando se reciba un número decimal positivo, éste sea convertido a su equivalente en binario. Para dar una correcta solución, plantearemos algunas preguntas que nos irán dando respuestas para solucionar el problema.
Planteamiento del Problema:
Ingrese un número en base 10 positivo y conviértalo a su equivalente en binario mostrando su resultado en pantalla.
1. ¿Qué nos piden? (Variables de salida)
- Un número binario que representa la conversión de un número en base 10 positivo. Variable de tipo entero la cual llamaremos "numero"
2. ¿Qué nos dan? (Variables de entrada y constantes)
- Un número en base 10 positivo ingresado por el usuario. Variable de tipo cadena la cual llamaremos "binario"
3. ¿Cómo lo hago? (Procesos para llegar a las variables de salida - Planteamiento del Algoritmo)
a. El usuario ingresa un valor y lo almacenamos en una variable que llamaremos numero
b. Tomamos solo la parte entera del numero ingresado y lo reasignamos a la variable numero (De esta forma nos aseguramos que el proceso se realizará solamente con numero enteros)
c. Inicializamos la variable que irá almacenando el resultado final que llamaremos binario
d. Verificamos si el valor ingresado es mayor a 0. Si no lo es se pasa al paso e. Si es mayor a 0, se continúa en el paso f.
e. Verificamos si el valor ingresado es igual a 0. Si no lo es mostramos un mensaje indicando que el número se puede convertir. Si es igual a 0, se asigna el 0 a la variable binario, se muestra el resultado en pantalla y se finaliza la ejecución.
f. Realizamos un ciclo que se repetirá tantas veces como sea necesario mientras la variable numero sea mayor a 0.
g. Verificamos si el módulo de la división entre la variable numero y 2 es igual a 0. Si es cero, concatenamos al inicio de la variable resultado un '0'. Si no lo es, concatenamos al inicio de la variable resultado un '1'.
h. Dividimos el numero entre 2, tomamos solamente la parte entera y lo reasignamos a la variable numero
i. Como estamos dentro de un ciclo, se verifica si la variable numero es mayor a cero. Si lo es, se vuelve al paso g. Si no lo es, se rompe el ciclo.
j. Se muestra un resultado en pantalla con la variable resultado
Como verás, plantear un algoritmo es indicar los pasos a seguir para llegar a un resultado. La verdad es que el planteamiento de algoritmos por lo general es menos explícito, y por eso se acude a medios de expresión como el pseudcódigo y los diagramas de flujo. Lo importante es que los algortimos sirven como una guía a seguir a la hora de escribir un programa en algún lenguaje.
Para no hacer muy larga este artículo, dejaré a continuación una serie de enlaces donde podrás ver como se representa este algoritmo en un Diagrama de Flujo, y cómo lo pasaríamos a varios lenguajes de programación:
No hay comentarios.:
Publicar un comentario