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

De WikiEducator
Saltar a: navegación, buscar
 
(63 revisiones intermedias por el mismo usuario no mostrado)
Línea 1: Línea 1:
 +
[[Usuario:ManuelRomero/certificado/Contenido|Volver]]
 +
</div>
 
{{:Usuario:ManuelRomero/Scratch/Contenidos/nav}}
 
{{:Usuario:ManuelRomero/Scratch/Contenidos/nav}}
 
+
<div id=parrafo>
<br>
+
{{Scratch/conceptosProgramacion}}
{{#widget:Slides}}
+
<div class="slides layout-regular template-default">
+
 
+
 
+
<!--1------------------------------------------------------>
+
<div class="slide">
+
 
+
===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.
+
 
+
{{MRM_Puntos clave|
+
;Programar Es algo tan cotidiano y normal que nos pasa desapercibido
+
}}
+
</div>
+
<!--2------------------------------------------------------>
+
<div class="slide">
+
 
+
{{MRM_Reflexion|Title=Reflexiona|
+
;Vamos a identificar cuestiones diarias que sean posibles ejecuciones de programas
+
}}
+
 
+
{{MRM_Definicion|Title=Qué es la programación|
+
*La programación consiste en encontrar un algoritmo que resuelva un problema planteado
+
}}
+
</div>
+
<!--2------------------------------------------------------>
+
<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
+
{{MRM_Ejemplo|Title=Ejemplos de algoritmos cotidianos|
+
*Lavar dientes
+
*Cruzar la carretera}}
+
</div>
+
<!--3------------------------------------------------------>
+
 
+
<div class="slide">
+
 
+
{{MRM_Pregunta|Title=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
+
*}}
+
</div>
+
 
+
<div class="slide">
+
 
+
{{MRM_Pregunta|Title=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
+
*}}
+
</div>
+
 
+
 
+
 
+
 
+
<div class="slide">
+
<!--1-->
+
*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
+
</div>
+
<div class="slide">
+
<!--1-->
+
 
+
{{MRM_Puntos clave|
+
*QUÉ QUIERO HACER
+
*CÓMO LO VOY A HACER
+
*PUES VENGA VAMOS A HACERLO
+
}}
+
</div>
+
<div class="slide">
+
<!--1-->
+
;Pautas a la hora de hacer un programa
+
*Vamos a ver sobre la marcha los conceptos, si bien en el siguiente tema los formalizaremos
+
#primero saber '''''qué''''' quiero hacer
+
#buscar información para ver '''''cómo''''' lo puedo hacer
+
#realizarlo y analizo los resultados viendo posibles mejoras que puedo aplicar
+
</div>
+
 
+
 
+
 
+
<div class="slide">
+
<!--1-->
+
=Conceptos básicos en la programación=
+
<br>
+
{{Objetivos|
+
*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.
+
{{Reflexion|
+
;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}}
+
}}
+
}}
+
</div>
+
<div class="slide">
+
<!--1-->
+
===Algunas conceptos  importantes que ya veremos===
+
;Programa
+
Un programa va a ser un conjunto de instrucciones que se ejecutan para resolver un problema planteado
+
[[Imagen:programa1.png]]
+
</div
+
<div class="slide">
+
 
+
===Tipos de estructuras en la ejecución de un programa===
+
;Instrucciones de estructuras  secuenciales
+
;Estructuras Seleectivas
+
;Estructuras repetitivas
+
</div>
+
 
+
<div class="slide">
+
===Qué es el pensamiento computaciona===
+
[[Archivo:Pensamiento_computacional.jpeg]]
+
{{MRM_Actividad|Title=Nos ponemos a prueba|
+
{{MRM_Pregunta|Sois capaces de hacer un bocadillo....}}
+
<br />
+
;Vamos a hacerlo .... 
+
      computacionamente ?????
+
}}
+
 
</div>
 
</div>
 
==Programa conjunto de instrucciones==
 
<br />
 
{{MRM_Definicion|Title=Programa como conjunto de instrucciones|
 
Un programa es un conjunto de instrucciones que van a resolver un problema
 
}}
 
<br />
 
{{MRM_Pregunta|Title=Qué es una instrucción|
 
;Es una acción concreta a realizar
 
A continuación vamos a ver ejemplos de instrucciones
 
#.-  Instrucción de selección
 
#.- Instrucción de repetición
 
#.- Instrucciones secuencales
 
##.- Declaración de variables
 
##.- Asignación
 
##.- Declaración de bloques o funciones
 
##.- Invocación de funciones, subprogramas, objetos, ....
 
##.- Instrucción de inicio
 
##.- 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
 
*De
 
Si (condicion) entonces
 
  accion_1
 
  accion_2
 
  accion ....
 
fin SI
 
}}
 
 
*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 ???}}
 
}}
 
}}
 
 
 
 
{{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}}
 
*Puede ser que sepa cuántas veces quiero repetir un bucle
 
{{Tip|Este tipo de bucles son contadores}}
 
*Puede ser que establezca una '''''condicion booleana''''' para  establecer hasta cuando quiero repetir el bucle
 
{{Tip|Este tipo de bucles son contadores}}
 
[[Archivo:repeticiones.png]]
 
}}
 
 
{{MRM_Actividad|Title=Iteraciones|
 
*Cuando apretamos la 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]]
 
}}
 
}}
 
 
{{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.
 
}}
 
 
{{MRM_Pregunta|Title=Instrucción de asignación|
 
1.- Una asignación
 
<source lang=php>
 
color = "red"
 
</source>
 
[[Archivo:asignacionScratch.png]]
 
}}
 
 
{{MRM_Pregunta|Title=Instrucción de declarar variables|
 
1.- Una asignación
 
<source lang=php>
 
color = "red"
 
</source>
 
[[Archivo:asignacionScratch.png]]
 
}}
 
{{MRM_Pregunta|Title=Instrucción de declarar funciones o bloques |
 
}}
 

Última revisión de 17:41 25 oct 2024

Volver </div>

Volver



¿Qué es programar?

  • Programar es resolver un problema de una manera concreta.
  • Es dar instrucciones para que se ejecute un determinado algoritmo.
  • Es importante entender estos conceptos, que aunque los trataremos más adelante, necesitamos desde el principio.



Icon key points.gif

Puntos clave

Programar es algo tan cotidiano que a menudo nos pasa desapercibido.




Icon reflection.gif
Reflexiona
Identifiquemos situaciones cotidianas que se asemejen a ejecuciones de programas.




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


  • Muchas veces no somos conscientes de que constantemente estamos utilizando algoritmos en nuestro día a día, ya que los realizamos de forma automática.


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




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, ejecutada en el orden establecido,
dará solución al problema planteado.




Icon qmark.gif
Características de un algoritmo
Un algoritmo debe ser
  - Finito (debe terminar en algún momento, aunque no necesariamente su ejecución).
  - Concreto.
  - Determinístico (siempre generará la misma salida ante las mismas entradas).
  - Bien definido.



  • Resolver problemas es algo habitual y cotidiano.
  • Lo hacemos sin ser conscientes de ello.
  • A veces, logramos resolver algo sin entender cómo lo hemos hecho.
  • Esta es una invitación a reflexionar y a actuar con calma al enfrentarnos a un problema.



Icon key points.gif

Puntos clave

  • ¿QUÉ QUIERO HACER?
  • ¿CÓMO LO VOY A HACER?
  • ¡PUES VAMOS A HACERLO!


Pautas a la hora de hacer un programa
  • Vamos a ver los conceptos sobre la marcha, aunque en el siguiente tema los formalizaremos.
  1. Primero, definir qué queremos hacer.
  2. Buscar información para ver cómo podemos hacerlo.
  3. Realizarlo y analizar los resultados, viendo posibles mejoras a aplicar.


Conceptos básicos en la programación



Icon objectives.jpg
Objetivo
  • A continuación, y aprovechando como ejemplo el 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, un elemento binario que solo reconoce 1's y 0's.
Los programas los escribimos las personas en un lenguaje comprensible para nosotros.
  • Evidentemente, de alguna forma hay que traducirlo de forma automática de un lenguaje a otro.



Programa: conjunto de instrucciones




Icon define.gif
Programa como conjunto de instrucciones
Un programa es un conjunto de instrucciones que resolverá un problema.
  • Estas instrucciones se agrupan en tres tipos, según el orden de ejecución que siguen:
  - Instrucciones de estructuras secuenciales: se ejecutan una tras otra.
  - Estructuras selectivas: en función de una condición, se realiza o no una instrucción.
  - Estructuras repetitivas: en función de una condición, se repite una o varias instrucciones o acciones.





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

A continuación, veremos ejemplos de instrucciones.




  • Instrucción de selección: órdenes para establecer secciones condicionales.
  • Instrucción de repetición: órdenes para establecer secciones repetitivas.
  • Instrucciones secuenciales.
  • Declaración de variables
  • Asignación
  • Declaración de bloques o funciones
  • Invocación de funciones, subprogramas, objetos, etc.
  • Instrucción de inicio
  • Instrucción de fin