martes, 18 de septiembre de 2012

JUEGO MURCIELAGO


JUEGO DEL MURCIÉLAGO ACTIVIDAD 6 DE SCRATCH


DESCRIPCION

En esta actividad los estudiantes deben crear un juego de dos niveles. Para ganar, el jugador debe mover un objeto murciélago por la pantalla con las teclas de desplazamiento y comer otros objetos (grillos y arañas). También hay obstáculos en cada nivel, que al ser tocados durante 5 veces, hacen perder al jugador.  Con esta actividad los estudiantes deben usar variables, expresiones y comparaciones lógicas para desarrollar el juego

OBJETIVOS DE APRENDIZAJE:

Al finalizar esta actividad los estudiantes estarán  en capacidad de:
-          Diseñar con el editor de pinturas, escenarios para cada nivel del juego.
-          Programar un objeto, para que se desplace con las teclas por el escenario.
-          Realizar eventos como: cambio de Fondo, mostrar o esconder objetos, a partir de los valores que tengan las variables.
-          Usar comparaciones lógicas en un programa para realizar diferentes eventos.
-          Crear diferentes objetos que interactúen entre si a partir de condiciones con el comando Si.
Crear variables para almacenar el puntaje del juego, y hacer los cálculos respectivos

DURACION DEL PROYECTO

Sesión
Descripción
 Septiembre 18 y 19
Presentar la actividad a 5A y 5B
Septiembre 20 al 21
Dibujar Fondos, importar o crear los objetos del juego.
Programa movimiento del objeto murciélago
Empezar a programar el nivel 1.
Septiembre 25 al 27
Programar el nivel 1 del juego
Programar el nivel 2 del juego

EL DOCENTE DEBERA EXPLICAR:

1.     Explicar la actividad, consistente en crear un juego de dos niveles. En el primer nivel, un Murciélago se come cuatro Grillos para avanzar al segundo nivel, teniendo como obstáculo una red que al tocarla por cinco veces hace perder el juego y aparece un fondo que dice Perdiste el Juego Intenta de Nuevo. La cantidad de veces que se toca la red se conserva para el segundo nivel, en el cual el mismo Murciélago debe tocar dos objetos de color verde y al acumular 10 toques  gana el juego, apareciendo un fondo que dice Juego Terminado Satisfactoriamente. Pero como obstáculo en este nivel, se tienen 3 objetos de color rojo que al tocarlos continua el conteo si lo hay de los toques que se hicieron al objeto Red en el nivel anterior. Igualmente al completar cinco toques, se pierde el juego
2.     Elaborar 4 fondos, 1 para cada nivel y dos pantallas más, una que indica si Gana y otra si Pierde. Ver ejemplo:


Meta Volante 1
  • Importar el objeto Murciélago, de la galería de objetos prediseñados.
  • Programar dicho objeto para que se mueva, usando las teclas de desplazamiento.

  • Importar 4 objetos Grillo y nombrarlos como grillo1, grillo2, grillo3 y grillo4, en el escenario del nivel 1.
  • Explicar en que posiciones deben aparecer los objetos.

Problema inesperado 1: ¿Cómo se podría pasar al siguiente nivel, cuando los cuatro objetos Grillo desaparezcan si el objeto Murciélago los toca?

Meta volante 2.
·         Definir una Variable que permita validar cuando el objeto Murciélago se coma los objetos Grillo y avanzar al nivel 2.

Tener en cuenta las condiciones o comparaciones lógicas necesarias para avanzar del nivel 1 al 2.
Para aumentar la dificulta en el paso al nivel 2, dibujar un objeto Red, que aparezca en el nivel 1 y se deslice como obstáculo, para que el objeto Murciélago, se coma a los objetos Grillo.



Problema inesperado 2: ¿qué se puede hacer para contar las veces que el objeto Murciélago toque el objeto Red y que al toque número 5 se termine el juego?

Explicar el segundo nivel. Se deben importar 5 objetos Octopus, cambiar el color a tres de ellos por rojo, y mostrar solo el objeto Murciélago del primer nivel. Los objetos de color rojo nombrarlos como animal-1, animal-2 y animal-3 y a los verdes como animal1 y animal2



Programar dichos objetos para que se muevan de forma aleatoria en la parte inferior de la pantalla, rebotando cuando toquen el borde.

Problema Inesperado 3: ¿Cómo se sigue contando los toques que el objeto Murciélago haga a los objetos animal-1, animal-2 y animal-3 con la misma variable que se contó los toques al objeto Red, en el nivel 1? Recordar que el juego se pierde a los diez toques.


