Sigamos aprendiendo
Ya queda poco para comenzar a escribir nuestros propios códigos de programación. Estudiamos y descubrimos el algoritmo, el cual es el principal método mediante el que se escriben instrucciones en los programas.
Nos falta comprender dos conceptos para poner manos a la obra: lenguajes de programación y pseudocódigo.
¿Quieres comprender desde cero las bases de todo lo que leerás a continuación?, para ello lee los siguientes artículos:
- Programación para todos:la informática y su rol en la humanidad
- Programación para todos:Computadoras
- Programación para todos:Programas
- Programación para todos:Algoritmos
Lenguajes de programación
Ya hemos mencionado más de una vez que la computadora comprende el lenguaje de código binario. De esta forma podemos darle todo tipo de instrucciones a la computadora , pero es muy poco eficiente, además de complejo. Con el propósito de resolver este problema existen los lenguajes de programación.
Un lenguaje de programación es un lenguaje formal, mediante el cual se escriben las instrucciones que ejecutará la computadora.Estos lenguajes tienen reglas y sintaxis definidas y formales, con ciertos niveles de abstracción, para que el usuario humano pueda interactuar con la computadora. Existen distintos niveles de lenguajes de programación, principalmente de bajo y alto nivel.
Lenguaje de bajo nivel: son los más próximos a la arquitectura del hardware, es decir, los que la computadora utiliza de manera más directa. En esta categoría encontramos al código binario.
Lenguaje de alto nivel: más cercano a programadores y usuarios, se asemejan al lenguaje humano utilizando letras y palabras, en su mayoría en inglés.
Código propio
Entonces, ¿cómo la computadora comprende lenguaje de alto nivel?
Pues...no lo entiende, así es que se utilizan intermediarios: compilador e intérprete. Ambos son programas informáticos que se encargan de la misma tarea , traducir el lenguaje de programación a código máquina, para que así la computadora pueda ejecutar las instrucciones.
Pseudocódigo
Antes de comenzar a estudiar e intentar comprender lenguajes de programación debemos manejar un concepto, el pesudocódigo. Corresponde a la descripción de un algoritmo en forma de lenguaje de programación, pero con una sintaxis informal y no determinada.
Imagen propia
No se utilizan pseudocódigos en una computadora, pero es una buena forma de escribir previamente la lógica de un programa sin haber establecido el lenguaje de programación que se utilizará.
Conceptos y elementos
Cuando se escribe un programa, existen variados conceptos básicos a utilizar, independiente del lenguaje. Aquellos son los siguientes:
Variable
Elemento que aloja un valor, y que es utilizado durante la ejecución del programa. Las variables pueden ser manipuladas, cambiando su valor cuantas veces sea necesario, de ahí su nombre.
Por ejemplo: Quiero saber cuántas manzanas hay en la cocina, para ello tomo una libreta , voy a la cocina y cuento las manzanas. Anoto en mi libreta: cantidad de manzanas = 10.
variable cantidadDeManzanas=10;
La cantidad de manzanas que anotamos corresponde a una variable, y a medida que vayamos comiendo manzanas el valor de la variable cambiará.
Arreglo
Conjunto o colección finita y ordenada de elementos. Por ejemplo, podemos escribir un arreglo con nuestras películas favoritas.
arreglo misPeliculas=[PrincesaMononoke,Interestellar,ElSeñorDeLosAnillos];
Función
Corresponde a una sección de código que cumple con una tarea de forma independiente, y puede ser llamada cuantas veces sea necesario. Una función tiene tres componentes fundamentales:
- Argumentos o parámetros: son variables que la función utilizará para ejecutar el código.
- Código: Instrucciones que la función llevará a cabo.
- Valor de retorno o resultado: es el valor final que nos entrega la función, el resultado de sus instrucciones.
Ejemplo:
función sumar(argumento1,argumento2){
resultado=argumento1+argumento2;
retornar resultado;
}
Estructuras de control
Definen el flujo de ejecución de las instrucciones, es decir el orden y la forma en que funciona el código.
Estructura secuencial
Secuencia de instrucciones fijas que se ejecutan en orden, de arriba hacia abajo.
instrucción1;
Instrucción2;
Instrucción3;
Ejemplo:
Cojer pala;
Barrer basura;
Cojer pala;
Botar basura;
Estructura selectiva
Instrucciones que se ejecutan si una condición se cumple o no.
Si (condicion) entonces{
instrucciones
Fin
}
Ejemplo:
Si (colorClara=blanco) entonces{
Apagar cocina;
Comer huevo;
Fin;
}
Estructuras iterativas
Las instrucciones se ejecutan múltiples veces según ciertas condiciones. Son los llamados loops o bucles, y cada vez que se ejecuta el bloque de instrucciones es llamado iteración.
Bucle mientras
Las instrucciones se ejecutan mientras se cumple una condición.
Mientras (condicion) hacer{
instrucciones
Fin
}
Ejemplo:
Mientras (edad<40) hacer{
Crecer peloCabeza;
Fin
}
Bucle para
Es el conocido ciclo for. Utilizado para ejecutar instrucciones (iterar) un número conocido de veces. Para ello se toma una variable, se fija un valor inicial, y por cada iteración se le asigna un paso, es decir un cambio en esa variable. Hasta que la variable cumpla cierta condición se ejecutarán las instrucciones.
Para (variable=valorInicial) hasta (valorFinal) con paso (variable+1) hacer{
Instrucciones;
fin;
}
Ejemplo:
Para (edad=0) hasta (40) con paso (edad+1) hacer{
Crecer pelo;
fin;
}
Veamos un ejemplo
Uff, bastante información, ¿no?, ¡veamos un ejemplo para comprender lo anterior!.
Queremos mejorar nuestra condición física, por lo que iremos a entrenar:
Imagen propia
Analicemos el código anterior: El flujo de ejecución de las instrucciones es de arriba a abajo, no olvidemos que estamos escribiendo un algoritmo.
- Primero, definimos las variables involucradas en el programa.
- Luego comienza la ejecución de las instrucciones. El primer paso es una selección, si el clima está soleado, entonces nos ponemos una gorra y se pasa a la siguiente instrucción. Si no se cumple la condición saltamos a la siguiente instrucción.
- Queremos caminar por 30min(1800seg), de modo que mientras el tiempo de nuestro cronómetro sea menor a 1800 seg, caminamos. Cuando el tiempo sea mayor o igual a 1800 seg, pasamos a la siguiente instrucción.
- Secuencialmente, tomamos una pesa, y la acomodamos para ejecutar un ejercicio.
- Desde un valor inicial de 0 repeticiones, hasta que sean diez , levantaremos la pesa. Cada vez que levantamos la pesa sumamos una repetición.
- Tomamos la pesa y la guardamos.
Ejercicio: Escribir cualquier acción de la vida cotidiana en forma de pseudocódigo.
¡Listo!
Prácticamente, ya estuvimos escribiendo códigos de programación, tal como se hace con un lenguaje, de modo que, con lo que hemos aprendido ya somos capaces de escribir programas. El único paso que hace falta es aprender un lenguaje y su sintaxis, ¡lo cual veremos en el siguiente artículo!.
Material complementario
Para estudiar este tema, pueden complementar esta información con las siguientes fuentes:
- Wikipedia
- Algoritmos, Francisco Pinales, César Velázques
- Introducción a la programación, Universidad nacional de Colombia
Materiales didácticos
Recibimos muy buenas sugerencias en los comentarios de artículos anteriores, por parte de @julioccorderoc y @amaponian, que corresponden a los siguientes materiales:
¡Gracias por sus aportes!.
En la próxima entrega comenzaremos a estudiar el lenguaje de programación Python, para posteriormente, ¡escribir nuestro primer programa!.
Gracias por leernos, un fuerte abrazo, ¡nos vemos!.
excelente aporte
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Gracias!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Hay una herramienta muy sencilla para introducirse en el mundonde la programación, incluso para niños a partir de los seis años: Scratch, https://scratch.mit.edu. Espero les sea útil a todos aquellos que comienzan.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Gracias por la acotación!. Efectivamente, esa es la herramienta mencionada en el artículo. Saludos
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
No me di cuenta que estaba listado en los materiales didácticos! disculpa. Para enmendarme envío otro recurso muy interesante para aprender a programar de forma entretenida: Code Combat Game, https://codecombat.com/play.
Se trata de aprender a programar a través de un videojuego. Aquí la página oficial con la descripción: Code Combat
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
La programacion es todo un mundo de retos y lenguaje complejo... Para los que lo conocen y saben interpretar supone una enorme oportunidad de comunicacio efectiva. De alli su valor, quien tiene el conocimiento tiene el poder. Arriba muchachos, aprendamos a programar! Comuniquemonos mejor!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Toda la razón, el poder comunicativo que ha dado la informática y la programación ha cambiado incluso la forma en que funciona el mundo.
Saludos!, gracias por el comentario.}
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
excelente trabajo @cervantes sigue asi
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Muchas gracias por el apoyo!
Saludos.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
I dont understand your language, but how ever, i was attracted by your name. happy steeming
its your blockchain entertainer
@michaelcj founder of @steemcamp
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
INTERESANTE POST...
RECUERDO CUANDO COMENCÉ A PROGRAMAR EN PASCAL
JEJEJEJE
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Que bien poder evocar esos recuerdos jeje.
Gracias por el comentario, saludos!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Que buen trabajo hacen!! Saludos
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Muchas gracias!.
Saludos
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Estas es una de las cosas que me gustaría aprender hacer, tengo algo sencillo como primer reto personal. Estas instrucciones son de mucho valor para quienes como yo están en cero. Gracias por el aporte.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Nos alegra mucho ser de ayuda.
Si lees todos los artículos en el orden expuesto al inicio del post puedes estudiar desde cero.
Saludos!, gracias por tu comentario.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
¡Muy buena publicación y excelentemente explicada! Hasta dan ganas de sentarse a aprender a programar para ganarse la vida. Felicito al Equipo de Desarrollo Cervantes.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
¡Muchas gracias!, que alegría que nuestros aportes den tal inspiración y ayuda.
Saludos!, te esperamos el otro miércoles.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Excelente post, cosas que no sabía del todo y que ahora comprendo muy bien; excelentes ejemplos y redacción, no pude parar de leer hasta terminarlo.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Nos alegra mucho brindar tal ayuda.
Saludos, ¡gracias por el comentario!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
me gusto mucho.. tienes una forma muy pedagofica de explicar algo tan importante.. solo un poco mas de dinamica y seras el mejor en lo que haces .. te felicito
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
¡Gracias!, seguiremos trabajando para mejorar la calidad de los artículos .
Saludos.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Personalmente creo que ARRAY habría que traducirlo por VECTOR o MATRIZ, en tu caso el "arreglo" de películas favoritas es un vector. A mi "arreglo" me parece siempre "reparo" del verbo reparar.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
pero esa es la forma en la que se les llama en programación, de hecho tengo entendido que vectores y matrices no existen como tal si no que son, arreglos unidimensionales (vectores) y multidimensionales (matrices)
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Eso es porque los informáticos en vez de usar el español usan spanglish y traducen mal, se usa vectores y matrices, de toda la vida en matemáticas, en español si quieres puedes traducir por matriz todo, ya que un vector sólo es una matriz de una fila o columna.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Es verdad, son vectores y matrices en matemáticas, pero hay un detalle: Esto no es matemáticas, son objetos con diversos usos. Un vector es solo un objeto matemático, que es distinto a un arreglo. Un arreglo es como está definido en el artículo, en cambio un vector o una matriz cumplen con muchas propiedades matemáticas que un arreglo no cumple. Gracias por el comentario!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
¡Excelente! ¡Me encanto esta información!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
¡Gracias!, nos alegra ser de ayuda.
¡Un saludo!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Gracias por mencionar mi aporte.
Buen artículo.
Saludos.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Siempre trabajaremos en conjunto con la comunidad, considerando sus aportes y comentarios.
Gracias, un saludo.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit