Tengo un amigo que quiere aprender a programar, principalmente quiere hacer juegos, bueno… queremos hacer juegos… algún día lograremos hacer algo más que soñar con un trago en la mano, por mientras me parece interesante el ejercicio de compartirle conocimiento, y como ando en la onda de actualizar el blog, me parece una buena oportunidad para hacer una entrada, esperemos que semanalmente pueda actualizar este blog con el tutorial para productores audio visuales… JL, esta es para vos.
En general al explicar como programar, se usan muchos términos y se dan por sentado el conocimiento de otros, acá para partir vamos a ver los conceptos básicos, casi a modo de vocabulario para seguir los siguientes capítulos del tutorial.
Paradigma de programación: Este es un concepto amplio, es la línea de pensamiento que sigue un lenguaje de programación, como la filosofía que con la cual trabaja, como dice wikipedia, «Un paradigma de programación es una propuesta tecnológica que es adoptada por una comunidad de programadores», con esto se entiende una forma de ver el mundo desde el punto de vista tecnológico, que influye en como son construidos los programas. Por ejemplo, el Paradigma Imperativo, nos dice que un programa es la ejecución de pasos en un orden lógico que genera el sistema final y la interacción con este, bajo este paradigma, se programa con una consecución de pasos a seguir que se puede repetir eternamente, pero lo importante son los pasos a ser ejecutados, por otro lado, el Paradigma Orientado a Objetos toma otra aproximación, se centra en modelar el mundo en objetos con comportamiento y el programa se logra mediante la interacción de esos objetos en el entorno de ejecución, por lo tanto, el centro de la programación bajo este paradigma es el objeto y el comportamiento de este. Hay más paradigmas de programación, cada uno con su propia visión de que tomar para resaltar y que poner en el centro de atención, revisar el artículo de wikipedia para mayor detalle.
Lenguaje de programación: Es una especificación formal que define mediante un conjunto de símbolos procesos e interacciones, el lenguaje de programación en su implementación toma uno más paradigmas como base para implementar la forma como se desarrollan las aplicaciones. En la actualidad el paradigma de programación más expandido es orientación a objetos, y este será el paradigma que se tomará para las implementaciones.
Algoritmo: para esto voy a confiar absolutamente en wikipedia porque la definición está estupenda, es un conjunto pre-escrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad. Como es un conjunto escrito de pasos se puede llevar a la vida real el ejemplo y escribir algoritmos para las actividades cotidianas, como planchar, hacer la cama o cocinar, seguir una receta es como seguir un algoritmo de cocina escrito en un lenguaje informal, lo que no lleva al siguiente término.
Pseudo código: es un lenguaje no formal, que usa la estructura general de un lenguaje de programación pero deja muchas cosas a la interpretación humana por ser más libre y sirve para hacer una buena aproximación de algoritmos a ser implementados con posterioridad. Aunque es principalmente de carácter libre, siempre se tiende a formalizar lo más posible y se puede ver un resumen de como formalizarlo aquí.
Hasta acá hay unos pocos conceptos básicos pero muy potentes, no parece que se pueda hacer mucho con esto pero si vemos un ejemplo nos daremos cuenta lo importante de estos conceptos y lo mucho que podemos empezar a hace solo con estas herramientas.
Por ejemplo, queremos escribir en pseudo código un algoritmo para repartir cartas 12 cartas a una mesa con cuatro jugadores. En principio es simple pero vamos a ver que para poder satisfacer que no quede lugar a dudas, hay que ponerse en algunos casos, como por ejemplo si no tengo cartas en la mano que se hace?, veamos como queda nuestro algoritmo.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Método para repartir Cartas a una mesa de jugadores. | |
Revolver mazo de cartas a repartir | |
Para Cada uno de los Jugadores | |
{ | |
Repetir 12 veces lo siguiente | |
{ | |
Si ( Quedan cartas en el mazo de repartir) | |
{ | |
Repartir Una Carta al jugador | |
} | |
Si No quedan | |
{ | |
Tomar mazo de descartadas. | |
Revolver mazo de descartadas. | |
Convertir en mazo de descartadas revuelto en mazo de repartir | |
Repartir Una Carta al jugador | |
} | |
} | |
} |
De este ejemplo poder deducir que se utilizó el paradigma imperativo, ya que se vio como una serie de pasos lógicos a seguir el programa completo, además se puede ver que hay cosas que se asumen como por ejemplo que repartir 12 cartas con el mazo alcanza para los 4 jugadores, que se parte con un mazo de cartas por revolver y uno para repartir, además se toman decisiones como repartir las 12 cartas a los jugadores antes de pasar al jugador siguiente y revolver el mazo de cartas por repartir al inicio. El pseudo código deja mucho para que se entienda por el ser humano intentando no dejar ninguna duda sobre los pasos que se deben seguir, como un algoritmo.
Este es un ejemplo corto de la clase de cosas que se tienen que ver a la hora de programar, yo estoy muy familiarizado con los algoritmos el pseudo código y las cosas que se pueden hacer, tanto que puede ser un poco complejo seguir el ejemplo o las explicaciones, si es así por favor deja un comentario e intentaré hacer las aclaraciones pertinentes.
TAREA:
Si entendiste y lograste captar bien el concepto detrás del pseudo código, luego de leer wikipedia claramente, intenta hacer lo siguiente como algoritmo.
- Contestar el teléfono.
- Hacer huevos fritos.
- Comprar pasajes a viña del mar.
- Buscar ejemplos de pseudo código en internet.
Cuéntame como te va y que dificultades tienes.
septiembre 12, 2013 at 9:11 am
Filete… ahora le digo a mi cuñado… (tiene 14 años y quiere ser informatico), que le ponga bueno a la lectura… Grax SebMaldo!!!
septiembre 12, 2013 at 9:13 am
bkn, ojalá le sirva a más gente el target de productores audio visuales es medio acotado XD, cualquier cosa que deje comentarios.
mayo 25, 2014 at 4:29 pm
ta bueno, saludos