5.1. Objetivos del tema.
Hemos visto lo que es la estructura de un
programa, los datos, que esos datos en realidad se convierten en variables de
distinto tipo dentro de un programa, y que esas variables generan o creamos con
ellas expresiones.
Ahora, una vez que tenemos expresiones,
hay que utilizarlas para algo, las expresiones pueden ir de forma aislada o
formar parte de las instrucciones de un programa.
5.2. Introducción.
Un programa se construye a base de
escribir una serie de instrucciones propias del lenguaje que utilizamos y con
el fin de poder llegar a que ese programa realice la labor para la cual se ha
diseñado.
Las instrucciones de un lenguaje de
programación son las que nos permiten crear la estructura del programa.
En los programas vamos creando bloques
con las instrucciones, de forma que a base de ir sumando bloques llegamos a
construir un programa más o menos complejo.
El mejor ejemplo podríamos verlo en un
edificio.
Un edificio se construye a base de ir
añadiendo ladrillos, muchos ladrillos, que se apoyan unos en otros.
Un programa se puede ver como algo
similar.
Pero un edificio se sustenta sobre una
estructura.
A nivel de programación, esa estructura
se basa en los procedimientos y funciones que escribimos en el programa, y esos
procedimientos, funciones y métodos, los llenamos de instrucciones.
5.3. Instrucciones.
La secuencia de instrucciones escritas en
un orden lógico, que indican las operaciones a realizar para resolver un
problema, es lo que denominamos programa.
Las instrucciones sin las expresiones en
la mayoría de los casos no tienen razón de ser.
1 Símbolos.
En un tema anterior pusimos los símbolos
más utilizados en los organigramas.
Cada uno de esos símbolos se traduce en
una instrucción en un programa.
If condición then acción
else acción.
Si se cumple la condición
entonces hacemos y sino se cumple hacemos esto otro.
A = A + B
2 Estructuras.
Con las instrucciones podemos crear esos
tres tipos de posibilidades,
Ejecución lineal o secuencial.
Ejecución alternativa, tomar una decisión.
Ejecución repetitiva.
3 Lineal, secuencial.
Si volvemos a los ejercicios que
realizamos al principio, aunque aun no hayamos utilizado ningún lenguaje,
podremos ver como de forma instintiva hemos utilizado instrucciones de forma lineal
con expresiones.
Cada símbolo del organigrama, o cada
línea del seudo código es una instrucción.
La estructura que se ha utilizado en esos
ejercicios es una estructura lineal.
La imagen que tenemos a la derecha es un
ejemplo de estructura secuencial, si nos fijamos en los símbolos del
organigrama, veremos que no hay ninguna acción de repetición, no hay ninguna
flecha que vuelva hacia arriba a un punto por el que ya hemos pasado.
Tampoco hay ningún punto en el que se
divida el programa entre dos posibilidades después de una pregunta.
4 Alternativas.
En
la imagen de la izquierda podemos observar como hay una decisión y la
posibilidad de que se ejecute una u otra rama del programa, eso es una
estructura alternativa.
Las estructuras alternativas pueden tener
dos salidas, cuando cumple, la derecha y cuando no cumple la izquierda.
La parte de no se cumple, la izquierda,
es optativa, es decir, no hay porque escribir una acción cuando una condición
no se cumple, a lo mejor solo nos piden que visualicemos los números primos,
entonces si un número no es primo pasaremos al siguiente y ya está, no hay por
que hacer nada.
Estas instrucciones pueden estar
anidadas, unas dentro de otras.
En el ejemplo podemos observar como
dentro de la pregunta de “Tiempo mayor que 180”, hay a su vez otra condición en
la que preguntamos por “Resto mayor que cero”.
Y se podrían seguir anidando condiciones.
5 Repetitivas.
Las estructuras repetitivas, permiten que
se pueda ejecutar una parte del programa un número determinado de veces.
Cuantas veces nos han dicho, mientras no
te comas la merienda, no iras con tus amigos a jugar al balón, - bueno ahora es
a la PlayStation-, o aquello de hasta que no te ordenes la habitación, no
sales.
Pues hemos nombrado los dos tipos base de
estructura repetitiva que existen, mientras y hasta.
Mientras se cumple una condición.
Repite hasta que se cumple una condición
Una estructura repetitiva esta formada por una serie de
instrucciones que están escritas en el interior de otra instrucción que permite
que esas instrucciones se ejecuten un número determinado de veces, mientras se
cumple una condición, o hasta que se cumpla una condición.
Si observamos las imágenes veremos que en
una la condición que controla cuando se ejecuta el bucle, está al principio y
en la otra está al final.
La diferencia permite que en un caso,
mientras, While, solo se ejecuta las instrucciones del interior del bucle si la
condición se cumple al llegar al bucle.
En el caso del hasta, Repeat, las
instrucciones del interior del bucle se ejecutarán siempre al menos una vez, ya
que la condición se analiza al final.
Los bucles mientras y repite, pueden
usarse indistintamente, pero evidentemente el motivo de su existencia es porque
no siempre se pueden sustituir uno por el otro.
En los bucles, se realiza aquellas
acciones que nos sean necesarias en el programa, pero una de las situaciones
habituales es la de realizar operaciones donde se cuentan, o se incrementan
valores.
En los dos ejemplos que vemos a
continuación, podemos observar como en los dos casos se realiza la misma
acción, que es la de visualizar unos valores que van de diez a veinte.
Sin embargo, si observamos los dos
ejemplos, veremos como hay diferencias en el de la izquierda, el número uno, la
acción de incremento del contador, se realiza después de la acción de
visualizar la variable X, mientras que en la de la derecha, el número dos, es
al revés.
SI seguimos observando los ejemplos,
podemos ver como en un caso el valor inicial de X es diez, y en el otro nueve.
Si seguimos observando, veremos que las
condiciones de salida del bucle cambian, en un caso por igual a veinte y en
otro por ser mayor que veinte.
En el primer caso cuando X vale veinte en
la condición de salida, ese número todavía no ha sido visualizado.
En el segundo caso, cuando X vale veinte
en la condición de salida, ese número ya ha sido visualizado, esos son los
matices.
La programación está llena de matices y
“tonterías de éste tipo”, pero es esa la diferencia entre que funcione
correctamente o no.
Un programa no puede ir bien para el
noventa por ciento de los valores, si no para el cien por cien de los mismos.
Traducción, en un bucle lo importante es
siempre:
Con que valores o condiciones empiezas,
En que momento realizas la progresión,
Cuando realizas la acción que te interesa
en el bucle
En que momento abandonas el bucle,
condición de salida.
Si estas condiciones las tenemos
presentes, el uso de los bucles carece de problemas.
Lo siguiente es tener presente en que
momento hay que utilizar de forma obligatoria un bucle While o un bucle Repeat.
Con el tiempo veremos que el más
utilizado acaba siendo el mientras, pues casi siempre nos interesa tener
controlado que se cumpla determinada condición antes de entrar en el bucle.
Otro matiz, si en un bucle Repite la
condición es hasta que “sea de color verde” en un bucle mientras la condición
se invierte y será mientras “sea de color verde”.
Aunque nadie se lo creerá, con lo que
hemos visto, a nivel de creación de la estructura de un programa, no hay nada
más que explicar, eso les da una idea, por un lado de lo sencillo que es hacer
un programa, y de lo importante que es tener hasta aquí claro todo lo que se ha
visto.
Evidentemente que la programación no es
solo lo que se ha visto, todavía quedan temas por ver, muchos temas, pero en
realidad, para crear un programa, no hace falta nada más de lo que se ha visto.
El resto de temas pendientes de ver se
apoya en lo visto, de ahí la importancia de tener claro todo lo visto.
No hay comentarios:
Publicar un comentario