Diferencia entre revisiones de «Plantilla:Scratch/InstruccionesRepetitivas»

De WikiEducator
Saltar a: navegación, buscar
Línea 1: Línea 1:
<br />
 
 
<div id=parrafo>
 
 
{{MRM_Pregunta|Title=Instrucción de repetición o bucle|
 
{{MRM_Pregunta|Title=Instrucción de repetición o bucle|
*En este caso vamos a repetir una serie de veces un conjuto de acciones
+
* En este caso vamos a repetir una serie de veces un conjunto de acciones.
*Puede ser que quereamos repetir algo de forma infinita (mientras dure la ejecución del programa)
+
* Puede ser que queramos repetir algo de forma infinita (mientras dure la ejecución del programa).
 
{{Tip|Este tipo de bucles son bucles infinitos}}
 
{{Tip|Este tipo de bucles son bucles infinitos}}
 
[[Archivo:bucleInfinito.png]]
 
[[Archivo:bucleInfinito.png]]
*Puede ser que sepa cuántas veces quiero repetir un bucle
+
 
 +
* Puede ser que sepamos cuántas veces queremos repetir un bucle.
 
{{Tip|Este tipo de bucles son contadores}}
 
{{Tip|Este tipo de bucles son contadores}}
 
[[Archivo:bucleContador.png]]
 
[[Archivo:bucleContador.png]]
*Puede ser que establezca una '''''condicion booleana''''' para  establecer hasta cuando quiero repetir el bucle
 
{{Tip|Este tipo de bucles son bucles con condición boleana}}
 
[[Archivo:bucleCondicion.png]]
 
  
 +
* Puede ser que establezcamos una '''''condición booleana''''' para determinar hasta cuándo queremos repetir el bucle.
 +
{{Tip|Este tipo de bucles son bucles con condición booleana}}
 +
[[Archivo:bucleCondicion.png]]
 
}}
 
}}
  
 
{{MRM_Actividad|Title=Iteraciones|
 
{{MRM_Actividad|Title=Iteraciones|
*Cuando apretamos la tecla '''''C''''' de crecer queremos que el sprit se haga más grande en 10 crecimientos, esperando un segundo entra cada incremente de tamaño.
+
* Cuando apretamos la tecla '''''C''''' de "crecer", queremos que el sprite se haga más grande en 10 pasos, esperando un segundo entre cada incremento de tamaño.
Igualmente si aprieto de '''''P''''' de pequeñó queremos que el sprit se haga más grande en 10 crecimientos, esperando un segundo entra cada incremente de tamaño.
+
* Igualmente, si apretamos la tecla '''''P''''' de "pequeño", queremos que el sprite se haga más pequeño en 10 pasos, esperando un segundo entre cada decremento de tamaño.
 
{{Plegable|hide
 
{{Plegable|hide
 
|Posible solución
 
|Posible solución
Línea 27: Línea 25:
  
 
{{MRM_Actividad|Title=Iteraciones|
 
{{MRM_Actividad|Title=Iteraciones|
*Cuando apretamos la '''''C''''' de crecer queremos que el sprit crezca hasta que toque el borde, luego que vuelva a su tamaño normal
+
* Cuando apretamos la tecla '''''C''''' de "crecer", queremos que el sprite crezca hasta que toque el borde y luego vuelva a su tamaño normal.
 
{{Plegable|hide
 
{{Plegable|hide
 
|Posible solución
 
|Posible solución
 
|
 
|
 
 
[[Archivo:scratchBucle2.png]]
 
[[Archivo:scratchBucle2.png]]
 
}}
 
}}
 
}}
 
}}
 +
 
===Variables===
 
===Variables===
<br />
 
 
{{MRM_Pregunta|Title=Instrucción de declarar variables|
 
{{MRM_Pregunta|Title=Instrucción de declarar variables|
Una variable es una posición de memoria,
+
Una variable es una posición de memoria en la cual vamos a almacenar un valor de algún tipo y cuyo contenido puede ser modificado durante la ejecución del programa.
En cuyo interior vamos a almacenar un valor de algún tipo
+
* Es una parte muy importante en la programación.
y cuyo contenido puede ser modificado durante la ejecución del programa.
+
*Es una parte muy importante en la programación.
+
 
[[Archivo:declararVariable.png]]
 
[[Archivo:declararVariable.png]]
 
}}
 
}}
*Una vez creada la variable, la utilizaremos de dos maneras:
+
 
 +
* Una vez creada la variable, la utilizaremos de dos maneras:
 
;Para asignarle un valor
 
;Para asignarle un valor
 
[[Archivo:asignacionVariable.png]]
 
[[Archivo:asignacionVariable.png]]
;Para operar con ellas.  
+
;Para operar con ellas.
Aquí aparece un nuevo término de programación que son ''''las expresiones''''
+
Aquí aparece un nuevo término de programación que son '''expresiones'''.
 +
 
 
{{MRM_Definicion|Title=expresión|
 
{{MRM_Definicion|Title=expresión|
Una expresión es un conjunto de valores y operadores
+
Una expresión es un conjunto de valores y operadores que, al evaluarse, da como resultado un valor.
que tras evaluarse obtenemos un resultado.
+
}}
 +
 
 
{{MRM_Ejemplo|Title=expresión aritmética|
 
{{MRM_Ejemplo|Title=expresión aritmética|
;Son los operadores conocidos de matemáticas, y dan como resultado un número
+
;Son operadores conocidos de matemáticas, y dan como resultado un número.
 
<source lang=php>
 
<source lang=php>
 
8+5;
 
8+5;
 
9*7;
 
9*7;
 
9/7;
 
9/7;
7-6M
+
7-6;
 
9%4;
 
9%4;
 
</source>
 
</source>
 
[[Archivo:operacionesAritmeticas.png]]
 
[[Archivo:operacionesAritmeticas.png]]
 
}}
 
}}
{{MRM_Ejemplo|Title=expresión booleanas|
+
 
;Son los operadores lógicos , y dan como resultado un valor booleano, True o False
+
{{MRM_Ejemplo|Title=expresiones booleanas|
 +
;Son operadores lógicos y dan como resultado un valor booleano, True o False.
 
<source lang=php>
 
<source lang=php>
 
8>5;
 
8>5;
 
9<7;
 
9<7;
 
No Verdad;
 
No Verdad;
Expresión_1 AND Expresion_2
+
Expresión_1 AND Expresión_2;
 
</source>
 
</source>
 
[[Archivo:operacionesLogicas.png]]
 
[[Archivo:operacionesLogicas.png]]
 
}}
 
}}
{{MRM_Ejemplo|Title=expresión sobre cadenas|
+
 
;Son los operadores sobre cadena de caracteres
+
{{MRM_Ejemplo|Title=expresiones sobre cadenas|
 +
;Son operadores sobre cadenas de caracteres.
 
<source lang=php>
 
<source lang=php>
"Cadena una " unir "Cadena 2"
+
"Cadena una " unir "Cadena 2";
contar Caracteres ("cadena")
+
contarCaracteres("cadena");
 
</source>
 
</source>
 
[[Archivo:operacionesCaracteres.png]]
 
[[Archivo:operacionesCaracteres.png]]
}}
 
 
}}
 
}}
  
 
{{MRM_Puntos clave|Title=Muy importante|
 
{{MRM_Puntos clave|Title=Muy importante|
 
+
UNA EXPRESIÓN NO ES UNA INSTRUCCIÓN. ES PARTE DE ELLA.
UNA EXPRESIÓN, NO ES UNA INSTRUCCIÓN. ES PARTE DE ELLA.
+
 
}}
 
}}
 
  
 
===Instrucción de secuenciales de asignación===
 
===Instrucción de secuenciales de asignación===
<br />
 
 
 
{{MRM_Pregunta|Title=Instrucción de asignación|
 
{{MRM_Pregunta|Title=Instrucción de asignación|
 
1.- Una asignación
 
1.- Una asignación
 
<source lang=php>
 
<source lang=php>
color = "red"
+
color = "red";
 
</source>
 
</source>
 
[[Archivo:asignacionScratch.png]]
 
[[Archivo:asignacionScratch.png]]
Línea 101: Línea 96:
  
 
;Ejemplos
 
;Ejemplos
 +
 
{{MRM_Actividad|Title=Contador|
 
{{MRM_Actividad|Title=Contador|
*Modifica el ejercicio de decir si una edad (número aleatorio entre 1 y 30) es mayor de edad o no, haciendo que nos muestre la edad
+
* Modifica el ejercicio de decir si una edad (número aleatorio entre 1 y 30) es mayor de edad o no, haciendo que nos muestre la edad.
 
{{Plegable|hide
 
{{Plegable|hide
 
|Posible solución
 
|Posible solución
 
|
 
|
 
 
[[Archivo:scratchEdad2.png]]
 
[[Archivo:scratchEdad2.png]]
 
}}
 
}}
Línea 112: Línea 107:
  
 
{{MRM_Actividad|Title=Tabla de multiplicar|
 
{{MRM_Actividad|Title=Tabla de multiplicar|
*Genera un número aleatorio, y muestra su tabla de multiplicar
+
* Genera un número aleatorio y muestra su tabla de multiplicar.
 
{{Plegable|hide
 
{{Plegable|hide
 
|Posible solución
 
|Posible solución
 
|
 
|
 
 
[[Archivo:tablaMultiplicar.png]]
 
[[Archivo:tablaMultiplicar.png]]
 
}}
 
}}
Línea 122: Línea 116:
  
 
===Instrucción de secuenciales de declaración de bloques===
 
===Instrucción de secuenciales de declaración de bloques===
*Declarar un bloque es una acción muy frecuente en programación
+
* Declarar un bloque es una acción muy frecuente en programación.
*Se trata de intentar hacer un pequeño subprograma para ser posteriormente utilizado
+
* Se trata de crear un pequeño subprograma para ser utilizado posteriormente.
*Es una forma de poder organizar mejor el código y escribir un programa principal utilizando bloques
+
* Es una forma de organizar mejor el código y escribir un programa principal utilizando bloques.
*Crear un bloque o función, es otra instrucción de declaración.
+
* Crear un bloque o función es otra instrucción de declaración.
*Crear bloques, es una forma de programar modular y estructurada, es decir modularizamos nuestro programa, y cada módulo o bloque usamos la programación estructruada (secuencias, selección, iteracción).
+
* Crear bloques permite una programación modular y estructurada; es decir, modularizamos nuestro programa, y cada módulo o bloque usa programación estructurada (secuencia, selección, iteración).
*Cuando hablamos de bloques también nos referimos a módulos, subprogramas, y lo concretaremos en funcionesy  clases(objetos) con sus métodos que estudiaremos más adelante.
+
* Los bloques también se conocen como módulos o subprogramas, y más adelante concretaremos en funciones y clases (objetos) con sus métodos.
 +
 
 
{{MRM_Actividad|
 
{{MRM_Actividad|
 
<source lang=bash>
 
<source lang=bash>
declaracion_bloque(){
+
declaracion_bloque(){
   accion_1
+
   accion_1;
   accion_2
+
   accion_2;
 
   ......
 
   ......
}
+
}
 
</source>
 
</source>
 
[[Archivo:bloquesScratch.png]]
 
[[Archivo:bloquesScratch.png]]
 
}}
 
}}
*Para crear bloques debemos de seleccionar la acción  
+
 
 +
* Para crear bloques, debemos seleccionar la acción.
 
{{MRM_Actividad|Title=Creando bloques|
 
{{MRM_Actividad|Title=Creando bloques|
* Vamos a hacer un programa que se presente el sprite, nos diga algo y se despida,
+
* Vamos a hacer un programa en el que el sprite se presente, diga algo y se despida.
*Quieremos que el programa principal sea con bloques, de forma que el programa principal debe ser
+
* Queremos que el programa principal esté hecho con bloques, de forma que el programa principal sea:
 
[[Archivo:bloques1.png]]
 
[[Archivo:bloques1.png]]
 
}}
 
}}
  
 
===Crear clones===
 
===Crear clones===
*Esta es una práctica que se hace en scratch.
+
* Esta es una práctica que se hace en Scratch.
*En la programación estructurada también lo haremos cuando tengamos una clase, y creemos diferentes objetos de la misma clase.
+
* En la programación estructurada, también lo haremos cuando tengamos una clase y creemos diferentes objetos de la misma clase.
*Consiste en duplicar todo el elemento (tanto gráfico como funcional)
+
* Consiste en duplicar todo el elemento (tanto gráfico como funcional).
*Es conveniente siempre, después de crear un clone, eliminarlo
+
* Es conveniente siempre, después de crear un clon, eliminarlo.
*Vamos a ver cómo se hace en este entorno de programación
+
* Vamos a ver cómo se hace en este entorno de programación.
{{MRM_Actividad|Title=Crear un clone en scratch|
+
 
*La ficha o instrucción, la tenemos en '''''control'''''
+
{{MRM_Actividad|Title=Crear un clon en Scratch|
 +
* La ficha o instrucción se encuentra en '''''control'''''.
 
[[Archivo:crear_clone.png]]
 
[[Archivo:crear_clone.png]]
 
}}
 
}}
 
  
 
{{MRM_Actividad|Title=Hacer una nevada mediante clones|
 
{{MRM_Actividad|Title=Hacer una nevada mediante clones|
*Elige un sprite de '''''Snowflake'''''
+
* Elige un sprite de '''''Snowflake'''''.
 
[[Archivo:snowflake.png]]
 
[[Archivo:snowflake.png]]
 
{{Plegable|hide
 
{{Plegable|hide
Línea 168: Línea 164:
  
 
===Comunicación entre sprites===
 
===Comunicación entre sprites===
*Aunque sea un aspecto muy propio de los scratch, es necesario ver cómo los diferentes sprites u objetos se puedan comunicar.
+
* Aunque sea un aspecto propio de Scratch, es necesario ver cómo los diferentes sprites u objetos pueden comunicarse.
Por ejemplo cuando ocurra una determinada situación en un sprite y otros se reciban una comunicación de ello.
+
Por ejemplo, cuando ocurre una determinada situación en un sprite y otros reciben una comunicación de ello.
*Es una forma de hacer que los diferentes elementos se puedan ver o comunicar unos con otros.
+
* Es una forma de hacer que los diferentes elementos puedan interactuar entre sí.
  
*Hasta ahora vemos cómo las diferentes fichas o instrucciones que tenemos son para cada uno de los sprite.
+
* Hasta ahora hemos visto cómo las fichas o instrucciones son para cada sprite individual.
 
[[Archivo:bloques_scratch.png|center|500px]]
 
[[Archivo:bloques_scratch.png|center|500px]]
*Pero puede ser muy frecuente que desde un sprite queramos saber si a otro le ha ocurrido una determinada situación
+
 
*Para ello crearemos un mensaje
+
* Sin embargo, es común que desde un sprite queramos saber si a otro le ha ocurrido algo en particular.
 +
* Para ello, crearemos un mensaje.
 
[[Archivo:crear_mensaje.png]]
 
[[Archivo:crear_mensaje.png]]
*Una vez creado, cuando queremos (el evento que controlemos) un objeto enviará un mensaje, como podemos ver en la imagen anterior.
+
 
*En el otro scratch podemos establecer la condición, cuando recibamos el mensaje
+
* Una vez creado, el objeto enviará el mensaje en el momento que queramos (el evento que controlamos).
 +
* En el otro sprite, podemos establecer la condición de recibir el mensaje.
 
[[Archivo:recibir_mensaje.png]]
 
[[Archivo:recibir_mensaje.png]]
 +
 
{{MRM_Actividad|Title=Prueba con mensajes|
 
{{MRM_Actividad|Title=Prueba con mensajes|
*Podemos añadir un botón (sprite)en cualquier de nuestros ejemplos realizados, por ejemplo el muñeco que se presentaba.
+
* Podemos añadir un botón (sprite) en cualquiera de nuestros ejemplos previos, por ejemplo, el muñeco que se presentaba.
*Cuando apretemos con un click, que desaparezca el botón y empiece el programa.
+
* Al hacer clic en él, que desaparezca el botón y empiece el programa.
 
}}
 
}}
 
</div>
 
</div>
 

Revisión de 10:13 29 oct 2024



Icon qmark.gif
Instrucción de repetición o bucle
  • En este caso vamos a repetir una serie de veces un conjunto de acciones.
  • Puede ser que queramos repetir algo de forma infinita (mientras dure la ejecución del programa).
Icon present.gif
Tip: Este tipo de bucles son bucles infinitos


BucleInfinito.png

  • Puede ser que sepamos cuántas veces queremos repetir un bucle.
Icon present.gif
Tip: Este tipo de bucles son contadores


BucleContador.png

  • Puede ser que establezcamos una condición booleana para determinar hasta cuándo queremos repetir el bucle.
Icon present.gif
Tip: Este tipo de bucles son bucles con condición booleana


BucleCondicion.png




Icon activity.jpg
Iteraciones
  • Cuando apretamos la tecla C de "crecer", queremos que el sprite se haga más grande en 10 pasos, esperando un segundo entre cada incremento de tamaño.
  • Igualmente, si apretamos la tecla P de "pequeño", queremos que el sprite se haga más pequeño en 10 pasos, esperando un segundo entre cada decremento de tamaño.





Icon activity.jpg
Iteraciones
  • Cuando apretamos la tecla C de "crecer", queremos que el sprite crezca hasta que toque el borde y luego vuelva a su tamaño normal.




Variables

Icon qmark.gif
Instrucción de declarar variables

Una variable es una posición de memoria en la cual vamos a almacenar un valor de algún tipo y cuyo contenido puede ser modificado durante la ejecución del programa.

  • Es una parte muy importante en la programación.

DeclararVariable.png



  • Una vez creada la variable, la utilizaremos de dos maneras:
Para asignarle un valor

AsignacionVariable.png

Para operar con ellas.

Aquí aparece un nuevo término de programación que son expresiones.



Icon define.gif
expresión

Una expresión es un conjunto de valores y operadores que, al evaluarse, da como resultado un valor.




Icon casestudy.gif
expresión aritmética
Son operadores conocidos de matemáticas, y dan como resultado un número.
8+5;
9*7;
9/7;
7-6;
9%4;

OperacionesAritmeticas.png




Icon casestudy.gif
expresiones booleanas
Son operadores lógicos y dan como resultado un valor booleano, True o False.
8>5;
9<7;
No Verdad;
Expresión_1 AND Expresión_2;

OperacionesLogicas.png




Icon casestudy.gif
expresiones sobre cadenas
Son operadores sobre cadenas de caracteres.
"Cadena una " unir "Cadena 2";
contarCaracteres("cadena");

OperacionesCaracteres.png




Icon key points.gif

Muy importante

UNA EXPRESIÓN NO ES UNA INSTRUCCIÓN. ES PARTE DE ELLA.



Instrucción de secuenciales de asignación

Icon qmark.gif
Instrucción de asignación

1.- Una asignación

color = "red";

AsignacionScratch.png



Ejemplos



Icon activity.jpg
Contador
  • Modifica el ejercicio de decir si una edad (número aleatorio entre 1 y 30) es mayor de edad o no, haciendo que nos muestre la edad.





Icon activity.jpg
Tabla de multiplicar
  • Genera un número aleatorio y muestra su tabla de multiplicar.




Instrucción de secuenciales de declaración de bloques

  • Declarar un bloque es una acción muy frecuente en programación.
  • Se trata de crear un pequeño subprograma para ser utilizado posteriormente.
  • Es una forma de organizar mejor el código y escribir un programa principal utilizando bloques.
  • Crear un bloque o función es otra instrucción de declaración.
  • Crear bloques permite una programación modular y estructurada; es decir, modularizamos nuestro programa, y cada módulo o bloque usa programación estructurada (secuencia, selección, iteración).
  • Los bloques también se conocen como módulos o subprogramas, y más adelante concretaremos en funciones y clases (objetos) con sus métodos.



Icon activity.jpg
Actividad
declaracion_bloque(){
   accion_1;
   accion_2;
   ......
}

BloquesScratch.png




  • Para crear bloques, debemos seleccionar la acción.


Icon activity.jpg
Creando bloques
  • Vamos a hacer un programa en el que el sprite se presente, diga algo y se despida.
  • Queremos que el programa principal esté hecho con bloques, de forma que el programa principal sea:

Bloques1.png




Crear clones

  • Esta es una práctica que se hace en Scratch.
  • En la programación estructurada, también lo haremos cuando tengamos una clase y creemos diferentes objetos de la misma clase.
  • Consiste en duplicar todo el elemento (tanto gráfico como funcional).
  • Es conveniente siempre, después de crear un clon, eliminarlo.
  • Vamos a ver cómo se hace en este entorno de programación.



Icon activity.jpg
Crear un clon en Scratch
  • La ficha o instrucción se encuentra en control.

Crear clone.png





Icon activity.jpg
Hacer una nevada mediante clones
  • Elige un sprite de Snowflake.

Snowflake.png




Comunicación entre sprites

  • Aunque sea un aspecto propio de Scratch, es necesario ver cómo los diferentes sprites u objetos pueden comunicarse.

Por ejemplo, cuando ocurre una determinada situación en un sprite y otros reciben una comunicación de ello.

  • Es una forma de hacer que los diferentes elementos puedan interactuar entre sí.
  • Hasta ahora hemos visto cómo las fichas o instrucciones son para cada sprite individual.
Bloques scratch.png
  • Sin embargo, es común que desde un sprite queramos saber si a otro le ha ocurrido algo en particular.
  • Para ello, crearemos un mensaje.

Crear mensaje.png

  • Una vez creado, el objeto enviará el mensaje en el momento que queramos (el evento que controlamos).
  • En el otro sprite, podemos establecer la condición de recibir el mensaje.

Recibir mensaje.png



Icon activity.jpg
Prueba con mensajes
  • Podemos añadir un botón (sprite) en cualquiera de nuestros ejemplos previos, por ejemplo, el muñeco que se presentaba.
  • Al hacer clic en él, que desaparezca el botón y empiece el programa.