Algoritmia y Scratch


Algoritmia

¿Qué es un algoritmo?
  • Grupo finito de operaciones organizadas de manera lógica y ordenada que permite solucionar un determinado problema.
  • Un programa contiene uno o varios algoritmos que indica a la computadora qué pasos específicos debe seguir para desarrollar una tarea.

¿Qué debe tener un algoritmo?

    1- Secuencia finita de pasos.
    2- Cada paso debe estar correctamente definido.
    3- Esos pasos se ejecutan en un tiempo finito.
    4- El algoritmo tiene un fin.
    5- Devuelve un resultado.
    6- Ese resultado es un tipo de dato concreto.

Un ejemplo

Estoy en una avenida y necesito cruzar a la otra vereda.

Resultado de imagen para caricatura cruzar la calle

Escribo mi algoritmo:

1- Voy por la vereda hasta la esquina.

2- Miro el semáforo.

3- En el caso de estar en verde cruzo la calle.

4-  Espero hasta que la luz sea verde y cruzo.


¿Qué hemos hecho en el caso anterior?

Lo primero fue separar el problema de "cruzar la avenida" en pequeños casos.

Luego se estableció un orden lógico en como hacer las cosas.

El algoritmo siempre debe tener un fin. En el ejemplo puede ser  "cruzar la calle o "esperar hasta la luz verde y cruzar" .


Abre un editor de texto: copia los siguientes problemas:

1-
    Necesito hace una torta frita al estilo clásico uruguayo.
    No olvides que tenemos todos los ingredientes y utensilios necesarios.
    Realiza el algoritmo en pocos pasos.


2-
    Nos gustaría cambiar una lámpara de un pasillo.
    Realiza un algoritmo en pocos pasos.


Tarea con videos

    Para ver el siguiente video debes:
        a- Dejar en silencio la computadora.
        b- Pausar el video apenas comience con barra espaciadora.
        c- Activar los subtítulos del video desde el rulemán.




Algo para contestar:

        1- ¿Qué es un algoritmo en el video?
        2- Menciona algún algoritmo de ejemplo mostrado en el video?
        3- ¿Qué características tiene un algoritmo?
        4-¿Cuáles son las etapas de un algoritmo?
        5- ¿Cómo puedo representar un algoritmo?


Una más.....







=============================================

    SCRATCH


          Es un lenguaje de programación visual. Por medio de Scratch se puede programar acciones sin tener conocimientos específicos de programación.








1- Descripción de Interfaz

A- Escenario: Donde se ejecutan las acciones programadas por el usuario.
    
B- Paletas de bloques:  

b1- Sección de pestañas superior, separa por temáticas a los diferentes bloques. b2- Sección donde se encuentran los bloques.

C- Área de programas lugar donde se colocan los bloques que ejecutarán las 
    acciones. 

D- Pestañas y área de información. 

E- Lista de objetos desde aquí se listan todos los objetos y se pueden agregar o 
    eliminar.









2- Conceptos básicos

1- Objeto: pieza o elemento de nuestro programa distinguible con límites definidos y características propias. (no confundir los diferentes tipos de disfraces con objetos). El escenario puede ser entendido como tipo de objeto programable.
 
2- Acción es algo que sucede.
 
 
3- Evento, es una acción que dispara otra como consecuencia. 
 

4- Consulta es básicamente conocer dónde está mi objeto.



3- Paletas

      Un programa es un conjunto de bloques, ese conjunto de bloques tiene un mecanismo para unirse en un conjunto más grande de acuerdo a las posibilidades de encastre entre ellos. 

     Utilidad y forma de los bloques. Existen encastres simples donde un bloque se une a otros en secuencia y los que envuelven a otros bloques.
  
     En Scracht tenemos diferentes formas de bloques.



                                              Movimiento
 
Rotación (es cuando un objeto gira entorno a un eje central, la rotación se mide en grados).


- Absoluto El objeto apunta con referencia al plano sin importar cual era su estado actual (ejemplo: “apuntar en dirección”).


- Relativo Desde mi posición actual el objeto girará la cantidad de grados solicitado en el sentido señalado. Ejemplo girar.
Tengo dos bloques uno con giro horario y otro antihorario. Si en ellos coloco grados negativos el sentido del giro se invierte.


   Rotación






 Desplazamiento

