CECyT MIGUEL OTHN DE MENDIZBAL COMPUTACION I - SCRATCH
Prof. Carlos Montiel Rentera cmontiel@ipn.mx 1
Tutorial Adivina el nmero. El presente documento nos guiara paso a paso para la creacin del programa Adivina el nmero, empleando el lenguaje de programacin Scratch, no olvides que los que crean el programa se nos conoce como programadores y la personita que va a utilizar el programa se le conoce como usuario. El juego consiste en que la computadora crear un numero entre el 1 y el 100, inclusive stos mismos, de manera aleatoria, y el usuario tratara de adivinarlo, sin embargo, la computadora contestar ante la respuesta del usuario, tres diferentes mensajes: 1. Mensaje Excelente campen(a) has acertado 2. Mensaje Error, te pasaste, intntalo de nuevo, bye 3. Mensaje Error, te quedaste corto, intntalo de nuevo, bye Bien, me parece que es todo para iniciar. Paso 1. Elaboracin del algoritmo. En seguida describimos la posible solucin, mediante el siguiente algoritmo: 1. Pedimos a la computadora (PC) que genere aleatoriamente un nmero del 1 al 100. 2. Solicitamos al usuario teclee su nmero. 3. Comparamos ambos nmeros (nmero del usuario es igual al nmero de la PC?) 3.1 Si, entonces enviamos el mensaje: Bravo campen has acertado. 3.2 No, entonces volvemos a comparar ambos nmeros (nmero del usuario es mayor que el nmero de la PC?) 3.2.1 Si, entonces enviamos el mensaje: Error, te pasaste, intenta de nuevo 3.2.2 No, entonces enviamos el mensaje: Error, te quedaste corto, intenta de nuevo 4. Si el usuario no ha acertado entonces, repetimos las acciones desde el paso 2 en adelante, en caso contrario (si ya adivino) termina el programa.
Paso 2. Crear variables en Scratch. En base al algoritmo realizado, iniciaremos con la construccin del programa mediante los bloques que ofrece Scratch, el algoritmo involucra dos variables: el nmero que genera la PC y el nmero que teclear el usuario, les llamaremos: numeroPC y numeroUsuario, respectivamente. Creamos las dos variables mediante los bloques de Datos, tal como se muestra en la siguiente imagen:
INSTITUTO POLITCNICO NACIONAL CECyT MIGUEL OTHN DE MENDIZBAL COMPUTACION I - SCRATCH
Prof. Carlos Montiel Rentera cmontiel@ipn.mx 2
Procede de la misma manera para crear la segunda variable, debiendo de tener lo siguiente:
Paso 3. Creacin del nmero por parte de la computadora (PC) accin 1 del algoritmo. El bloque para generar un nmero del 1 al 100 de forma aleatoria (bloques Operador) es: Observa bien, ya cambie el nmero 10 por el 100.
INSTITUTO POLITCNICO NACIONAL CECyT MIGUEL OTHN DE MENDIZBAL COMPUTACION I - SCRATCH
Prof. Carlos Montiel Rentera cmontiel@ipn.mx 3
Enseguida empleamos la variable numeroPC para guardar el nmero generado por la PC, tal como se muestra en la siguiente imagen:
Paso 3. Solicitar al usuario teclee su nmero. Para ello empleamos el objeto Boy2, obviamente ya di de baja al simptico gatito (perdn no me gusta, me explico: Scratch fue creado para nios de primaria y por ello lo cambio por algo ms congruente para el nivel bachillerato que manejo). Empleamos el bloque pregunta y el bloque fijar, tal como se muestra enseguida:
Si ejecutas estos dos bloques aparecer el chamaco llamado boy2 pidindole al usuario que tecle el nmero. Aprovecho este momento para sugerirte que siempre pruebes cada bloque que vayas incorporando en tu programacin, esto te permitir tener la plena seguridad que lo que estas realizando va en buen camino. Paso 4. Comparar ambos nmeros, es decir el numeroUsuario contra el numeroPC. Verifiquemos si ambos nmeros son iguales, para ello empleamos los siguientes bloques:
Recuerda la 1. Concavidad corresponde al SI, es decir ah colocaremos la accin que deseamos se lleve a cabo si dicha comparacin es verdadera, en cambio la 2. Concavidad corresponde al NO, es decir ah colocaremos la accin que
INSTITUTO POLITCNICO NACIONAL CECyT MIGUEL OTHN DE MENDIZBAL COMPUTACION I - SCRATCH
Prof. Carlos Montiel Rentera cmontiel@ipn.mx 4
deseamos se lleve a cabo si dicha comparacin es falsa, as que incorporamos la 1. Accin, cuando la expresin a evaluar es verdadera:
Para la 2. Concavidad en base al algoritmo que se realiz previamente, debemos de incorporar otra comparacin (numeroUsuario es mayor que el numeroPC), tal como se muestra enseguida:
Ahora, en base al algoritmo previamente realizado, debemos asignar en la 1. Concavidad el mensaje: Error, te pasaste, intenta de nuevo (la evaluacin de la expresin lgica es verdadera) y para la 2. Concavidad asignamos el mensaje: Error, te quedaste corto, intenta de nuevo (la evaluacin de la expresin lgica es falsa), tal como se muestra en seguida:
INSTITUTO POLITCNICO NACIONAL CECyT MIGUEL OTHN DE MENDIZBAL COMPUTACION I - SCRATCH
Prof. Carlos Montiel Rentera cmontiel@ipn.mx 5
Ensamblando todo lo descrito, tenemos:
Paso 5. Probar el programa con datos diferentes. Antes de liberar el programa, es decir antes de su disposicin a los usuarios, debemos de verificar que el programa cumple con lo establecido. Como ya te habrs dado cuenta agregue el bloque al presionar como bloque de inicio.
Cabe sealar que para efectos de prueba no debemos ocultar el valor del nmero que la computadora genera aleatoriamente (numeroPC), precisamente debemos de ver qu nmero genero la computadora para poder idear que nmero deberemos de emplear y as verificar la confiabilidad del programa.
INSTITUTO POLITCNICO NACIONAL CECyT MIGUEL OTHN DE MENDIZBAL COMPUTACION I - SCRATCH
Prof. Carlos Montiel Rentera cmontiel@ipn.mx 6
Prueba 1. Cuando los nmeros coinciden: Momento 1. La computadora genera su nmero (50)
Momento 2. Tecleamos 50 para que coincida con el de la computadora:
INSTITUTO POLITCNICO NACIONAL CECyT MIGUEL OTHN DE MENDIZBAL COMPUTACION I - SCRATCH
Prof. Carlos Montiel Rentera cmontiel@ipn.mx 7
Momento 3. Debiendo aparece el mensaje: Bravo campen acertaste
Muy bien, el programa va bien Prueba 2. Cuando el nmero del usuario es mayor que el de la computadora: Momento 1. La computadora genera su nmero (97)
INSTITUTO POLITCNICO NACIONAL CECyT MIGUEL OTHN DE MENDIZBAL COMPUTACION I - SCRATCH
Prof. Carlos Montiel Rentera cmontiel@ipn.mx 8
Momento 2. Tecleamos 99 para que el nmero del usuario sea mayor al de la computadora:
Momento 3. Debiendo aparecer el mensaje Error, te pasaste, intenta de nuevo
INSTITUTO POLITCNICO NACIONAL CECyT MIGUEL OTHN DE MENDIZBAL COMPUTACION I - SCRATCH
Prof. Carlos Montiel Rentera cmontiel@ipn.mx 9
Muy bien, vamos bien y finalmente Prueba 3. El nmero del usuario es menor que el de la computadora: Momento 1. La computadora genera su nmero (72):
Momento 2. Tecleamos 50 para que el nmero del usuario sea menor que el de la computadora:
INSTITUTO POLITCNICO NACIONAL CECyT MIGUEL OTHN DE MENDIZBAL COMPUTACION I - SCRATCH
Prof. Carlos Montiel Rentera cmontiel@ipn.mx 10
Momento 3. Debiendo aparecer el mensaje: Error, te quedaste corto, intenta de nuevo:
Muy bien, hemos verificado que el programa realmente realiza lo que deseamos, la programacin es correcta, para finalizar nos hace falta implementar el ltimo paso del algoritmo: 4. Si el usuario no ha acertado entonces, repetimos las acciones desde el paso 2 en adelante, en caso contrario (si ya adivino) termina el programa. Para implementar dicho paso, revisamos los bloques de Control y el siguiente nos permite dar solucin:
Simplemente colocamos la programacin que se tiene en la concavidad de este bloque, quedando as:
INSTITUTO POLITCNICO NACIONAL CECyT MIGUEL OTHN DE MENDIZBAL COMPUTACION I - SCRATCH
Prof. Carlos Montiel Rentera cmontiel@ipn.mx 11
Para terminar el presente tutorial, te voy a pedir dos cosas: (1) Quitar la casilla de la variable numeroPC del escenario, ya que el usuario no debe de ver anticipadamente el nmero a adivinar y (2) Agrega al programa la variable: Intentos y sala precisamente para contabilizar los intentos que le lleva al usuario el adivinar el nmero, en cuanto lo hagas y hayas probado al 100% el programa, Ya sabes: lo guardas en una carpeta cuyo nombre de sta debe ser tus apellidos, nombre, grupo y nmero de tarea en una USB y me lo entregas un da antes de la prxima clase de 7 a 14:30 hrs. En mi cubculo. Espero te haya sido de utilidad, hasta la prxima