Pensamiento computacional

con Scratch

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Actividad de consolidación.

App Mentimeter

(30 73 70 1)

MENTIMETER.jpg

Dentro de la programación es importante que sepas que existen las llamadas condiciones complejas que se basan en las tablas de verdad que quizás alguna vez has llegado a ver en clase de matemáticas o tal vez de filosofía.

 

Varios métodos de prueba del cálculo proposicional, entre ellos el de tablas de verdad, se basan en una concepción muy tradicional del análisis lógico, según la cual el objetivo de éste es determinar las condiciones necesarias y suficientes de la verdad de una proposición o enunciado. Cada renglón de la tabla que hace verdadero al enunciado en cuestión determina una condición suficiente para su verdad. En cada renglón, los valores asignados a cada variable proposicional determinan una condición necesaria del renglón[1].

Pongamos un ejemplo. Supongamos que queremos hacer la tabla de verdad del siguiente enunciado:

- Si llegas temprano a la fiesta o son pocos los invitados que habrá, entonces seguramente alcanzarás a probar el pastel.

Como primer paso, identificamos las proposiciones atómicas y les asignamos una variable:

 P: Llegar temprano a la fiesta

 Q: Asistirán pocos invitados

 

De esta manera, podemos formalizar como P implica Q (o en lenguaje matemático P Q) y podemos construir su tabla de la siguiente manera:

¿Qué es lo que nos dice el primer renglón de la tabla?

 

Nos dice que si P y Q son ambos verdaderos, PQ también lo es. En otras palabras, basta que “Llegues temprano a la fiesta” o “Asistan pocos invitados” sean verdaderos para que “alcances a probar el pastel” sea verdadero. Es decir, la condición suficiente para que sea verdadero implica cualquiera de las dos cosas.

Lo mismo sucede con cada uno de los tres primeros renglones de la tabla, basta con que P o Q sean (cualquiera de los dos) sea verdadera para que la conclusión también lo sea.

 

Esto se llama aseveración disyuntiva (o). Como puedes observar, La disyunción solamente es falsa si lo son sus dos componentes. Es decir, “si no llegas temprano” y “los asistentes no son pocos (son muchos)”, seguramente no podrás probar el pastel.

 

Pongamos otro ejemplo. Supongamos que queremos hacer la tabla de verdad del siguiente enunciado:

- En México, si tienes más de 18 años y ya cuentas con tu credencial de elector, entonces sí puedes votar.

 

Nuevamente, identificamos las proposiciones atómicas y les asignamos una variable:

 P: Tener más de 18 años

 Q: Contar con credencial de elector

 

Formalizamos PQ y construimos su tabla de la siguiente manera:

Si observas cuidadosamente la tabla, te darás cuenta que la conclusión solo será cierta sí, y solo sí, se cumplen las dos aseveraciones previas.

 

¿Qué quiere decir esto? Qué basta con que o “no tengas más de 18 años” o “no tengas credencial de elector” para que no puedas votar en las elecciones que se llevan a cabo en México. Esto se llama aseveración conjuntiva (y).

Para los equipos de cómputo esto es muy sencillo de analizar si se les programa correctamente, ya que las tablas descritas anteriormente basan su lógica en Verdadero o Falso, en 1 ó 0, encendido o apagado.

 

Veamos esto referido trasladado a "compuertas electrónicas"

Lógica de compuerta OR:

Lógica de compuerta AND

En esta sesión crearemos un programa en Scratch que de cuenta de lo que definimos como condiciones complejas. Crearemos la réplica propia de uno de los juegos más populares “el juego del pong”.

Sigue los siguientes pasos a fin de crear el producto solicitado.

DISEÑO

1). Elimina el objeto Cat (Gato) o a Scratch.

Para eliminar un objeto basta dar clic en el “bote de basura” del mismo objeto:

2). A continuación, cambiaremos el escenario. Da clic en “Elegir un fondo” y elige el de tu preferencia.

