1 00:00:01,260 --> 00:00:03,160 Hola, buenas tardes a todos de nuevo. 2 00:00:03,899 --> 00:00:17,539 Bueno, hoy vamos a empezar con Scratch, con el software Scratch, 3 00:00:18,039 --> 00:00:23,179 pero antes querría ver con vosotros un ejercicio 4 00:00:23,179 --> 00:00:31,480 de hacer un diagrama de flujo con la función de lavarnos las manos. 5 00:00:34,020 --> 00:00:47,719 Como vimos el otro día, el pseudocódigo para lavarnos las manos 6 00:00:47,719 --> 00:00:58,460 Cosa de ocho pasos. Siempre empezamos por inicio y terminamos con el fin. Después sería abrir el grifo de agua, mojarse las manos, aplicarse el jabón, enjuagarse las manos, cerrar el grifo de agua y secarse las manos. 7 00:00:58,799 --> 00:01:00,039 Y terminar siempre con el fin. 8 00:01:00,899 --> 00:01:05,500 Bueno, ¿cómo tenemos que empezar el diagrama? Siempre, recordad, por inicio. 9 00:01:05,500 --> 00:01:20,480 Tenemos que ir llevando las líneas, que nunca se pueden cortar entre ellas, y que enlacen los diferentes diagramas que vayamos a juntar para cada uno de los pasos que vamos a hacer. 10 00:01:21,280 --> 00:01:45,159 Estas líneas. El siguiente sería abrir el grifo de agua. Esto está enmarcado dentro del proceso. La siguiente línea que nos lleva a otro proceso que sería el paso 3, mojarse las manos. El paso 4, aplicarse el jabón. Enjuagarse las manos como quinto proceso. Cerramos el grifo de agua, nos secamos las manos y se finaliza. 11 00:01:45,159 --> 00:02:06,040 Todo al final se representa a través de las líneas, en este caso es todo lineal, es un ejemplo bastante sencillo y luego al terminar esta clase vamos a ver otro ejemplo, que no es un proceso tan lineal y podremos tener otro tipo de decisiones, tipo de salidas impresas y trabajar con otro tipo de gráficos. 12 00:02:06,040 --> 00:02:24,020 Bueno, voy a empezar recordando la sesión última de este segundo código, de esta acción, y luego vemos otro ejemplo un poco más complicado. 13 00:02:24,539 --> 00:02:35,199 Bueno, la parte de programación por bloques. Bueno, para ese tema de programación por bloques vamos a usar como entorno de programación la herramienta Scratch. 14 00:02:35,199 --> 00:02:46,419 ¿Qué es Scratch? Scratch es un entorno de programación desarrollado por un grupo de investigadores bajo la dirección del Dr. Michael Resnick de una de las universidades más prestigiosas de Estados Unidos, 15 00:02:46,840 --> 00:02:59,259 que es el Massachusetts Institute of Technology MIT. El Scratch es un lenguaje de programación especialmente diseñado para que todo el mundo pueda iniciarse en el mundo de la programación. 16 00:03:00,000 --> 00:03:09,039 ¿Para qué sirve? Pues para crear historias interactivas, juegos, animaciones, además de facilitar la difusión de creaciones finales con otras personas en línea. 17 00:03:11,620 --> 00:03:19,819 ¿Cómo se puede trabajar con Scratch? Pues no hace falta tener nada instalado, se trabaja todo en línea desde nuestro ordenador, haciéndolo a través de cualquier navegador. 18 00:03:19,819 --> 00:03:31,569 No es necesario más que crearse una cuenta. Aquí os podéis registrar y podéis trabajar. 19 00:03:34,189 --> 00:03:37,189 Nosotros luego veremos también un ejemplo. 20 00:03:38,729 --> 00:03:45,669 Una vez tengamos nuestro usuario, podemos utilizar aplicaciones compartidas por otros usuarios y a partir de ellas crearlas nuestras. 21 00:03:46,229 --> 00:03:51,729 También podemos compartir aquello que creemos y todo ello sin una sola línea de código. 22 00:03:52,289 --> 00:04:01,810 La gramática de Scratch se basa en un conjunto de bloques gráficos de programación, que son estos que vemos aquí, que se pueden ensamblar para crear programas como estos que vemos. 23 00:04:02,550 --> 00:04:10,580 Bloques que se van enlazando para seguir una serie de pasos que tenga que realizar el programa. 24 00:04:12,159 --> 00:04:19,560 Es como hacer un púlder con fichas de lego, los conectores y los bloques sugieren de qué manera se pueden ensamblar. 25 00:04:19,560 --> 00:04:22,660 Como he dicho antes, os animo a que lo probéis 26 00:04:22,660 --> 00:04:26,160 Comenzad simplemente arrastrando los bloques de Scratch al área de programas 27 00:04:26,160 --> 00:04:30,360 Experimentando con ellos, ensamblándolos en diferentes orden y observad qué pasa 28 00:04:30,360 --> 00:04:35,620 Lo hacemos primero mediante el programa en Scratch que deberá reproducir 29 00:04:35,620 --> 00:04:38,120 Y una vez que los ejecutes, comprueba qué ocurre 30 00:04:38,120 --> 00:04:41,300 Añade comentarios que demuestran que has entendido la sintaxis 31 00:04:41,300 --> 00:04:46,139 Esto es la pantalla principal de Scratch 32 00:04:46,139 --> 00:04:58,540 Como veis queda dividida en cuatro zonas. En la parte superior izquierda, esta de aquí, está la ventana donde podemos ejecutar nuestro algoritmo y ver cómo funciona lo que estamos programando. 33 00:04:58,540 --> 00:05:05,860 En la parte inferior izquierda está el conjunto de objetos y escenarios sobre los que estamos definiendo los algoritmos. 34 00:05:07,040 --> 00:05:16,899 En el centro, que ocupa de arriba a abajo, aparecen tres pestañas con los elementos de programa, disfraces y los sonidos que podemos elegir. 35 00:05:17,500 --> 00:05:26,100 Y luego, en esta parte derecha, es el espacio donde iremos arrastrando las diferentes piezas y ensamblándolas hasta formar nuestro programa. 36 00:05:26,100 --> 00:05:31,779 esto yo os animo de verdad a que probéis y también trasteis vosotros 37 00:05:31,779 --> 00:05:34,300 que veáis cómo funciona y qué es lo que conseguís 38 00:05:34,300 --> 00:05:36,100 es la mejor forma de aprender 39 00:05:36,100 --> 00:05:43,300 tenéis que tener claro algunos puntos importantes sobre Scratch 40 00:05:43,300 --> 00:05:46,379 como uno, los identificadores 41 00:05:46,379 --> 00:05:52,420 aunque Scratch acepte mezclar caracteres especiales con letras y números 42 00:05:52,420 --> 00:05:54,319 para nombrar objetos y escenarios 43 00:05:54,319 --> 00:06:00,720 en mejoras. Os recomendamos siempre que os acostumbréis a una serie de reglas para asignar 44 00:06:00,720 --> 00:06:07,620 nombres, ya que otros entornos de programación sí que presentan problemas a la hora de meter 45 00:06:07,620 --> 00:06:12,740 algún carácter especial. Los nombres pueden estar formados por una combinación de letras 46 00:06:12,740 --> 00:06:19,139 y números. Por ejemplo, aquí, barco, grande, barco, pequeño, balcón, uno, balcón, dos. 47 00:06:19,139 --> 00:06:25,459 Como veis, también acepta el tener los acentos. 48 00:06:26,040 --> 00:06:29,560 Trata siempre que el primer carácter de un nombre sea una letra. 49 00:06:30,120 --> 00:06:32,480 No empecéis por número, tratad de evitarlo. 50 00:06:32,920 --> 00:06:36,699 La mayoría de los lenguajes de programación diferencian de mayúsculas y de minúsculas. 51 00:06:36,860 --> 00:06:41,860 Esto hay que tener los nombres, se puede entender lo que contienen. 52 00:06:42,279 --> 00:06:43,720 Es decir, que sean significativos. 53 00:06:44,060 --> 00:06:47,259 No utilizar abreviatoras a menos que sea algo justificado. 54 00:06:47,259 --> 00:07:03,540 Es conveniente también utilizar una sola palabra para nombrar objetos, escenarios y variables, y luego igual no hay que utilizar mayor que porcentajes este tipo de símbolos. 55 00:07:04,379 --> 00:07:10,259 Scratch admite letras acentuadas y se debe tener en cuenta que algunos lenguajes de programación no admiten tildes. 56 00:07:10,420 --> 00:07:16,079 Es muy importante que el tipo de nombre o identificadores se asigne a objetos y escenarios. 57 00:07:16,079 --> 00:07:26,279 Cuando dejas de trabajar en un proyecto por varios días, luego al retomarlo es mucho más fácil si los identificadores describen muy bien el contenido de estos elementos 58 00:07:26,279 --> 00:07:30,519 Algo que os haga recordar entre fase y fase de trabajo 59 00:07:30,519 --> 00:07:34,259 Por eso es muy importante tener claro todo esto que acabamos de ver 60 00:07:34,259 --> 00:07:41,860 Tener una metodología de trabajo que nos ayude a trabajar de forma ordenada y a recordar los días 61 00:07:41,860 --> 00:07:46,040 Luego vamos a trabajar con las estructuras repetitivas en Scratch 62 00:07:46,040 --> 00:07:57,899 que son bloques que nos permiten ejecutar uno o varios bloques un número determinado de veces o indefinidamente, mientras se cumpla una condición. 63 00:07:58,399 --> 00:08:02,680 Esa estructura repetitiva ayuda a ahorrar tiempo y espacio a los programas en Scratch. 64 00:08:03,379 --> 00:08:15,060 La estructura repetitiva, la vemos aquí, se construye por los bloques repetir n número de veces o repetir hasta que una condición sea verdadera siempre. 65 00:08:16,040 --> 00:08:23,879 son estas que vemos aquí. Luego vamos a trabajar con los operadores. El bloque de operadores 66 00:08:23,879 --> 00:08:27,800 de Scratch contiene una serie de instrucciones que nos van a permitir hacer una gran variedad 67 00:08:27,800 --> 00:08:33,820 de operaciones. Dichas operaciones se dividen en dos grupos. Las operaciones matemáticas 68 00:08:33,820 --> 00:08:40,340 básicas, como son la suma, resta, multiplicación y división, son estas de aquí, y las operaciones 69 00:08:40,340 --> 00:08:46,940 matemáticas avanzadas, que son el módulo obtiene el resto de una división, el redondear, 70 00:08:46,940 --> 00:08:52,779 raíz cuadrada o funciones trigonométricas o logarítmicas, las operaciones booleanas 71 00:08:52,779 --> 00:08:56,820 y las operaciones con cadenas de caracteres, que serían estas de aquí. 72 00:08:58,299 --> 00:09:08,350 Y luego por último vamos a ver las variables en Scratch, que son similares a cajones en 73 00:09:08,350 --> 00:09:12,769 los que podemos guardar datos o valores. En otras palabras, una variable es un nombre 74 00:09:12,769 --> 00:09:17,350 que representa un valor o un texto que después de asignarlo se puede utilizar en los programas. 75 00:09:18,230 --> 00:09:23,429 El valor de una variable puede permanecer sin cambios. 76 00:09:23,850 --> 00:09:27,700 Por ejemplo, el valor de la variable es el del último dato asignado a esta. 77 00:09:28,440 --> 00:09:30,379 Entonces, ¿qué entendemos por variable? 78 00:09:30,840 --> 00:09:33,100 Es un elemento que puede tomar un valor cualquiera. 79 00:09:33,419 --> 00:09:36,879 Dicho valor puede cambiar o variar a lo largo de la ejecución del programa. 80 00:09:37,460 --> 00:09:40,259 Si en algún momento se muestra el valor de una variable o se lo utiliza, 81 00:09:40,639 --> 00:09:45,779 dicho valor será el último asignado a la variable en la ejecución del algoritmo. 82 00:09:46,059 --> 00:09:50,039 Las variables se pueden definir sobre un objeto determinado o para todos los objetos. 83 00:09:50,039 --> 00:10:16,990 En el primer caso, cuando lo definimos para un solo objeto, solo puede ser utilizado en algoritmos definidos sobre ese objeto en cuestión. En el caso en el que sí se puede utilizar para diferentes objetos o fondos que consisten, es para todo el programa completo, una vez creada la opción sobre ella, que son estas que estamos viendo aquí en Scratch. 84 00:10:16,990 --> 00:10:22,730 con la parte de Scratch, como decía al principio 85 00:10:22,730 --> 00:10:25,909 lo mejor es que seáis vosotros los que os creéis una cuenta 86 00:10:25,909 --> 00:10:28,450 que es gratuito y trabajéis 87 00:10:28,450 --> 00:10:30,889 veáis qué es lo que podéis conseguir y cómo se pueden 88 00:10:30,889 --> 00:10:34,669 trabajar y cómo esas acciones 89 00:10:34,669 --> 00:10:35,389 que vayáis a meter 90 00:10:35,389 --> 00:10:38,769 cómo van funcionando 91 00:10:38,769 --> 00:10:42,990 y por último, para esta clase 92 00:10:42,990 --> 00:10:45,669 vamos a ver otro diagrama de flujo 93 00:10:45,669 --> 00:10:55,470 este flujo que va a ser con este pseudocódigo que es hacer la compra. Como siempre recordad 94 00:10:55,470 --> 00:11:00,049 que tenemos que empezar por inicio y terminamos por fin, que sean el primer y el último paso 95 00:11:00,049 --> 00:11:06,809 de nuestro algoritmo. Los pasos son estos que tenemos a la izquierda y ahora vamos a 96 00:11:06,809 --> 00:11:20,309 ver con qué símbolos lo vamos a representar. Inicio, pues abrimos el proceso de preparar 97 00:11:20,309 --> 00:11:27,730 la lista de la compra, que nos lleva al proceso ir al supermercado. Aquí abrimos el rombo 98 00:11:27,730 --> 00:11:36,309 de decisión, que es buscar productos. ¿Buscas ayuda? Sí. Veis que aquí tenemos dos líneas, 99 00:11:36,309 --> 00:11:45,320 Siempre de una decisión tienen que salir las dos líneas. 100 00:11:45,539 --> 00:11:48,620 Buscas productos. ¿Encuentras los productos? Pues sí. 101 00:11:49,059 --> 00:11:54,519 Voy a la caja o no, busco ayuda que me vuelva a llevar a buscar productos en el rombo de decisión. 102 00:11:55,299 --> 00:12:00,659 Entonces, veis como aquí el flujo queda totalmente cerrado. 103 00:12:01,220 --> 00:12:10,009 Voy a la caja y aquí tenemos otro rombo de decisión, que es efectivo o tarjeta. 104 00:12:10,009 --> 00:12:23,230 Pues si es efectivo voy a pagar con efectivo que me lleva a su vez a recoger los productos o si tengo efectivo tarjeta me lleva a tarjeta, pago con tarjeta que me vuelva a llevar a recoger los productos. 105 00:12:23,669 --> 00:12:34,049 De ahí salir del supermercado y fin. Como siempre recordad hemos empezado con inicio y fin, empezamos por la parte superior izquierda y terminamos en la parte inferior derecha. 106 00:12:34,049 --> 00:12:45,629 Luego, por último, recordad que tenemos que intentar que nuestro diagrama sea ordenado, sea limpio y sea lo más simétrico posible 107 00:12:45,629 --> 00:12:51,370 Bueno, esto es un ejemplo, creo que es un ejemplo un poco más completo al último que vimos en la clase 108 00:12:51,370 --> 00:13:01,049 Y bueno, para que tengáis también otra cosa diferente a lo que viene en los apuntes y lo tengáis más claro 109 00:13:01,049 --> 00:13:19,110 Bueno, con esto damos por terminado el tema de programación por bloques y cualquier consulta o pregunta que tengáis, pues nos la preguntáis y nos vemos en la próxima clase. Muchísimas gracias.