 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 para este programa al presionado al mera 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 introduzco 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 que 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? Tenemos que controlar cuantas veces hemos pulsado sobre el gato. Es decir, tenemos que recordar de algún modo cuántas 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 numVeces. Va a ser el número de veces que se ha pulsado sobre este objeto. Inicialmente vamos a hacer que numVeces tenga valor 0 porque lo hemos pulsado ninguna vez. Nos sale aquí el monitor de cuántas veces ha pulsado, vamos a dejarlo. Vamos a hacer que se inicialice a 0 la primera vez. Cuando arranque el programa al presionar la bandera verde ponemos numVeces a 0. Y ahora cada vez que se haga clic sobre este objeto queremos que se contabilice una nueva vez en la variable numVeces. Para eso podemos hacer que cambie numVeces 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 numVeces es 5. Entonces es cuando mostraremos el mensaje. Bueno, esto es fácil. NumVeces 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. NumVeces empieza sin 2.0 porque al arrancar lo ponemos a 0. Y ahora cada vez que hagamos clic en el objeto se incrementa en 1. Y si numVeces 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 explicando. Se cambia en una unidad, se incrementa en una unidad. Y como numVeces 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. NumVeces, luego 5 igual a 5, es true. Y por lo 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 dato 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 gato, entonces se va a comprobar si la tecla de espacio está presionada decimos ha expulsado de espacio y se termina. Ahora bien, si tras clicar sobre el gato, la tecla de espacio no está presionada, esto es falso y entonces entra aquí. Entonces tenemos aquí un 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 ha expulsado 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 ha expulsado 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 ha expulsado ni espacio ni letra. Vuelvo a hacerlo. Si pulsar la tecla de espacio en la letra A, hago clic. No ha expulsado ni espacio ni letra. ¿Por qué? Porque ha llegado aquí, la primera instrucción, te vas a clicar en el objeto. Tecla de espacio presionada, esto es falso, luego no se ejecuta esto y entramos por esta otra rama. Decimos del Y o del S. Y aquí lo que nos encontramos es un nuevo sí, un nuevo sí anirado, lo llamamos dentro de este otro. Y ahora sí tecla presionada, tecla presionada es falso. Luego no se ejecuta esta sentencia y se ejecuta esta otra. No ha expulsado ni espacio ni letra. 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 expulsado espacio. ¿Por qué? Al clicar en el objeto como tengo la tecla de espacio presionada, tecla de espacio presionada es verdad, entonces se ejecuta esta sentencia, dice has expulsado 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 expulsado espacio. Tengo las dos teclas presionadas. Se ejecuta este código. Hacemos clic sobre el objeto. Tecla de espacio está presionada. Es verdad. Tengo las dos presionadas, pero en particular esta condición. Tecla de espacio presionada es verdad. Entonces, entramos por aquí, dice has expulsado 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 de espacio no está presionada, si la tecla A está presionada, en lugar de eso, hay que comprobar si está presionada alguna letra vocal. En el caso antes de presionada, la A, la I, la O, la U, escribimos esta mensaje en la pantalla, expulsamos una vocal. En caso contrario, escribimos una expulsada en el espacio y una vocal. Por qué tanto esta condición no nos vale. 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. Está presionada alguna de las otras teclas. Necesitamos tener la posibilidad de comprobar si alguna de las 5 letras vocal es A, E, I, O, U ha sido presionada. Ahora sin más, vamos a ir comprobando si la tecla A ha sido presionada o si la tecla I ha sido presionada o si la tecla A ha sido presionada o si la tecla I ha sido presionada ha sido presionada la O aquí se nos 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 ver ¿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, lo vemos ahí a la derecha, nos dice falso. Voy a pulsar yo ahora la tecla A, pinchamos aquí y vemos que ahora nos dice true. Voy a pinchar ahora la tecla S, pinchó aquí y nos dice falso. Pinchó o presionó la tecla I y ahora nos dice true. Y 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 presiono ninguna tecla y nos dice no ha expulsado ni espacio ni una vocal. Ahora presionó la tecla E y ahora clicke sobre el grato y nos dice ha expulsado una vocal.