Meta volante 3:

·         Programar el final del juego.
·         Se pierde, si se acumulan 5 toques del objeto Murciélago al objeto Red del primer nivel o a los objetos animal-1, animal-2 y animal-3
·         Se gana el juego si se avanza al nivel 2 y se completan 10 toques al los objetos animal1 y animal2.

Problema Inesperado 4: Se requiere que cuando el objeto Murciélago toque el objeto Red del nivel 1 o los objetos animal-1, animal-2 y animal-3 del nivel 2, aparezca un mensaje por 0.5 segundos en el objeto Murciélago que diga (-1) y que al tocar en el nivel 2 a los objetos animal1 o animal2 diga (+1)

Propiciar la reflexión final sobre la actividad. ¿Qué le gustó? ¿Qué no le gustó? ¿Qué fue lo más fácil? ¿Qué fue lo más difícil? ¿Qué aprendiste? ¿Qué otras cosas puedes crear con lo que aprendiste?


EL ESTUDIANTE DEBERÁ:

1.     Entender las condiciones del juego y los objetos que intervienen en el y realizar el análisis del problema.  
2.     Elaborar los escenarios que se necesitan para el juego. Programar el objeto Murciélago, para que se mueva con las teclas de desplazamiento.
3.     Importar los objetos Grillo y nombrarlos como se indica. Proponer diferentes alternativas para resolver el Problema Inesperado 1
4.     Utilizar las variables necesarias para avanzar al nivel 2. 
5.     Aumentar la dificultad para pasar del nivel 1 al nivel 2, creando el objeto Red y contando las veces que el objeto Murciélago lo toca. Contestando de esta manera el Problema Inesperado 2
6.     Crear las condiciones necesarias para el nivel 2. Los objetos de color rojo nombrarlos como animal-1, animal-2 y animal-3 y los verdes como animal1 y animal2
7.     Realizar la programación necesaria de los objetos para terminar el Juego. Teniendo en cuenta que después de 5 toques acumulados desde el nivel 1 a los objetos Red, animal-1, animal-2 y animal-3 se pierde el Juego. Y al completar 10 toques a los objetos animal1 y animal2 se gane el juego.

Reflexionar acerca del juego y las posibilidades de ampliar el número de niveles y su dificultad.

RUBRICA DE CALIFICACION SOBRE LA ACTIVIDAD


sábado, 7 de abril de 2012

ETAPAS DEL CICLO DE PROGRAMACION DE COMPUTADORAS

En las clases anteriores se trato los temas del DESARROLLO DE HABILIDADES DEL PENSAMIENTO
Donde realizamos solución de problemas, con las 4 etapas o fases para elaborar un programa de computador estas son:

1.     ANALIZAR EL PROBLEMA
2.     DISEÑAR UN ALGORITMO
3.     TRADUCIR EL ALGORITMO
4.     DEPURAR EL PROGRAMA

De las cuales profundizamos en la primera:

1.            ANALIZAR EL PROBLEMA con sus 5 etapas a desarrollar en la fase de análisis de un problema (entenderlo)

2.  FORMULAR EL PROBLEMAS: La solución de un problema debe iniciar por determinar y comprender exactamente en qué consiste ese problema.

3.    PRECISAR LOS RESULTADOS ESPERADOS (META Y SUBMETAS)
Para establecer los resultados que se esperan (meta) es necesario identificar la información relevante, ignorar los detalles sin importancia, entender los elementos del problema y activar el esquema correcto que permita comprenderlo en su totalida.
a.    Determinar con claridad cuál es el resultado final (producto) que debe devolver el programa es algo que ayuda a establecer la meta. Es necesario analizar qué resultados se solicitan y qué formato deben tener esos resultados (impresos, en pantalla, diagramación, orden, etc). Usted se debe preguntar:
• ¿Qué información me solicitan?                        • ¿Qué formato debe tener esta información?

4.    IDENTIFICAR DATOS DISPONIBLES  (estado inicial)
Otro aspecto muy importante en la etapa de análisis del problema consiste en determinar cuál es la información disponible. Usted se debe preguntar:      • ¿Qué información es importante?
•       ¿Qué información no es relevante?              • ¿Cuáles son los datos de entrada? (conocidos)
• ¿Cuál es la incógnita?  • ¿Qué información me falta para resolver el problema? (datos desconocidos)
¿Puedo agrupar los datos en categorías?
Otro aspecto importante del estado inicial hace referencia al nivel de conocimiento que el estudiante posee en el ámbito del problema que está tratando de resolver. Es conveniente que el estudiante se pregunte a sí mismo:
• ¿Qué conocimientos tengo en el área o áreas del problema?• ¿Son suficientes esos c       Conocimientos?
• ¿Dónde puedo obtener el conocimiento que necesito para resolver el problema?
• ¿Mis compañeros de estudio me pueden ayudar a clarificar mis dudas?
• ¿Qué expertos en el tema puedo consultar?

