1 00:00:00,540 --> 00:00:06,160 Vale, vamos a seguir nuestro patrón de pensamiento estructurado, organizado, 2 00:00:06,379 --> 00:00:12,820 porque aunque los ejercicios sean pequeños y rápidamente a lo mejor veáis una forma rápida de hacerlo, 3 00:00:13,400 --> 00:00:19,179 simplificada, pues nosotros vamos a seguir ahora mismo un orden muy estructurado y estricto 4 00:00:19,179 --> 00:00:23,399 para acabar de coger el tranquillo y no perdernos. 5 00:00:23,399 --> 00:00:39,640 Venga, pues entonces, nuestros pasos siempre son, leo el enunciado y miro a ver si entiendo lo que dice, lo entendemos, ¿no? Me dan cuatro números, ¿cuál es el menor y cuál es el mayor? ¿Vale? Entendemos lo que hay que hacer. 6 00:00:39,640 --> 00:00:49,520 Venga, datos de entrada, los cuatro números. Bueno, a partir de aquí ya vamos a pensar un poco en qué posibilidades se nos ocurren. 7 00:00:50,600 --> 00:01:05,140 Pues bueno, tenemos posibles salidas. Posibles salidas son que el primero sea el más pequeño, el segundo sea el más pequeño, el tercero sea el más pequeño o el cuarto sea el más pequeño. 8 00:01:05,140 --> 00:01:07,640 y que el primero sea el más pequeño 9 00:01:07,640 --> 00:01:09,439 perdón, el primero sea el más grande 10 00:01:09,439 --> 00:01:11,519 el segundo sea el más grande, el tercero sea el más grande 11 00:01:11,519 --> 00:01:12,540 o el cuarto sea el más grande 12 00:01:12,540 --> 00:01:15,180 vale, pues entonces tenemos como dos partes 13 00:01:15,180 --> 00:01:17,239 podríamos decir, vale, primero voy a ver 14 00:01:17,239 --> 00:01:19,280 cuál es el más pequeño, para lo cual 15 00:01:19,280 --> 00:01:21,439 tengo cuatro posibilidades, pues ahí ya 16 00:01:21,439 --> 00:01:23,140 seguramente con un if el 6 17 00:01:23,140 --> 00:01:24,799 para las cuatro opciones lo tenga 18 00:01:24,799 --> 00:01:27,519 y luego, para ver cuál es 19 00:01:27,519 --> 00:01:28,819 el más grande, es otra parte 20 00:01:28,819 --> 00:01:31,620 pues como ahí hay cuatro salidas, pues un if 21 00:01:31,620 --> 00:01:33,420 el 6, entonces yo ya tengo una pequeña estructura 22 00:01:33,420 --> 00:01:35,620 que es, mi programa lo voy a organizar 23 00:01:35,620 --> 00:01:35,920 en 24 00:01:35,920 --> 00:01:39,719 cuatro partes, primera, leer los datos 25 00:01:39,719 --> 00:01:43,659 segunda parte, hacer lo primero 26 00:01:43,659 --> 00:01:45,579 que me piden, que es ver cuál es el más pequeño 27 00:01:45,579 --> 00:01:47,500 vale, veo cuál es el más pequeño 28 00:01:47,500 --> 00:01:48,739 eso ya lo tengo hecho 29 00:01:48,739 --> 00:01:50,879 ahora voy a ver cuál es el más grande 30 00:01:50,879 --> 00:01:53,519 vale, hago eso, eso ya 31 00:01:53,519 --> 00:01:54,700 lo tengo hecho 32 00:01:54,700 --> 00:01:57,359 y ahora voy a mostrar los resultados 33 00:01:57,359 --> 00:01:59,239 si es que no lo he mostrado 34 00:01:59,239 --> 00:02:01,400 en su momento cuando lo he averiguado en cada parte 35 00:02:01,400 --> 00:02:03,780 entonces más o menos lo organizamos así 36 00:02:03,780 --> 00:02:06,000 ahora ya podemos pensar la primera parte 37 00:02:06,000 --> 00:02:07,140 ver cuál es el más pequeño 38 00:02:07,140 --> 00:02:09,860 como son cuatro, tengo cuatro posibilidades 39 00:02:09,860 --> 00:02:11,680 que sea el primero, el segundo, el tercero y el cuarto 40 00:02:11,680 --> 00:02:12,900 bueno, pues ahí seguramente 41 00:02:12,900 --> 00:02:15,240 o con un if, el seif 42 00:02:15,240 --> 00:02:18,400 que marca bajo qué condición 43 00:02:18,400 --> 00:02:20,479 es este camino 44 00:02:20,479 --> 00:02:21,819 o este o este o este 45 00:02:21,819 --> 00:02:24,060 de los cuatro, pues seguramente lo resuelva así 46 00:02:24,060 --> 00:02:25,860 pues ya está, con esto ya 47 00:02:25,860 --> 00:02:28,099 que he dicho más o menos en palabras y he pensado 48 00:02:28,099 --> 00:02:29,960 ya tengo una plantilla 49 00:02:29,960 --> 00:02:31,520 del ejercicio, ya bastante 50 00:02:31,520 --> 00:02:33,780 organizada en la cabeza y ya me pongo 51 00:02:33,780 --> 00:02:34,680 a programar 52 00:02:34,680 --> 00:02:37,659 que luego me queda algo y digo, bueno, si esto 53 00:02:37,659 --> 00:02:40,020 seguramente lo podría haber simplificado así, pues ya está 54 00:02:40,020 --> 00:02:41,800 ya lo simplificaré, pero ahora mismo 55 00:02:41,800 --> 00:02:43,939 lo vamos 56 00:02:43,939 --> 00:02:45,860 estructurando, venga 57 00:02:45,860 --> 00:02:47,719 pues nada 58 00:02:47,719 --> 00:02:49,819 este estábamos hablando que era 59 00:02:49,819 --> 00:02:50,319 el 60 00:02:50,319 --> 00:03:00,300 11, ejercicio 11 61 00:03:00,300 --> 00:03:09,240 vale, vale 62 00:03:09,240 --> 00:03:11,300 entonces leer, como vamos a tener 63 00:03:11,300 --> 00:03:13,360 que leer números, pues esto ya lo 64 00:03:13,360 --> 00:03:19,789 cogemos y por 65 00:03:19,789 --> 00:03:21,629 comodidad le vamos a poner un único 66 00:03:21,629 --> 00:03:23,569 mensajito, introduzca cuatro enteros 67 00:03:23,569 --> 00:03:25,449 seguidos y luego ya según declaro hago el 68 00:03:25,449 --> 00:03:46,639 nesín, nesín, nesín, vale 69 00:03:46,639 --> 00:03:48,840 y ahora ya los voy a declarar aquí 70 00:03:48,840 --> 00:03:50,120 n1 71 00:03:50,120 --> 00:03:52,259 igual a 72 00:03:52,259 --> 00:04:03,629 y así con todos 73 00:04:03,629 --> 00:04:24,860 vale, pues me sobra 74 00:04:24,860 --> 00:04:26,899 aquí esta coma, bueno 75 00:04:26,899 --> 00:04:28,459 pues ya tengo los cuatro números 76 00:04:28,459 --> 00:04:30,779 declarados, declarados en la 77 00:04:30,779 --> 00:04:32,899 misma línea, por tanto las separaciones 78 00:04:32,899 --> 00:04:33,980 están con coma 79 00:04:33,980 --> 00:04:36,339 y a la vez que los declaro ya les doy 80 00:04:36,339 --> 00:04:38,319 un primer valor, a la vez que los declaro 81 00:04:38,319 --> 00:04:39,399 los estoy inicializando 82 00:04:39,399 --> 00:04:42,699 con la particularidad de que los estoy inicializando 83 00:04:42,699 --> 00:04:43,459 con un valor 84 00:04:43,459 --> 00:04:46,319 que se va a introducir por teclado, luego hasta que no se 85 00:04:46,319 --> 00:04:48,560 introduzca, aquí la consola está esperando 86 00:04:48,560 --> 00:04:50,199 y aquí está esperando y aquí 87 00:04:50,199 --> 00:04:51,920 y aquí, vale 88 00:04:51,920 --> 00:04:53,980 la primera parte de leer los datos ya la tengo 89 00:04:53,980 --> 00:04:56,019 entonces yo ahora ya digo, venga pues 90 00:04:56,019 --> 00:04:57,480 no me lío, voy a hacer la primera 91 00:04:57,480 --> 00:04:59,300 ver cuál es el mayor de todos 92 00:04:59,300 --> 00:05:01,720 entonces tenemos dos opciones, no, perdón 93 00:05:01,720 --> 00:05:34,939 Tenemos cuatro opciones. O bien, el mayor es N1 y esto mismo con cualquiera de los otros. No sé qué va a pasar, pero una de ellas va a pasar. No sé cuál va a pasar, pero una de ellas va a pasar. 94 00:05:34,939 --> 00:05:38,519 vale, entonces tengo cuatro posibilidades 95 00:05:38,519 --> 00:05:41,740 aquí por lo menos tres if 96 00:05:41,740 --> 00:05:44,560 vale, un if me abre dos caminos 97 00:05:44,560 --> 00:05:46,720 dos if me abren tres caminos 98 00:05:46,720 --> 00:05:48,699 tres if me abren cuatro caminos 99 00:05:48,699 --> 00:05:52,480 cada if, el número de ifs es una unidad inferior 100 00:05:52,480 --> 00:05:53,740 a los caminos que me abren 101 00:05:53,740 --> 00:05:56,420 entonces en este caso, pues bueno 102 00:05:56,420 --> 00:05:58,680 los voy a separar con if, else, if 103 00:05:58,680 --> 00:05:59,480 y así no los han ido 104 00:05:59,480 --> 00:06:02,259 el primer caso cuando va a ser 105 00:06:02,259 --> 00:06:04,860 si n1 es mayor que todos los demás 106 00:06:04,860 --> 00:06:06,779 mayor o igual que n2 107 00:06:06,779 --> 00:06:08,980 y así con todos 108 00:06:08,980 --> 00:06:11,560 y n1 109 00:06:11,560 --> 00:06:12,939 es mayor o igual 110 00:06:12,939 --> 00:06:15,740 que n3 111 00:06:15,740 --> 00:06:19,060 y n1 112 00:06:19,060 --> 00:06:20,300 es mayor o igual 113 00:06:20,300 --> 00:06:22,100 que n4 114 00:06:22,100 --> 00:06:23,939 pues si se cumple esa condición 115 00:06:23,939 --> 00:06:25,579 este es el mayor 116 00:06:25,579 --> 00:06:27,480 como he puesto mayor o igual 117 00:06:27,480 --> 00:06:30,579 no significa que sea el único mayor 118 00:06:30,579 --> 00:06:33,779 si es igual a alguno de los otros 119 00:06:33,779 --> 00:06:35,519 pues sería el mayor junto con otro 120 00:06:35,519 --> 00:06:37,399 pero da igual, el resultado estaría bien dado 121 00:06:37,399 --> 00:06:39,500 vale 122 00:06:39,500 --> 00:06:41,920 entonces, si se cumple esta condición 123 00:06:41,920 --> 00:06:44,040 el programa va a ir por aquí, que es lo que yo quiero 124 00:06:44,040 --> 00:06:45,259 pero ¿qué pasa 125 00:06:45,259 --> 00:06:46,839 si no se cumple? 126 00:06:47,439 --> 00:06:49,959 si no se cumple, de nuevo se me abren dos ramas 127 00:06:49,959 --> 00:06:51,980 o bien el mayor 128 00:06:51,980 --> 00:06:53,759 es n, o se me abren tres 129 00:06:53,759 --> 00:06:55,459 en realidad, o bien el mayor es n2 130 00:06:55,459 --> 00:06:57,500 o bien el mayor es n3, o bien el mayor es n4 131 00:06:57,500 --> 00:06:59,060 entonces yo aquí podría 132 00:06:59,060 --> 00:07:01,079 claro, podría yo aquí 133 00:07:01,079 --> 00:07:03,500 poner otro if, voy a ver si estoy en el segundo 134 00:07:03,500 --> 00:07:05,699 caso, ¿verdad? lo voy a poner con anidados 135 00:07:05,699 --> 00:07:07,240 y luego el save, para que quede claro 136 00:07:07,240 --> 00:07:09,819 vale, el n1 no es el mayor 137 00:07:09,819 --> 00:07:11,680 bueno, voy a ver si es el n2 138 00:07:11,680 --> 00:07:16,389 el mayor, pongo aquí 139 00:07:16,389 --> 00:07:18,389 esto cambiando, n2 es 140 00:07:18,389 --> 00:07:20,569 mayor o igual que n1 y 141 00:07:20,569 --> 00:07:22,610 n2 es mayor o igual 142 00:07:22,610 --> 00:07:24,110 que n3 y 143 00:07:24,110 --> 00:07:26,389 n2 es mayor o igual 144 00:07:26,389 --> 00:07:27,050 que n4 145 00:07:27,050 --> 00:07:29,110 en este caso 146 00:07:29,110 --> 00:07:35,399 se cumpliría esta rama 147 00:07:35,399 --> 00:07:38,259 vale, pero que pasa si tampoco 148 00:07:38,259 --> 00:07:39,560 tampoco eso 149 00:07:39,560 --> 00:07:42,180 pues si tampoco eso 150 00:07:42,180 --> 00:07:44,040 de nuevo tengo otras dos posibilidades 151 00:07:44,040 --> 00:07:45,259 de nuevo tengo otras dos 152 00:07:45,259 --> 00:07:47,899 pues voy a ver 153 00:07:47,899 --> 00:07:50,279 si la que se 154 00:07:50,279 --> 00:07:51,899 cumple ahora es que el mayor sea n3 155 00:07:51,899 --> 00:07:53,519 vamos a verlo 156 00:07:53,519 --> 00:07:55,720 pues está aquí dentro 157 00:07:55,720 --> 00:07:58,459 pero ahora con n3 158 00:07:58,459 --> 00:08:00,540 n3 es mayor o igual que n1 159 00:08:00,540 --> 00:08:02,519 y n3 es mayor o igual 160 00:08:02,519 --> 00:08:04,379 que n2 161 00:08:04,379 --> 00:08:08,439 y N3 es mayor o igual que N4 162 00:08:08,439 --> 00:08:10,860 sí, ah, pues ya tengo esta 163 00:08:10,860 --> 00:08:15,699 y si tampoco 164 00:08:15,699 --> 00:08:19,540 pues si no se ha cumplido esta 165 00:08:19,540 --> 00:08:31,490 me ha desaparecido el 166 00:08:31,490 --> 00:08:37,539 si no se ha cumplido esta, luego estoy en el else 167 00:08:37,539 --> 00:08:41,139 y tampoco se ha cumplido esta, luego he entrado en el else 168 00:08:41,139 --> 00:08:44,559 y tampoco se ha cumplido esta, no se ha cumplido ni la DN1 169 00:08:44,559 --> 00:08:47,639 ni la DN2, ni la DN3, no se ha cumplido ninguna de ellas 170 00:08:47,639 --> 00:08:50,019 es porque entonces el mayor es n4 171 00:08:50,019 --> 00:08:51,200 pues esa es la que me falta ahí, ¿no? 172 00:09:00,000 --> 00:09:02,259 vale, pues aquí he contemplado 173 00:09:02,259 --> 00:09:04,179 las cuatro opciones y efectivamente 174 00:09:04,179 --> 00:09:06,259 hay tres if, tiene que haber 175 00:09:06,259 --> 00:09:08,039 tres if para que haya cuatro posibilidades 176 00:09:08,039 --> 00:09:09,440 ¿vale? 177 00:09:10,120 --> 00:09:12,279 aquí, a ver, mirad en la 178 00:09:12,279 --> 00:09:14,139 sintaxis, lo que se hace 179 00:09:14,139 --> 00:09:15,659 en la rama del sí de este if 180 00:09:15,659 --> 00:09:18,539 es sólo esta sentencia, sólo esta 181 00:09:18,539 --> 00:09:20,480 por eso no he puesto llaves 182 00:09:20,480 --> 00:09:21,559 por eso no la he puesto 183 00:09:21,559 --> 00:09:24,320 aunque repito, lo recomendable es siempre 184 00:09:24,320 --> 00:09:25,860 ponerla sobre todo ahora para no liarse 185 00:09:25,860 --> 00:09:28,539 ¿vale? pero no lo he puesto 186 00:09:28,539 --> 00:09:29,600 ahora para que 187 00:09:29,600 --> 00:09:31,440 recordad que 188 00:09:31,440 --> 00:09:34,419 no hace falta y solo hay una, ¿y qué pasa en el ELSE? 189 00:09:35,379 --> 00:09:36,360 pues en el ELSE 190 00:09:36,360 --> 00:09:38,440 lo que hay en el ELSE de nuevo es una única 191 00:09:38,440 --> 00:09:39,519 sentencia, es esta 192 00:09:39,519 --> 00:09:42,200 solo hay esta, lo que hay en el ELSE 193 00:09:42,200 --> 00:09:44,179 solo hay esta, con lo cual 194 00:09:44,179 --> 00:09:46,240 esta llave del ELSE también es 195 00:09:46,240 --> 00:09:48,299 opcional, y la voy a quitar para que 196 00:09:48,299 --> 00:09:50,220 se vea claro, porque 197 00:09:50,220 --> 00:09:52,240 este ELSE tiene dentro una 198 00:09:52,240 --> 00:09:54,139 única sentencia, que es toda esta 199 00:09:54,139 --> 00:09:57,159 recordad que dije que la sentencia de decisión 200 00:09:57,159 --> 00:09:58,100 es una 201 00:09:58,100 --> 00:10:01,220 una única línea de código, no muchas 202 00:10:01,220 --> 00:10:03,259 pero es una única sentencia 203 00:10:03,259 --> 00:10:04,659 eso es solo una sentencia 204 00:10:04,659 --> 00:10:06,340 que es la sentencia if con su else 205 00:10:06,340 --> 00:10:09,100 y como es la única que está dentro del else 206 00:10:09,100 --> 00:10:11,059 como es la única, yo puedo no poner 207 00:10:11,059 --> 00:10:12,940 llaves ahí, puedo no ponerlas 208 00:10:12,940 --> 00:10:14,480 porque solo tiene esa, vale 209 00:10:14,480 --> 00:10:16,539 pues ahora me meto en este if 210 00:10:16,539 --> 00:10:19,259 este if efectivamente solo tiene una dentro 211 00:10:19,259 --> 00:10:20,580 solo tiene una dentro 212 00:10:20,580 --> 00:10:22,320 luego puedo no ponerle llaves 213 00:10:22,320 --> 00:10:24,240 y ahora tengo este else 214 00:10:24,240 --> 00:10:26,320 y este else que tiene ahí dentro, también una única 215 00:10:26,320 --> 00:10:27,419 sentencia, esta 216 00:10:27,419 --> 00:10:30,279 solo tiene una, que es esa, una sentencia 217 00:10:30,279 --> 00:10:32,340 compleja, porque es de decisión, pero solo una 218 00:10:32,340 --> 00:10:34,059 con lo cual esta llave 219 00:10:34,059 --> 00:10:35,600 también se la puedo quitar 220 00:10:35,600 --> 00:10:38,720 si las pones 221 00:10:38,720 --> 00:10:40,220 es lo recomendable, pero las estoy 222 00:10:40,220 --> 00:10:42,179 quitando a propósito para que quede 223 00:10:42,179 --> 00:10:44,440 claro que esto es una única sentencia 224 00:10:44,440 --> 00:10:46,019 la sentencia edición if 225 00:10:46,019 --> 00:10:48,159 una única sentencia, no confundáis con 226 00:10:48,159 --> 00:10:50,120 una línea de código con sentencia 227 00:10:50,120 --> 00:10:51,539 eso es una única sentencia if 228 00:10:51,539 --> 00:10:52,899 toda en pack 229 00:10:52,899 --> 00:10:55,720 que va dentro del ELSE, es la única sentencia 230 00:10:55,720 --> 00:10:56,620 del ELSE, ¿vale? 231 00:10:57,059 --> 00:10:59,019 entonces mi ELSEIF, el SEIF este 232 00:10:59,019 --> 00:11:01,700 no tiene ninguna llave, ni le hace falta 233 00:11:01,700 --> 00:11:03,580 en este caso, porque dentro de cada 234 00:11:03,580 --> 00:11:05,360 EIF y cada ELSE solo hay una sentencia 235 00:11:05,360 --> 00:11:06,519 ni le hace falta, ¿vale? 236 00:11:07,519 --> 00:11:09,840 bueno, pues esta parte de ver cuál es el mayor 237 00:11:09,840 --> 00:11:11,480 ya estaría 238 00:11:11,480 --> 00:11:13,539 lo que pasa es que, bueno, queda 239 00:11:13,539 --> 00:11:14,100 feo 240 00:11:14,100 --> 00:11:17,000 otro viene, mira este código 241 00:11:17,000 --> 00:11:19,159 y madre mía, tiene muchos 242 00:11:19,159 --> 00:11:21,100 IFANIDADOS, entonces le cuesta 243 00:11:21,100 --> 00:11:23,139 más ve realmente que hace 244 00:11:23,139 --> 00:11:25,240 esto, porque tiene que ir entrando en los else 245 00:11:25,240 --> 00:11:26,399 entonces 246 00:11:26,399 --> 00:11:28,960 aquí que situación tenemos, la que hemos dicho 247 00:11:28,960 --> 00:11:30,919 tengo un else y un if anidado dentro 248 00:11:30,919 --> 00:11:33,120 esto lo puedo representar 249 00:11:33,120 --> 00:11:34,379 con un else if 250 00:11:34,379 --> 00:11:36,539 y así 251 00:11:36,539 --> 00:11:39,059 lo que hace el código queda más claro 252 00:11:39,059 --> 00:11:40,960 entonces, lo anterior 253 00:11:40,960 --> 00:11:42,919 con else if queda un poco más bonito 254 00:11:42,919 --> 00:11:46,429 queda un poco más bonito 255 00:11:46,429 --> 00:11:48,909 y sería esto 256 00:11:48,909 --> 00:11:57,169 sería 257 00:11:57,169 --> 00:11:59,830 que se cumple la primera 258 00:11:59,830 --> 00:12:05,529 vale, el seif 259 00:12:05,529 --> 00:12:07,250 si no la 260 00:12:07,250 --> 00:12:09,509 segunda, pues esto 261 00:12:09,509 --> 00:12:11,230 claro, que 262 00:12:11,230 --> 00:12:12,470 el seif la otra 263 00:12:12,470 --> 00:12:24,519 y ya que no, entonces 264 00:12:24,519 --> 00:12:26,519 este código y el de arriba son iguales 265 00:12:26,519 --> 00:12:28,559 pero aquí se ve más claro que estos 266 00:12:28,559 --> 00:12:30,000 son cuatro ramas 267 00:12:30,000 --> 00:12:32,539 ¿vale? aquí se ve 268 00:12:32,539 --> 00:12:34,539 mucho más claro que mi programa va 269 00:12:34,539 --> 00:12:36,519 por cuatro caminos distintos, porque los veo 270 00:12:36,519 --> 00:12:38,399 todos ahí, o este, o este, o este 271 00:12:38,399 --> 00:12:40,399 o este, no están ahí como anidados 272 00:12:40,399 --> 00:12:45,600 y además cada rama veo muy cerquita, automáticamente encima de ella, 273 00:12:45,700 --> 00:12:47,100 la condición a la que están asociadas. 274 00:12:47,820 --> 00:12:51,440 Este código y el de arriba son idénticos, pero en este veo claramente 275 00:12:51,440 --> 00:12:54,840 que tengo cuatro posibilidades para mi programa, 276 00:12:54,980 --> 00:12:58,179 que salga por aquí, que salga por aquí, que salga por aquí, que salga por aquí 277 00:12:58,179 --> 00:13:03,179 y además veo cada una de las posibilidades a qué condición está asociada. 278 00:13:03,700 --> 00:13:06,620 La de arriba está asociada a esta condición, esta está asociada a esta, 279 00:13:06,799 --> 00:13:10,120 esta a esta y esta a ninguna de las anteriores, a ninguna. 280 00:13:10,399 --> 00:13:19,879 y recordad que son excluyentes la máquina virtual funciona entra primero por aquí que 281 00:13:19,879 --> 00:13:26,779 ésta es true que ésta es true se va lo que hay dentro y se acabó ya no hace nada más hemos 282 00:13:26,779 --> 00:13:34,299 terminado continúa hacia abajo que está es falso entonces así que mira esto pero en cuanto encuentra 283 00:13:34,299 --> 00:13:36,539 una true hace lo que hay dentro 284 00:13:36,539 --> 00:13:38,379 y fuera, se acabó 285 00:13:38,379 --> 00:13:40,620 a ver, esto es importante 286 00:13:40,620 --> 00:13:41,779 porque podría ocurrir 287 00:13:41,779 --> 00:13:43,019 que 288 00:13:43,019 --> 00:13:45,600 no es este el caso 289 00:13:45,600 --> 00:13:48,120 bueno, si es el caso, podría ocurrir 290 00:13:48,120 --> 00:13:50,620 que se den varias condiciones simultáneamente 291 00:13:50,620 --> 00:13:52,480 imaginaos en este 292 00:13:52,480 --> 00:13:53,879 caso que 293 00:13:53,879 --> 00:13:56,559 yo meto cuatro números 294 00:13:56,559 --> 00:13:57,759 iguales 295 00:13:57,759 --> 00:14:00,620 imaginaos que meto cuatro números iguales 296 00:14:00,620 --> 00:14:02,240 en este caso 297 00:14:02,240 --> 00:14:03,299 son true todas 298 00:14:03,299 --> 00:14:05,139 ¿verdad? que serían true todas 299 00:14:05,139 --> 00:14:06,279 las tres primeras 300 00:14:06,279 --> 00:14:08,279 serían true las tres primeras 301 00:14:08,279 --> 00:14:09,059 ¿verdad? 302 00:14:10,340 --> 00:14:12,580 entonces, ¿qué haría la máquina virtual? 303 00:14:12,779 --> 00:14:13,639 evalúa la primera 304 00:14:13,639 --> 00:14:15,240 como esa es cierta 305 00:14:15,240 --> 00:14:17,519 hace lo que hay aquí 306 00:14:17,519 --> 00:14:18,720 y ya está 307 00:14:18,720 --> 00:14:21,320 y no evalúa ninguna más 308 00:14:21,320 --> 00:14:24,059 aunque también sean ciertas, da igual 309 00:14:24,059 --> 00:14:25,159 no va a entrar por este camino 310 00:14:25,159 --> 00:14:28,779 en cuanto encuentra una que es cierta 311 00:14:28,779 --> 00:14:30,620 hace lo que hay aquí y continúa 312 00:14:30,620 --> 00:14:32,580 en este ejemplo nuestro en concreto 313 00:14:32,580 --> 00:14:34,220 en este ejemplo nuestro, es que 314 00:14:34,220 --> 00:14:36,519 queremos que funcione así, en cuanto una 315 00:14:36,519 --> 00:14:38,580 es cierta, dice, ah, eso es lo que hay que 316 00:14:38,580 --> 00:14:40,279 hacer, y el resto paso 317 00:14:40,279 --> 00:14:42,580 o sea, en el caso raro 318 00:14:42,580 --> 00:14:44,240 que serían los cuatro iguales 319 00:14:44,240 --> 00:14:46,500 pues si los cuatro iguales, esta sería true 320 00:14:46,500 --> 00:14:48,559 diría el mayor es el primero 321 00:14:48,559 --> 00:14:50,340 que es igual que los demás, luego estaría bien 322 00:14:50,340 --> 00:14:51,879 y ya esta no las evalúa 323 00:14:51,879 --> 00:14:54,440 ¿vale? pero simplemente 324 00:14:54,440 --> 00:14:55,980 que sepáis que ese es el funcionamiento 325 00:14:55,980 --> 00:14:58,580 porque en función de 326 00:14:58,580 --> 00:15:00,460 cómo haga una 327 00:15:00,460 --> 00:15:02,039 de las cosas, a lo mejor podría pensar 328 00:15:02,039 --> 00:15:04,639 Oye, si se cumple tanto esta como esta 329 00:15:04,639 --> 00:15:06,399 Quiero que me haga las dos cosas 330 00:15:06,399 --> 00:15:08,820 Pues no lo hagáis con un if-else-if 331 00:15:08,820 --> 00:15:09,940 No lo hagáis así 332 00:15:09,940 --> 00:15:12,039 Si queréis que 333 00:15:12,039 --> 00:15:14,580 Se haga esto 334 00:15:14,580 --> 00:15:15,980 Si se cumple esta 335 00:15:15,980 --> 00:15:17,940 Y también esto, si se cumple esta 336 00:15:17,940 --> 00:15:20,240 Tendréis que separarlo en dos if separados 337 00:15:20,240 --> 00:15:21,919 ¿Vale? 338 00:15:22,419 --> 00:15:23,720 Voy a ponerlo aquí 339 00:15:23,720 --> 00:15:32,120 Por ejemplo, vamos a imaginar que tenemos 340 00:15:32,120 --> 00:15:33,179 Una 341 00:15:33,179 --> 00:15:36,460 Condición aquí, para que el compilador 342 00:15:36,460 --> 00:15:37,860 no se ponga tonto 343 00:15:37,860 --> 00:15:42,720 voy a poner aquí, vamos a ver que tenemos una condición 344 00:15:42,720 --> 00:15:44,519 que ahora mismo le doy true, ya está, me da igual 345 00:15:44,519 --> 00:15:46,360 lo que valga, vale, me da igual lo que valga 346 00:15:46,360 --> 00:15:47,279 entonces 347 00:15:47,279 --> 00:15:50,120 una condición 1 348 00:15:50,120 --> 00:15:52,139 y yo tengo aquí 349 00:15:52,139 --> 00:15:54,820 una condición 350 00:15:54,820 --> 00:15:55,299 2 351 00:15:55,299 --> 00:15:58,419 me da igual lo que valga, da igual, es solo 352 00:15:58,419 --> 00:15:59,879 para declarar una variable condición 353 00:15:59,879 --> 00:16:02,460 y ahora voy a hacer un if, el se if 354 00:16:02,460 --> 00:16:06,379 este if condición 1 355 00:16:06,379 --> 00:16:08,059 pues aquí hago 356 00:16:08,059 --> 00:16:09,559 lo que sea 357 00:16:09,559 --> 00:16:11,679 y luego pongo aquí 358 00:16:11,679 --> 00:16:16,960 un else if 359 00:16:16,960 --> 00:16:19,240 condición 2 360 00:16:19,240 --> 00:16:21,519 y aquí hago lo que sea 361 00:16:21,519 --> 00:16:23,940 y el else aquí también es opcional 362 00:16:23,940 --> 00:16:26,080 puede estar o no, si no está significa 363 00:16:26,080 --> 00:16:28,080 que si no se cumple ni esta ni esta 364 00:16:28,080 --> 00:16:29,980 no se hace nada, vale, entonces voy a 365 00:16:29,980 --> 00:16:31,460 no ponerlo 366 00:16:31,460 --> 00:16:34,639 vale, pues entonces 367 00:16:34,639 --> 00:16:36,700 vosotros veis este código 368 00:16:36,700 --> 00:16:39,440 y uno podría pensar 369 00:16:39,440 --> 00:16:41,159 uno podría pensar así de buenas a primeras 370 00:16:41,159 --> 00:16:43,480 como se cumple la primera se hace esto 371 00:16:43,480 --> 00:16:45,899 pero es que también se cumple la segunda 372 00:16:45,899 --> 00:16:47,200 luego también se hace esto 373 00:16:47,200 --> 00:16:49,980 podría a lo mejor uno pensar, si lo ve de buenas a primeras 374 00:16:49,980 --> 00:16:51,960 ese código hecho, que el resultado 375 00:16:51,960 --> 00:16:54,019 va a ser ejecutar las dos cosas 376 00:16:54,019 --> 00:16:55,860 ¿verdad? porque se cumple 377 00:16:55,860 --> 00:16:57,220 tanto la primera como la segunda 378 00:16:57,220 --> 00:16:59,080 pero no, no funciona así 379 00:16:59,080 --> 00:17:01,740 la máquina virtual entra por aquí 380 00:17:01,740 --> 00:17:04,319 ¿esta se cumple? sí, pues hace esto 381 00:17:04,319 --> 00:17:06,000 y terminó, ya se va 382 00:17:06,000 --> 00:17:07,420 abajo y terminó, ¿vale? 383 00:17:08,420 --> 00:17:09,740 que vosotros queréis 384 00:17:09,740 --> 00:17:11,420 que como se cumplen las dos 385 00:17:11,420 --> 00:17:14,059 Cuando se cumplan las dos, que se hagan las dos cosas 386 00:17:14,059 --> 00:17:15,420 Hay que transformar este código 387 00:17:15,420 --> 00:17:17,839 Y lo tendréis que transformar 388 00:17:17,839 --> 00:17:18,980 En este código de aquí 389 00:17:18,980 --> 00:17:21,519 Si condición uno 390 00:17:21,519 --> 00:17:22,500 Entonces 391 00:17:22,500 --> 00:17:26,500 Sentencias 392 00:17:26,500 --> 00:17:28,799 Y ahora ese if se acabó 393 00:17:28,799 --> 00:17:30,200 Empieza otro if nuevo 394 00:17:30,200 --> 00:17:34,019 Si condición dos 395 00:17:34,019 --> 00:17:35,980 Entonces 396 00:17:35,980 --> 00:17:38,559 Sentencias 397 00:17:38,559 --> 00:17:43,960 ¿Vale? O sea, estos son 398 00:17:43,960 --> 00:17:45,500 Dos códigos distintos 399 00:17:45,500 --> 00:17:48,200 que funcionan de forma completamente distinta 400 00:17:48,200 --> 00:17:49,819 en esta 401 00:17:49,819 --> 00:17:51,980 si se cumplen las dos condiciones 402 00:17:51,980 --> 00:17:53,839 solo se va a ejecutar esto 403 00:17:53,839 --> 00:17:55,839 solo esto, pero en este 404 00:17:55,839 --> 00:17:58,319 si se cumplen las dos condiciones 405 00:17:58,319 --> 00:18:00,000 se va a ejecutar las dos 406 00:18:00,000 --> 00:18:01,440 porque son dos ifs independientes 407 00:18:01,440 --> 00:18:03,380 son dos sentencias if, primero esta 408 00:18:03,380 --> 00:18:05,220 se cumple, hago esto, acabo 409 00:18:05,220 --> 00:18:06,880 me voy a la siguiente sentencia 410 00:18:06,880 --> 00:18:09,680 que es otro if, evalúo, se cumple, se acabó 411 00:18:09,680 --> 00:18:11,299 son dos sentencias independientes 412 00:18:11,299 --> 00:18:12,380 ¿vale? 413 00:18:13,059 --> 00:18:15,059 pero esta es una única sentencia 414 00:18:15,059 --> 00:18:17,119 Entonces, cuando esta se cumpla 415 00:18:17,119 --> 00:18:18,500 Se hará esto y se acabó 416 00:18:18,500 --> 00:18:20,619 Hemos terminado la sentencia, seguimos por aquí 417 00:18:20,619 --> 00:18:21,720 ¿Vale? 418 00:18:25,140 --> 00:18:26,099 Bueno, pues entonces 419 00:18:26,099 --> 00:18:29,119 Esto está claro, ¿no? 420 00:18:30,759 --> 00:18:31,720 Bueno, lo voy a 421 00:18:31,720 --> 00:18:57,619 Vale, y aquí se hacen las dos cosas 422 00:18:57,619 --> 00:19:04,240 Bueno, esto como no molesta 423 00:19:04,240 --> 00:19:05,160 Aquí, lo dejo aquí 424 00:19:05,160 --> 00:19:08,160 Vale, pues entonces 425 00:19:08,160 --> 00:19:10,440 Ya tendríamos aquí 426 00:19:10,440 --> 00:19:11,880 ¿Cuál es el mayor? 427 00:19:13,980 --> 00:19:15,759 Y ahora, ¿qué me falta del ejercicio? 428 00:19:15,759 --> 00:19:17,740 cuál es el menor, por lo mismo, pero cambiando 429 00:19:17,740 --> 00:19:19,299 el mayor igual por el menor igual 430 00:19:19,299 --> 00:19:20,980 pues ya está 431 00:19:20,980 --> 00:19:34,700 entonces 432 00:19:34,700 --> 00:19:41,700 cambiamos todo esto por menor 433 00:19:41,700 --> 00:19:51,920 y cambiamos esto 434 00:19:51,920 --> 00:20:20,269 por menor, vale 435 00:20:20,269 --> 00:20:21,789 entonces 436 00:20:21,789 --> 00:20:23,589 pues ya está, esta es una versión 437 00:20:23,589 --> 00:20:25,890 una versión del programa 438 00:20:25,890 --> 00:20:28,130 hecha en partes, primero leo 439 00:20:28,130 --> 00:20:29,670 ahora 440 00:20:29,670 --> 00:20:32,069 voy a ver cuál es el mayor 441 00:20:32,069 --> 00:20:34,289 tengo cuatro posibilidades, cuatro ramas 442 00:20:34,289 --> 00:20:36,970 aquí está con if, if, if anidado 443 00:20:36,970 --> 00:20:38,609 aquí compacto 444 00:20:38,609 --> 00:20:39,329 que queda más bonito 445 00:20:39,329 --> 00:20:42,910 y ahora, segunda parte, voy a ver cuál es el menor 446 00:20:42,910 --> 00:20:44,789 como tengo cuatro posibilidades, cuatro ramas 447 00:20:44,789 --> 00:20:46,509 pues de nuevo un if, if, if con las cuatro 448 00:20:46,509 --> 00:20:48,670 con las tres condiciones, la que no y ya está 449 00:20:48,670 --> 00:20:50,450 y esa es una manera 450 00:20:50,450 --> 00:20:51,809 cómoda y fácil de hacerlo 451 00:20:51,809 --> 00:20:53,890 pues 452 00:20:53,890 --> 00:20:56,329 que se puede hacerlo de otra manera, por supuesto 453 00:20:56,329 --> 00:20:58,529 no lo puedo ir enfocando, a lo mejor hay número por número 454 00:20:58,529 --> 00:21:00,029 vale, vas 455 00:21:00,029 --> 00:21:01,970 el primero, vas a ver si es 456 00:21:01,970 --> 00:21:04,309 o sea, te haces dos variables, mayor y menor 457 00:21:04,309 --> 00:21:06,269 y las vas rellenando, el primero 458 00:21:06,269 --> 00:21:08,210 lo cumple, pues ya tengo el mayor relleno 459 00:21:08,210 --> 00:21:09,509 ahora, el menor 460 00:21:09,509 --> 00:21:12,690 lo mismo, lo podéis 461 00:21:12,690 --> 00:21:14,269 haber planteado de muchas otras maneras 462 00:21:14,269 --> 00:21:16,549 más cómodo, más corto, más 463 00:21:16,549 --> 00:21:18,170 como se os haya ocurrido, dime 464 00:21:18,170 --> 00:21:20,269 por ejemplo, si hay más 465 00:21:20,269 --> 00:21:25,130 ¿cómo si hay más de un número? 466 00:21:25,289 --> 00:21:26,430 imagínate, en el mes 467 00:21:26,430 --> 00:21:28,049 a ver, en el examen he enunciado 468 00:21:28,049 --> 00:21:30,529 la idea es que deje muy claro todo 469 00:21:30,529 --> 00:21:33,109 por ejemplo, pues asume 470 00:21:33,109 --> 00:21:34,910 que solo pueden ser números distintos 471 00:21:34,910 --> 00:21:37,150 Si hay alguna ambigüedad 472 00:21:37,150 --> 00:21:38,789 La vamos a intentar definir 473 00:21:38,789 --> 00:21:41,670 Y si leéis un enunciado y veis que hay alguna ambigüedad 474 00:21:41,670 --> 00:21:42,369 Pues lo preguntáis 475 00:21:42,369 --> 00:21:44,029 Y en este caso, ¿qué hago? 476 00:21:44,529 --> 00:21:45,170 Pues lo preguntáis 477 00:21:45,170 --> 00:21:46,769 Este caso no lo tengas en cuenta 478 00:21:46,769 --> 00:21:55,119 Vamos a hacer 479 00:21:55,119 --> 00:21:56,960 El 13 480 00:21:56,960 --> 00:21:59,799 Y así introducimos 481 00:21:59,799 --> 00:22:01,700 Y luego ya también podemos corregir algún otro 482 00:22:01,700 --> 00:22:04,039 Que veáis por aquí medio raro 483 00:22:04,039 --> 00:22:06,980 Vamos a 484 00:22:06,980 --> 00:22:12,680 Bueno, lo hemos probado 485 00:22:12,680 --> 00:22:14,019 Vamos, siempre es bueno probarlo 486 00:22:14,019 --> 00:22:15,720 Porque podemos haber escrito cualquier burrada 487 00:22:15,720 --> 00:22:23,569 Vale, cuatro números enteros 488 00:22:23,569 --> 00:22:26,529 5, 7, 2 y 9 489 00:22:26,529 --> 00:22:28,829 Vale 490 00:22:28,829 --> 00:22:30,309 Esto me lo hice dos veces 491 00:22:30,309 --> 00:22:31,589 Porque como lo hemos hecho de dos maneras 492 00:22:31,589 --> 00:22:33,650 Con el 6 anidado y sin anidar 493 00:22:33,650 --> 00:22:35,849 Vale, pues 494 00:22:35,849 --> 00:22:39,069 Le voy a dar ahora con dos iguales 495 00:22:39,069 --> 00:22:40,069 Que sea el más pequeño 496 00:22:40,069 --> 00:22:43,109 Menos 4, menos 4, 6 y 2 497 00:22:43,109 --> 00:22:45,329 El mayor es 6, el menor menos 4 498 00:22:45,329 --> 00:22:47,750 Bueno, parece que sí, tampoco tenía más 499 00:22:47,750 --> 00:22:50,450 Bueno, parece que funciona 500 00:22:50,450 --> 00:22:52,210 Pero se nos podría haber escapado algo 501 00:22:52,210 --> 00:22:53,009 Bueno 502 00:22:53,009 --> 00:22:56,369 Venga, pues hemos dicho que el 13 503 00:22:56,369 --> 00:23:19,789 Bueno, dice 504 00:23:19,789 --> 00:23:21,309 Introduzca un número 505 00:23:21,309 --> 00:23:26,579 Entre 1 y 7 506 00:23:26,579 --> 00:23:28,460 Dime 507 00:23:28,460 --> 00:23:31,880 Sí 508 00:23:31,880 --> 00:23:35,000 Estas 509 00:23:35,000 --> 00:23:39,039 O sea 510 00:23:39,039 --> 00:23:44,400 Ah, esto de aquí 511 00:23:44,400 --> 00:24:07,640 Vale 512 00:24:07,640 --> 00:24:11,319 Vale, pues venga 513 00:24:11,319 --> 00:24:13,539 Ejercicio 13 514 00:24:13,539 --> 00:24:14,460 Que lo teníamos por aquí 515 00:24:14,460 --> 00:24:16,680 Leer un número entero 516 00:24:16,680 --> 00:24:18,920 Suponemos comprendido entre 1 y 7 517 00:24:18,920 --> 00:24:20,259 No podemos verificarlo 518 00:24:20,259 --> 00:24:21,900 Porque para verificarlo tendríamos que tener un bucle 519 00:24:21,900 --> 00:24:24,339 Que estuvieramos todo el rato pidiéndole hasta que metiera un 7 520 00:24:24,339 --> 00:24:25,440 No sabemos bucles 521 00:24:25,440 --> 00:24:27,119 Pues asumimos que 522 00:24:27,119 --> 00:24:29,920 Que lo va a meter bien 523 00:24:29,920 --> 00:24:31,720 Y si no, pues nos vamos y ya está 524 00:24:31,720 --> 00:24:33,059 Vale, pues venga 525 00:24:33,059 --> 00:24:38,559 ¿Un rango dónde? 526 00:24:43,829 --> 00:24:44,269 Pero 527 00:24:44,269 --> 00:24:45,710 ¿Poner un rango dónde? 528 00:24:48,009 --> 00:24:48,990 Pero poner un rango 529 00:24:48,990 --> 00:24:50,950 ¿En qué? ¿Variables que solo puedan tener valores 530 00:24:50,950 --> 00:24:51,490 De 1 al 7? 531 00:24:56,690 --> 00:24:57,410 Ya, pero 532 00:24:57,410 --> 00:24:59,650 ¿Qué tipo le darías a esa variable? 533 00:25:04,109 --> 00:25:05,470 Sí, ¿qué tipo le darías? 534 00:25:05,910 --> 00:25:07,950 O sea, las variables tienen que tener un tipo, ¿no? 535 00:25:08,329 --> 00:25:11,789 Entonces, ¿cómo casarías una variable 536 00:25:11,789 --> 00:25:13,769 que solo pueda tener un 2, 3, 4, 5, 6, 7? 537 00:25:13,869 --> 00:25:14,630 ¿Qué tipo le darías? 538 00:25:16,789 --> 00:25:17,309 Vale, int. 539 00:25:17,710 --> 00:25:19,089 ¿Y ahora qué haces? 540 00:25:19,089 --> 00:25:20,650 Ponía con un booleano algo 541 00:25:20,650 --> 00:25:21,829 y pondría 542 00:25:21,829 --> 00:25:24,430 el número, tiene que ser 543 00:25:24,430 --> 00:25:26,710 menor que o igual a 5. 544 00:25:26,730 --> 00:25:27,910 Ah, bueno, sí, claro. 545 00:25:28,089 --> 00:25:28,490 Claro. 546 00:25:30,309 --> 00:25:32,589 Y si no, cierras el programa. 547 00:25:32,950 --> 00:25:34,630 Ah, vale, vale, sí, eso es lo que íbamos a poner. 548 00:25:34,730 --> 00:25:35,930 Pero me refiero que no puedes 549 00:25:35,930 --> 00:25:37,650 obligarle 550 00:25:37,650 --> 00:25:40,309 A que te meta ese número 551 00:25:40,309 --> 00:25:41,210 No puedes obligarle 552 00:25:41,210 --> 00:25:43,890 A menos que le metieras en un bucle infinito 553 00:25:43,890 --> 00:25:45,269 Que está pidiéndoselo todo el rato 554 00:25:45,269 --> 00:25:46,509 Pero es que no sabemos hacer bucles 555 00:25:46,509 --> 00:25:48,369 Entonces 556 00:25:48,369 --> 00:25:53,250 Bueno, por ahora le decimos 557 00:25:53,250 --> 00:25:54,650 Que introduzca un número 558 00:25:54,650 --> 00:26:03,240 Entre 559 00:26:03,240 --> 00:26:05,940 1 y 7 560 00:26:05,940 --> 00:26:12,809 Y lo leemos 561 00:26:12,809 --> 00:26:13,549 Aquí 562 00:26:13,549 --> 00:26:23,819 Vale, entonces efectivamente 563 00:26:23,819 --> 00:26:27,299 Puede habernos hecho caso 564 00:26:27,299 --> 00:26:28,880 o no, vamos a decir 565 00:26:28,880 --> 00:26:30,460 si no nos ha hecho caso le decimos 566 00:26:30,460 --> 00:26:31,960 pues lo sentimos 567 00:26:31,960 --> 00:26:34,259 entonces vamos a ver 568 00:26:34,259 --> 00:26:36,660 si 569 00:26:36,660 --> 00:26:38,619 nos ha hecho caso 570 00:26:38,619 --> 00:26:39,380 entonces si 571 00:26:39,380 --> 00:26:42,500 n num 572 00:26:42,500 --> 00:26:43,660 es 573 00:26:43,660 --> 00:26:48,269 mayor o igual que 0 574 00:26:48,269 --> 00:26:48,890 y 575 00:26:48,890 --> 00:26:52,170 num es menor 576 00:26:52,170 --> 00:26:53,210 o igual que 7 577 00:26:53,210 --> 00:26:56,170 entonces nos ha hecho caso y ya podemos 578 00:26:56,170 --> 00:26:57,950 aquí hacer el código que vamos a hacer 579 00:26:57,950 --> 00:27:04,309 Y si no, pues le podemos poner un mensajito de despedida. 580 00:27:08,309 --> 00:27:11,470 Ah, perdón, mayor o igual, mayor que cero estrictamente, sí, sí. 581 00:27:15,089 --> 00:27:16,329 El número no es válido. 582 00:27:20,670 --> 00:27:29,460 Vale, entonces, si el número introducido no es válido, el programa se va a ir al ELSE, 583 00:27:30,099 --> 00:27:32,720 va a mostrar el mensaje y cuando yo el ELSE ha terminado, 584 00:27:33,099 --> 00:27:36,519 sigue la siguiente instrucción y como ya no hay nada, el programa va a terminar. 585 00:27:36,779 --> 00:28:05,119 Vale, entonces, si metemos un número no válido, el programa muestra el mensaje y ha acabado. Solamente va a hacer cosas aquí. Entonces, aquí tendríamos que poder ir a todo el código. Vale, aquí lo único es que nos queda un código un poco más ilegible, porque si yo tengo que meter aquí todo lo que hace mi programa, todo, 586 00:28:05,119 --> 00:28:07,140 y si eso es muy largo, eso ya 587 00:28:07,140 --> 00:28:09,339 empieza ya tabulado ya directamente 588 00:28:09,339 --> 00:28:12,059 entonces ya empieza demasiado metido a la izquierda 589 00:28:12,059 --> 00:28:14,019 es solamente una cuestión de estilo y de elegibilidad 590 00:28:14,019 --> 00:28:15,539 ¿vale? entendéis que 591 00:28:15,539 --> 00:28:17,799 tal y como yo lo he planteado, todo mi programa 592 00:28:17,799 --> 00:28:19,660 el que opera con estos números 593 00:28:19,660 --> 00:28:21,559 sea corto, sea largo, todo mi programa 594 00:28:21,559 --> 00:28:22,839 va a ir ya aquí tabulado 595 00:28:22,839 --> 00:28:25,559 porque es que si no lo tabulo es un estilo muy feo 596 00:28:25,559 --> 00:28:26,680 no pasa nada 597 00:28:26,680 --> 00:28:29,579 pero ya esto empieza a ser un poquito ilegible 598 00:28:29,579 --> 00:28:31,660 porque un montón de sentencias ya van a estar aquí 599 00:28:31,660 --> 00:28:33,640 entonces bueno 600 00:28:33,640 --> 00:28:37,119 Puedo cambiar un poquito esto 601 00:28:37,119 --> 00:28:38,240 A lo mejor lo puedo cambiar 602 00:28:38,240 --> 00:28:40,299 Para que tenga otra estructura 603 00:28:40,299 --> 00:28:42,380 Y es 604 00:28:42,380 --> 00:28:45,619 Por ejemplo, vamos a poner la negada de esta condición 605 00:28:45,619 --> 00:28:46,920 ¿Vale? 606 00:28:48,339 --> 00:28:49,259 Vamos a poner 607 00:28:49,259 --> 00:28:51,019 Bueno, ¿qué ibas a decir? 608 00:28:51,380 --> 00:28:52,839 Si no lo podrías hacer, por ejemplo 609 00:28:52,839 --> 00:28:55,119 Yo que tenía pensado usar char y string 610 00:28:55,119 --> 00:28:55,400 Que cosa 611 00:28:55,400 --> 00:28:58,599 Ya, pero es que todavía no he metido a hacerlo 612 00:28:58,599 --> 00:29:00,980 O sea, estoy cambiando esto para que no se me quede 613 00:29:00,980 --> 00:29:02,099 Todo mi código tabulado 614 00:29:02,099 --> 00:29:04,559 yo lo hice 615 00:29:04,559 --> 00:29:05,359 que bueno 616 00:29:05,359 --> 00:29:07,750 teniendo eso 617 00:29:07,750 --> 00:29:08,509 el string cambiaba 618 00:29:08,509 --> 00:29:09,730 martes, miércoles, jueves 619 00:29:09,730 --> 00:29:10,710 y que si no era 620 00:29:10,710 --> 00:29:11,490 ni uno, ni dos, ni tres 621 00:29:11,490 --> 00:29:12,269 hasta el siete 622 00:29:12,269 --> 00:29:13,369 pues salió el chart 623 00:29:13,369 --> 00:29:14,670 o sea, sin un 624 00:29:14,670 --> 00:29:15,190 era diferente 625 00:29:15,190 --> 00:29:16,130 vale 626 00:29:16,130 --> 00:29:17,130 vale 627 00:29:17,130 --> 00:29:18,250 pero como todavía 628 00:29:18,250 --> 00:29:18,970 nosotros no sabemos 629 00:29:18,970 --> 00:29:19,930 cómo vamos a hacer el código 630 00:29:19,930 --> 00:29:21,450 tenemos esta estructura 631 00:29:21,450 --> 00:29:22,450 todavía esto para nosotros 632 00:29:22,450 --> 00:29:23,230 es una caja negra 633 00:29:23,230 --> 00:29:23,410 ¿vale? 634 00:29:23,410 --> 00:29:24,410 es una caja negra 635 00:29:24,410 --> 00:29:24,809 entonces 636 00:29:24,809 --> 00:29:27,029 tenemos aquí una estructura 637 00:29:27,029 --> 00:29:28,069 en la que vemos 638 00:29:28,069 --> 00:29:28,390 que 639 00:29:28,390 --> 00:29:29,789 yo aquí voy a meter un programa 640 00:29:29,789 --> 00:29:30,890 todavía no sé cuál es 641 00:29:30,890 --> 00:29:32,470 pero sé que este programa 642 00:29:32,470 --> 00:29:33,150 se va a quedar aquí 643 00:29:33,150 --> 00:29:35,210 tabulado a la derecha. Entonces, ya queda un poco 644 00:29:35,210 --> 00:29:37,490 feo. ¿Vale? Entonces, 645 00:29:37,970 --> 00:29:39,410 vamos a 646 00:29:39,410 --> 00:29:40,690 cambiar esto y vamos a decirlo. 647 00:29:41,789 --> 00:29:43,069 Si esta condición 648 00:29:43,069 --> 00:29:45,309 no se cumple, si esta condición 649 00:29:45,309 --> 00:29:47,230 no se cumple, ahí es cuando pongo el mensaje 650 00:29:47,230 --> 00:29:49,349 de despedida y cierro 651 00:29:49,349 --> 00:29:50,970 el programa. ¿Vale? 652 00:29:51,470 --> 00:29:52,930 Eso lo podríamos hacer. 653 00:29:53,529 --> 00:29:54,029 Es decir, 654 00:29:55,089 --> 00:29:57,230 entonces, si 655 00:29:57,230 --> 00:29:59,009 esta condición no se 656 00:29:59,009 --> 00:30:00,029 cumple toda ella, 657 00:30:01,190 --> 00:30:03,009 es decir, si no es verdad que 658 00:30:03,009 --> 00:30:04,970 el número esté comprendido entre 0 y 7 659 00:30:04,970 --> 00:30:07,009 y por las leyes del 660 00:30:07,009 --> 00:30:09,069 álgebra de Boole, esto sería 661 00:30:09,069 --> 00:30:09,970 lo mismo que decir 662 00:30:09,970 --> 00:30:13,089 la negada de esta o la negada de la 663 00:30:13,089 --> 00:30:15,210 otra, es decir, si num menor o igual que 0 664 00:30:15,210 --> 00:30:17,089 perdón, si num 665 00:30:17,089 --> 00:30:19,089 menor o igual que 0 o num mayor 666 00:30:19,089 --> 00:30:21,150 que 7, ¿vale? es lo mismo 667 00:30:21,150 --> 00:30:22,750 decir la negada 668 00:30:22,750 --> 00:30:24,769 de todo esto o decir 669 00:30:24,769 --> 00:30:27,190 o esta no o bien esta no 670 00:30:27,190 --> 00:30:29,049 ¿vale? da igual como lo 671 00:30:29,049 --> 00:30:31,009 expresemos, pues entonces aquí es cuando muestro 672 00:30:31,009 --> 00:30:35,769 el mensajito, así 673 00:30:35,769 --> 00:30:37,829 muestro el mensajito 674 00:30:37,829 --> 00:30:39,609 y 675 00:30:39,609 --> 00:30:41,309 si tuviera alguna forma 676 00:30:41,309 --> 00:30:43,309 de decirle al programa para 677 00:30:43,309 --> 00:30:45,990 termina, sería perfecto 678 00:30:45,990 --> 00:30:47,549 porque entonces ahora 679 00:30:47,549 --> 00:30:49,529 yo ya no tendría que poner else 680 00:30:49,529 --> 00:30:51,630 ¿vale? no tendría que poner 681 00:30:51,630 --> 00:30:52,230 else 682 00:30:52,230 --> 00:30:55,670 y esto 683 00:30:55,670 --> 00:30:57,710 me sobra y si llega a este punto 684 00:30:57,710 --> 00:30:59,089 es porque el programa no ha terminado 685 00:30:59,089 --> 00:31:01,109 entonces si entra en el id 686 00:31:01,109 --> 00:31:03,789 Entra por aquí y el programa se cierra 687 00:31:03,789 --> 00:31:04,650 Fuera 688 00:31:04,650 --> 00:31:07,970 Y si no se cierra es porque no ha entrado aquí 689 00:31:07,970 --> 00:31:09,349 Luego seguiría con la siguiente 690 00:31:09,349 --> 00:31:11,430 Bueno, eso siempre podéis hacerlo 691 00:31:11,430 --> 00:31:13,170 Hay una sentencia que es 692 00:31:13,170 --> 00:31:15,170 Esta 693 00:31:15,170 --> 00:31:16,769 ¿Vale? 694 00:31:17,309 --> 00:31:20,900 Con la que el programa 695 00:31:20,900 --> 00:31:22,180 Termina 696 00:31:22,180 --> 00:31:25,579 Entonces, ahora yo aquí ya seguiría con mi código 697 00:31:25,579 --> 00:31:27,119 ¿Vale? 698 00:31:27,980 --> 00:31:29,740 Es decir, y esto significaría 699 00:31:29,740 --> 00:31:31,359 Verifica la condición 700 00:31:31,359 --> 00:31:34,319 que no se cumple la condición 701 00:31:34,319 --> 00:31:35,539 que no se cumple 702 00:31:35,539 --> 00:31:37,559 adiós y fuera 703 00:31:37,559 --> 00:31:39,940 vale, y el programa ha terminado 704 00:31:39,940 --> 00:31:42,500 pero que ocurre si la condición esta 705 00:31:42,500 --> 00:31:44,099 no se cumple 706 00:31:44,099 --> 00:31:45,619 o lo que es lo mismo si el número es válido 707 00:31:45,619 --> 00:31:46,920 si el número es válido no entra aquí 708 00:31:46,920 --> 00:31:48,579 por lo cual no entrará aquí 709 00:31:48,579 --> 00:31:50,519 el programa no se va a cerrar 710 00:31:50,519 --> 00:31:52,140 y seguiríamos con la siguiente 711 00:31:52,140 --> 00:31:54,440 entonces yo aquí ya pongo mi programa 712 00:31:54,440 --> 00:31:57,480 y no necesito meterlo en un ELSE ni en nada 713 00:31:57,480 --> 00:31:58,579 no necesito tabular ni nada 714 00:31:58,579 --> 00:32:00,140 porque no tiene que ir a un ELSE 715 00:32:00,140 --> 00:32:02,599 porque si ha llegado a este punto 716 00:32:02,599 --> 00:32:04,319 si ha llegado es porque no entró aquí 717 00:32:04,319 --> 00:32:06,180 porque si entró habría terminado 718 00:32:06,180 --> 00:32:06,819 ¿vale? 719 00:32:08,019 --> 00:32:11,019 entonces lo digo, aprovecho esta coyuntura 720 00:32:11,019 --> 00:32:12,579 para decirlo porque esta es una forma 721 00:32:12,579 --> 00:32:13,920 de cerrar siempre un programa 722 00:32:13,920 --> 00:32:15,980 pero es una forma fea 723 00:32:15,980 --> 00:32:16,920 porque ¡pum! 724 00:32:18,380 --> 00:32:20,480 no se ve muy bien el flujo del código 725 00:32:20,480 --> 00:32:22,380 es una forma de forzar 726 00:32:22,380 --> 00:32:24,240 terminar el programa 727 00:32:24,240 --> 00:32:26,720 lo mejor es que un programa termine 728 00:32:26,720 --> 00:32:28,799 porque se han terminado todas las sentencias 729 00:32:28,799 --> 00:32:30,519 Porque se ha acabado, porque hemos llegado al final. 730 00:32:30,700 --> 00:32:32,000 Así es como terminan los programas. 731 00:32:32,519 --> 00:32:33,799 No porque yo lo he forzado así. 732 00:32:34,859 --> 00:32:36,380 ¿Vale? No porque yo lo he forzado así. 733 00:32:37,240 --> 00:32:38,400 Entonces, efectivamente, 734 00:32:40,000 --> 00:32:41,059 planteando el código, 735 00:32:41,160 --> 00:32:42,079 habéis planteado vosotros, 736 00:32:42,220 --> 00:32:43,000 ahorráis hacer esto. 737 00:32:43,759 --> 00:32:45,519 ¿Vale? Entonces, yo por ahora lo voy a dejar esto así. 738 00:32:45,839 --> 00:32:47,019 Si el número no es válido, 739 00:32:47,680 --> 00:32:49,359 vamos al mensaje y va a salir. 740 00:32:49,839 --> 00:32:51,619 Y ahora ya vamos a hacer el código. 741 00:32:52,440 --> 00:32:53,700 ¿Vale? Vamos a hacer el programa 742 00:32:53,700 --> 00:32:54,440 que tenemos que hacer. 743 00:32:54,940 --> 00:32:56,579 Vale, bueno, vamos a parar 744 00:32:56,579 --> 00:32:58,599 un momentito aquí antes de hacerlo. 745 00:32:58,799 --> 00:32:58,940 Gracias.