Programación para todos: Algoritmos

in #programacion7 years ago (edited)

Hagamos un pequeño recordatorio


En las entregas anteriores ya logramos entender los conceptos fundamentales que van detrás de la programación.

Descubrimos las informática: disciplina que estudia métodos con el fin de almacenar, transmitir y procesar información, que ha sido un factor fundamental en el desarrollo de la humanidad.

Estudiamos las computadoras: instrumentos que se encargan de recibir, procesar y transmitir datos mediante procesos automáticos, que fueron parte importante de la explosión en el desarrollo de la tecnología y la ciencia en los últimos siglos.

Comprendimos lo que es un programa: secuencia de instrucciones escritas en un lenguaje que la computadora entiende, mediante las que ésta cumple con sus tareas.

En pocas palabras, los programas son la forma de hacer funcionar una computadora, con el objetivo de **Procesar, almacenar y transmitir datos e información de una manera más eficiente **.

Esta corresponde a la cuarta entrega de una serie de artículos, que han sido publicados con anterioridad. Para estar al tanto sigue los siguientes enlaces:

Ya conocemos las bases, ahora sigamos estudiando. ¡Comencemos!

Fundamentos


Nuestro objetivo es escribir una secuencia de instrucciones, que posteriormente serán ejecutadas por la computadora. Para ello, necesitamos comprender un concepto: algoritmo .
Un algoritmo se define como sigue: ”Método para resolver problemas mediante una lista bien definida, ordenada y finita de operaciones”, en otras palabras, secuencia de instrucciones ordenadas con el fin de resolver una problemática concreta.

En la vida cotidiana utilizamos frecuentemente algoritmos; por ejemplo, cuando ejecutamos un manual de instrucciones para armar un escritorio, o cuando seguimos los pasos para abrochar nuestros zapatos.

En matemáticas, cuando multiplicamos, sumamos, o dividimos un par de números estamos aplicando métodos de resolución de problemas, que se corresponden con algoritmos.

Características y estructura de un algoritmo

Formalmente, un algoritmo tiene las siguientes características:

  • Ordenado
  • Claro
  • Preciso
  • Definido

Estas características se cumplen con el objetivo de llevar a cabo una actividad sin generar dudas a quién debe hacer dicha actividad, en nuestro caso una computadora.

Un algoritmo cumple con la siguiente estructura y flujo de funcionamiento:

  • Se presenta el problema. El sistema se encuentra en un estado inicial.
  • Se plantean soluciones y se ejecutan pasos sucesivos y ordenados con el fin de solucionar la problemática
  • Se llega a un estado final y se obtiene una solución

¿Un poco confuso?, pues, veamos un ejemplo:


Tienes mucha hambre, y lo único que hay para comer es un huevo. Decides que lo comerás, por lo que lo vas a preparar.



Fuente

Problema: Cocinar un huevo frito. El sistema es el huevo, y el estado inicial del sistema es un huevo crudo

  • Paso 1:Sacar un sartén y ponerle un poco de aceite
  • Paso 2:Prender el quemador de la cocina
  • Paso 3: Dar suaves golpes al huevo con el borde del sartén
  • Paso 4: Vaciar el contenido del huevo en el sartén
  • Paso 5: Echar sal y especias a gusto
  • Paso 6: Esperar a que la clara tome un color blanco
    -¡Solucionado!, el huevo está preparado. Estado final del sistema:huevo frito

Representaciones de un algoritmo


Un algoritmo se puede representar de forma gráfica y escrita. La representación gráfica más comúnmente utilizada es el Diagrama de flujo. En dicho diagrama,el flujo de ejecución de las instrucciones es representado mediante flechas y cuadros.

Creación propia














Un algoritmo escrito corresponde a una secuencia de instrucciones escrita con texto: símbolos, números, letras y palabras, tales como una receta o un manual de instrucciones.

¿Qué relación tiene esto con programar?


Como ya vimos, programar consiste en escribir una secuencia de instrucciones a la computadora para que cumpla con una tarea en específico. Las computadoras no razonan, por lo tanto el único lenguaje que comprenden es preciso, claro , ordenado y definido, sin ningún nivel de abstracción. La mejor forma de escribir estas instrucciones es mediante algoritmos, que, actualmente, es la forma imperante al momento de programar.

Entonces, ¿cómo escribo un algoritmo a la computadora?, ¿con código binario?


No, utilizamos lenguajes de programación, que tienen ciertos niveles de abstracción y palabras de uso humano, con los cuales la experiencia es mucho más clara y ordenada.



Creación propia

¡Vamos por buen camino!


Ya estamos llegando al momento esperado: poder escribir nuestros propios códigos de programación.

Pero, antes, démonos una pequeña pausa.

El próximo miércoles comenzaremos a estudiar los lenguajes de programación y de qué modo hay que trabajar con ellos.

Para ello estudiaremos como primera instancia una herramienta fundamental: el pseudocódigo, para posteriormente meter las manos en la masa y ¡comenzar a programar!, utilizando un lenguaje con grandes proyecciones: Python.



Fuente

¿Muy corto el artículo?


Pues, ¡paciencia!,este tipo de cosas hay que verlas con calma, y para poder comprenderlas cabalmente hay que estudiarlas paso a paso.

¡Nos vemos la próxima semana!.

Por @vhinojosa


Sort:  

Corto? Está perfecto este tipo de información se debe de asimilar muy poco a poco. Para mi es bastante complicado entenderlo pero ese ejemplo de los huevos lo puso fácil. Estudie Periodismo porque me cuesta muchísimo comprender de números. Y esta explicación se me ha hecho fácil digerirla. Muchas gracias. Soy nueva en steemit y los leo... espero su apoyo. Un beso