-Absoluto El objeto se posiciona con referencia al plano sin importar cual era su estado actual (ejemplo: “ir a x y ” “deslizar en … segundos a x y”).

-Relativo el movimiento va desde donde estoy hasta la distancia indicada (ejemplo “mover a”). Aquí es importante la dirección en donde se apunta, debido a que se mueve en ese sentido. 


 

 
Lápiz herramienta de trazo en pantalla.


Apariencia y Sonido están ligados a cambios puntuales en los personajes.


Bucles

     Utilizamos ejercicios viejos (cuadrado) para modelar como la sintaxis del lenguaje permite hacer cosas similares. Esto nos puede servir para repetir bloques de código idéntico y contiguos.


 


¿Puedo realizar  lo mismo con Repetir en el siguiente bloque?


 



 NO son bloques idénticos. Por ende no se está cumpliendo la característica de agrupar bloques idénticos y contiguos.




¿Por qué existe un “por siempre”?

       Si quisiéramos utilizar el repetir con un número muy grande, por más grande que sea en algún momento se va a alcanzar ese número. El por siempre garantiza que jamás se termina de repetir las secciones.














Ejercicios


 Primera parte:

Utilizando Scratch intenta dibujar las siguientes figuras:



  
 Cuadrado de lado tiene 100



pistas:
             Una forma sencilla es mover y girar.


-----------------------------------------------------------------------






pistas:
            Puedes dibujar con apuntar y mover.


-----------------------------------------------------------------------

¿Para qué sirven estos bloques?











 -----------------------------------------------------------------------



Pistas: puedes girar en el mismo sentido (tres  veces) para realizar el triángulo equilátero.

 -----------------------------------------------------------------------

Implementa el siguiente código





 Redacta en tu cuaderno que sucede al implementar el anterior código en Scratch.

-----------------------------------------------------------------------

Cuadrado con pocos bloques










¿Puedes realizar esta figura pero sólo utilizando cuatro bloques?



-----------------------------------------------------------------------














¿Qué ideas sugieres para implementar esta forma?

Los líneas tienen 50.



-----------------------------------------------------------------------

¿Qué sucede cuando implementamos esto?





 -----------------------------------------------------------------------




Pistas

      Utiliza estructuras de repetición parecidas a las usadas con los cuadrados conectados.



 -----------------------------------------------------------------------

Tres escenarios personalizados.

Descarga los escenarios y luego los importas a Scratch en el orden que aparecen abajo:


carretera                carretera1                carretera2




-----------------------------------------------------------------------


Interacción entre objetos.


Algunas cosas para conocer

Objeto: Son los personajes que posee nuestro programa. Son distinguibles entre sí, y cada uno tiene la potestad de realizar acciones, escuchar mensajes y enviar mensajes.

Mensaje: Es aquella señal distinguida por un nombre que es enviada desde un objeto a los demás objetos. Para el usuario el mensaje es invisible.

Envío de mensaje: Acción que ejecuta un objeto de enviar un mensaje determinado a los demás. Esta acción puede encontrarse en cualquier parte del bloque del código.

Recepción de mensaje: Todos los objetos realizan esta acción por defecto, sin necesidad de agregar ningún bloque de código.

Manejo de mensaje: Llamaremos de esta manera al bloque de código que responde a la recepción de un mensaje determinado con la ejecución de bloques de código. Esta acción debe ser definida de forma explícita con un bloque que no puede ser posicionado dentro de otros programas, sino que debe comenzar con éste.



















El objeto 1 envía dos mensajes (llamados mensaje 1 y mensaje 2) al objeto 2 y éste responde con mensaje 3.


Aclaración: El envío de estos mensajes es de forma interna e invisible al usuario.

¿Para qué sirve esto?

Con los mensajes se logra la interacción entre los objetos. Luego de recibido el mensaje se puede desencadenar la ejecución de cualquier tipo de bloque de código.




 
¿Puedo hacerlo más dinámico?

Sí, al emisor de los mensajes (Objeto 1) puedo colocar juntos los envíos de mensajes. De esa manera se logra una mayor dinámica en las acciones.


No hay comentarios: