1 00:00:00,750 --> 00:00:07,190 Hola, en el primer apartado de este bloque de programación hemos preguntado 2 00:00:07,190 --> 00:00:09,529 ¿Qué es un programa? 3 00:00:10,550 --> 00:00:16,570 Pues, esta es una imagen que muestra lo que es un programa 4 00:00:16,570 --> 00:00:18,890 Y el programa es lo que vemos aquí 5 00:00:18,890 --> 00:00:27,210 Es decir, es un conjunto, una secuencia de comandos, de órdenes, de código 6 00:00:27,210 --> 00:00:31,589 que le dicen a un ordenador que es lo que debe hacer 7 00:00:31,589 --> 00:00:37,950 le avisa cuando empieza el programa, cuando empiezan las instrucciones 8 00:00:37,950 --> 00:00:44,049 se van realizando las distintas instrucciones, los distintos pasos 9 00:00:44,049 --> 00:00:48,149 y finalmente se le dice al ordenador detente 10 00:00:48,149 --> 00:00:50,950 es decir, hasta aquí ha llegado el programa 11 00:00:50,950 --> 00:00:56,780 aquí tenemos ese mismo programa 12 00:00:56,780 --> 00:01:03,799 para que veamos como funciona instrucción a instrucción, comando a comando 13 00:01:03,799 --> 00:01:10,500 normalmente los ordenadores ejecutan los programas de una sola pasada 14 00:01:10,500 --> 00:01:17,299 y normalmente vemos el resultado de esa secuencia de instrucciones 15 00:01:17,299 --> 00:01:19,640 aquí vamos a verla paso a paso 16 00:01:19,640 --> 00:01:24,780 bien, voy a darle aquí primero a presionar para decirle 17 00:01:24,780 --> 00:01:27,400 A partir de ahora empieza el programa. 18 00:01:28,400 --> 00:01:35,840 Modo gato, porque tengo aquí una instrucción que me dice que va a tener que ir al punto central de la pantalla de Scratch. 19 00:01:36,439 --> 00:01:37,780 Hago clic, se ha ido ahí. 20 00:01:38,659 --> 00:01:40,659 Aquí estaríamos bajando el lápiz. 21 00:01:41,400 --> 00:01:42,439 No vemos el lápiz. 22 00:01:42,439 --> 00:01:48,980 Y en esta y en la siguiente estaríamos dándole un tamaño al lápiz y un color a ese lápiz. 23 00:01:48,980 --> 00:01:53,760 además como estoy probando que es lo que hace el programa 24 00:01:53,760 --> 00:01:57,920 como lo hace, me viene bien una instrucción 25 00:01:57,920 --> 00:02:00,359 un comando que diga borrar la pantalla 26 00:02:00,359 --> 00:02:04,260 ahora mismo no hay nada que borrar pero voy a darle 27 00:02:04,260 --> 00:02:10,060 a continuación la siguiente instrucción ya es algo que vamos a poder 28 00:02:10,060 --> 00:02:13,199 ir viendo, apuntar en esta dirección 29 00:02:13,199 --> 00:02:18,360 hago clic, se queda en la dirección que estaba por defecto 30 00:02:18,360 --> 00:02:44,259 Y nos movemos 150 pasos, cambiamos de dirección, nos movemos 100 pasos, volvemos a cambiar de dirección, nos movemos otros 150 pasos, volvemos a cambiar por último de dirección y nos movemos los 100 pasos que nos faltan para completar ese rectángulo que es lo que hace. 31 00:02:44,259 --> 00:02:52,680 A continuación subiríamos el lápiz por si se mueve el cato y sigue dibujando 32 00:02:52,680 --> 00:02:56,020 Ahora ya no dibujaría nada y nos detenemos 33 00:02:56,020 --> 00:02:58,620 Aquí para el programa 34 00:02:58,620 --> 00:03:05,840 Bien, voy a juntar ahora todas las instrucciones estas que forman el programa propiamente dicho 35 00:03:05,840 --> 00:03:08,719 Para verlo en su estado más natural 36 00:03:08,719 --> 00:03:12,419 Que es una instrucción a continuación de la otra 37 00:03:12,419 --> 00:03:17,139 y que el ordenador ejecutará en una sola pasada 38 00:03:17,139 --> 00:03:21,060 es decir, no nos vamos a dar cuenta de cada uno de esos pasos 39 00:03:21,060 --> 00:03:24,639 que ha hecho antes para dibujar el rectángulo 40 00:03:24,639 --> 00:03:36,770 aquí estamos, voy a seleccionar del lápiz 41 00:03:36,770 --> 00:03:39,409 otra vez lo de borrar, para que veáis 42 00:03:39,409 --> 00:03:43,270 para que empecemos desde cero, borrar 43 00:03:43,270 --> 00:03:47,990 lo dejo ahí, si ahora hago clic aquí en presionar 44 00:03:47,990 --> 00:03:51,870 o en esta bandera, todas estas instrucciones 45 00:03:51,870 --> 00:03:55,969 se ejecutarán como que inicie instantáneamente a la velocidad 46 00:03:55,969 --> 00:03:59,810 a la que funciona el microprocesador de este ordenador 47 00:03:59,810 --> 00:04:04,129 con lo cual no voy a ver más que el resultado, voy a hacerle clic 48 00:04:04,129 --> 00:04:08,310 así es, veis que ha hecho 49 00:04:08,310 --> 00:04:10,990 el rectángulo pero no hemos visto los pasos 50 00:04:10,990 --> 00:04:15,990 vamos a detenernos un segundo, bueno después 51 00:04:15,990 --> 00:04:20,350 de habernos preguntado qué es un programa, ahora nos preguntamos 52 00:04:20,350 --> 00:04:23,949 qué es un algoritmo. En esta 53 00:04:23,949 --> 00:04:27,569 presentación que tenéis en la web 54 00:04:27,569 --> 00:04:32,069 aquí tengo apuntado que un programa es un algoritmo escrito en el lenguaje de los 55 00:04:32,069 --> 00:04:36,069 ordenadores. Es decir, lo que hemos visto antes también es un 56 00:04:36,069 --> 00:04:39,970 algoritmo, lo que pasa es que ese algoritmo está escrito en un 57 00:04:39,970 --> 00:04:43,689 lenguaje distinto. El lenguaje de los ordenadores se refiere 58 00:04:43,689 --> 00:04:47,589 a las instrucciones, comandos, órdenes 59 00:04:47,589 --> 00:04:51,689 que un ordenador es capaz de interpretar y de ejecutar 60 00:04:51,689 --> 00:04:55,670 las dos cosas, saber que es lo que tiene que hacer y poder 61 00:04:55,670 --> 00:04:59,329 hacerlo, tengo aquí que los algoritmos pueden 62 00:04:59,329 --> 00:05:03,829 representarse gráficamente mediante diagramas de flujo 63 00:05:03,829 --> 00:05:06,329 esquemas o diagramas de flujo 64 00:05:06,329 --> 00:05:11,629 y esos algoritmos a continuación se pueden programar para que los pueda 65 00:05:11,629 --> 00:05:18,649 ejecutar un ordenador y para ello tenemos que usar un lenguaje de programación como es scratch 66 00:05:18,649 --> 00:05:28,800 por ejemplo esto de aquí es un algoritmo este algoritmo es una secuencia de pasos que resuelven 67 00:05:28,800 --> 00:05:34,319 un determinado problema este simplemente es un ejemplo de un por decirlo así de un problema 68 00:05:34,319 --> 00:05:38,519 matemático, simplón, tiene como los programas 69 00:05:38,519 --> 00:05:42,480 un inicio y un final, y en este caso 70 00:05:42,480 --> 00:05:45,879 parece ser que hay como dos números 71 00:05:45,879 --> 00:05:50,139 porque se pueden multiplicar, A y B, nos preguntamos 72 00:05:50,139 --> 00:05:54,000 si A es menor que B, si lo es 73 00:05:54,000 --> 00:05:58,439 y es verdadero, pues resulta que ese número A que es menor que B 74 00:05:58,439 --> 00:06:02,500 lo multiplicamos por 5, lo guardamos en esta variable 75 00:06:02,500 --> 00:06:06,819 y la mostramos como resultado de la operación 76 00:06:06,819 --> 00:06:12,300 si A no es menor que B porque es igual o mayor 77 00:06:12,300 --> 00:06:16,139 saldríamos de alguna manera por esta opción 78 00:06:16,139 --> 00:06:19,660 y haríamos lo mismo, multiplicaríamos en lugar de A 79 00:06:19,660 --> 00:06:22,439 multiplicaríamos B por 5 80 00:06:22,439 --> 00:06:27,399 lo almacenamos en una variable y mostramos esa variable 81 00:06:27,399 --> 00:06:42,699 Los algoritmos, para poder representarlos, hemos de utilizar una determinada nomenclatura, unos determinados símbolos. 82 00:06:43,259 --> 00:06:53,519 Estos son los símbolos que forzosamente debemos utilizar en los algoritmos que diseñamos para resolver un determinado problema. 83 00:06:53,519 --> 00:07:03,519 son sencillos y es, este símbolo de aquí representa el inicio o el final del propio algoritmo 84 00:07:03,519 --> 00:07:06,519 nos servirá para indicar aquí empezamos o aquí acabamos 85 00:07:06,519 --> 00:07:09,779 es una especie de elipse 86 00:07:09,779 --> 00:07:19,660 este rectángulo lo utilizaremos para representar operaciones internas que hará el programa 87 00:07:19,660 --> 00:07:26,259 después cuando se convierte ese algoritmo en un programa son operaciones que nosotros no vemos 88 00:07:26,259 --> 00:07:32,560 es decir, no vemos el resultado de esas operaciones pero que el ordenador las está ejecutando 89 00:07:32,560 --> 00:07:42,160 luego tenemos este paralelogramo para representar operaciones de entrada y salida 90 00:07:42,160 --> 00:08:01,180 De entrada y salida significa que nosotros somos los que introducimos información, datos al programa, este los ejecuta, los interpreta, hace el proceso interno que corresponda y puede que nos dé el resultado de esa operación. 91 00:08:01,180 --> 00:08:04,879 Si nos da el resultado lo hace a través de una operación de salida 92 00:08:04,879 --> 00:08:11,740 Cuando nosotros introducimos los datos al programa sería una operación de entrada para el programa 93 00:08:11,740 --> 00:08:19,839 Y cuando el programa nos muestra vía pantalla, por ejemplo, vía audio, vía una impresora 94 00:08:19,839 --> 00:08:26,319 El resultado de la operación que esté realizando, esa sería una operación de salida 95 00:08:26,319 --> 00:08:33,419 Además tenemos este rombo de aquí 96 00:08:33,419 --> 00:08:43,539 Que nos permite presentar operaciones de sí, del tipo, si no, verdadero o falso 97 00:08:43,539 --> 00:08:45,840 En un programa 98 00:08:45,840 --> 00:08:48,340 En general se llaman de decisiones 99 00:08:48,340 --> 00:08:50,500 En el sentido tenemos que decir es A mayor que B 100 00:08:50,500 --> 00:08:52,820 O lo es o no lo es 101 00:08:52,820 --> 00:09:01,000 entonces este tipo de cuestiones cuyas respuestas solo pueden ser del tipo lógico 102 00:09:01,000 --> 00:09:06,980 del tipo 0 o 1, verdadero o falso, sí o no 103 00:09:06,980 --> 00:09:11,620 ese tipo de operaciones son operaciones de decisión 104 00:09:11,620 --> 00:09:14,700 y para ello hay que utilizar este símbolo 105 00:09:14,700 --> 00:09:26,700 Además de estos cuatro símbolos, tendremos las líneas que unen cada una de las operaciones que tenemos aquí. 106 00:09:26,700 --> 00:09:34,700 Cada una de las operaciones internas, operaciones de entrada y salida, de decisión, y para ello usamos las líneas de flujo. 107 00:09:36,779 --> 00:09:42,700 Os voy a mostrar, por ejemplo, este diagrama de flujo. 108 00:09:42,700 --> 00:09:46,779 Este diagrama del flujo representa un algoritmo 109 00:09:46,779 --> 00:09:48,980 Un algoritmo matemático 110 00:09:48,980 --> 00:09:52,720 ¿Qué es lo que hace este algoritmo matemático? 111 00:09:53,139 --> 00:09:55,139 En este ejemplo lo que hace es simplemente decir 112 00:09:55,139 --> 00:09:57,919 Si el número que nosotros le damos al programa 113 00:09:57,919 --> 00:09:59,840 Se trata de un número par 114 00:09:59,840 --> 00:10:02,000 En inglés es even 115 00:10:02,000 --> 00:10:04,179 O de un número impar 116 00:10:04,179 --> 00:10:05,919 En inglés es odd 117 00:10:05,919 --> 00:10:08,700 Vamos a ver si lo entendemos 118 00:10:08,700 --> 00:10:12,460 Tengo los dos símbolos que hemos dicho antes de inicio 119 00:10:12,460 --> 00:10:16,000 y finalización, siempre hay que decirle a los 120 00:10:16,000 --> 00:10:20,320 ordenadores, al ordenador hay que decirle este programa empieza ahora y detente 121 00:10:20,320 --> 00:10:26,070 cuando llegas a este punto, a continuación tenemos un paralelograma 122 00:10:26,070 --> 00:10:29,470 que hemos dicho que podría ser de entrada o de salida 123 00:10:29,470 --> 00:10:33,889 hay de hecho tres, este inicial sería de 124 00:10:33,889 --> 00:10:37,470 entrada, es decir, si este programa lo que hace es 125 00:10:37,470 --> 00:10:41,529 determinar si un número es par o impar, somos nosotros 126 00:10:41,529 --> 00:10:44,409 los que le damos el número al programa 127 00:10:44,409 --> 00:10:48,990 introducimos el número en el programa 128 00:10:48,990 --> 00:10:50,690 sería una operación de entrada 129 00:10:50,690 --> 00:10:55,230 para almacenar internamente el programa 130 00:10:55,230 --> 00:10:57,570 para almacenar el número que nosotros 131 00:10:57,570 --> 00:11:02,029 le escribamos a través del teclado 132 00:11:02,029 --> 00:11:05,470 por ejemplo, lo almacena en una variable matemática 133 00:11:05,470 --> 00:11:09,529 una variable como las que usáis exactamente en matemáticas 134 00:11:09,529 --> 00:11:13,269 A, B, C, D, X, Y, Z, N 135 00:11:13,269 --> 00:11:15,429 Aquí hay un poco más de libertad 136 00:11:15,429 --> 00:11:18,970 Pueden ser palabras que podemos utilizar también como variables 137 00:11:18,970 --> 00:11:21,789 En este caso la letra N de número 138 00:11:21,789 --> 00:11:26,850 Bien, estos símbolos, estos rombos 139 00:11:26,850 --> 00:11:30,649 Representan la toma de decisiones 140 00:11:30,649 --> 00:11:33,909 Y las respuestas, como he dicho antes 141 00:11:33,909 --> 00:11:35,850 Para esa pregunta de sí o no 142 00:11:35,850 --> 00:11:37,850 Las respuestas son verdadero o falso 143 00:11:37,850 --> 00:11:39,490 Sí o no, yes, no 144 00:11:39,490 --> 00:11:44,049 Y entonces, si nosotros hemos empezado el programa, le hemos dado un número 145 00:11:44,049 --> 00:11:46,769 Imaginad que le hemos dado el número 5 146 00:11:46,769 --> 00:11:52,070 El programa se pregunta, ¿es el número n el almacenado número 5? 147 00:11:52,629 --> 00:11:53,809 ¿Es el número 2? 148 00:11:54,690 --> 00:11:59,470 Y el mismo se responde porque así está establecido aquí 149 00:11:59,470 --> 00:12:01,750 Pues no, no es el número 2 150 00:12:01,750 --> 00:12:04,870 Si no es el número 2, se vuelve a hacer otra pregunta 151 00:12:04,870 --> 00:12:06,210 ¿Es el número 1? 152 00:12:06,210 --> 00:12:10,230 si es no, vuelve a ir por aquí 153 00:12:10,230 --> 00:12:14,029 si en lugar de haberle introducido el número 5 154 00:12:14,029 --> 00:12:16,909 lo hubiésemos introducido directamente en el número 2 155 00:12:16,909 --> 00:12:20,649 aquí se pregunta, ¿ese número que he almacenado en n es el 2? 156 00:12:21,029 --> 00:12:24,429 él diría, pues sí, y directamente nos indicaría 157 00:12:24,429 --> 00:12:26,549 a través de una operación de salida 158 00:12:26,549 --> 00:12:28,149 por ejemplo, a través del monitor 159 00:12:28,149 --> 00:12:31,309 pues n, el número 2 que hemos introducido 160 00:12:31,309 --> 00:12:32,590 es un número par 161 00:12:32,590 --> 00:12:37,210 Y de aquí iríamos al final y no diría más nada, se acabaría el programa 162 00:12:37,210 --> 00:12:40,090 Acabaría diciendo n es un número par 163 00:12:40,090 --> 00:12:44,129 Hemos dicho que hemos introducido el número 5 164 00:12:44,129 --> 00:12:48,389 Hemos visto que el 5 no es el 2, el 5 no es el 1 165 00:12:48,389 --> 00:12:51,549 Con lo cual aquí nos vamos y hace lo siguiente 166 00:12:51,549 --> 00:12:55,730 En la variable n donde hemos almacenado el número 167 00:12:55,730 --> 00:13:00,289 Ahora almacena el valor previo que tenía, 5 168 00:13:00,289 --> 00:13:04,409 Y a ese valor previo le ha restado 2 y lo almacena en n 169 00:13:04,409 --> 00:13:07,210 Cuando pasemos por aquí por primera vez 170 00:13:07,210 --> 00:13:09,830 5 menos 2 son 3 171 00:13:09,830 --> 00:13:11,389 Ahora n vale 3 172 00:13:11,389 --> 00:13:13,730 El valor actual de n es 3 173 00:13:13,730 --> 00:13:16,730 Volveríamos aquí y se pregunta 174 00:13:16,730 --> 00:13:20,190 ¿Ese número n que ahora mismo es 3 es el número 2? 175 00:13:21,029 --> 00:13:21,649 Pues no 176 00:13:21,649 --> 00:13:24,149 ¿Ese número n es el número 1? 177 00:13:24,490 --> 00:13:25,350 Pues no 178 00:13:25,350 --> 00:13:29,070 Vale, pues entonces vuelve a hacerse esta operación 179 00:13:29,070 --> 00:13:30,049 No lo he dicho 180 00:13:30,049 --> 00:13:34,649 esto es una operación interna, veis que es un rectángulo, con lo cual es una operación interna 181 00:13:34,649 --> 00:13:40,769 que nosotros no vemos que la hace, pero que internamente el microprocesador la está haciendo 182 00:13:40,769 --> 00:13:42,370 porque el programa se lo está diciendo 183 00:13:42,370 --> 00:13:48,490 teníamos n que era 3, 3 menos 2 es 1 y ahora n vale 1 184 00:13:48,490 --> 00:13:56,889 bien, pues ahora vuelve por aquí y se pregunta, ¿ese n que ahora mismo vale 1 es el número 2? 185 00:13:56,889 --> 00:14:00,590 pues no, entonces ahora aquí 186 00:14:00,590 --> 00:14:04,210 ese n es 1, si, y ya nos dice n 187 00:14:04,210 --> 00:14:09,009 aquí tendríamos que haber almacenado o guardado previamente el número 188 00:14:09,009 --> 00:14:12,789 original, el 5, vale, nos dirá pues 189 00:14:12,789 --> 00:14:17,110 n, el 5, es un número impar, y acaba el programa 190 00:14:17,110 --> 00:14:20,309 esto mismo lo tenemos aquí 191 00:14:20,309 --> 00:14:24,929 en Scratch, este mismo algoritmo 192 00:14:24,929 --> 00:14:27,909 se ha pasado a un programa 193 00:14:27,909 --> 00:14:30,929 el algoritmo es genérico 194 00:14:30,929 --> 00:14:36,009 en principio vale para cualquier tipo de programa 195 00:14:36,009 --> 00:14:39,129 vale para cualquier programa que escribamos 196 00:14:39,129 --> 00:14:42,049 con cualquier lenguaje de programación 197 00:14:42,049 --> 00:14:46,590 y en función de ese lenguaje de programación 198 00:14:46,590 --> 00:14:49,389 nos saldrán unas instrucciones u otras 199 00:14:49,389 --> 00:14:52,169 pero respetando a lo que dice el propio algoritmo 200 00:14:52,169 --> 00:14:54,730 que básicamente lo que hace es ir restando dos 201 00:14:54,730 --> 00:14:56,850 hasta llegar a dos o a uno 202 00:14:56,850 --> 00:14:59,289 aquí lo tenemos 203 00:14:59,289 --> 00:15:01,309 el programa 204 00:15:01,309 --> 00:15:04,350 aquí por comentar un poquitín por encima 205 00:15:04,350 --> 00:15:06,470 veis que primero nos 206 00:15:06,470 --> 00:15:09,629 para que el usuario se entere 207 00:15:09,629 --> 00:15:11,029 que es lo que hace el programa 208 00:15:11,029 --> 00:15:12,870 tiene que haber algún tipo de 209 00:15:12,870 --> 00:15:14,830 interacción entre ambos 210 00:15:14,830 --> 00:15:16,049 el programa y el usuario 211 00:15:16,049 --> 00:15:18,049 con lo cual aquí nos va a preguntar 212 00:15:18,049 --> 00:15:19,289 el propio programa 213 00:15:19,289 --> 00:15:21,070 es decir, nos va a mostrar por pantalla 214 00:15:21,070 --> 00:15:23,289 introduce un número entero 215 00:15:23,289 --> 00:15:28,549 vale, y espera, esto ya es una instrucción propia de este lenguaje de programación 216 00:15:28,549 --> 00:15:32,009 de Scratch, el gato nos va a preguntar eso 217 00:15:32,009 --> 00:15:35,929 bien, almacena ese número que nosotros 218 00:15:35,929 --> 00:15:39,090 introduzcamos por teclado, por ejemplo 219 00:15:39,090 --> 00:15:44,190 lo almacena la variable n, esa respuesta que nosotros damos 220 00:15:44,190 --> 00:15:46,990 en la variable n, muy bien 221 00:15:46,990 --> 00:15:52,649 a continuación guarda ese número 222 00:15:52,649 --> 00:15:56,830 original, como decía anteriormente, lo guarda en otra variable 223 00:15:56,830 --> 00:16:00,789 distinta, num, podría ser la variable 224 00:16:00,789 --> 00:16:04,490 h, eso lo de menos, aquí el programa está usando 225 00:16:04,490 --> 00:16:08,690 dos variables, una que va a ir actualizando y otra donde 226 00:16:08,690 --> 00:16:11,690 almacenamos el número original 227 00:16:11,690 --> 00:16:15,750 muy bien, ¿qué hacía el algoritmo? 228 00:16:16,330 --> 00:16:20,649 ir restándole 2 al número que nosotros le damos, pues hasta llegar 229 00:16:20,649 --> 00:16:24,809 a 2 o llegar a 1, si llega a 2 sabrá que es un número par 230 00:16:24,809 --> 00:16:27,029 si llega a 1 sabrá que es un número impar 231 00:16:27,029 --> 00:16:32,649 esto es lo que hace esta secuencia 232 00:16:33,190 --> 00:16:36,309 de aquí, este bucle de aquí, cuando se repiten varias 233 00:16:36,309 --> 00:16:40,409 órdenes hasta que se cumple una determinada condición 234 00:16:40,409 --> 00:16:44,929 a ese conjunto de órdenes que se van a repetir un número de veces 235 00:16:44,929 --> 00:16:48,549 le llamamos un bucle, de momento voy a pasar 236 00:16:48,549 --> 00:16:52,490 de comentar esto, vamos a ver que entonces 237 00:16:52,490 --> 00:16:56,049 hemos seguido las instrucciones del propio algoritmo 238 00:16:56,049 --> 00:16:59,509 si n es 2, le vamos a decir 239 00:16:59,509 --> 00:17:03,570 di, es decir, el número original 240 00:17:03,570 --> 00:17:08,630 es un número par, si no es 2 241 00:17:08,630 --> 00:17:12,829 se pregunta, es un entonces, pues si lo fuese 242 00:17:12,829 --> 00:17:16,170 el número original que tenemos en esta variable 243 00:17:16,170 --> 00:17:18,789 número es número impar 244 00:17:18,789 --> 00:17:23,869 si se acaba el programa, veis que esto se acaba 245 00:17:23,869 --> 00:17:28,410 por aquí, cuando acabe esto ya se detiene el programa 246 00:17:28,410 --> 00:17:32,569 vale, si el número no es 247 00:17:32,569 --> 00:17:36,049 inicialmente ni 2 ni 1, pues entonces entraremos 248 00:17:36,049 --> 00:17:40,230 en el bucle que hemos dicho antes y lo que vamos, no ha sido 2 249 00:17:40,230 --> 00:17:44,269 no ha sido 1, lo que vamos a hacer es ir restándole, fijaros que aquí 250 00:17:44,269 --> 00:17:48,529 al valor inicial de n, el que tengamos, le vamos a ir 251 00:17:48,529 --> 00:17:52,569 restando 2 y lo almacenamos en n, n se va a ir actualizando 252 00:17:52,569 --> 00:17:56,730 cada vez, con el número de antes, con el número 5 253 00:17:56,730 --> 00:17:59,549 podría ser que dijésemos aquí, vale 254 00:17:59,549 --> 00:18:03,950 fija, dime, introduce un número n, 5 255 00:18:03,950 --> 00:18:09,029 n vale 5 y num también vale 5 ahora mismo inicialmente 256 00:18:09,029 --> 00:18:12,470 y vamos a repetir este 257 00:18:12,470 --> 00:18:19,470 bucle hasta que n o sea 0 o sea menos 1, eso hace referencia a que tenemos que salirnos 258 00:18:19,470 --> 00:18:29,390 cuando ya hayamos pasado por 2 o hayamos pasado por 1, vale pues n es 2, si n es 2, 259 00:18:29,390 --> 00:18:36,869 n hemos dicho que es 5, hacemos esto, no lo es, si no, si nos preguntamos es n entonces 260 00:18:36,869 --> 00:18:45,609 es 1, no, y entonces acabamos aquí, n ni es 2, ni es 1 y acabamos aquí, ¿cuánto vale 261 00:18:45,609 --> 00:18:54,769 n?, pues 5 menos 2, n vale 3, como esta bucle se repite hasta que n valga 0 o menos 1 y 262 00:18:54,769 --> 00:19:05,390 ahora mismo n vale 3, ese bucle se repite, vale, pues n vale 3, n no es 2, n no es 1 263 00:19:05,390 --> 00:19:09,970 Y ahora n-2, 3-2 es 1 264 00:19:09,970 --> 00:19:15,509 Como no hemos llegado a ninguno de estos dos valores todavía 265 00:19:15,509 --> 00:19:16,950 Se repite el proceso 266 00:19:16,950 --> 00:19:18,789 ¿Es n2? No 267 00:19:18,789 --> 00:19:21,230 ¿Es n1? Sí 268 00:19:21,230 --> 00:19:26,910 Entonces va a decir el programa que el original, este num que estaba aquí 269 00:19:26,910 --> 00:19:30,230 El número original 5 es un número impar 270 00:19:30,230 --> 00:19:32,390 Durante dos segundos 271 00:19:32,390 --> 00:19:35,950 Se acaba aquí el programa, se acaba aquí 272 00:19:35,950 --> 00:19:39,730 Y como ya he repetido, como vamos a restarle 273 00:19:39,730 --> 00:19:44,049 1 menos 2 es menos 1 274 00:19:44,049 --> 00:19:48,750 Hemos llegado a una de las dos condiciones, nos salimos del programa 275 00:19:48,750 --> 00:19:53,289 Si en vez de 5 hubiese sido 6, hubiésemos llegado al 0 276 00:19:53,289 --> 00:19:57,150 6 menos 2 es 4, 4 menos 2 es 2 277 00:19:57,150 --> 00:20:01,490 2 menos 2 es 0, y entonces saldría por 0 278 00:20:01,490 --> 00:20:12,029 De ahí estos dos valores de 0 y menos 1 simplemente para poder salirnos cuando alcanzamos justamente los números 2 para pares o 1 para impares 279 00:20:12,029 --> 00:20:14,269 Vamos a ejecutarlo 280 00:20:14,269 --> 00:20:18,490 Hago clic e introduzco un número entero 281 00:20:18,490 --> 00:20:21,009 Esta frase que está aquí es la que dice 282 00:20:21,009 --> 00:20:24,890 Para el sistema esto sería una operación de salida 283 00:20:24,890 --> 00:20:27,930 Ahora yo voy a introducir el número 13 284 00:20:27,930 --> 00:20:31,789 Para el sistema esta es una operación de entrada 285 00:20:31,789 --> 00:20:34,349 Yo introduzco usando el teclado el número 13 286 00:20:34,349 --> 00:20:37,089 Y le doy a intro 287 00:20:37,089 --> 00:20:41,730 Como esto va a la velocidad del microprocesador 288 00:20:41,730 --> 00:20:45,609 Nos saca durante dos segundos 289 00:20:45,609 --> 00:20:47,490 Que voy a repetirlo 290 00:20:47,490 --> 00:20:49,930 Que ese número es un número impar 291 00:20:49,930 --> 00:20:51,609 Voy con un número 292 00:20:51,609 --> 00:20:54,990 76 para que sea par 293 00:20:54,990 --> 00:20:59,690 76 es un número par 294 00:20:59,690 --> 00:21:05,869 Y esto es la unión de lo que es un algoritmo y de lo que es un programa 295 00:21:05,869 --> 00:21:07,170 Es todo