1 00:00:00,330 --> 00:00:04,910 Bien, pues empezamos la explicación del último tema que es el tema 5, la programación. 2 00:00:05,910 --> 00:00:12,230 Veis que tiene tres puntos y el primer punto es una pequeña introducción en el que vamos a ver qué es la programación y qué son los programas, 3 00:00:12,830 --> 00:00:17,449 vamos a ver para qué se utilizan los entornos de programación y vamos a ver lo que es un programa de flujo. 4 00:00:17,989 --> 00:00:23,829 Después en el punto 2 os explicaré el programa que vamos a utilizar en primero de la ISO, que es el Scratch, 5 00:00:23,829 --> 00:00:34,030 a nivel teórico, qué diferencia entre programar online y offline y cuál es el entorno de programación y en el punto 3 ya os explico de manera práctica 6 00:00:34,030 --> 00:00:42,990 cómo se maneja, cómo se utiliza y cuáles son las diferentes opciones que vais a tener que utilizar para hacer los ejercicios que haremos a fines de curso. 7 00:00:44,469 --> 00:00:52,270 Bien, cuando haces un dibujo con Paint, por ejemplo, o cuando abres el navegador de internet en tu móvil o en el ordenador, cuando escribes un texto con Word, 8 00:00:52,270 --> 00:01:05,849 cuando juegas a la Playstation, en general cuando utilizas cualquier aplicación o programa de tu PC, de tu móvil, de tableta, que hemos visto en el tema 4, lo que está evolucionando es utilizar un programa que maneja información y que maneja datos. 9 00:01:06,510 --> 00:01:16,310 Es decir, el Paint, Internet Explorer, el Word, los juegos de la Play y cualquier aplicación, en realidad, como ya sabemos del tema 4, son programas o aplicaciones informáticas. 10 00:01:16,310 --> 00:01:35,870 Es una de las partes que hemos visto en el tema anterior. Entonces, un programa o una aplicación informática, ya bien sea de un ordenador o bien sea de un móvil, va a ser un conjunto de instrucciones que cuando yo los ejecuto, lo que hacen es ejecutar órdenes o comandos para realizar acciones diversas y que la aplicación haga lo que desee. 11 00:01:35,870 --> 00:01:50,209 Pensar en el explorador de Windows, en WhatsApp o en cualquier programa. Yo le doy instrucciones mediante el teclado de manera táctil y el programa, en función de las órdenes o comandos que tiene en su interior, ejecuta la tarea correspondiente. 12 00:01:50,209 --> 00:02:06,469 Bien, pues para hacer todos estos programas se utilizan lo que se llaman entornos de programación o entornos de desarrollo, que no dejan de ser otros programas que me permiten tener una serie de herramientas para hacer, por ejemplo, escribir los programas y hacerlos. 13 00:02:06,469 --> 00:02:21,669 Lógicamente, tienen un editor que me permite escribir los programas. Me permite comprobarlos. Tienen un depurador para que yo pueda comprobar si lo que estoy haciendo es correcto y si no, modificarlo. Tienen un compilador para compilar los programas. ¿Qué es esto? 14 00:02:21,669 --> 00:02:41,949 Recordad que todos los programas informáticos, ya lo vimos en el tema 4, se ejecutan dentro del hardware del equipo utilizando ceros y unos, pero vais a ver que los entornos de programación yo los voy a hacer utilizando imágenes, gráficos, textos, pues necesito algo que me pasen las imágenes, los textos y los gráficos a ceros y unos. 15 00:02:41,949 --> 00:02:44,270 esa parte del entorno de programación se llama 16 00:02:44,270 --> 00:02:46,569 compilado. Y por último 17 00:02:46,569 --> 00:02:48,330 en el caso de que tenga que transferir 18 00:02:48,330 --> 00:02:50,469 el programa a otro dispositivo, pues me trae 19 00:02:50,469 --> 00:02:52,590 o el entorno de programación 20 00:02:52,590 --> 00:02:54,330 tiene las herramientas para poder 21 00:02:54,330 --> 00:02:56,310 hacerlo. Por ejemplo, para poder 22 00:02:56,310 --> 00:02:58,389 transferir el programa que yo hago en mi PC 23 00:02:58,389 --> 00:03:00,490 para el móvil y transferir 24 00:03:00,490 --> 00:03:02,629 eso al móvil, pues tiene una serie de herramientas 25 00:03:02,629 --> 00:03:04,370 que me permite hacer esa transferencia. 26 00:03:05,509 --> 00:03:06,270 Hay muchos 27 00:03:06,270 --> 00:03:07,909 entornos de programación, de hecho 28 00:03:07,909 --> 00:03:10,030 hay cientos y existen 29 00:03:10,030 --> 00:03:11,909 de diferentes empresas, de diferentes marcas, 30 00:03:12,030 --> 00:03:13,689 pero básicamente se dividen en dos tipos. 31 00:03:14,490 --> 00:03:16,270 Entornos de programación no gráficos, 32 00:03:16,650 --> 00:03:18,969 en los cuales todo el programa se hace escribiendo comandos 33 00:03:18,969 --> 00:03:21,590 o instrucciones, uno detrás del otro en forma de lista 34 00:03:21,590 --> 00:03:22,990 o en forma de bucle, 35 00:03:23,469 --> 00:03:25,389 utilizando el lenguaje de programación deseado. 36 00:03:25,810 --> 00:03:27,409 Hay muchos entornos no gráficos 37 00:03:27,409 --> 00:03:29,770 y muchos lenguajes de programación. 38 00:03:30,330 --> 00:03:32,129 Hoy en día los más utilizados a nivel profesional 39 00:03:32,129 --> 00:03:33,870 son el C y el Java. 40 00:03:34,389 --> 00:03:35,849 Estos entornos no gráficos 41 00:03:35,849 --> 00:03:37,969 son los que se utilizaban hace años 42 00:03:37,969 --> 00:03:41,050 o los que se utilizan hoy en día de manera profesional. 43 00:03:41,729 --> 00:03:45,270 Pero para aplicaciones educativas, para aplicaciones sencillas, 44 00:03:45,650 --> 00:03:47,990 se pueden utilizar entornos de programación gráficos, 45 00:03:48,349 --> 00:03:52,110 en las cuales todo el programa, en vez de hacerlo con comandos y con instrucciones 46 00:03:52,110 --> 00:03:54,909 que me tengo que sacar de memoria o que tengo que consultar en un manual, 47 00:03:55,389 --> 00:04:00,370 las hago directamente con el ratón utilizando unas instrucciones que son imágenes o figuras. 48 00:04:00,789 --> 00:04:03,750 Como os he dicho, esto es lo que se utiliza para aplicaciones sencillas 49 00:04:03,750 --> 00:04:07,669 y sobre todo para entornos educativos como Scratch o Bitblock 50 00:04:07,669 --> 00:04:10,349 que son los que vamos a utilizar en primero, segundo y tercero. 51 00:04:10,830 --> 00:04:13,449 Scratch en primero y segundo y Bitblock en tercero. 52 00:04:14,009 --> 00:04:15,009 ¿Para qué veis la diferencia? 53 00:04:15,569 --> 00:04:17,930 Entre un entorno de programa geográfico y uno no gráfico, 54 00:04:18,430 --> 00:04:19,350 fijaros en este programa. 55 00:04:19,870 --> 00:04:22,930 Este es un programa que lo único que hace es sacar por una pantalla 56 00:04:22,930 --> 00:04:25,730 el mensaje Hola Mundo. 57 00:04:26,290 --> 00:04:27,610 Bueno, pues tal como está, 58 00:04:28,029 --> 00:04:30,529 es las instrucciones que yo tengo que utilizar 59 00:04:30,529 --> 00:04:32,430 utilizando el lenguaje de programación C. 60 00:04:32,810 --> 00:04:34,290 Es un lenguaje no gráfico. 61 00:04:34,649 --> 00:04:36,569 Utiliza comandos, textos, etc. 62 00:04:36,569 --> 00:04:50,670 Sin embargo, si lo hiciésemos con Scratch, el programa sería este de aquí, en el cual, como veis, en vez de utilizar comandos, utilizar instrucciones, utilizamos cajitas de colores que, en el fondo, me permiten hacer lo mismo, pero de otra manera. 63 00:04:51,389 --> 00:04:58,389 Evidentemente, la parte de la derecha es para entornos educativos, la parte de la izquierda sería para entornos profesionales. 64 00:04:58,389 --> 00:05:06,089 En la ESO vamos a utilizar entornos simplegráficos, recuerdo, en primero y segundo Scratch, en tercero Bitblock. 65 00:05:07,879 --> 00:05:24,500 Bien, pues para programar, al igual que ocurre con el método de proyectos que vimos para hacer el proyecto de la vivienda de electricidad en el tema de electricidad y como explicamos en el tema cero, cuando se hace un programa informático no se puede poner uno a programar directamente sin haber pensado antes lo que tiene que hacer. 66 00:05:24,500 --> 00:05:26,980 luego tenemos que seguir una serie de pasos 67 00:05:26,980 --> 00:05:28,639 y una posible secuencia de pasos 68 00:05:28,639 --> 00:05:30,720 puede ser la siguiente. En primer lugar 69 00:05:30,720 --> 00:05:32,800 como pasaba con los proyectos del taller 70 00:05:32,800 --> 00:05:35,019 hay que definir el programa de necesidad 71 00:05:35,019 --> 00:05:36,920 o lo que es lo mismo. Es muy importante 72 00:05:36,920 --> 00:05:39,000 enterarse de lo que tenemos que hacer 73 00:05:39,000 --> 00:05:40,759 es fundamental que el cliente 74 00:05:40,759 --> 00:05:42,300 o el profesor en vuestro caso 75 00:05:42,300 --> 00:05:44,319 os explique claramente lo que hay que hacer 76 00:05:44,319 --> 00:05:46,660 para que vosotros lo entendáis y a partir de ahí 77 00:05:46,660 --> 00:05:47,819 os comience a hacer el diseño. 78 00:05:49,019 --> 00:05:50,740 Una vez que hay entendido lo que hay que hacer 79 00:05:50,740 --> 00:05:52,160 lo que tenemos que hacer es diseñar el 80 00:05:52,160 --> 00:05:53,860 programa, diseñar el programa. 81 00:05:54,420 --> 00:06:01,000 Entonces, tenemos que investigar cómo hacer que el equipo funcione con los datos aportados para conseguir el resultado deseado. 82 00:06:01,500 --> 00:06:10,180 Tenemos que elegir el lenguaje de programación más adecuado porque hay muchos y diseñar el algoritmo que se necesita para que de forma lógica se vaya resolviendo mi problema. 83 00:06:10,180 --> 00:06:18,939 Tengo que definir parámetros, operaciones, fórmulas, etc. Una ayuda muy importante para hacer este paso del diseño del programa es utilizar el diagrama de Fruz. 84 00:06:19,939 --> 00:06:34,079 Una vez que ya lo he diseñado en papel o con una aplicación informática pero tengo ya claramente definido cuál va a ser la secuencia de mi programa, los pasos e instrucciones que voy a dar, lo que hago es programarlo y entonces lo programo con el lenguaje elegido. 85 00:06:34,699 --> 00:06:48,620 Cuando está programado, finalmente hay que verificarlo y depurarlo, es decir, comprobar que el programa hace lo que hemos definido en el punto 1. Si lo hace, perfecto, ya hemos terminado, pero si no, tendré que volver al punto inicial para empezar y ver dónde le he colocado. 86 00:06:48,620 --> 00:07:05,660 Luego, si os fijáis, los pasos son muy parecidos a los que hemos utilizado siempre, o los que hemos utilizado en el caso del proyecto en el taller. Primero, detectamos el problema, después lo diseñamos, después lo construimos y finalmente comprobamos que está bien. Que está bien, hemos terminado, que no está bien, tenemos que volver. 87 00:07:05,660 --> 00:07:25,079 Para terminar esta parte introductoria, hablamos un poquito del diagrama de flujo. Como os he dicho, el diagrama de flujo es una herramienta muy importante que se utiliza para facilitar la creación de los programas y para programar. De manera que antes de programar, pienso y con el diagrama de flujo diseño cuál es la secuencia lógica que va a tener. 88 00:07:25,079 --> 00:07:40,740 Bien, los diagramas de flujo no son más que representaciones con dibujitos de la lógica del programa, que luego van a facilitar la traducción a instrucciones o comandos utilizando el entorno y el lenguaje de programación deseado, ¿vale? 89 00:07:40,740 --> 00:08:05,240 En el diagrama de flujo siempre voy a representar los pasos lógicos que debe seguir el programa para ejecutar la acción. Para hacerlo utilizamos tres símbolos diferentes. Por una parte utilizamos círculos o elipses para indicar que es inicio o fin de programa. Podemos utilizar rectángulos para cualquier acción o cualquier ejecución de un proceso o una acción. Y cuando tengamos que decidir si voy por un camino o si voy por otro, pues utilizamos un ramo. 90 00:08:05,240 --> 00:08:22,620 Vamos a un ejemplo muy sencillito. Imaginaros que yo quiero hacer el de gama de flujo de un programa que lo que va a hacer es que va a pedir al usuario introducir dos números en el teclado, va a hacer su suma y finalmente va a mostrar su resultado en el monitor y terminar. 91 00:08:22,620 --> 00:08:34,779 Bueno, pues el de gama de flujo es muy sencillo y sería el siguiente. En primer lugar, colocamos un ciclo para indicar inicio de programa y luego eso lo traduciré al comando correspondiente del lenguaje que estoy utilizando. 92 00:08:35,519 --> 00:08:45,440 A continuación, ¿qué es lo que hago? Una acción que significa introduce el valor A. Luego eso tendré que traducirlo al lenguaje correspondiente para permitir al usuario que meta el primer valor. 93 00:08:45,440 --> 00:09:02,759 A continuación, ¿qué es lo que tengo que hacer? Tengo que introducir el valor b, lo traduciré al lenguaje correspondiente para que el usuario introduzca el segundo valor. A continuación, calculará la suma, luego pondré las instrucciones necesarias para que en ese se guarde el resultado de a más b. 94 00:09:02,759 --> 00:09:24,240 Y cuando tengo el resultado, ¿qué es lo que tengo que hacer? Mostrar el resultado por pantalla y terminar. Si os fijáis, este programa es tan sencillo que el diagrama de flujo es completamente lineal. Desde que empiezo hasta que termino, voy ejecutando las instrucciones una a una. Primero pido un valor, después pido otro valor, después hago la suma y finalmente lo muestro por pantalla. 95 00:09:24,240 --> 00:09:33,500 Pero en el momento en que los programas sean mucho más complicados, los diagramas de flujo se van complicando, de manera que al final puedo tener diagramas de flujo bastante complejos. 96 00:09:33,860 --> 00:09:39,580 En los ejercicios que vamos a hacer en secundaria son tan sencillos que ni siquiera va a hacer falta hacer diagramas de flujo. 97 00:09:39,919 --> 00:09:52,299 De hecho, en primero no lo pedimos y en segundo lo pedimos de manera opcional, porque son programas muy sencillitos y bastante rápidos de resolver, que no hace falta que utilicen el diagrama de flujo, pero en una aplicación de verdad sí que sería interesante. 98 00:09:53,259 --> 00:10:00,139 Luego, por tanto, en este punto hemos visto qué es la programación, hemos visto qué es un programa y dónde se realiza en los entornos de programación, 99 00:10:00,620 --> 00:10:06,000 hemos visto que hay dos tipos de entornos de programación, los gráficos y los no gráficos, en nuestro caso vamos a utilizar gráfico, 100 00:10:06,000 --> 00:10:14,279 y que una herramienta muy importante para hacer el programa, aunque en clase no vamos a utilizar, sería el programa de flujo que ya hemos visto cómo funciona.