Determinar las restricciones: Resulta fundamental que los estudiantes determinen aquello que         está permitido o prohibido hacer y/o utilizar para llegar a una solución. En este punto se deben exponer las necesidades y restricciones (no una propuesta de solución). El estudiante debe preguntarse:
¿Qué condiciones me plantea el problema?       ¿Qué está prohibido hacer y/o utilizar?
¿Qué está permitido hacer y/o utilizar?            
¿Cuáles datos puedo considerar fijos (constantes) para simplificar el problema?
¿Cuáles datos son variables?                         ¿Cuáles datos debo calcular?

Establecer procesos (operaciones)
Consiste en determinar los procesos que permiten llegar a los resultados esperados a partir de los datos disponibles. El estudiante debe preguntarse:
¿Qué procesos necesito?                                           ¿Qué fórmulas debo emplear?
¿Cómo afectan las condiciones a los procesos?                       ¿Qué debo hacer?
¿Cuál es el orden de lo que debo hacer?
En la medida de lo posible, es aconsejable dividir el problema original en otros más pequeños y fáciles de solucionar (submetas), hasta que los pasos para alcanzarlas se puedan determinar con bastante precisión (módulos). Esto es lo que en programación se denomina diseño descendente o top-down.
El diseño descendente se utiliza en la programación estructurada de  computadores debido a que facilita:
La comprensión del problema                        Las modificaciones en los módulos
La verificación de la solución

Luego que aplicamos la primera etapa o fase para elaborar programas de computador: ANALIZAR EL PROBLEMA con sus etapas, empezamos a diseñar algoritmos (diagrama de flujo). 

Continuación etapas del ciclo de programación para computadoras

SEGÚNDA FASE DEL CICLO DE PROGRAMACION: ALGORITMOS

Los algoritmos permiten describir claramente una serie de instrucciones que debe realizar el computador para lograr un resultado previsible,  Vale la pena recordar que un procedimiento de computador consiste en una serie de instrucciones muy precisas y escritas en un lenguaje de programación que el computador entienda como lo es Scratch.
En resumen, un Algoritmo es una serie ordenada de instrucciones, pasos o procesos que llevan a la solución de un determinado problema.  Los hay tan sencillos y cotidianos como seguir la receta del médico, abrir una puerta, lavarse las manos, etc; hasta los que conducen a la solución de problemas muy complejos.

En términos generales, un Algoritmo debe ser:

Realizable: El proceso algorítmico debe terminar después de una cantidad finita de pasos. Se dice que un algoritmo es inaplicable cuando se ejecuta con un conjunto de datos iniciales y el proceso resulta infinito o durante la ejecución se encuentra con un obstáculo insuperable sin arrojar un resultado.
Comprensible: Debe ser claro lo que hace, de forma que quien ejecute los pasos (ser humano o máquina) sepa qué, cómo y cuándo hacerlo. Debe existir un procedimiento que determine el proceso de ejecución.
Preciso: El orden de ejecución de las instrucciones debe estar perfectamente indicado. Cuando se ejecuta varias veces, con los mismos datos iniciales, el resultado debe ser el mismo siempre. La precisión implica determinismo.

REPRESENTACION DE ALGORITMOS:

Se pueden representar de muchas maneras pero en este solo veremos dos formas: Seudocódigo y diagramas de flujo.  En seudocódigo la secuencia de instrucciones se representa por medio de frases o proposiciones, mientras que en un Diagrama de flujo se representa por medio de gráficos.
El Seudocódigo está compuesto por proposiciones informales en español que permiten expresar detalladamente las instrucciones que llevan desde un estado inicial (problema) hasta un resultado deseado (solución).
Utilizar diagramas de flujo para representa un algoritmo tiene claras ventajas.
a. Clarificar  el pensamiento: Aquí se identifica cómo se conectan los procesos y se dan cuenta de cómo estos se pueden organizar o agrupar para darles el orden lógico correcto.
b. Identificar pasos erróneos: Sobre un diagrama es más fácil identificar los cambios que se requieren para el correcto funcionamiento de un programa de computador que hacerlo sobre código.
Los diagramas de flujo son una de las técnicas más utilizadas para representar gráficamente la secuencia de instrucciones de un algoritmo.  Estas instrucciones están compuestas por operaciones, decisiones lógicas y ciclos repetitivos, entre otros.

