Como diseñar un algoritmo y pasarlo a lenguaje de programación con ejemplos ( + Explicación de su desarrollo)

in #spanish7 years ago

Saludos cordiales a toda la comunidad de steemit, me alegra estar una vez más con ustedes y esta vez les traigo un super post que seguro será de mucha utilidad para toda la comunidad, sobre todo a los que quieran introducirse en el mundo de la informática pero no tienen la más mínima idea de donde iniciarse, en el campo de la programación lo primordial es estudiar los conceptos básicos que nos permitirán comprender mejor de lo que hablaremos en este post y en futuros post que abordaremos los temas de la informática más a fondo, si queremos introducirnos a la programación nos preguntamos: ¿Cual sería el primer paso?

26551887_1574096866045176_1878891475_n.png

Metodología de la programación:

En primera instancia abordaremos el concepto básico de lo que es un algoritmo y definimos el lenguaje de programación con el que queremos iniciarnos, pueden escoger el que ustedes quieran pero para más entendimiento y comprensión de todos los componentes y paradigmas de programación usaremos C, ¿Para que nos servirá programar? bueno, es importante aprender a utilizar la computadora para resolución de problemas y creación de novedosos proyectos.

¿Pero... que es un algoritmo?¿ Y por qué es tan importante?

Para llegar a la realización de un programa es muy importante el diseño de un algoritmo que permita la resolución del problema planteado, ya que sin este no puede existir un programa. El algoritmo es independiente tanto del lenguaje de programación como de la computadora que ejecuta el programa. Si analizamos los algoritmos pueden resultar incluso más importante que los lenguajes de programación o las computadoras ya que si nos fijamos un lenguaje de programación es solo un medio para poder interpretar y expresar el algoritmo y la computadora procesa y ejecuta lo que el lenguaje genera.

dibujo 1.png

Figura 1: Resolución de un problema.

Características de los algoritmos

Lo más primordial que debe cumplir todo algoritmo es lo siguiente:

  • Un algoritmo debe: ser preciso e indicar el orden de realización de cada paso.
  • Debe ser definido: Si un mismo algoritmo se sigue 2 veces, se debe obtener el mismo resultado.
  • Debe ser finito: Ya que si se recorre un algoritmo este debe terminar en algún momento, es decir, un número finito de pasos.

Todo algoritmo debe contener de: ENTRADA, PROCESO Y SALIDA. Ahora vamos a poner en práctica un poco de estos conceptos y veamos para que nos sirve los algoritmos en la vida diaria.

Con el siguiente ejemplo vamos a realizar la suma de todos los números pares entre 2 y 1000.
[EXPLICACIÓN]: Con este problema queremos sumar: 2+4, 6+8... + 1000 en este caso utilizaremos la palabra SUMA y NUMERO para representar las sumas sucesivas que van de (2+4) (2+4+6) (2+4+6+8) vale. La resolución del algoritmo se haría de la siguiente manera:

  1. Inicio
    2.Establecer SUMA a 0
    3.Establecer NUMERO a 2
    4.Sumar NUMERO a SUMA (el resultado será el nuevo valor de la suma)
    5.Incrementar NUMERO en 2 unidades
    6.Si NUMERO =< 1000 bifurcar al paso 4 (de lo contrario se escribirá el ultimo valor de SUMA y terminará el proceso)
    7.Fin

De esta manera hemos podido asimilar un poco mejor de lo que trata los algoritmos en cuanto a su diseño, esto es bastante útil a la hora de querer establecer o esquematizar nuestro proyecto cuando pasemos a un determinado lenguaje de programación con algún editor de texto.

Codificación de un programa:

Esto es nada más que la escritura de un lenguaje de programación para la representación de un algoritmo desarrollado previamente, dado que el algoritmo es independiente del lenguaje de programación este puede escribirse sin problemas en cualquier lenguaje sin embargo yo lo haré a modo de ejemplo con C.

Para realizar dicha conversión se debe sustituir las palabras reservadas en español por sus homónimos en inglés y las operaciones e instrucciones en lenguaje natural. Ok ahora vamos a realizar el siguiente programa usando DEV:

[ Obtener una tabla de depreciaciones, acumuladas y valores reales de cada año para un determinado producto]

captura1.png

En nuestro primer paso creamos la estructura básica del programa, inicializamos una variable double para los datos de coma flotante.

captura2.png

Terminamos de crear las variables que van a componer el programa double, int para los números enteros.

captura3.png

Ahora utilizamos las funciones de entrada y salida siguiendo la sintaxis que esta en la documentación de lenguaje C, este ejemplo no es para enseñar lo básico de C sino para demostrar su función llevado de algoritmo a código, en futuros post si les enseñare de 0 a programar en C.

captura4.png

Las palabras reservadas de C y funciones de C, y siempre se escriben todo con minúsculas, nunca con mayúsculas o mezcla de mayusculas/minusculas: double, int, puts, scanf, while, printf. Esas son algunas pero no son todas las palabras reservadas de C y funciones de C, se necesita revisar siempre cuales son y escribirlas siempre en minúsculas.

Teniendo todo definido podemos ver como nos corre el programa.

captura5.png

Como podemos ver el programa corre con normalidad, y el código esta ahí son libres de mejorarlo si desean, esto fue una prueba para demostrar como se puede pasar de un algoritmo a un lenguaje de programación. Bueno amigos esto ha sido todo espero que les haya gustado el post, un voto me ayudaría muchisimo abajo estarán las fuentes de la información que pasen una excelente noche.

Fuente:

Libro: Programación en C, Metodología, Algoritmos y Estructuras de datos
Autor: Joyanes Aguilar, Luis.

@greylml // Upvote // Follow // Restem // @greylml

Sort:  

Lo explicas bien y nada como apoyarse de un libro, es buena recomendación el libro y este post, es por ello que este artículo ha sido propuesto para ser votado por la cuenta @Cervantes.

Saludos @greylml.

Que bueno, muchas gracias que bueno que lo tomen en cuenta ese libro fue con el que inicie mi carrera como ingeniero y la verdad le tengo mucho cariño.

The @OriginalWorks bot has determined this post by @greylml to be original material and upvoted it!

ezgif.com-resize.gif

To call @OriginalWorks, simply reply to any post with @originalworks or !originalworks in your message!

Wow, excelente post. Muy interesante y de mucha utilidad.

gracias por tu comentario.

Coin Marketplace

STEEM 0.20
TRX 0.13
JST 0.030
BTC 67160.08
ETH 3517.35
USDT 1.00
SBD 2.70