3). Es necesario añadir un objeto, que en este caso será la pelota que rebote

Puedes elegir la pelota de tu preferencia.

4). Para llevar a cabo el juego es necesario incorporar en la base del escenario una línea roja (sin contorno) que actúe como Piso y que, sí la pelota llega a tocarlo, el juego se terminará.

De la misma forma será necesario incorporar una Línea la cual será el mecanismo de control que utilizaremos para jugar con la pelota, deteniéndola para que no toque el Piso y al mismo tiempo rebotándola.

 

Para esto, da clic en la opción Pintar.

Con ello tendremos definidos en el programa tres objetos: Pelota, Piso y Línea. Cambia los nombres de los objetos, según corresponda, en el lugar correspondiente.

PROGRAMACIÓN DE EVENTOS

5). La pelota habrá de rebotar arriba, abajo y a los lados mientras nosotros controlamos en movimiento de la Línea para no permitir que llegue hasta el Piso.

 

A continuación haremos la programación de la Línea que es muy sencillo, basta con asignarle la posición de X que en cualquier momento tenga el mouse:

Recuerda que esto solo deberá programarse en el código del objeto Línea:

Ahora programaremos lo que corresponde a la pelota. En este caso:

 

- Inicializaremos posición y dirección de la pelota.

- Definiremos que en todo momento, se moverá 10 pasos y en el caso de encontrar un borde, rebotará.

6). Una segunda parte de la programación de la Pelota, se refiere a lo que sucederá cuando toque la Línea de control. Las acciones deberán ser:

- Tocar un sonido (como yo elegí una pelota de basquetball el sonido de este será basquetball bounce)

- Rebotar en una dirección aleatoria entre 160 y 200 grados

- Seguir en movimiento

- Si toca el Piso, detener todo el juego.     

7). Comentarios. Los dos módulos anteriores programados deben ir dentro del Código de la Pelota. En este momento tienes muy en claro qué es lo que hace cada uno de ellos, pero sucede que luego pasa el tiempo y ya no recordamos a que se refería lo que escribimos en el código.

 

Para esto en Scratch existen los comentarios, que son simplemente notas que podemos agregar al código sin que afecten el desempeño del programa.

Para agregar un comentario simplemente nos posicionamos en el lugar dónde se desea que aparezca, damos clic derecho y elegimos la opción Agregar comentario:

Agrega los siguientes comentarios para especificar lo que hacen cada uno de los bloques que acabamos de crear para la Pelota:

Es importante que sepas que en la programación, cada quien tiene un estilo diferente de programar, tan diferente como diferentes somos las personas y las formas en cómo resolvemos problemas.

 

Programar es parecido a los que tocamos guitarra, algunos son buenos cantantes y guitarristas, otros… solo tocamos guitarra.

 

Este programa, es la propuesta que yo te doy para jugarlo, sin embargo, en la comunidad en línea es muy probable que te encuentres con otras soluciones diferentes.

 

Aún así, prueba el programa jugandolo un poco.

 

8). Mayor velocidad. Ahora, nos gustaría modificar un poco el programa. Quizás consideres que el movimiento de la pelota es demasiado lento. Piensa: ¿dónde habría que modificar el programa para lograr que la pelota se mueva a mayor velocidad? ¡Claro! En la cantidad de pasos que tiene definido.

 

Modificaremos el programa de tal forma que antes de iniciar se le pregunte al usuario si quiere jugarlo de forma rápida o lenta y el movimiento se acople a la respuesta dada por el usuario.

 

Para esto crearemos una variable a la que pondremos por nombre Velocidad:

Observa que inmediatamente que la creamos, en el área de ejecución aparecerá el mensaje que denotará su existencia.

Definiremos solo dos niveles de dificultad, si tú lo deseas puedes definir más, solo toma en cuenta que deberás hallar la solución de como programarlo.

 

