1 00:00:00,750 --> 00:00:09,109 Bien, buenos días a todos. Vamos a continuar con el siguiente tema, al de la electrónica, que es el tema de automatismos y sistemas de control. 2 00:00:09,589 --> 00:00:15,970 Bien, en la última parte del tema de electrónica comentamos que los circuitos electrónicos podían formar lo que llamábamos un automatismo, 3 00:00:16,309 --> 00:00:23,850 que es un circuito electrónico que funciona de manera automática, es decir, solamente tiene en cuenta una serie de componentes electrónicos 4 00:00:23,850 --> 00:00:30,670 que reciben información del exterior como la temperatura, la distancia, la cantidad de luces, etc. 5 00:00:30,949 --> 00:00:36,570 Y en función de eso activaban dispositivos de salida llamados actuadores 6 00:00:36,570 --> 00:00:41,530 que pueden ser desde un simple diodo LED, un motor, una señal acústica, etc. 7 00:00:42,130 --> 00:00:46,369 Los elementos que reciben la información del exterior se llaman sensores 8 00:00:46,369 --> 00:00:50,570 y los dispositivos que actúan sobre el exterior se llaman actuadores. 9 00:00:50,570 --> 00:00:54,670 todo ello controlado evidentemente con los llamados elementos de control 10 00:00:54,670 --> 00:01:01,170 bueno pues esto es lo que llamaríamos un automatismo que se engloba dentro de los llamados sistemas de control 11 00:01:01,170 --> 00:01:09,950 un automatismo no es más que un sistema de control en el que recibe la información del exterior 12 00:01:09,950 --> 00:01:17,750 la digo aquí, temperatura, humedad, etc. y en función de esos datos y de cómo esté construido ese circuito eléctrico 13 00:01:17,750 --> 00:01:23,510 que puede ser programable o no pues realiza una función sobre el exterior a través de los 14 00:01:23,510 --> 00:01:29,810 actuadores bueno pues destacamos dos tipos de sistemas de control en función sobre todo de 15 00:01:29,810 --> 00:01:36,650 que tengan en cuenta unos parámetros de salida de una señal de salida estos dispositivos serían 16 00:01:36,650 --> 00:01:43,230 lo que llamaríamos el sistema de control en lazo abierto y el sistema de control en lazo cerrado 17 00:01:43,230 --> 00:01:45,349 bueno, los sistemas de control en lazo abierto 18 00:01:45,349 --> 00:01:47,010 funcionan sin tener en cuenta la salida 19 00:01:47,010 --> 00:01:48,870 es decir, por ejemplo, un sistema de calefacción 20 00:01:48,870 --> 00:01:51,409 que no tenga termostato, pues va a funcionar 21 00:01:51,409 --> 00:01:53,290 en cuanto lo pongamos a funcionar 22 00:01:53,290 --> 00:01:54,750 el sistema, el actuador 23 00:01:54,750 --> 00:01:57,109 bajamos en este caso el regador, pues dará calor 24 00:01:57,109 --> 00:01:58,629 y ya está, incluso aunque haya 25 00:01:58,629 --> 00:02:00,950 calor en la propia estancia, se quita 26 00:02:00,950 --> 00:02:02,530 dando calor, porque no tiene en cuenta 27 00:02:02,530 --> 00:02:04,989 un parámetro externo 28 00:02:04,989 --> 00:02:07,030 que actúe sobre el propio 29 00:02:07,030 --> 00:02:09,330 sistema de control, sin embargo, los dispositivos 30 00:02:09,330 --> 00:02:10,909 en lazo cerrado, estos 31 00:02:10,909 --> 00:02:11,930 sí que tienen en cuenta 32 00:02:11,930 --> 00:02:14,770 en los parámetros del exterior 33 00:02:14,770 --> 00:02:16,349 para hacerlo funcionar o no 34 00:02:16,349 --> 00:02:18,250 y es lo que tendríamos por ejemplo 35 00:02:18,250 --> 00:02:22,169 puestos aquí en este pequeño diagrama de bloques 36 00:02:22,169 --> 00:02:23,650 observamos como por ejemplo 37 00:02:23,650 --> 00:02:25,150 en el caso de un sistema de calefacción 38 00:02:25,150 --> 00:02:27,569 pues funcionará siempre y cuando el sensor 39 00:02:27,569 --> 00:02:30,849 detecte que, en este caso el termostato 40 00:02:30,849 --> 00:02:34,949 pues indica que se active el sistema de calefacción 41 00:02:34,949 --> 00:02:35,990 porque hace frío 42 00:02:35,990 --> 00:02:39,310 ahora bien, si el sistema de calefacción 43 00:02:39,310 --> 00:02:41,210 ya detecta, en este caso 44 00:02:41,210 --> 00:02:43,129 el sensor ya detecta que hace calor, pues 45 00:02:43,129 --> 00:02:44,370 entonces a través del sensor 46 00:02:44,370 --> 00:02:47,310 no haría funcionar el sistema de control 47 00:02:47,310 --> 00:02:48,990 este es el sistema de control 48 00:02:48,990 --> 00:02:50,750 en lazo cerrado, porque como veis aquí 49 00:02:50,750 --> 00:02:53,349 se cierra una especie de lazo en el cual 50 00:02:53,349 --> 00:02:54,490 nosotros tenemos en cuenta 51 00:02:54,490 --> 00:02:57,150 los parámetros de salida, en este caso 52 00:02:57,150 --> 00:02:59,289 la temperatura, para que a través del sensor 53 00:02:59,289 --> 00:03:01,129 haga uno funcionar el sistema de control 54 00:03:01,129 --> 00:03:03,110 mientras que en este caso, una vez que se hace 55 00:03:03,110 --> 00:03:05,229 funcionar el circuito, el sistema 56 00:03:05,229 --> 00:03:07,210 de control, pues este funciona sobre el actuador 57 00:03:07,210 --> 00:03:09,189 y ya está, de acuerdo, y aquí tendría 58 00:03:09,189 --> 00:03:10,750 por dos esquemas 59 00:03:10,750 --> 00:03:12,930 de circuitos electrónicos 60 00:03:12,930 --> 00:03:15,090 uno funcionando en lazo abierto y otro 61 00:03:15,090 --> 00:03:17,069 en lazo cerrado, observad que en este primer 62 00:03:17,069 --> 00:03:18,509 caso tenemos aquí 63 00:03:18,509 --> 00:03:21,250 un elemento de control que en este caso 64 00:03:21,250 --> 00:03:23,189 sería el transistor y que lo que hace 65 00:03:23,189 --> 00:03:25,069 es hacer funcionar o no un actuador 66 00:03:25,069 --> 00:03:27,090 en este caso una lamparita dependiendo de que 67 00:03:27,090 --> 00:03:29,349 haya corriente en la base, si hay corriente en la base 68 00:03:29,349 --> 00:03:31,090 funcionará la lampara y ya está, es decir que yo 69 00:03:31,090 --> 00:03:33,129 siempre que cierre este dispositivo 70 00:03:33,129 --> 00:03:35,229 cierre este interruptor, el transistor 71 00:03:35,229 --> 00:03:37,509 va a hacerlo funcionar y el actuador 72 00:03:37,509 --> 00:03:39,530 va a funcionar sí o sí. Ahora bien, en este 73 00:03:39,530 --> 00:03:41,550 otro circuito, la lámpara 74 00:03:41,550 --> 00:03:42,530 ya no funciona 75 00:03:42,530 --> 00:03:45,569 directamente, sino 76 00:03:45,569 --> 00:03:47,770 que dependerá de la cantidad de luz 77 00:03:47,770 --> 00:03:49,229 que el sensor está recibiendo 78 00:03:49,229 --> 00:03:51,050 para que la lámpara funcione. 79 00:03:51,449 --> 00:03:53,569 ¿De acuerdo? Esto digamos 80 00:03:53,569 --> 00:03:54,030 que sería 81 00:03:54,030 --> 00:03:57,210 la distinción entre un sistema de control 82 00:03:57,210 --> 00:03:59,689 de lazo abierto y lazo cerrado. ¿Y por qué es importante 83 00:03:59,689 --> 00:04:01,409 esto? Porque luego veremos que en los sistemas 84 00:04:01,409 --> 00:04:02,189 de lazo cerrado 85 00:04:02,189 --> 00:04:05,490 vamos a poder dar un paso más 86 00:04:05,490 --> 00:04:09,270 y haciendo que estos circuitos electrónicos puedan ser programables 87 00:04:09,270 --> 00:04:14,009 y el programa va evidentemente a hacerlo funcionar bastante mejor 88 00:04:14,009 --> 00:04:17,750 bueno aquí tenéis una serie de sistemas de automatismos 89 00:04:17,750 --> 00:04:20,149 que podemos clasificar los enlaces cerrados y enlaces abiertos 90 00:04:20,149 --> 00:04:22,189 os invito a que lo hagáis en el cuaderno 91 00:04:22,189 --> 00:04:26,689 y aquí tendríamos una clasificación de los elementos 92 00:04:26,689 --> 00:04:28,850 que podemos considerar como sensores y actuadores 93 00:04:28,850 --> 00:04:32,949 que podemos encontrarnos en la electrónica habitual 94 00:04:32,949 --> 00:04:34,290 que podamos utilizar 95 00:04:34,290 --> 00:04:57,889 Vamos a hacerlo un poquito más grande y bueno, mencionarlo simplemente. En primer lugar, tendríamos sensores de luz, que en este caso incluye evidentemente en el dispositivo una resistencia LDR, los sensores de tacto, también por ejemplo lo que tienen normalmente es el de incorporar algún tipo de condensador que tenga en cuenta la variación de capacidad cuando nosotros tocamos este sensor. 96 00:04:57,889 --> 00:05:02,990 los sensores de obstáculos en realidad son un emisor receptor de luz infrarroja 97 00:05:02,990 --> 00:05:08,709 que se colocan en paralelo de manera que el emisor emite luz infrarroja 98 00:05:08,709 --> 00:05:12,529 y si el dispositivo, o sea el obstáculo refleja la luz infrarroja 99 00:05:12,529 --> 00:05:15,910 pues el receptor lo va a recibir y es a lo que tenemos un objeto delante 100 00:05:15,910 --> 00:05:18,870 los sensores de humedad en realidad son más que dos varillas 101 00:05:18,870 --> 00:05:22,350 que al estar insertadas en un terreno húmedo 102 00:05:22,350 --> 00:05:26,970 pues va a permitir el paso de una corriente muy pequeñita de una varilla a otra 103 00:05:26,970 --> 00:05:31,790 y por lo tanto el dispositivo va a detectar que el terreno está húmedo. 104 00:05:31,790 --> 00:05:38,050 Los dispositivos que incluyen temperatura y humedad incluyen además del sensor de humedad 105 00:05:38,050 --> 00:05:41,990 como hemos visto algún dispositivo térmico, una NTC, una PTC 106 00:05:41,990 --> 00:05:47,769 que sea capaz de detectar y de medir la temperatura ambiental. 107 00:05:48,250 --> 00:05:53,189 Luego tenemos unos sensores ya un poquito más sofisticados como es el caso del sensor de distancia 108 00:05:53,189 --> 00:05:56,170 que realmente lo que hace es emitir un pulso sónico 109 00:05:56,170 --> 00:06:01,529 y dependiendo de que el rebote tarde más o menos en recibirlo el propio sensor 110 00:06:01,529 --> 00:06:04,629 pues entonces podríamos calcular la distancia a la que se encuentra el objeto 111 00:06:04,629 --> 00:06:08,069 y en el caso del detector, el sensor este de movimiento 112 00:06:08,069 --> 00:06:15,129 lo que realmente hace es observar la variación de luz infrarroja que emite un cuerpo humano 113 00:06:15,129 --> 00:06:20,329 y entonces si se está moviendo esa variación de la posición 114 00:06:20,329 --> 00:06:24,310 hace que se pueda enviar una señal eléctrica 115 00:06:24,310 --> 00:06:27,529 indicando que ese objeto que emite luz cifra roja 116 00:06:27,529 --> 00:06:30,050 porque es un cuerpo caliente, pues se ha movido. 117 00:06:31,029 --> 00:06:33,310 Esto para el caso de los sensores y para el caso de los actuadores 118 00:06:33,310 --> 00:06:36,490 pues tenemos aquí varios elementos en primer lugar 119 00:06:36,490 --> 00:06:39,089 el típico motor de corriente continua que podemos utilizar 120 00:06:39,089 --> 00:06:41,550 en cualquier proyecto de tecnología. 121 00:06:42,089 --> 00:06:44,430 Consume mucha corriente y por lo tanto para aplicarlos 122 00:06:44,430 --> 00:06:47,769 en sistemas electrónicos concretos hace falta utilizar 123 00:06:47,769 --> 00:06:50,149 una fuente adicional externa 124 00:06:50,149 --> 00:06:51,970 a través de un relé o bien un puente 125 00:06:51,970 --> 00:06:54,290 en H que es un dispositivo 126 00:06:54,290 --> 00:06:55,910 que nos va a permitir controlar el sentido 127 00:06:55,910 --> 00:06:57,610 de giro y demás con 128 00:06:57,610 --> 00:07:00,310 pequeñas corrientes. Tendremos también los servomotores 129 00:07:00,310 --> 00:07:01,949 son dispositivos, son motores que 130 00:07:01,949 --> 00:07:03,850 solamente pueden funcionar a 180 grados 131 00:07:03,850 --> 00:07:06,149 y es muy interesante para algunas aplicaciones 132 00:07:06,149 --> 00:07:08,290 que no requiere un giro 133 00:07:08,290 --> 00:07:09,170 constante del motor 134 00:07:09,170 --> 00:07:12,029 los altavoces piezoeléctricos que emiten 135 00:07:12,029 --> 00:07:14,290 diferentes tonos, el relé por supuesto 136 00:07:14,290 --> 00:07:15,990 que es el único por excelencia para acoplar 137 00:07:15,990 --> 00:07:24,430 la electrónica a cualquier otro circuito externo y luego tenemos los diodos led que emiten un rango de colores 138 00:07:24,430 --> 00:07:31,290 y los tenemos presentados como leds independientes o también podemos verlos así en formato de display 139 00:07:31,290 --> 00:07:38,490 donde estos segmentos son diodos led y dependiendo de los que estén encendidos tendremos un número u otro 140 00:07:38,490 --> 00:08:05,370 Lo otro ya más sofisticado sería el display LCD, que ya sabéis que es una pantalla de cristal líquido que ilumina también una serie de segmentos y esto nos va a permitir visualizar diferentes caracteres, ya no solamente números y algunas letras, sino números y la mayor parte de todas las letras, números, etc. 141 00:08:05,370 --> 00:08:14,930 Y luego tendríamos un motor paso a paso, que en realidad es un motor en el que nosotros podemos regular el movimiento cada grado de giro de este eje. 142 00:08:15,290 --> 00:08:19,790 Son los dos elementos, digamos, a diferencia del servomotor que gira a 180 grados, 143 00:08:19,850 --> 00:08:27,170 aunque podamos moverlo también en grados, pero este en cambio sí que es capaz de girar más de 180 grados. 144 00:08:29,769 --> 00:08:33,889 ¿Por qué es importante conocer los sensores y los actuadores? 145 00:08:33,889 --> 00:08:40,570 Porque cuando nosotros vayamos a construir un sistema de control, este puede ser un sistema de control electrónico normal o programado. 146 00:08:40,809 --> 00:08:50,330 Y para ello necesitaríamos un dispositivo que sea capaz de controlar los sensores y activar los actuadores en función del programa que le hayamos cargado. 147 00:08:50,470 --> 00:08:56,389 Para ello necesitamos una tarjeta de control y dentro de las más utilizadas, eventualmente en educación, 148 00:08:56,389 --> 00:09:02,509 pues nos encontramos con la tarjeta Arduino Uno, una tarjeta que ya ha aparecido hace algunos años 149 00:09:02,509 --> 00:09:11,090 pero que por su bajo coste y por su fiabilidad, por su forma de programar muy sencilla 150 00:09:11,090 --> 00:09:15,289 aparte que han surgido luego nuevos lenguajes de programación también de tipo gráfico 151 00:09:15,289 --> 00:09:19,389 que nos permiten todavía programarlo de forma mucho más fácil 152 00:09:19,389 --> 00:09:24,750 pues nos encontramos con una tarjeta que tiene un montón de pines a los cuales vamos a poder conectar 153 00:09:24,750 --> 00:09:29,210 nuestros sensores o actuadores de forma digital, es decir, lo vamos a activar o desactivar. 154 00:09:29,970 --> 00:09:33,690 También tiene un conjunto de entradas analógicas para poder, por ejemplo, 155 00:09:34,090 --> 00:09:41,429 visualizar, para poder, digamos, de alguna manera, poder testear dispositivos 156 00:09:41,429 --> 00:09:45,509 como puede ser por tensiómetro, donde no solamente es una señal alta o baja, 157 00:09:45,509 --> 00:09:49,309 sino que pueda tener diferentes rangos de valores, un grupo de pides de alimentación 158 00:09:49,309 --> 00:09:53,450 y todo ello lo controla un microcontrolador, que es un pequeño ordenador 159 00:09:53,450 --> 00:09:56,870 capaz de controlar estas entradas y estas salidas 160 00:09:56,870 --> 00:09:58,950 se conecta con un puerto USB 161 00:09:58,950 --> 00:10:04,570 y también una vez que tenemos almacenado la información en el vehículo controlador 162 00:10:04,570 --> 00:10:06,110 pues ya podemos desenchufarlo 163 00:10:06,110 --> 00:10:07,909 y con una simple alimentación externa 164 00:10:07,909 --> 00:10:11,230 podemos mantener el sistema de control 165 00:10:11,230 --> 00:10:14,389 actuando sobre los actuadores y sobre los sensores 166 00:10:14,389 --> 00:10:18,409 para que funcionen de una manera concreta en función del programa 167 00:10:18,409 --> 00:10:19,870 aquí tenéis un pequeño ejemplo 168 00:10:19,870 --> 00:10:22,850 para que entendáis que es un sistema de control 169 00:10:22,850 --> 00:10:27,850 tendríamos por ejemplo la posibilidad de asemejar los sistemas de control 170 00:10:27,850 --> 00:10:31,250 como por ejemplo sería el cuerpo humano 171 00:10:31,250 --> 00:10:35,009 que dispondría de un sistema de control con una serie de actuadores 172 00:10:35,009 --> 00:10:36,649 para poder por ejemplo coger objetos 173 00:10:36,649 --> 00:10:38,509 un sistema de control que sería el cerebro 174 00:10:38,509 --> 00:10:44,509 y unos sensores que determinarían la distancia en la que está el objeto 175 00:10:44,509 --> 00:10:46,350 por ejemplo en el caso de la vista 176 00:10:46,350 --> 00:10:51,230 bueno pues para programar estos dispositivos 177 00:10:51,230 --> 00:10:56,470 tenemos que tener claro diferentes conceptos relacionados con los lenguajes de programación. 178 00:10:56,850 --> 00:11:02,850 Conceptos que si no se tienen claros, pues a veces se confunden unas cosas con otras y no son exactamente las mismas. 179 00:11:03,289 --> 00:11:07,870 En primer lugar tenemos que decir que un lenguaje de programación es en realidad un lenguaje artificial 180 00:11:07,870 --> 00:11:10,309 creado por el ser humano para poder comunicarnos con un ordenador. 181 00:11:10,809 --> 00:11:12,669 Y el conjunto de sus situaciones es lo que llamamos programa. 182 00:11:13,730 --> 00:11:19,330 Bueno, pues esta programación en sus inicios no eran más que conjuntos de unos y ceros en formato S-decimal, 183 00:11:19,330 --> 00:11:26,309 es decir, un lenguaje binario, un sistema binario agrupado en 8 bits 184 00:11:26,309 --> 00:11:29,750 y esto es lo que formaba lo que llamamos un lenguaje de bajo nivel 185 00:11:29,750 --> 00:11:31,970 que también se conocía como código máquina 186 00:11:31,970 --> 00:11:36,830 este código máquina que era un conjunto de, ya digo, para que veáis cómo sería el código máquina 187 00:11:36,830 --> 00:11:41,450 un conjunto de números binarios en formato decimal 188 00:11:41,450 --> 00:11:45,210 y que solamente los grandes programadores eran capaces de entender 189 00:11:45,210 --> 00:11:48,490 este grupo de 8 bits se conectaba directamente 190 00:11:48,490 --> 00:11:51,009 por el bus de datos hacia el microprocesador 191 00:11:51,009 --> 00:11:52,590 y este interpretaba este código 192 00:11:52,590 --> 00:11:58,850 esto evidentemente era bastante tedioso 193 00:11:58,850 --> 00:12:00,870 y entonces este código máquina evolucionó 194 00:12:00,870 --> 00:12:02,929 a un lenguaje que llamamos lenguaje ensamblador 195 00:12:02,929 --> 00:12:07,210 que no eran más que en realidad códigos mnemónicos 196 00:12:07,210 --> 00:12:10,769 es decir, abreviaturas de lo que se suponía que hacía esa instrucción 197 00:12:10,769 --> 00:12:14,990 aún así la complejidad de estos sistemas 198 00:12:14,990 --> 00:12:19,809 por cierto, que luego tuvieran que evolucionar a unos lenguajes más fáciles de entender, 199 00:12:20,309 --> 00:12:22,509 que es lo que llamamos los lenguajes de alto nivel. 200 00:12:22,809 --> 00:12:27,950 Estos lenguajes de alto nivel, bueno, pues ya son más acuerdos con la capacidad cognitiva del ser humano 201 00:12:27,950 --> 00:12:34,629 y ya son más fácilmente entendibles para poder desarrollar programas más complicados. 202 00:12:34,769 --> 00:12:38,610 Aquí tenéis, digamos, una representación de cómo sería cada uno de ellos. 203 00:12:38,610 --> 00:13:04,090 Y finalmente cuando ya tenemos un programa informático, ese programa llamado código fuente tenemos que convertirlo a pesar de todo lo que hemos hecho, de todo ese proceso de programación y de crear diferentes lenguajes de alto nivel para poder entendernos con las máquinas, en realidad luego la máquina solamente va a entender esos unos y ceros. 204 00:13:04,090 --> 00:13:11,950 Por lo tanto, necesitamos que el programa fuente convertirlo en ese código máquina que sí que entiende la computadora. 205 00:13:12,149 --> 00:13:13,950 Y para ello necesitamos compilar el programa. 206 00:13:14,269 --> 00:13:17,009 En la compilación se realiza un programa llamado compilador intérprete 207 00:13:17,009 --> 00:13:21,570 que lo que hace es coger ese programa escrito en un lenguaje de alto nivel 208 00:13:21,570 --> 00:13:25,649 y pasarlo a un código máquina que sí que entiende el micropasador, 209 00:13:25,750 --> 00:13:30,450 que sí que entiende el ordenador, porque es ese conjunto de unos y ceros de señales eléctricas que debe tener. 210 00:13:30,450 --> 00:13:38,669 Bueno, pues los programas informáticos en realidad están desarrollados para un lenguaje de programación concreto 211 00:13:38,669 --> 00:13:47,149 Ahora bien, podemos entender un programa informático como un conjunto de instrucciones que nos permiten solucionar un problema 212 00:13:47,149 --> 00:13:54,549 Es decir, el concepto de programa informático se aplica a un lenguaje de programación específico con sus reglas sintácticas y la estructura 213 00:13:54,549 --> 00:14:05,450 Sin embargo, el concepto de algoritmo es aún mayor, porque un algoritmo en realidad es un conjunto de instrucciones ordenadas que nos solucionan un problema. 214 00:14:05,590 --> 00:14:18,970 Es decir, que se aplica no solamente a un programa informático, sino un algoritmo en realidad es una forma de establecer cómo solucionar un problema mediante una serie de reglas básicas, instrucciones básicas. 215 00:14:18,970 --> 00:14:21,730 de hecho los algoritmos no los encontramos 216 00:14:21,730 --> 00:14:23,730 por ejemplo en una simple receta de cocina 217 00:14:23,730 --> 00:14:25,730 o no lo podemos encontrar también 218 00:14:25,730 --> 00:14:27,809 en cualquier 219 00:14:27,809 --> 00:14:30,509 forma de describir 220 00:14:30,509 --> 00:14:32,590 el montaje por ejemplo de un mueble 221 00:14:32,590 --> 00:14:34,350 como solucionar 222 00:14:34,350 --> 00:14:35,929 por ejemplo una ecuación de segundo grado, etc. 223 00:14:36,070 --> 00:14:38,330 eso sería el concepto de algoritmo, un concepto que es 224 00:14:38,330 --> 00:14:40,230 mucho más amplio que el del propio 225 00:14:40,230 --> 00:14:42,090 específico programa informático 226 00:14:42,090 --> 00:14:46,269 por eso cuando se habla de 227 00:14:46,269 --> 00:14:48,230 solucionar un problema informático se habla en realidad 228 00:14:48,230 --> 00:14:53,929 de encontrar un algoritmo que solucione ese problema informático y después, gracias al lenguaje de programación 229 00:14:53,929 --> 00:14:57,649 y al programa específico, encontraremos la forma de poder solucionar. 230 00:14:58,330 --> 00:15:03,909 Bueno, la representación de un algoritmo suele ser una representación más visual que otra cosa 231 00:15:03,909 --> 00:15:11,929 porque nos va a permitir un poco ver el problema en toda su extensión y esta forma de representar un algoritmo 232 00:15:11,929 --> 00:15:15,809 se puede realizar de dos maneras. Bueno, una que no es propiamente una representación gráfica, 233 00:15:15,809 --> 00:15:30,690 más bien es una descripción ordenada de las instrucciones, pero eso sí, con un lenguaje más propio del lenguaje natural que podemos utilizar habitualmente. 234 00:15:31,129 --> 00:15:39,230 Es decir, que solucionamos el problema describiendo todas las instrucciones que son necesarias para poder solucionar el problema 235 00:15:39,230 --> 00:15:46,909 utilizando un lenguaje que llamamos lenguaje de pseudocódigo porque es muy parecido a un código específico de programación 236 00:15:46,909 --> 00:15:50,110 pero que sea fácilmente entendible por el pseudocódigo. 237 00:15:51,309 --> 00:15:59,129 Y luego nos podemos encontrar con que este algoritmo lo podemos representar en realidad mediante lo que llamamos un diagrama de flujo. 238 00:15:59,230 --> 00:16:07,029 ¿Qué es un diagrama de flujo? Pues la representación, como digo, de ese algoritmo, de esa forma de solucionar un problema 239 00:16:07,029 --> 00:16:15,909 y esto nos da una visión, digamos, global de lo que es propiamente la solución al problema que tenemos. 240 00:16:15,909 --> 00:16:24,049 Y si es informático, pues lógicamente nos va a dar una visión de conjunto de cómo abordar después el programa informático que soluciona ese problema. 241 00:16:24,429 --> 00:16:27,909 También se le llama el diagrama de flujo, también se le suele llamar organigrama. 242 00:16:28,429 --> 00:16:34,509 Y para ello simplemente hay que tener en cuenta una serie de símbolos que en realidad hay muchos más, 243 00:16:34,509 --> 00:16:37,389 pero en realidad con estos cuatro podemos representar más o menos 244 00:16:37,389 --> 00:16:42,190 cómo sería ese programa informático o ese algoritmo que soluciona ese problema. 245 00:16:43,289 --> 00:16:45,470 Aquí tenemos los cuatro simbolitos principales, 246 00:16:45,590 --> 00:16:47,450 todos tienen que terminar en un inicio y final, 247 00:16:47,549 --> 00:16:50,129 mediante este simbolito que veis aquí, tipo óvalo, 248 00:16:50,509 --> 00:16:54,649 y luego tenemos la posibilidad de representar cuando nosotros metemos datos 249 00:16:54,649 --> 00:16:58,409 o sacamos datos a este sistema, a este programa, 250 00:16:58,570 --> 00:17:01,450 pues entonces nosotros tendríamos esta especie de símbolo que veis aquí, 251 00:17:01,450 --> 00:17:09,549 Y en el caso de que se produzca un proceso concreto, como por ejemplo, asignación de variables, sumas, etc., operaciones aritméticas, etc., 252 00:17:09,549 --> 00:17:11,289 pues utilizaríamos este rectángulo. 253 00:17:11,630 --> 00:17:17,710 Y lo más importante, cuando el programa tiene que tomar una decisión, dependiendo de que se cumpla o no una condición, 254 00:17:17,869 --> 00:17:22,009 pues entonces utilizaríamos este símbolo que veis aquí. 255 00:17:22,309 --> 00:17:26,670 Y aquí tenéis, por ejemplo, una forma de representar el algoritmo para calcular, por ejemplo, el área de un cuadrado 256 00:17:26,670 --> 00:17:30,710 utilizando las dos formas de representación mediante un lenguaje de pseudocódigo, 257 00:17:30,710 --> 00:17:34,349 y ahora lo vamos a ver que es muy fácil de entender 258 00:17:34,349 --> 00:17:41,150 porque en realidad si lo leemos casi nos está describiendo como calcularlo 259 00:17:41,150 --> 00:17:44,130 casi estaríamos hablando de un lenguaje coloquial 260 00:17:44,130 --> 00:17:48,549 pondríamos en este caso por ejemplo algoritmo y el título de nuestro programa 261 00:17:48,549 --> 00:17:51,430 área del cuadrado, escribir introduce el lado 262 00:17:51,430 --> 00:17:53,930 en este caso con las comillas que nos indican que es un texto 263 00:17:53,930 --> 00:17:58,170 después leemos un valor que en este caso es el valor lado 264 00:17:58,170 --> 00:18:00,390 que es una variable donde vamos a asignar valores 265 00:18:00,390 --> 00:18:07,569 otra variable llamada área se le asigna el valor que corresponde con el producto de esa variable anterior 266 00:18:07,569 --> 00:18:09,789 llamada lado dos veces, es decir lado por lado 267 00:18:09,789 --> 00:18:13,329 y finalmente escribimos que la salida del área del cuadrado es 268 00:18:13,329 --> 00:18:16,369 y escribimos el valor que contiene la variable área 269 00:18:16,369 --> 00:18:21,190 esto sería una forma de representar el cuadrado, el área de un cuadrado perdón 270 00:18:21,190 --> 00:18:22,890 mediante un lenguaje pseudocódico 271 00:18:22,890 --> 00:18:26,710 y aquí veis como se puede representar mediante la simbología que hemos visto anteriormente 272 00:18:26,710 --> 00:18:28,690 mediante un diagrama de flujo u organigrama 273 00:18:28,690 --> 00:18:30,490 colocamos en este caso 274 00:18:30,490 --> 00:18:32,430 el inicio del algoritmo 275 00:18:32,430 --> 00:18:34,049 el final del algoritmo y entre medias 276 00:18:34,049 --> 00:18:36,630 introducimos un dato mediante este símbolo 277 00:18:36,630 --> 00:18:38,230 el símbolo este que vemos aquí 278 00:18:38,230 --> 00:18:40,250 después asignamos eso para 279 00:18:40,250 --> 00:18:42,609 decirle al usuario 280 00:18:42,609 --> 00:18:43,750 que introduzca el lado 281 00:18:43,750 --> 00:18:46,230 después leemos por el teclado ese lado 282 00:18:46,230 --> 00:18:48,009 y lo asignamos a la variable lado 283 00:18:48,009 --> 00:18:50,329 y la variable área 284 00:18:50,329 --> 00:18:52,430 la asignamos con el valor de lado por lado 285 00:18:52,430 --> 00:18:54,849 y finalmente presentamos la solución definitiva 286 00:18:54,849 --> 00:18:55,569 ¿de acuerdo? 287 00:18:55,569 --> 00:19:11,450 Bueno, pues es una forma de representar un algoritmo, es decir, un programa informático a través de un algoritmo, pero como digo, el algoritmo es un concepto mucho más general que permite solucionar cualquier problema, ¿vale? 288 00:19:11,450 --> 00:19:14,450 una serie de listado de instrucciones 289 00:19:14,450 --> 00:19:15,390 bueno pues 290 00:19:15,390 --> 00:19:17,930 cuando hablamos 291 00:19:17,930 --> 00:19:19,309 de programación 292 00:19:19,309 --> 00:19:22,049 tenemos que tener presente 293 00:19:22,049 --> 00:19:22,609 que 294 00:19:22,609 --> 00:19:25,150 cualquier algoritmo 295 00:19:25,150 --> 00:19:27,490 en realidad puede 296 00:19:27,490 --> 00:19:29,569 agruparse en la forma en la que 297 00:19:29,569 --> 00:19:31,349 esté solucionado ese problema 298 00:19:31,349 --> 00:19:33,569 mediante una de estas tres 299 00:19:33,569 --> 00:19:35,549 estructuras de control básicas 300 00:19:35,549 --> 00:19:37,430 por lo menos los algoritmos más sencillos 301 00:19:37,430 --> 00:19:38,430 que podamos encontrarnos 302 00:19:38,430 --> 00:19:40,829 tendríamos 303 00:19:40,829 --> 00:19:43,390 algoritmos que tengan una estructura 304 00:19:43,390 --> 00:19:44,950 secuencial en la cual 305 00:19:44,950 --> 00:19:47,349 lo que ocurre realmente es que 306 00:19:47,349 --> 00:19:49,369 vamos detallando las instrucciones 307 00:19:49,369 --> 00:19:51,549 una detrás de otra, aquí tenéis por ejemplo 308 00:19:51,549 --> 00:19:53,450 la representación en el diagrama 309 00:19:53,450 --> 00:19:55,630 de flujo de una estructura secuencial 310 00:19:55,630 --> 00:19:57,430 de un programa que representaría 311 00:19:57,430 --> 00:19:59,450 por ejemplo el funcionamiento de un semáforo 312 00:19:59,450 --> 00:20:01,269 donde primero se asignaría 313 00:20:01,269 --> 00:20:02,809 perdón, primero se 314 00:20:02,809 --> 00:20:05,509 luciría la luz verde 315 00:20:05,509 --> 00:20:07,309 después esperaríamos un tiempo, después 316 00:20:07,309 --> 00:20:09,109 la luz ámbar, otro tiempo, etc, etc 317 00:20:09,109 --> 00:20:12,289 como veis es una instrucción secuencial una detrás de otra 318 00:20:12,289 --> 00:20:22,069 ahora bien, cuando el algoritmo requiere tomar un camino u otro dependiendo de que se cumpla una condición 319 00:20:22,069 --> 00:20:26,029 entonces hablamos aquí ya de estructuras condicionales 320 00:20:26,029 --> 00:20:31,309 las estructuras condicionales como veis aquí pues nos permiten que el programa va siguiendo un orden 321 00:20:31,309 --> 00:20:35,329 y luego toma un camino o toma otro dependiendo de que se cumpla la condición 322 00:20:35,329 --> 00:20:52,369 Y luego hay otra serie de estructuras, que son las llamadas estructuras repetitivas, que en realidad son estructuras que se ejecutan, una estructura la ejecuta un conjunto de instrucciones, la ejecuta un número determinado de veces, sin más, o bien, si se cumple la condición, también la ejecuta un número determinado de veces. 323 00:20:52,369 --> 00:21:04,549 ¿De acuerdo? Entonces digamos que estas tres estructuras, la estructura secuencial, condicional y repetitiva, nos va a permitir encontrar cualquier algoritmo más o menos fácil.