Diferencia entre revisiones de «Usuario:ManuelRomero/Scratch/programación»

De WikiEducator
Saltar a: navegación, buscar
(Instrucción de repetición)
 
(43 revisiones intermedias por el mismo usuario no mostrado)
Línea 1: Línea 1:
 +
[[Usuario:ManuelRomero/CertificadoWeb2021/Contenido|Volver]]
 +
</div>
 
{{:Usuario:ManuelRomero/Scratch/Contenidos/nav}}
 
{{:Usuario:ManuelRomero/Scratch/Contenidos/nav}}
  
Línea 7: Línea 9:
  
 
<!--1------------------------------------------------------>
 
<!--1------------------------------------------------------>
<div id=parrafo>
+
 
 
<div class="slide">
 
<div class="slide">
  
Línea 16: Línea 18:
  
 
{{MRM_Puntos clave|
 
{{MRM_Puntos clave|
;Programar Es algo tan cotidiano y normal que nos pasa desapercibido
+
;Programar es algo tan cotidiano y normal que nos pasa desapercibido.
 
}}
 
}}
 
</div>
 
</div>
Línea 33: Línea 35:
 
<div class="slide">
 
<div class="slide">
  
*Simplemente el no saber que continuamente estamos realizando algoritmos es una falta de conscieciencia de ello , ya que lo hacemos de forma automática continuamente
+
*Simplemente el no saber que continuamente estamos realizando algoritmos es una falta de concieciencia de ello , ya que lo hacemos de forma automática continuamente
 
