Hola,
Esta vez no hay dibujitos. Teoría pura y dura.
No voy a plasmar un manual de programación, ya que no me gusta reinventar la rueda.
Simplemente voy a intentar explicar una serie de nociones muy necesarias para la programación. Cualquiera puede encontrar miles de documentos referidos caso de querer profundizar.
Vamos a imaginarnos que nos han regalado una esclava. Bueno no, mejor un esclavo, así evitaremos descentrarnos.
Dicho esclavo obedecerá ciegamente nuestras órdenes, pero tiene algunas restricciones:
- No entiende nuestro lenguaje y le cuesta mucho aprenderlo (1), así que tendremos que hablarle en su idioma.
- Su lenguaje es parco. Tiene muy pocas palabras y verbos.
- Cuando le ordenas algo, siempre lo intentará hacer aunque no pueda. Si le dices que intente atravesar una pared, lo intentará y es posible que se rompa algún hueso. Si no puede, avisará de que hay algún problema.
Bien, pues este es nuestro esclavo. Hasta ahora, en tutoriales previos, le hemos dado una serie de objetos (botón, textbox, etc.) y le hemos indicado qué tenía que hacer con ellos.
Ahora vamos a intentar entender cómo ‘actúa’ nuestro esclavo.
Los esclavos tienen dos maneras de ‘pensar’. Todos, piensan de forma estructurada, y algunos además pueden pensar de forma afín a sus amos, lo que normalmente se llama orientado a objetos o más moderno, orientada a eventos.
Este modo de pensamiento es posible que lo abordemos en detalle algún día, pero no hoy.
Para entender un poco el concepto, nuestro esclavo siempre pensará de forma estructurada, salvo en aquellos casos en los que se produzca una interrupción. Por ejemplo, si está pasando la aspiradora y suena el teléfono, deberá ir a contestar.
Veamos la programación estructurada:
Nuestro esclavo recibe nuestras órdenes. Chequea que todas están bien definidas y que las entiende (2) y comienza a ejecutarlas.
Le pueden llegar tres tipos de instrucciones (3):
1.- Orden secuencial.
2.- Orden repetitiva.
3.- Orden alternativa o condicional.
No voy a poner ejemplos en lenguaje de programación, ya que estas instrucciones son válidas para todos. Dependerá del lenguaje que hable nuestro esclavo, el cómo traducirlas para que éste las entienda. Simplemente las pondré en nuestro idioma (lo que se llama en algunos sitios pseudocódigo).
1.- Orden secuencial
Esta es la orden simple. ‘Haz esto’ y sigue por la siguiente orden.
Ejemplos:
- Suma la variable1 y la variable2 y guardas el resultado en la variable3.
- Banea a KP
- Cámbiale el color al caballo blanco de Santiago.
Etc.
2.- Orden repetitiva.
Este tipo de órdenes, junto con las del tipo 3, provocan una ruptura en la secuencia de ejecución, ya que generan ‘saltos’ de dicha secuencia.
Las órdenes repetitivas provocan que nuestro esclavo repita una y otra vez una serie de órdenes hasta que se cumpla una condición que hará que finalice (para continuar con la siguiente instrucción a realizar).
Ejemplos:
----
Mientras no sea final de fichero:
Leer línea de fichero
Sumar a la variable numerodeAs el número de ‘a’s que haya en la línea
Fin bucle Mientras
----
----
Repetir 100 veces
Escribir “buscaré en Google antes de preguntar”
Fin bucle Repetir
----
----
Hacer
Mandar link de babes a KPS
Mientras KPS no me banea
----
Normalmente estas sentencias se llaman (las pongo por el orden de los ejemplos anteriores):
- Bucle While-Wend
- Bucle For-Next
- Bucle Do-While
3.- Orden alternativa o condicional.
Este tipo de órdenes provocan que dependiendo de una o varias variables, se realice una parte del código u otra.
Ejemplos:
----
Si hay ropa sucia
Pon lavadora
Sino
Pasa la aspiradora
Fin del Si
----
----
Si hay ban oficial
Postear ‘a la cazuela’
Sino
Mandar privado a Quinto para que busque el ban
Fin del Si
----
Bien, pues estos son los tipos de órdenes que podemos dar a nuestro esclavo. Son pocas, pero son muy potentes. El hecho de poder combinarse entre ellas hacen que casi todo lo que deseemos pueda expresarse con ellas.
Ahora estamos preparados para contestar a la primera pregunta:
http://desarrollo.gamersmafia.com/respuestas/show/496
Regards(las plantas)
(1) Existe la posibilidad en algunos lenguajes de crear alias que permiten usar términos de nuestro lenguaje para definir los propios del lenguaje de programación.
(2) Dependiendo de si el lenguaje es compilado (traduce todo y lo ejecuta) o interpretado traduce una línea, la ejecuta y va a por la siguiente).
(3) Obviamos las instrucciones incondicionales (GOTO) ya que van en contra de la programación estructurada y sólo se utilizan para cosas muy ‘especiales’ hoy en día.
Ejemplos facilmente entendibles y con humor para gente que no sabe nucho del tema.
SinSa, desde lo del dia de los inocentes, eres un ejemplo a seguir para mí. x'D
Gran trabajo si señor
He empezado a sentir curiosidad por la programacion por tus tutoriales, todo explicado y como ha dicho #1 con humor
#1
kiero saber ke paso ese diaaaa
Algún día daditO algún día
, solo decir que fue muy buena la broma.