Programación para todos: Algoritmos
Hagamos un pequeño recordatorio
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:
- Programación para todos: Informática
- Programación para todos: Computadoras
- Programación para todos: Programas
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.
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:
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.
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...
nice post