La velocidad normal será moviendo la Pelota 10 pasos, la velocidad rápida será moviéndola 15 pasos. (Sí deseas asignar otras cantidades, siéntete en libertad de hacerlo)

Dentro de la programación hay que indicar dicha condición preguntándole al usuario:

Para que quede completa la acción a realizar, hay que incorporar un módulo que valide la respuesta del usuario y si esta es “S” (SI), mayúscula o minúscula indistintamente (Scratch lo valida de cualquier forma), se establezca entonces a 15 el número de pasos. Esto es, la velocidad de la pelota aumenta.

Puedes probar el programa y darte cuenta que hasta que se teclea “S” cambiará la velocidad. Si tecleamos cualquier otra cosa, la velocidad continuará siendo de 10 pasos.

 

9). Validar respuesta. No tendría ningún sentido aceptar cualquier respuesta. Una excelente programación evitará que el usuario teclee cualquier cosa.

 

Para solucionar este asunto, introduciremos el módulo REPITE HASTA QUE en el que se valide la respuesta del usuario aceptando solamente como respuesta: “S” o “N”.

 

En otro caso, entrará en un ciclo infinito que terminará hasta que el usuario teclee la respuesta deseada.

Siempre es útil avisar al usuario e invitarle a volver a ingresar la captura dándole la guía de qué es exactamente lo que se tiene que ingresar. De esta manera se evitan posibles errores de captura.

Observa que, en este caso, para validar la respuesta solicitada echamos mano de las llamadas condiciones complejas de las que ya hablamos y que son de suma utilidad en los lenguajes de programación:

10). Movimiento al azar. Cambiaremos ahora el movimiento de la pelota. En principio está definido para que inicie su movimiento en dirección 45 grados.

 

Modificaremos esto para que inicie el movimiento en un rango al azar entre -30 y 30 grados:

Prueba el cambio realizado.

 

11). Color. Ahora cambiaremos el color de la Pelota mientras esta en movimiento. Esto se logra agregando al código por siempre el bloque cambiar efecto color a 25.

Prueba el programa y observa los cambios realizados.

 

12). Marcar trayectoria. Deseamos ahora que en el movimiento de la Pelota se vaya marcando la trayectoria que lleva.

Esto se logra a través del lápiz que tiene incorporado Scratch.

 

Antes de hacerlo, es necesario agregar una extensión que permita utilizarlo.

 

Hay que dar clic en la sección de Extensiones que se ubica en la esquina inferior izquierda, tal como se muestra en la imagen:

Al dar clic aquí, aparecerán las extensiones con las que cuenta Scratch:

Elige la del lápiz. En el área de bloques se activarán todas las opciones correspondientes.

Será necesario bajar el lápiz, después de preguntar qué velocidad desea el usuario.

Y, al final, para que regresar a las condiciones iniciales del programa y que no quede el rastro del dibujo del lápiz, será necesario agregar los bloques: subir el lápiz y borrar todo.

Prueba el programa y ajusta lo que sea necesario para que cumpla las condiciones ya descritas.

El juego ahora puede ser modificado de tal forma que sea una cancha de futbol y un portero que ataje la pelota. También podemos cambiarlo y hacer un pizzero que arroje la masa hacia arriba y la detenga evitando así caer al suelo.

 

Modifícalo según tu gusto.

A continuación comparto contigo el video de una versión diferente del juego de ping-pong. Anímate a realizarlo.

Realiza tu programa y compártelo en el STUDIO del profesor. Revisa el video para como compartir un proyecto en un STUDIO de Scratch:

Tarea Semana 9

Productos y actividades solicitadas en clase:

Productos DE TAREA A ENTREGAR:

  • T15.C2 Conclusiones del corte publicadas en Facebook.

  • T16.C2 Autoevaluación del corte.

  • T17.C2 Comentario del Capítulo 10 en Facebook

contáctame: 

  • w-facebook
  • Twitter Clean