{{MRM_Ejemplo|Title=Ejemplos de algoritmos cotidianos|
 
{{MRM_Ejemplo|Title=Ejemplos de algoritmos cotidianos|
 
*Lavar dientes
 
*Lavar dientes
Línea 55: Línea 57:
 
{{MRM_Pregunta|Title=Características de un algoritmo|
 
{{MRM_Pregunta|Title=Características de un algoritmo|
 
; Un algoritmo debe de  
 
; Un algoritmo debe de  
  Ser finito (debe de terminar en algún momento (no necesariamente su ejecución)
+
  Ser finito (debe de terminar en algún momento (no necesariamente su ejecución).
  Debe de ser concreto
+
  Debe de ser concreto.
 
  Siempre dará ante las mismas entradas, la misma salida.
 
  Siempre dará ante las mismas entradas, la misma salida.
  Concreto y bien definido
+
  Concreto y bien definido (parecerá un término impreciso, pero es muy importante).
 
*}}
 
*}}
 
</div>
 
</div>
Línea 72: Línea 74:
 
*Es una invitación a la reflexión, a la tranquilidad a la hora de hacer algo
 
*Es una invitación a la reflexión, a la tranquilidad a la hora de hacer algo
 
</div>
 
</div>
 +
 
<div class="slide">
 
<div class="slide">
 
<!--1-->
 
<!--1-->
Línea 81: Línea 84:
 
}}
 
}}
 
</div>
 
</div>
 +
 
<div class="slide">
 
<div class="slide">
 
<!--1-->
 
<!--1-->
Línea 94: Línea 98:
 
<div class="slide">
 
<div class="slide">
 
<!--1-->
 
<!--1-->
 +
 
=Conceptos básicos en la programación=
 
=Conceptos básicos en la programación=
 +
</div>
 +
 +
 +
 +
<div class="slide">
 +
 
<br>
 
<br>
 
{{MRM_Objetivos|
 
{{MRM_Objetivos|
Línea 105: Línea 116:
  
 
</div>
 
</div>
 +
 
<div class="slide">
 
<div class="slide">
 
<!--1-->
 
<!--1-->
==Algunas conceptos  importantes que ya veremos==
+
==Programa: conjunto de instrucciones==
;Programa
+
<br />
Un programa va a ser un conjunto de instrucciones que se ejecutan para resolver un problema planteado
+
</div>
[[Imagen:programa1.png]]
+
</div
+
<div class="slide">
+
  
  
</div>
 
  
 
<div class="slide">
 
<div class="slide">
<!--
+
 
===Qué es el pensamiento computaciona===
+
 
[[Archivo:Pensamiento_computacional.jpeg]]
+
{{MRM_Definicion|Title=Programa como conjunto de instrucciones|
{{MRM_Actividad|Title=Nos ponemos a prueba|
+
;Un programa es un conjunto de instrucciones que van
{{MRM_Pregunta|Sois capaces de hacer un bocadillo....}}
+
a resolver un problema
<br />
+
*Estas instrucciones las vamos a agrupar en tres tipos,
;Vamos a hacerlo ....  
+
según el orden de ejecución que van a seguir
      computacionamente ?????
+
  Instrucciones de estructuras  secuenciales: una detras de otra
 +
Estructuras Selectivas: En función de una condición realizaré o no la instrucción
 +
Estructuras repetitivas: En función de una condición repetiré una o varias instrucciones o acciones
 
}}
 
}}
-->
 
 
</div>
 
</div>
  
==Programa: conjunto de instrucciones==
+
<div class="slide">
<br />
+
 
{{MRM_Definicion|Title=Programa como conjunto de instrucciones|
+
;Un programa es un conjunto de instrucciones que van a resolver un problema
+
*Estas instrucciones las vamos a agrupar en tres tipos
+
Instrucciones de estructuras  secuenciales
+
Estructuras Seleectivas
+
Estructuras repetitivas
+
}}
+
 
<br />
 
<br />
 
{{MRM_Pregunta|Title=Qué es una instrucción|
 
{{MRM_Pregunta|Title=Qué es una instrucción|
 
;Es una acción concreta a realizar
 
;Es una acción concreta a realizar
 
A continuación vamos a ver ejemplos de instrucciones
 
A continuación vamos a ver ejemplos de instrucciones
#.- Instrucción de selección
+
}}
#.- Instrucción de repetición
+
 
 +
<br />
 +
#.- Instrucción de selección: órdenes para establecer secciones condicionales
 +
#.- Instrucción de repetición: órdenes para establecer secciones repetitivas
 
#.- Instrucciones secuencales:
 
#.- Instrucciones secuencales:
 +
</div>
 +
<div class="slide">
 +
 
##.- Declaración de variables
 
##.- Declaración de variables
 
##.- Asignación
 
##.- Asignación
Línea 151: Línea 159:
 
##.- Invocación de funciones, subprogramas, objetos, ....
 
##.- Invocación de funciones, subprogramas, objetos, ....
 
##.- Instrucción de inicio
 
##.- Instrucción de inicio
##.- Instrucción de fin  
+
##.- Instrucción de fin
}}
+
 
+
===Instrucción de secuenciales===
+
*Son ordenes o acciones que se ejecutan una detrás de otras
+
*Es muy habitual que la orden sea llamar a un subprograma ya establecido(invocacion a subprogramas)
+
*Dentro de estas instrucciones veremos el concepto de las variables
+
*Es importante la instrucción de inicio y fin, de alguna forma el programa ha de empezar a ejecutarse
+
*En scratch, esta instrucción viene con un determinado evento, en lenguajes estructurados venrá con una apertura de llave que representa el inicio
+
*Esta es una diferencia de scratch, tengo que especificar cuándo se va a ejectuar cada bloque de instrucciones y lo haremos mediante eventos que ocurren
+
[[Archivo:scratchInicio.png]]
+
 
+
===Instrucción de selección===
+
<br />
+
{{MRM_Pregunta|Title=Instrucción de selección|
+
*Permite determinar situaciones especiales en nuestro programa
+
*Esta estructura tiene la siguiente forma
+
<source lang=bash>
+
 
+
Si (condicion) entonces
+
  accion_1
+
  accion_2
+
  accion ....
+
fin SI
+
</source>
+
*Donde '''''condicion'''''  es una expresión booleana es decir algo que se evalúa, y me da como resultado '''''verdad o falso'''''.
+
}}
+
 
+
 
+
*Responde a una lógica continua en nuestra vida, continuamente estamos haciendo cosas si .....
+
<source lang= bash>
+
Si hace frío (condición)
+
  me pongo el abrigo (accion)
+
fin si
+
</source>
+
<source lang= bash>
+
Si comida fria (condición)
+
  la caliento (accion)
+
fin si
+
</source>
+
<source lang= bash>
+
Si tocando borde (condición)
+
  llevar la bola al principio (accion)
+
fin si
+
</source>
+
[[Archivo:scratchCondicion1.png|200px]]
+
[[Archivo:scratchCondicion2.png|400px]]
+
 
+
{{MRM_Actividad|Title =generar un número aleatorio |
+
*Generamos una edad aleatoria entre 1 y 60
+
*Decimos  si es o no mayor de edad
+
{{Plegable|hide
+
|Posible solución
+
|
+
[[Archivo:scratchSeleccion1.png]]
+
}}
+
}}
+
 
+
{{MRM_Actividad|
+
*Si toco al gato con el ratón,
+
*que diga miau durante 2 segundos
+
{{Plegable|hide
+
|Posible solución
+
|
+
 
+
[[Archivo:seleccionScratch3.png]]
+
{{MRM_Pregunta|
+
Por qué no funciona ???}}
+
}}
+
}}
+
 
+
===Instrucción de repetición===
+
<br />
+
 
+
 
+
{{MRM_Pregunta|Title=Instrucción de repetición o bucle|
+
*En este caso vamos a repetir una serie de veces un conjuto de acciones
+
*Puede ser que quereamos repetir algo de forma infinita (mientras dure la ejecución del programa)
+
{{Tip|Este tipo de bucles son bucles infinitos}}
+
[[Archivo:bucleInfinito.png]]
+
*Puede ser que sepa cuántas veces quiero repetir un bucle
+
{{Tip|Este tipo de bucles son contadores}}
+
[[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]]
+
 
+
}}
+
 
+
{{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.
+
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.
+
{{Plegable|hide
+
|Posible solución
+
|
+
[[Archivo:scratchBucle.png]]
+
}}
+
}}
+
 
+
{{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
+
{{Plegable|hide
+
|Posible solución
+
|
+
 
+
[[Archivo:scratchBucle2.png]]
+
}}
+
}}
+
===Variables===
+
<br />
+
{{MRM_Pregunta|Title=Instrucción de declarar variables|
+
Una variable es una posición de memoria,
+
En cuyo interior 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]]
+
}}
+
 
+
{{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
+
{{Plegable|hide
+
|Posible solución
+
|
+
 
+
[[Archivo:scratchEdad2.png]]
+
}}
+
}}
+
 
+
===Instrucción de secuenciales de asignación===
+
<br />
+
 
+
{{MRM_Pregunta|Title=Instrucción de asignación|
+
1.- Una asignación
+
<source lang=php>
+
color = "red"
+
</source>
+
[[Archivo:asignacionScratch.png]]
+
}}
+
 
+
===Instrucción de secuenciales declaración de variables===
+
<br />
+
{{MRM_Pregunta|Title=Instrucción de declarar variables|
+
1.- Una asignación
+
<source lang=php>
+
color = "red"
+
</source>
+
[[Archivo:asignacionScratch.png]]
+
}}
+
 
+
===Instrucción de secuenciales de declaración de bloques===
+
<br />
+
{{MRM_Pregunta|Title=Instrucción de declarar funciones o bloques |
+
}}
+
 
</div>
 
</div>

Última revisión de 16:26 18 oct 2023

Volver </div>

Volver





Qué es programar

  • Programar es resolver un problema de una manera concreta.
  • Es dar instrucciones para que se realice un determinado algoritmo.
  • Es interesante hablar de estos conceptos, si bien los trataremos mas adelante pero los necesitamos desde el principio.



Icon key points.gif

Puntos clave

Programar es algo tan cotidiano y normal que nos pasa desapercibido.




Icon reflection.gif
Reflexiona
Vamos a identificar cuestiones diarias que sean posibles ejecuciones de programas




Icon define.gif
Qué es la programación
  • La programación consiste en encontrar un algoritmo que resuelva un problema planteado


  • Simplemente el no saber que continuamente estamos realizando algoritmos es una falta de concieciencia de ello , ya que lo hacemos de forma automática continuamente


Icon casestudy.gif
Ejemplos de algoritmos cotidianos
  • Lavar dientes
  • Cruzar la carretera



Icon qmark.gif
Qué es un algoritmo

Dado un problema de naturaleza lógica

un algoritmo es una secuencia de acciones 
concreta y bien definida
que ejecutadas todas ellas y en el orden establecido
van a dar solución al problema planteado



Icon qmark.gif
Características de un algoritmo
Un algoritmo debe de
Ser finito (debe de terminar en algún momento (no necesariamente su ejecución).
Debe de ser concreto.
Siempre dará ante las mismas entradas, la misma salida.
Concreto y bien definido (parecerá un término impreciso, pero es muy importante).



  • Resolver problemas es algo habitual y contidiano
  • Lo hacemos sin ser conscientes de lo que estamos haciendo
  • A veces lo hacen sin saber como lo han hecho
  • Es una invitación a la reflexión, a la tranquilidad a la hora de hacer algo



Icon key points.gif

Puntos clave

  • QUÉ QUIERO HACER
  • CÓMO LO VOY A HACER
  • PUES VENGA VAMOS A HACERLO


Pautas a la hora de hacer un programa
  • Vamos a ver sobre la marcha los conceptos, si bien en el siguiente tema los formalizaremos
  1. primero saber qué quiero hacer
  2. buscar información para ver cómo lo puedo hacer
  3. realizarlo y analizo los resultados viendo posibles mejoras que puedo aplicar


Conceptos básicos en la programación




Icon objectives.jpg
Objetivo
  • A continuación y aprovechando como ejemplo de lenguaje de programación Scratch vamos a analizar brevemente los elementos que intervienen en un programa de alto nivel.


Icon reflection.gif
Reflexión
Los programas los ejecuta el ordenador elemento binario que solo sabe de 1's y 0's
Los programas los escribimos las personas en un lenguaje compresible para nosotros
  • Evidentemente de alguna forma hay que pasar de uno a otro de forma automática



Programa: conjunto de instrucciones





Icon define.gif
Programa como conjunto de instrucciones
Un programa es un conjunto de instrucciones que van

a resolver un problema

  • Estas instrucciones las vamos a agrupar en tres tipos,

según el orden de ejecución que van a seguir

Instrucciones de estructuras  secuenciales: una detras de otra
Estructuras Selectivas: En función de una condición realizaré o no la instrucción
Estructuras repetitivas: En función de una condición repetiré una o varias instrucciones o acciones





Icon qmark.gif
Qué es una instrucción
Es una acción concreta a realizar

A continuación vamos a ver ejemplos de instrucciones




  1. .- Instrucción de selección: órdenes para establecer secciones condicionales
  2. .- Instrucción de repetición: órdenes para establecer secciones repetitivas
  3. .- Instrucciones secuencales:
    1. .- Declaración de variables
    2. .- Asignación
    3. .- Declaración de bloques o funciones
    4. .- Invocación de funciones, subprogramas, objetos, ....
    5. .- Instrucción de inicio
    6. .- Instrucción de fin