 Para terminar este bloque, vamos a ver algunos ejemplos de uso de la instrucción condicional y los operadores condicionales. Vamos a hacer un programa en el que, utilizando lo que ya hemos visto sobre el sensor, preguntar y esperar, el usuario tenga que introducir una cadena de texto y ahora en función de la cadena de texto introducido, hacemos una cosa u otra. En particular, haremos que Scratchy diga un mensaje u otro en función del texto introducido por el usuario. Empezamos con este programa al presionar la primera verde. Vamos a hacer que Scratchy regunte cuál es tu nombre y que espere. Recordamos que en la variable del sistema respuesta obtendremos lo que introduzca por el declaro del usuario. En función de la respuesta obtenida, vamos a hacer que con la instrucción si, entonces, se haga una cosa u otra. En particular, vamos a hacer que, por ejemplo, si el nombre que introduce es el del programador que ha hecho el programa, se le dé aquí un mensaje, diciéndole hola eres mi programador. Y en cualquier caso, una vez que se termine de decir ese mensaje, vamos a saludar al usuario que está utilizando el programa. Vamos a ello. Vamos a utilizar el operador de comparación para comprobar si la respuesta introducida por el usuario es el nombre del programador. En este caso, como yo soy Pedro, vamos a comparar si la respuesta es la cadena de texto Pedro. Después de preguntar cuál es tu nombre, introducirá por el teclado el texto del nombre y si la respuesta es Pedro, entonces vamos a hacer que Scratchy salude a su programador diciendo eres mi programador. En cualquier caso, al terminar, vamos a hacer que salude al usuario que ha introducido su nombre. Para eso recordamos, podemos utilizar el operador de unir para que Scratchy diga hola un espacio y ahora el valor introducido por el teclado. Volvemos a poner aquí el valor de respuesta. ¿Qué va a hacer este programa antes de ejecutarlo? Primero va a preguntar cuál es tu nombre. Y ahora, solo si la respuesta a esta pregunta ha sido Pedro, entonces va a decir eres mi programador. En cualquier caso, una vez terminado esta instrucción condicional, que puede haber ejecutado esta instrucción o no, finalmente se va a ejecutar esta instrucción para saludar al usuario, sea Pedro o no, que haya introducido por el teclado su nombre. Vamos a ejecutar el programa. ¿Cuál es tu nombre? Ahora está esperando aquí a que se introduzca el nombre. Lo introducimos. En este primer caso, no vamos a poner Pedro, vamos a poner Juan. Hola Juan, vemos que como respuesta igual a Pedro es falso, no ha entrado a ejecutar esta instrucción. Directamente ha ido a ejecutar la instrucción siguiente. Vamos a volverlo a ejecutar. Ahora vamos a escribir Pedro. Vemos que nos dice eres mi programador y a continuación nos saluda. Al haber introducido en la cadena de texto Pedro, si respuesta es igual a Pedro es verdad, por lo tanto se ejecuta esta instrucción y finalmente se ejecuta esta otra instrucción. En este siguiente ejemplo, vamos a hacer un programa que haga lo siguiente. Si pulsamos 5 veces, si hacemos clic 5 veces sobre el objeto, sobre el gato, el gato va a decir algo, va a mostrar un mensaje. Por ejemplo, me has pulsado 5 veces. ¿Cómo haríamos esto? Bueno, tenemos que controlar cuantas veces hemos pulsado sobre el gato. Es decir, tenemos que recordar de algún modo cuantas veces se ha pulsado sobre el gato, para eso teníamos las variables. Vamos a utilizar una nueva variable para este objeto, que se llama el número de veces que se ha pulsado sobre este objeto. Inicialmente, vamos a hacer que en un veces tenga el valor cero, porque no hemos pulsado ninguna vez. Nos sale aquí el monitor de cuantas veces ha pulsado, vamos a dejarlo. Vamos a hacer que se inicialice a cero, la primera vez cuando arranque el programa al presionar la bandera verde, ponemos en un veces a cero. Y ahora cada vez que se haga clic sobre este objeto, queremos que se contabilice una nueva vez en la variable en un veces. Para eso podemos hacer que cambie en un veces, en una unidad. Y ahora deberíamos comprobar si ya vamos por 5. Para eso hemos aprendido la sentencia si. Y ahora necesitamos poner aquí la condición, si en un veces es 5, entonces es cuando mostraremos el mensaje. Bueno, esto es fácil. En un veces es igual a 5, después de haberlo incrementado en 1. Si es igual a 5, si esto es true, entonces vamos a mostrar el mensaje en el que decimos, me ha pulsado 5 veces. Vamos a probarlo. En un veces empieza siendo a cero porque al arrancar lo ponemos a cero. Y ahora cada vez que hagamos clic en el objeto, se incrementa en 1. Y si en un veces después de incrementarlo en 1 es 5, se mostrará el mensaje. Si no, no se mostrará nada porque no hay aquí ninguna otra instrucción. Clicamos una vez, una vez, vemos que se ha incrementado en 1, 2, 3. En cada uno de estas veces estamos clicando, se cambia en una unidad, se incrementa en una unidad. Y como en un veces no es 5, vemos que por ahora es 3, luego no es 5. Entonces no se ejecuta esta sentencia. Una vez más, 4, y una vez más, 5. Me ha pulsado 5 veces. Porque ahora vale 5, en un veces luego 5 igual a 5 es true, y por tanto entramos aquí. Vamos a ver otro nuevo ejemplo, este que tengo aquí ya preparado. En este caso, al clicar este objeto, nuestro grato, si la tecla de espacio está presionada, si esta condición es verdad, entonces el dato dirá, has pulsado espacio. Y si no, si esta condición es falsa, es decir, no está presionada la tecla de espacio, entonces el grato dirá, no has pulsado espacio. Para probar este programa, lo único que tenemos que hacer es pulsar la tecla de espacio o no, y una vez que está pulsada o no, clicamos en el objeto. Voy a pulsar la tecla de espacio, y ahora voy a clicar en el objeto. Como está la tecla de espacio presionada, después de clicar se ejecuta esta sentencia, que es si la tecla de espacio está presionada, esto es true, y entonces nos ha dicho que has pulsado espacio. Ahora, sin embargo, no pulso la tecla de espacio y hago clic. Nos dice no has pulsado la tecla de espacio. Vamos a ver otro programa que es ligeramente distinto al anterior, pero que básicamente hace algo muy parecido. En este caso queremos un programa tal que si clicamos sobre el grato, entonces se va a comprobar si la tecla de espacio está presionada, y si está presionada decimos, has pulsado espacio, y se termina. Ahora bien, si tras clicar sobre el grato, la tecla de espacio no está presionada, esto es falso y entonces entra aquí, entonces tenemos aquí nuevo sí. Cuando no está presionada la tecla de espacio, entonces comprobamos si la tecla A está presionada. En caso de que esté presionada decimos, has pulsado la tecla A, y si no está presionada, hemos entrado aquí porque no estaba presionada la tecla de espacio y ahora no está presionada la tecla A, entonces decimos no has pulsado ni espacio ni tecla A. Vamos a ejecutarlo unas cuantas veces para comprobar cómo funciona este programa. Vamos a no presionar ninguna tecla, trata de predecir qué es lo que ocurría. Vamos a comprobarlo, no presiono ninguna tecla y ahora hago clic, no has pulsado ni espacio ni letra A. Vuelvo a hacerlo, sin pulsar la tecla de espacio en la letra A, hago clic, no has pulsado ni espacio ni letra A. ¿Por qué? Porque ha llegado aquí, la primera instrucción te vas a clicar en el objeto. Tecla espacio presionada, esto es falso, luego no se ejecuta esto, y entramos por esta otra rama, decimos VELIF o LSI, y aquí lo que no se contamos es un nuevo SI anirado, lo llamamos dentro de este otro. Y ahora SI tecla presionada, tecla presionada es falso, luego no se ejecuta esta sentencia y se ejecuta esta otra, no ha expulsado ni espacio ni letra A, este es el comportamiento que hemos observado. Vamos ahora a presionar la tecla de espacio, la tengo presionada, y ahora hago clic, nos dice has pulsado espacio, ¿por qué? Porque al clicar en el objeto como tengo la tecla de espacio presionada, tecla de espacio presionada es verdad, entonces ejecuta esta sentencia, dice has pulsado espacio y termina. Por último voy a pulsar ahora tanto la tecla de espacio como la tecla A, tengo las dos pulsadas y ahora hago clic, has pulsado espacio, tengo las dos teclas presionadas, se ejecuta este código, hacemos clic sobre el objeto, tecla espacio está presionada, es verdad, tengo las dos presionadas pero en particular esta condición, tecla espacio presionada es verdad, entonces entramos por aquí, dice has pulsado espacio y termina. Un último ejemplo en el que variamos levemente la especificación del programa anterior. En lugar de comprobar ahora cuando la tecla espacio no está presionada, si la tecla A está presionada, en lugar de eso, vamos a comprobar si está presionada alguna letra vocal, y en el caso antes de presionada la E, la I o la O, la U, entonces escribiremos esta mensaje en la pantalla, has pulsado una vocal, en caso contrario escribiremos una oscursada ni espacio ni una vocal, porque entonces esta condición no nos va, lo que necesitamos es comprobar si está pulsada la tecla A o si está presionada la tecla A, o si está presionada alguna de las otras teclas, estar presionada alguna de las otras teclas sería que esté presionada la tecla E o que esté presionada alguna de las otras teclas. Necesitamos tener la posibilidad de comprobar si alguna de las cinco letras vocales A, E, I, O, U, ha sido presionada. Ahora sin más, vamos a ir comprobando si la tecla E ha sido presionada o si la tecla I ha sido presionada la O, aquí se ha estropeado la condición, devolvemos este O aquí, la tecla O ha sido presionada o la tecla U ha sido presionada, tecla U. Ahora tenemos una condición que nos da de huber verdad cuando la tecla A o la tecla E o la I o la O o la U o la U que se nos ha olvidado, la U ha sido presionada. Recordamos que si pinchamos aquí, si pinchamos aquí nos da el valor de verdadero o falso de toda la condición podemos ir a la derecha, nos dice falso. Voy a pulsar yo ahora la tecla A, pinchamos aquí y vemos que la nos dice true. Voy a pinchar ahora la tecla S, pincho aquí y nos dice falso. Pinchó o presionó la tecla I y ahora nos dice true. Luego parece que esto es lo que necesitamos, lo ponemos en la condición del sí y ahora comprobamos si el programa hace lo que necesitamos. Vamos a clickear sobre el objeto, no presionó ninguna tecla y nos dice no ha expulsado ni espacio ni una vocal. Ahora presionó la tecla E y ahora hago clic sobre el gato y nos dice ha expulsado una vocal.