Extensión de la clase 5. Parte1: Operadores condicionales

Para todo aquel que quiera aprender un poco más sobre programación, aquí va la primera parte del resto de conceptos teóricos, continuación de lo que vimos por encima la anterior clase (en la cual no llegamos a ver las Arrays, o punto 3, asi que echadle un ojo si queréis) y que os servirán para ENTENDER como funciona la programación, es decir, nada de memorizar cuáles son los pasos para hacer algo, si no, para responder a cosas como:
¿Por qué escribimos eso?, ¿Qué significa lo que estoy leyendo?...
De éste modo, ante un problema nuevo, utilizáis la lógica y no la búsqueda en internet de una solución que quizás, ni exista.

4- Operadores condicionales
En función de si se cumple o no una condición, el programa seguirá leyendo el código o leerá en bluckle (repetición) todo lo anterior a la condición, hasta que se cumpla (hay veces que nunca se cumple, por lo que formaríamos un buckle infinito, lo que nos llevaría al error).

Les más importantes son:
  1. if
  2. while
  3. for
  1. "Si ésto se cumple, haz ésto".
    La forma de escribirlo es la siguiente: En una línea la condición entre paréntesis después del if, abrimos llave y escribimos las líneas que queremos que se ejecuten si se cumple la condición. Por último cerramos llave. Ejemplo:



    En éste caso, creamos dos variables, e indicamos en la condición, que si una de ellas es menor de 500, almacene en la otra variable el valor de true (de ahí que utilicemos una variable booleana).
    A parte del "menor que"(<), podemos utilizar otros comparadores:
    Mayor que (>); Menor o igual (<=); Mayor o igual (>=); Igual (==) (ojo, son dos para hacer la comparación de "igual que". Si sólo pusiésemos uno, estaríamos declarando un valor (como en las variables)); Diferente (!=).

    Podemos escribir varias condiciones con el "and", que se escribe así: &&
    Ejemplo:



    En éste caso, solo se cumplirá la condición, se es mayor de 5oo y a su vez, menor que 600.

    Otra situación con la que nos podemos encontrar es que quisiéramos que una condición se cumpla, si se llegase a ocurrir solamente una de las dos condiciones que pondremos. Para éste caso, utilizamos el "OR", que se escribe así: || (barras verticales). Ejemplo:


    Almacena en win el valor de true (vamos a hacer como si eso significase que hemos ganado el juego), si conseguimos una puntuación mayor de 500 o más de 100 bonus.

    Si la condición if no se cumple podemos escribir una alternativa con ayuda de la condición "else". Ejemplo:



    Podemos añadir condiciones al else de la misma manera que hacíamos con if

    Estamos indicando que si se cumple la condición de más de 500 puntos, tiene un rango, si tiene más de 400, pero no se ha llegado a superar los 500, rango A, si es más de 300 pero no más de 400, rango B y si es otra opción distinta, rango C. (hemos creado la variable rank para amacenar los valores tipo string relativos al rango).
  2.  "Haz ésto, hasta que se deje de cumplir esa condición".
    Ejemplo:



    (Abajo)
    : Mientras score sea mayor que 0, restale 1 punto, es decir, estamos haciendo que la puntuación se reinicie constantemente.
    Si en éste caso pusiésemos un"++" en vez de el "--" que hemos puesto generaría un bucle infinito, ya que: Una vez se cumpla que score es mayor que 0, sigue leyendo código, y como siempre que sea mayor que 0, le sumaremos 1, jamás podrá ser 0.
  3. "Haz ésto hasta que yo te diga".En el caso del for, tenemos que escribir entre paréntiesis 3 sentencias:
    - La primera hace referencia a la variable donde vamos a almacenar los resultados que determinarán si se han cumplido las condiciones que permitirán seguir con el código o seguir intentando que el for se cumpla. Ésta variable nos se crea previamente como las que venimos viendo, sino que se crea en la propia sentencia.
    - La segunda, la condición que queremos que se llegue a cumplir, causante se que se lea el for una y otra vez.
    - La tercera determinará la acción que esa condición va a ir haciendo para cambiar la variable declarada en la primera sentencia, algo que hará que la segunda determine si seguir o no con el buckle.
    Ejemplo:



    En éste caso (Abajo):
    - Declaramos la variable, que tendrá de nombre "i" en honor a la palabra inglesa iterador (Un iterador es un elemento que tiene dos operaciones principales: referenciar un elemento particular de una colección o modificarse a sí mismo para que apunte al siguiente elemento), con el valor de 0.
    - Especificamos la condición de que i, tiene que ser mayor que 3 si queremos seguir leyendo el código.
    - Especificamos la acción para cambiar la variable, que es sumarle 1, siempre y cuando no sea mayor que 3.

    Score acabará sumando 4 puntos el final de la condición (se empieza a contar desde 0).

    El verdadero poder de este operador reside en su utilización en conjunto con las Arrays (explicadas en la anterior entrada):
    Dada una array de 10 elementos, queremos ir pasando por cada uno de ellos para modificarles con un solo for, en vez de hacerlo manualmente, uno por uno, en el que no utilizariamos for:

    Forma manual:



    Con el For:



    En éste caso, hemos ido pasando por cada uno de los elementos de la array y le hemos añadido un punto. Como ves es mucho más sencillo de la segunda manera:

    i2 es 0. Al no ser mayor de 10, ejecutamos la orden, que es añadir un punto a el correspondiente elemento del array coincidente con el valor de la variable i2. Al final de ésta ejecución, sumamos 1 a i2. Así hasta que i2 sea mayor que 10, cosa que probocará que añadamos un punto a los 10 nombres.

Comentarios

Entradas populares de este blog

Arrancamos con scratch. Estructura secuencial.

Arrancamos con scratch 2. Estructura tipo decisión

Montaje en serie y paralelo