1 00:00:02,669 --> 00:00:11,310 Buenas tardes a todos. Vamos a seguir con las clases de ciencias. Esta clase, el tema 8, os lo va a dar un compañero. 2 00:00:11,509 --> 00:00:18,429 El tema 8 es pensamiento computacional, programación y robótica. Y aquí os dejo con él. Se llama Ángel. 3 00:00:18,649 --> 00:00:23,710 Y cualquier duda que tengáis, como siempre, nos escribís y nos solucionamos durante la semana. 4 00:00:24,589 --> 00:00:30,070 Hola, buenas tardes a todos. ¿Qué tal? Bueno, como ha dicho Hilario, soy Ángel, soy estudiante en prácticas. 5 00:00:30,070 --> 00:00:32,710 y vamos a ver el tema del pensamiento computacional. 6 00:00:35,170 --> 00:00:38,549 Lo primero que tenemos que ver es qué es un programa. 7 00:00:39,189 --> 00:00:42,270 Un programa es cualquier software que podemos tener instalado en el ordenador. 8 00:00:42,909 --> 00:00:45,049 Las partes de un programa son el algoritmo, 9 00:00:45,390 --> 00:00:50,329 que es un conjunto de instrucciones destinadas a cumplir una determinada tarea o resolver un problema. 10 00:00:51,149 --> 00:00:56,229 Y luego la estructura de datos, que son necesarias para almacenar la información que maneja el programa. 11 00:00:57,210 --> 00:00:59,570 En cuanto a estructura de datos, existen de varios tipos. 12 00:00:59,570 --> 00:01:06,569 De tipo gráfico, que es donde el usuario interactúa mediante ventanas y formularios, es decir, botones, menús, cuadros de texto... 13 00:01:07,230 --> 00:01:09,969 Los más habituales pueden ser Microsoft Word o Internet Explorer. 14 00:01:11,430 --> 00:01:21,810 Luego tenemos de tipo textual, que en estos el usuario interactúa escribiendo textos o tecleando opciones de órdenes en una pantalla sin gráficos. 15 00:01:22,209 --> 00:01:24,290 Son menos habituales que los de tipo gráfico. 16 00:01:24,290 --> 00:01:33,890 Se suelen usar en algunas administraciones públicas como Hacienda o Turismo y sirven para registrar datos o tener informes en empresas. 17 00:01:34,430 --> 00:01:38,170 Un ejemplo muy común es el programa de tipo MS-DOS. 18 00:01:39,750 --> 00:01:41,609 Pasos para realizar un programa. 19 00:01:42,590 --> 00:01:47,730 Lo primero de todo, debemos tener claro el problema a resolver o la tarea que se quiere realizar. 20 00:01:48,530 --> 00:01:50,010 Eso es lo que se llama la formalización. 21 00:01:50,810 --> 00:01:57,189 Después, se debe plantear cómo se quiere resolver o abordar esa tarea, es decir, lo que viene siendo el análisis. 22 00:01:59,030 --> 00:02:06,189 A continuación, se elige un lenguaje de programación y se escriben las instrucciones en ese lenguaje para llevar a cabo esa tarea. 23 00:02:06,750 --> 00:02:08,509 Esto es lo que llamamos codificación. 24 00:02:10,229 --> 00:02:15,789 El texto escrito debe traducirse o llevarse al lenguaje del ordenador. 25 00:02:15,789 --> 00:02:20,330 Se genera así un fichero comprensible para el ordenador, que es lo que se llama compilación. 26 00:02:21,030 --> 00:02:25,849 Luego el programa resultado ya se puede probar, que es lo que viene siendo la fase de ejecución, 27 00:02:26,229 --> 00:02:33,389 y pasaríamos a la fase de evaluación, que es probar los resultados y volviendo a algún paso anterior si vemos que no funciona. 28 00:02:34,169 --> 00:02:40,009 Es decir, como acabamos de ver, existen estos seis pasos para realizar un programa informático, 29 00:02:40,009 --> 00:02:47,919 que son formalización, análisis, codificación, compilación, ejecución y evaluación. 30 00:02:49,099 --> 00:02:52,680 Ahora vamos a ver algunos ejemplos de algoritmos en la vida cotidiana. 31 00:02:53,879 --> 00:02:58,460 Acabamos de ver cómo los algoritmos permiten describir claramente una serie de instrucciones 32 00:02:58,460 --> 00:03:01,219 que debe realizar el ordenador para lograr un resultado. 33 00:03:01,800 --> 00:03:05,099 Pero un algoritmo no es un concepto asociado únicamente a los ordenadores. 34 00:03:05,840 --> 00:03:11,139 Podemos definir un algoritmo como una serie ordenada de instrucciones, pasos o procesos 35 00:03:11,139 --> 00:03:13,659 que llevan a la solución de un determinado problema. 36 00:03:14,259 --> 00:03:21,340 Es decir, podemos considerar como algoritmo acciones tan sencillas y cotidianas como seguir la receta del médico, 37 00:03:21,659 --> 00:03:23,479 abrir una puerta o lavarse las manos. 38 00:03:24,360 --> 00:03:30,379 Luego, existen otros algoritmos donde entran en juego más variables, que son más complejos. 39 00:03:31,120 --> 00:03:34,780 Vamos a ver un ejemplo, el ejemplo de lavarse las manos. 40 00:03:34,780 --> 00:03:46,500 Es algo tan sencillo como ir describiendo paso a paso las acciones que ejecutamos para lavarnos las manos 41 00:03:46,500 --> 00:03:48,939 Por ejemplo, paso 1, inicio 42 00:03:48,939 --> 00:03:51,199 Paso 2, abrir el grifo de agua 43 00:03:51,199 --> 00:03:53,699 Paso 3, mojarse las manos 44 00:03:53,699 --> 00:03:55,879 Paso 4, aplicarse el jabón 45 00:03:55,879 --> 00:03:58,139 Paso 5, enjuagarse las manos 46 00:03:58,139 --> 00:04:00,620 Paso 6, cerrar el grifo de agua 47 00:04:00,620 --> 00:04:03,539 Paso 7, secarse las manos 48 00:04:03,539 --> 00:04:12,580 y el paso 8, final. Como veis, no hemos hecho más que dividir en diferentes acciones cada uno de los pasos que ejecutamos en la actividad de lavarnos las manos, 49 00:04:13,120 --> 00:04:24,839 comenzando siempre por el paso inicio y terminando con la fase fin. Esto hay que llevarlo luego al lenguaje de programación. ¿Cómo se hace? 50 00:04:24,839 --> 00:04:33,180 Para programar trabajamos con un software específico que se llama compilador, que se encarga de analizar el texto de un programa, que se llama código fuente. 51 00:04:33,540 --> 00:04:40,259 comprobando que es correcto y generar un fichero comprensible para el ordenador, que es lo que llamamos el código máquina. 52 00:04:41,620 --> 00:04:46,079 Un lenguaje de programación es una especie de idioma en el que hay que escribir los programas 53 00:04:46,079 --> 00:04:50,779 para que luego un compilador determinado lo pueda entender y traducir a código máquina. 54 00:04:51,399 --> 00:04:57,079 Es decir, el compilador es como un traductor entre nuestro idioma de programación, lo que llamamos código fuente, 55 00:04:57,079 --> 00:05:06,399 y el idioma del ordenador, que es lo que llamamos código fuente, un tipo específico del lenguaje de programación. 56 00:05:07,060 --> 00:05:12,120 Estos se pueden clasificar en dos grandes grupos. 57 00:05:12,500 --> 00:05:19,139 ¿Cuáles son los programas de bajo nivel? 58 00:05:20,079 --> 00:05:26,360 Son muy próximos al lenguaje comprensible por las máquinas, pero menos comprensibles para el ser humano. 59 00:05:26,939 --> 00:05:31,540 Sus características dependen de la máquina y son de distinto tipo para cada tipo de ordenador. 60 00:05:32,160 --> 00:05:38,240 El lenguaje de más bajo nivel se llama lenguaje máquina y consiste básicamente en programar el sistema binario. 61 00:05:38,240 --> 00:05:51,139 El sistema binario ya no se utiliza, es muy tedioso y complicado para los programadores. El binario es el código fuente donde nos expresamos a través de códigos 0 y 1, tanto texto como números. 62 00:05:51,779 --> 00:06:03,220 Otro lenguaje de bajo nivel es el ensamblador, que simplifica la programación añadiendo algunas órdenes más comprensibles para el ser humano, pero sigue siendo muy difícil de entender. 63 00:06:03,220 --> 00:06:22,060 Vale, y el lenguaje de alto nivel son más comprensibles por el ser humano, pero más alejados del lenguaje máquina. Hacen falta compiladores o traductores más potentes para traducirlos o son independientes de la máquina. 64 00:06:22,060 --> 00:06:37,199 Se pueden utilizar en distintos tipos de ordenadores. Algunos ejemplos de este tipo de lenguaje de programación son muy conocidos, pueden ser el Java, el Pascal o el Visual Basic, entre otros. 65 00:06:39,699 --> 00:06:51,399 Ahora vamos a ver los entornos de programación. Para desarrollar un programa hace falta un entorno de programación o IDE, que es el entorno integrado de desarrollo. 66 00:06:52,060 --> 00:06:55,199 Se expresa con las siglas IDE. 67 00:06:58,600 --> 00:07:05,800 Estos entornos de programación contienen el editor de texto para escribir las instrucciones del programa en un lenguaje de programación determinado, 68 00:07:06,459 --> 00:07:12,180 un compilador que permita traducir o compilar el código fuente escrito en un lenguaje determinado 69 00:07:12,180 --> 00:07:16,579 y las opciones de asistencia para realizar programas en el lenguaje en cuestión. 70 00:07:16,579 --> 00:07:23,100 Algunos IDEs o entornos integrados de desarrollo permiten programar 71 00:07:23,100 --> 00:07:30,019 Eclipse permite escribir en programas T, Java o PHP, por ejemplo 72 00:07:30,019 --> 00:07:36,100 Otros IDEs son más simples y solo permiten escribir códigos sin compilador 73 00:07:36,100 --> 00:07:39,500 Ahora vamos a ver los diagramas de flujo 74 00:07:39,500 --> 00:07:44,660 Al finalizar la clase vamos a ver un ejemplo para que lo entendamos 75 00:07:44,660 --> 00:07:49,439 Sin embargo, en esa tabla podéis ver cuáles son los principales métodos de representación. 76 00:07:50,199 --> 00:07:56,600 ¿Qué es un diagrama de flujo? Un diagrama de flujo es una técnica que sirve para representar algoritmos a través de un gráfico. 77 00:07:57,180 --> 00:08:03,339 Los principales símbolos son los que vemos a continuación. 78 00:08:04,180 --> 00:08:14,639 Recordad que todo se representa o se utiliza para indicar este símbolo que vemos aquí. 79 00:08:14,639 --> 00:08:26,399 las interacciones, las salidas y impresas que damos o las entradas por teclado. 80 00:08:26,800 --> 00:08:34,779 Para ello, gráficos que vemos en esta tabla. 81 00:08:35,919 --> 00:08:39,519 Hay que tener en cuenta las siguientes reglas para dibujar correctamente. 82 00:08:40,700 --> 00:08:50,200 Primero es poner un encabezado que incluya un título que identifique la función del algoritmo, el nombre de la... 83 00:08:50,200 --> 00:08:56,159 Es importante que solo vayamos a usar los símbolos que hemos visto en esta tabla, ¿vale? No se pueden inventar otros. 84 00:08:56,740 --> 00:09:02,720 Los diagramas se deben dibujar en el sentido en el que escribimos, es decir, de arriba a abajo y de izquierda a derecha. 85 00:09:03,860 --> 00:09:07,860 Por esto, la ejecución del programa siempre empieza en la parte superior del diagrama. 86 00:09:09,139 --> 00:09:12,480 Los símbolos inicio y final deben aparecer solo una vez. 87 00:09:13,080 --> 00:09:19,480 Esto es evidente porque solo vamos a tener un inicio y un final, que deben ser el primer y el último algoritmo representado respectivamente. 88 00:09:20,200 --> 00:09:26,399 La dirección de flujo se debe representar por medio de flechas que se denominan líneas 89 00:09:26,399 --> 00:09:32,139 de flujo. Todas las líneas de flujo deben llegar a un símbolo o a otra línea. Una 90 00:09:32,139 --> 00:09:36,740 línea de flujo recta nunca debe cruzar a otra. Cuando dos líneas de flujo se crucen, 91 00:09:37,159 --> 00:09:41,340 una de ellas debe incluir una línea arqueada en el punto donde cruza a la otra, que es 92 00:09:41,340 --> 00:09:48,019 este símbolo que vemos aquí, que es la interacción de dos flujos. Luego, las bifurcaciones y 93 00:09:48,019 --> 00:09:53,659 ciclos se deben dibujar procurando cierta simetría, que esté ordenado. Luego, cada 94 00:09:53,659 --> 00:09:58,539 rombo de decisión debe tener al menos dos líneas de salida, una para sí y otras para 95 00:09:58,539 --> 00:10:07,000 no. Luego, las acciones y decisiones se deben describir utilizando el menor número de palabras 96 00:10:07,000 --> 00:10:19,580 posibles, sin que resulten confusos y que también quede un algoritmo que hemos visto 97 00:10:19,580 --> 00:10:31,789 cuya base mide 3 centímetros y la altura son 4 centímetros. 98 00:10:32,529 --> 00:10:35,269 Vale, es esto de aquí, voy a ampliar para que se vea bien. 99 00:10:37,789 --> 00:10:43,590 Primero vamos a definir el algoritmo en un pseudocódigo, es decir, tenemos que describir 100 00:10:43,590 --> 00:10:46,210 cómo se calcula el área de un triángulo paso por paso. 101 00:10:46,870 --> 00:10:51,809 Recordad siempre que debemos comenzar por inicio y terminar por final. 102 00:10:52,809 --> 00:10:54,830 Vale, pues el paso 1 sería inicio. 103 00:10:56,070 --> 00:11:12,570 Paso 2, hay que asignar el número 3 a la constante base. Paso 4, asignar el número 4 a la constante altura. Paso 5, guardar en la variable área base por altura dividido entre 2. 104 00:11:12,570 --> 00:11:18,389 Paso 6, imprimir el valor del variable área 105 00:11:18,389 --> 00:11:20,649 El paso 7 es el final 106 00:11:20,649 --> 00:11:26,490 Así es como se representaría este diagrama de flujo de los algoritmos que acabamos de ver 107 00:11:26,490 --> 00:11:33,799 Como veis, hemos utilizado los sistemas de gráficos que hemos visto en la tabla 108 00:11:33,799 --> 00:11:39,639 Para inicio y final hemos metido este gráfico 109 00:11:39,639 --> 00:11:42,259 Para proceso hemos metido este otro 110 00:11:42,259 --> 00:11:47,320 y para salir a impresa, este que vemos aquí, ¿vale? 111 00:11:49,179 --> 00:11:54,340 Bueno, luego vamos a ver otro ejemplo para que quede más claro. 112 00:11:55,659 --> 00:11:58,980 Vamos a ver ahora los entornos de programación por bloques. 113 00:12:01,519 --> 00:12:06,799 Bueno, mejor esto lo dejamos ya para la siguiente clase, ¿vale? 114 00:12:06,799 --> 00:12:08,759 Y vamos a ver los ejercicios, ¿vale? 115 00:12:10,820 --> 00:12:12,960 Vale, nos vamos a la parte final. 116 00:12:12,960 --> 00:12:17,019 Vale, si vamos viendo los ejercicios, ¿qué es un programa informático? 117 00:12:17,379 --> 00:12:25,700 Bueno, cualquier software que podemos tener instalado en el ordenador y que cuenta con un algoritmo para cumplir con unas tareas determinadas, 118 00:12:26,019 --> 00:12:30,259 así como unas estructuras de datos necesarias para almacenar la información. 119 00:12:31,419 --> 00:12:35,100 Esta pregunta, que puede ser buena, define el concepto de algoritmo. ¿Qué es un algoritmo? 120 00:12:35,379 --> 00:12:41,360 Es un conjunto de instrucciones destinadas a cumplir una determinada tarea o resolver un problema. 121 00:12:41,360 --> 00:12:56,000 Vale. La pregunta 4, por ejemplo, que es enumera los pasos para realizar un programa, lo hemos visto antes, ¿no? Que eran 6. ¿Cuáles? Formalización, análisis, codificación, compilación, ejecución y evaluación. 122 00:12:56,340 --> 00:13:06,700 Recordad que la evaluación podemos volver atrás a alguno de los pasos anteriores y comprobar si funciona o no, o hacer los arreglos que sean necesarios. 123 00:13:06,700 --> 00:13:10,559 explica que es un lenguaje de programación 124 00:13:10,559 --> 00:13:14,440 un lenguaje de programación es una especie de idioma 125 00:13:14,440 --> 00:13:16,259 en el que hay que escribir los programas 126 00:13:16,259 --> 00:13:19,539 para que luego un compilador determinado 127 00:13:19,539 --> 00:13:22,500 lo pueda entender y traducir al código máquina 128 00:13:22,500 --> 00:13:29,559 la pregunta 10, que también es interesante 129 00:13:29,559 --> 00:13:33,159 ¿cuáles son las reglas básicas para elaborar un diagrama de flujo? 130 00:13:33,159 --> 00:13:36,899 Esto es importante de cara a hacer los ejercicios. 131 00:13:39,399 --> 00:13:41,960 ¿Cuáles son las reglas básicas para elaborar un diagrama de flujo? 132 00:13:42,039 --> 00:13:48,000 Recordad, poner encabezado que incluya el título que identifique la función del algoritmo, un título claro. 133 00:13:50,500 --> 00:13:53,379 Solo vamos a usar los símbolos que hemos visto en la tabla. 134 00:13:54,259 --> 00:13:59,820 Los diagramas se deben dibujar en el sentido en el que escribimos, es decir, de arriba a abajo y de izquierda a derecha. 135 00:13:59,820 --> 00:14:05,940 Por esto la ejecución del programa siempre empieza por la parte superior del diagrama 136 00:14:05,940 --> 00:14:11,159 Los símbolos inicio y final solo pueden aparecer una vez y deben aparecer siempre 137 00:14:11,159 --> 00:14:12,379 Es algo evidente 138 00:14:12,379 --> 00:14:18,720 La dirección del flujo se debe representar por medio de flechas, que es lo que llamamos las líneas de flujo 139 00:14:18,720 --> 00:14:22,100 Todas esas líneas deben llegar a un símbolo o a otra línea 140 00:14:22,100 --> 00:14:33,120 y cuando dos líneas de flujo se cruzan, una debe tener una línea según cruza la otra. 141 00:14:34,019 --> 00:14:38,000 Las bifurcaciones y ciclos se deben dibujar procurando cierta simetría 142 00:14:38,000 --> 00:14:44,080 y cada rombo de decisión debe tener al menos siempre dos líneas de salida, una para sí y otra para no. 143 00:14:44,279 --> 00:14:46,519 Mínimo tiene que tener dos los rombos de decisión. 144 00:14:48,080 --> 00:14:52,059 Luego, en general, el diagrama debe ser claro, ordenado y fácil de recorrer 145 00:14:52,059 --> 00:14:54,879 y las acciones y decisiones se deben describir 146 00:14:54,879 --> 00:14:56,919 utilizando el menor número de palabras posibles 147 00:14:56,919 --> 00:14:58,500 sin que resulten confusas. 148 00:14:59,820 --> 00:15:06,220 Bueno, por hoy, si os parece, lo dejamos aquí 149 00:15:06,220 --> 00:15:08,480 y el próximo día vamos a ver un ejemplo 150 00:15:08,480 --> 00:15:11,720 que será hacer un diagrama de flujo 151 00:15:11,720 --> 00:15:21,799 con lo que hemos visto de la función lavarnos las manos. 152 00:15:22,840 --> 00:15:24,940 Bueno, pues nada, muchísimas gracias por la atención 153 00:15:24,940 --> 00:15:27,379 y nos vemos en la próxima clase.