Gracias!, me alegra mucho haber ayudado.

Saludos

Una muy buena síntesis del tema, para introducir a las personas a los algoritmos, les recomiendo PseInt, muy intuitivo y pedagógico para comenzar con algoritmos sencillos.

Gracias por el aporte, ¡se tomará en cuenta!

El artículo me pareció interesante, pero tiene varios errores de formato dentro del texto:

**Procesar, almacenar y transmitir datos e información de una manera más eficiente **

                                                  Comprendimos lo que es un programa: secuencia de instrucciones

Del resto gracias por hacer crecer la comunidad hispana, saludos

Muy bueno, lamentablemente falta mucho para el miércoles siguiente. Gracias por el aporte!

jaja gracias!, ya queda menos para el miércoles, nos vemos en el próximo post.

Ni más ni menos, ha sido suficientemente claro el artículo. Considero que hoy en día la programación es indispensable para el desarrollo de la tecnología. Poniendo un ejemplo hoy en día un estudiante de ingeniería de cualquier especialidad puede resolver diversos problemas relacionados a su contenido académicos mediante la herramienta Visual Basic incorporada a Excel, cuando antes se hacía manualmente o mediante programas mas rudimentarios y se tomaba mucho más tiempo.

De esta manera podemos optimizar nuestro tiempo y mejorar nuestra eficiencia a la hora de desarrollar nuevas tecnologías y encontrar soluciones a problemas prácticos.

Sin duda es muy importante. En el estudio de la ciencia es fundamental hoy en día, en física muchos problemas son imposibles de resolver sin el poder de cálculo de las computadoras.

Un saludo, gracias!

Gracias a ti por el aporte

Excelente post, nada como repasar las bases de la programación para quienes conocemos el área y es lo suficientemente claro para quienes están dando sus primeros pasos.

Me encantaría leer sobre los diversos tipos de lenguajes sus aplicaciones y alcances: cuales son más usados en programación de aplicaciones de escritorio, en desarrollo web, en creación de base de datos, en administración de base de datos, en desarrollos multimedia, entre otros

Hola @josepiamba

Para diseño de web HTML, JavaScript, PHP, SQL, Ruby, Phyton
Para diseño de aplicaciones Visual Studio, VisualFox Pro, los Macros de Excel con Visual Basic
Lenguajes C,C++, C#, Phyton, Ruby, RubyOnRails, PHP. SQL, Java, HTML
Pare de contar...

Gracias por tu aporte hermano

Excelente post, muy preciso y explicativo, y mejor aun me parece la selección del lenguaje de programación que piensan usar para el próximo post, python el lenguaje con la sintaxis más simple que he usado, me permitio entender rapidamente la programación orientada a objetos lo que me ayudo en el desarrollo de mi trabajo de grado hace pocos días. Saludos

¡Gracias!. Hemos elegido python mas que nada por que suele ser más fácil para gente nueva en la programación , es una buena puerta de entrada.

nice post

Muy buen post. Me gustó mucho. Gracias por compartirlo @cervantes. Saludos.

Buen artículo, ideal para aquellos que quieran hacer un algoritmo propio para una criptomoneda...

Esto es otro nivel!!... saludos!

Muchas gracias!, saludos.

Mil gracias por la explicación, la verdad que así "poco a poco"; se va analizando y comprendiendo mucho mejor... Hasta el próximo miércoles!
Fuerte abrazo. @cervantes

De nada, seguiremos con un contenido claro y ameno en su lectura.

Hasta el próximo miércoles!

¡GRACIAS! ¡JODER!

¡De nada!, que bien que te haya ayudado.

¡Gracias por el comentario!

Qué buen post. Lo entendí con facilidad. Voy a seguir este curso ya que me interesa mucho aprender a programar. No me parece muy corto el artículo, quizá porque como vengo de "cero" necesito que la información no sea mucha para poder digerirla y entenderla bien. Muchas gracias por compartir conocimientos.

Es un gran gusto para nosotros compartir este tipo de contenido. Me hace muy feliz que te haya ayudado.
No olvides que con anterioridad se publicaron otros artículos que explican todo desde cero y muy detallado.

¡Un saludo!

Interesante, se aprende con calidad; no con cantidad. La cantidad de información embota la mente, así que para entender esto necesitamos
una mente despejada.

Toda la razón, por eso decidimos hacer los artículos mas concisos.

Gracias, saludos.

Gracias, lo miraremos.

@Vhinojosa quizá leas esto dentro de x tiempo, no importa. Sólo quiero decirte, que estás haciendo un trabajo maravilloso. Mi persona, que siempre le ha temido a la programación, ahora se siente abierta a las posibilidades. Llevas en ti una gran herramienta Victor, tu conocimiento y manejo de ese tipo de lenguaje es realmente...fundamental en lo que se viene para la humanidad. El post está bien redactado, conciso, fácil de comprender. Estás haciendo un gran trabajo!

@industrialvarez, un millón de gracias, me alegra muchísimo ver que los artículos te han ayudado en esta magnitud. Esa es justamente mi misión, dar acceso justo a toda persona interesada en este tipo de información. Un abrazo!, seguimos hablando.

PD: Un detalle, mi usuario es @vhinojosa, sin mayúscula al inicio jaja.

Muy bueno, sobre todo lo del huevo.. Me hizo mucha gracia!!! :)