TERCERA FASES DEL CICLO DE PROGRAMACION: TRADUCIR EL ALGORITMO
Luego que se realiza el análisis del problema y el diseño y representación gráficamente del algoritmo se pasa a ala etapa de traducción del algoritmo a un lenguaje de programación determinado (el nuestro será Scratch).  Cada lenguaje posee sus propias reglas gramaticales, por lo tanto el estudiante debe conocer de antemano la sintaxis que debe utilizar para resolver el problema.

CUARTA FASE DEL CICLO DE PROGRAMACION: DEPURAR EL PROGRAMA
Después de traducir el algoritmo a un lenguaje de programación como Scratch, el programa resultante debe ser probado y validados los resultados.  A este proceso se le conoce como depuración.  Depurar programas contribuye a mejorar la capacidad en los estudiantes a resolver problemas; la depuración basada en la retroalimentación es una habilidad útil para todo la vida.

Ahora vamos a emplear un ejemplo de estas cuatro etapas o fases para elaborar un programa de computadora.

EJEMPLO PASO A PASO


Desarrollar un programa en Scratch que pregunte al usuario 3 números naturales o enteros estos sean guardados en variables, y se muestre en pantalla la suma, la resta, la multiplicación y división de los tres números.
DESARROLLO
1.            Análisis del problema:
  1. Formulación del problema: Aunque la formulación del problema esta claramente determinado podemos decir: Desarrollar un programa en Scratch que pregunte al usuario tres números naturales o enteros y estos sean guardados en variables para realizar las cuatro operaciones básicas.
  2. Resultados esperados: Que los tres números sean naturales o enteros que estos sean digitados por el usuario y que el resultado de las 4 operaciones básicas sean mostrados en pantalla.
  3. Datos disponibles: Que el usuario es quien digitara los tres números naturales enteros, que debemos realizar las cuatro operaciones básicas con los tres números y mostrarlos en pantalla.
  4. Restricciones: Que deben ser digitados por el usuario, que son números naturales y positivos, que debemos realizar las cuatro operaciones básicas con estos tres números, que se deben mostrar en pantalla.
  5. Procesos necesarios:
1.     Inicio
2.     Conocer los tres números naturales
3.     Realizar una suma con estos tres números naturales
4.     Realizar una resta con estos tres números naturales
5.     Realizar una multiplicación con estos tres números naturales
6.     Realizar una división con estos tres números naturales
7.     Mostrar los resultados en pantalla
8.     fin

2.            Diseñar el algoritmo:
SEUDOCODIGO                                                        
  1. Inicio
  2. Crear las variables num1, num2, num3, suma, resta, multiplicación, división
  3. Conocer los tres números para ello: Preguntar “Por favor digite su primer número natural o entero”
  4. Guardar numero 1 en la variable “num1”
  5. Preguntar “Por favor digite su segundo número natural o entero”
  6. Guardar numero 2 en la variable “num2”
  7. Preguntar “Por favor digite su tercer número natural o entero”
  8. Guardar numero 3 en la variable “num3”
  9. Guardar en la varibale “suma” el valor de “num1” más “num2” mas “num3”
  10. Guardar en la varibale “resta” el valor de “num1” menos “num2” menos “num3”
  11. Guardar en la varibale “multiplicacion” el valor de “num1” por “num2” por “num3”
  12. Guardar en la varibale “división” el valor de “num1” dividido “num2” dividido “num3”
  13. Mostrar en pantalla La suma de los tres números naturales es: “suma” por 10 segundos
  14. Mostrar en pantalla La resta de los tres números naturales es: “resta” por 10 segundos
  15. Mostrar en pantalla La multiplicación de los tres números naturales es: “multiplicacion” por 10 segundos
  16. Mostrar en pantalla La división de los tres números naturales es: “división” por 10 segundos
  17. FIN


DIAGRAMA DE FLUJO DE DATOS

Ahora trata de traducir el algoritmo al lenguaje de programación a Scratch, Si tienes alguna duda cuenta con la docente que estará presta a orientarte.

EJERCICIO PRACTICO

Desarrollar un programa en scratch que pregunte al usuario el nombre, el apellido y la edad.  Estos datos deben ser mostrados en pantalla.
Realice paso a paso las 4 fases o etapas del ciclo de programación de computadora, estos datos deben reposar en tu cuaderno.