1 00:00:00,000 --> 00:00:03,240 vale, pues ejercicio 18 2 00:00:03,240 --> 00:00:07,740 el hilo de pensamiento que seguimos es que siempre el mismo 3 00:00:07,740 --> 00:00:12,300 leemos el enunciado, intentamos entenderlo, aislamos datos de entrada 4 00:00:12,300 --> 00:00:15,900 pues dos variables booleanas 5 00:00:15,900 --> 00:00:20,339 vale, luego mostrar en pantalla 6 00:00:20,339 --> 00:00:23,179 un mensaje que indique si el estudiante aprueba o repite 7 00:00:23,179 --> 00:00:28,280 aquí lo primero es ir al que nos dio el enunciado, al cliente 8 00:00:28,280 --> 00:00:59,320 que nos pide esta aplicación y decirle vamos a ver, esto está muy ambiguo, puedes aprobar con una, puedes repetir, entonces bueno, te diría no, no, para pasar curso tienes que aprobar las dos, bueno, una vez que ya hemos entendido lo que hay que hacer, pues ya podemos hacer nuestro ejercicio, datos de entrada, dos variables boolean, asignatura 1 y asignatura 2, leer por teclado, 9 00:00:59,320 --> 00:01:01,219 Yo nunca he leído Boolean por teclado 10 00:01:01,219 --> 00:01:03,659 Pero digo yo 11 00:01:03,659 --> 00:01:04,980 Que tendrá un ex Boolean 12 00:01:04,980 --> 00:01:06,120 Esto de aquí 13 00:01:06,120 --> 00:01:11,599 Y mi duda es que le escribes true o false 14 00:01:11,599 --> 00:01:12,180 No sé 15 00:01:12,180 --> 00:01:15,659 Bueno ya 16 00:01:15,659 --> 00:01:17,620 Pero aunque no lo hiciste así 17 00:01:17,620 --> 00:01:18,379 ¿A qué te refieres? 18 00:01:19,680 --> 00:01:20,879 A ver si esto no es 19 00:01:20,879 --> 00:01:22,980 Me sale o no me sale 20 00:01:22,980 --> 00:01:24,799 Hay muchas formas diferentes de hacer el programa 21 00:01:24,799 --> 00:01:27,099 Algunas pues a lo mejor 22 00:01:27,099 --> 00:01:28,819 Se plantean, no, el dato de entrada 23 00:01:28,819 --> 00:01:30,579 Mételo como aprobado y suspenso 24 00:01:30,579 --> 00:01:32,239 y yo si es 25 00:01:32,239 --> 00:01:34,099 pongo en la variable true 26 00:01:34,099 --> 00:01:36,560 si a lo que he leído es aprobado o no 27 00:01:36,560 --> 00:01:38,180 pero vamos a ver si existe un next boolean 28 00:01:38,180 --> 00:01:40,540 una pregunta, imagínate que 29 00:01:40,540 --> 00:01:43,060 nos pones un enunciado parecido 30 00:01:43,060 --> 00:01:44,819 en el examen 31 00:01:44,819 --> 00:01:46,939 y pues cada persona tiene su método 32 00:01:46,939 --> 00:01:50,780 para llegar al reto 33 00:01:50,780 --> 00:01:53,260 si aplicamos, no es que nos 34 00:01:53,260 --> 00:01:55,079 vayamos como fuera que nos has dado 35 00:01:55,079 --> 00:01:56,739 digo que 36 00:01:56,739 --> 00:01:58,719 por las herramientas que nos has dado 37 00:01:58,719 --> 00:02:01,340 pues dependerá, como lo hayas hecho, si lo has hecho bien 38 00:02:01,340 --> 00:02:03,420 tú por eso no sufras, tú sufres por 39 00:02:03,420 --> 00:02:05,140 hacer bien el examen, no si 40 00:02:05,140 --> 00:02:07,439 yo por mi manera de hacerlo no me lo voy a 41 00:02:07,439 --> 00:02:08,860 puntuar, eso no va a ser un problema 42 00:02:08,860 --> 00:02:11,039 el problema es que tú me hagas bien el examen 43 00:02:11,039 --> 00:02:13,360 ni siquiera, el problema es que 44 00:02:13,360 --> 00:02:15,699 sepas programar, si sabes programar ahora es bien el examen 45 00:02:15,699 --> 00:02:17,719 solamente céntrate en eso 46 00:02:17,719 --> 00:02:21,560 mi forma de corregir no va a ser el problema 47 00:02:21,560 --> 00:02:22,280 os lo aseguro 48 00:02:22,280 --> 00:02:24,879 vale, y ahora ya 49 00:02:24,879 --> 00:02:27,400 cuando leamos esto por teclado ahora podemos 50 00:02:27,400 --> 00:02:28,780 acordar como lo leemos 51 00:02:28,780 --> 00:02:31,139 si ponemos aprobado y en ese caso 52 00:02:31,139 --> 00:02:32,759 así uno le da mostruo o lo que sea 53 00:02:32,759 --> 00:02:34,379 cuando ya 54 00:02:34,379 --> 00:02:36,900 acordemos como lo leamos 55 00:02:36,900 --> 00:02:39,419 pues pasamos a lo siguiente 56 00:02:39,419 --> 00:02:41,539 que nos dice, ¿cuál va a ser el resultado del programa? 57 00:02:42,300 --> 00:02:43,460 mostrar por pantalla 58 00:02:43,460 --> 00:02:45,300 un mensaje, luego el resultado 59 00:02:45,300 --> 00:02:47,719 del programa, pues va a ser 60 00:02:47,719 --> 00:02:49,219 este en realidad, mostrar 61 00:02:49,219 --> 00:02:51,740 por pantalla un mensaje 62 00:02:51,740 --> 00:02:53,620 un mensaje que es 63 00:02:53,620 --> 00:02:55,620 un string, luego tendremos 64 00:02:55,620 --> 00:02:56,580 que declararlo 65 00:02:56,580 --> 00:03:16,360 Y ahora, este mensaje que vamos a mostrar es uno entre dos posibilidades, aprobado o repite, ¿verdad? No sabemos cuál de las dos posibilidades tiene este mensaje. Si es aprobado, repite, tiene dos solo, aprobado, repite. 66 00:03:16,360 --> 00:03:40,620 ¿De qué depende que sea aprobado o repite? Pues si asig1 es true y asig2 es true, será aprobado. Pues ya está, asig1 and asig2, ¿verdad? Esta será nuestra sentencia a falta de leer los datos, que no los hemos leído, ¿verdad? 67 00:03:40,620 --> 00:03:43,599 si asig1 es true 68 00:03:43,599 --> 00:03:45,439 and asig2 es true 69 00:03:45,439 --> 00:03:47,280 o lo que es lo mismo, si los dos boolean 70 00:03:47,280 --> 00:03:49,699 que indican aprobado, los dos boolean 71 00:03:49,699 --> 00:03:50,199 son true 72 00:03:50,199 --> 00:03:53,539 aprobado, es decir, pasa de curso 73 00:03:53,539 --> 00:03:55,419 y si no, repite 74 00:03:55,419 --> 00:03:58,729 nos falta leer el boolean 75 00:03:58,729 --> 00:04:00,110 ahora ya es cuando podríamos decir 76 00:04:00,110 --> 00:04:02,250 como lo vemos por teclado, le decimos 77 00:04:02,250 --> 00:04:03,810 en realidad que escriba 78 00:04:03,810 --> 00:04:06,969 un string con aprobado, suspenso 79 00:04:06,969 --> 00:04:08,710 y luego yo aquí pongo en asig 80 00:04:08,710 --> 00:04:11,009 true, si el string 81 00:04:11,009 --> 00:04:12,530 que ha puesto es igual a aprobado 82 00:04:12,530 --> 00:04:15,069 o habrá con el escáner este 83 00:04:15,069 --> 00:04:17,170 igual que hay un next in para leer un entero 84 00:04:17,170 --> 00:04:19,129 un next double para leer un double 85 00:04:19,129 --> 00:04:20,870 un next line para leer un next in 86 00:04:20,870 --> 00:04:22,189 habrá un next boolean 87 00:04:22,189 --> 00:04:24,750 pues igual lo habrá, vamos a verlo 88 00:04:24,750 --> 00:04:27,500 si 89 00:04:27,500 --> 00:04:34,399 es los valores 90 00:04:34,399 --> 00:04:36,459 que yo le voy a asignar a esta 91 00:04:36,459 --> 00:04:37,439 variable mensaje 92 00:04:37,439 --> 00:04:38,819 como mensajes string 93 00:04:38,819 --> 00:04:42,379 no, true o false 94 00:04:42,379 --> 00:04:45,079 o sea, mensaje es una variable string 95 00:04:45,079 --> 00:04:47,199 luego necesita 96 00:04:47,199 --> 00:04:48,120 una cadena de texto 97 00:04:48,120 --> 00:04:51,079 tú a una variable string le asignas 98 00:04:51,079 --> 00:04:52,079 una cadena de texto 99 00:04:52,079 --> 00:04:54,620 aquí nuestro problema es que 100 00:04:54,620 --> 00:04:56,899 yo tengo dos posibles cadenas de texto 101 00:04:56,899 --> 00:04:58,319 que asignar, dos posibles 102 00:04:58,319 --> 00:05:01,240 o esta o esta, pero ambas son cadenas de texto 103 00:05:01,240 --> 00:05:02,800 porque en una variable string 104 00:05:02,800 --> 00:05:04,319 solo puede ir una cadena de texto 105 00:05:04,319 --> 00:05:06,319 entonces ambas son cadenas de texto 106 00:05:06,319 --> 00:05:09,079 ¿cuál de las dos? depende de esta condición 107 00:05:09,079 --> 00:05:10,860 ¿vale? 108 00:05:12,379 --> 00:05:14,959 ahora vamos a ver 109 00:05:14,959 --> 00:05:17,120 para leer estos datos, esto ya es para leer 110 00:05:17,120 --> 00:05:19,319 los datos, lo que importa del programa es esto 111 00:05:19,319 --> 00:05:21,180 para leer los datos 112 00:05:21,180 --> 00:05:23,399 vamos a ver si scan tuviera 113 00:05:23,399 --> 00:05:25,120 un next 114 00:05:25,120 --> 00:05:26,620 boolean 115 00:05:26,620 --> 00:05:28,660 tiene un next boolean 116 00:05:28,660 --> 00:05:31,240 efectivamente y vamos a 117 00:05:31,240 --> 00:05:33,040 ver como funciona el next boolean 118 00:05:33,040 --> 00:05:36,920 te lee y lo 119 00:05:36,920 --> 00:05:38,240 transforma en un 120 00:05:38,240 --> 00:05:40,139 valor boolean 121 00:05:40,139 --> 00:05:43,019 Sí, pero ¿cómo lo transformará? 122 00:05:43,600 --> 00:05:44,500 Pues yo imagino 123 00:05:44,500 --> 00:05:46,199 Que 124 00:05:46,199 --> 00:05:48,779 Escribiendo true o false 125 00:05:48,779 --> 00:05:50,259 O puede que escribiendo un número 126 00:05:50,259 --> 00:05:51,480 Porque todos los lenguajes de programación 127 00:05:51,480 --> 00:05:53,540 Los números no te lo... 128 00:05:53,540 --> 00:05:54,600 Vale, solo true o false 129 00:05:54,600 --> 00:05:57,379 En que todos los lenguajes de programación, en Python por ejemplo 130 00:05:57,379 --> 00:05:59,360 El cero lo asimila al false 131 00:05:59,360 --> 00:06:00,699 Y cualquier otro número al true 132 00:06:00,699 --> 00:06:03,379 Vale, pues venga, como tiene el Nesbulia 133 00:06:03,379 --> 00:06:04,519 Vamos a aprovecharlo 134 00:06:04,519 --> 00:06:06,899 Y ahora 135 00:06:06,899 --> 00:06:08,920 Le decimos aquí 136 00:06:08,920 --> 00:06:17,610 aprobaste 137 00:06:17,610 --> 00:06:19,209 ASIC 1 138 00:06:19,209 --> 00:06:23,040 y el que introduzca 139 00:06:23,040 --> 00:06:24,199 true o false 140 00:06:24,199 --> 00:06:27,160 en función de si la aprobó o no 141 00:06:27,160 --> 00:06:31,579 le ponemos aquí para avisarle 142 00:06:31,579 --> 00:06:33,519 porque true o false es poco intuitivo 143 00:06:33,519 --> 00:06:35,680 true o false 144 00:06:35,680 --> 00:06:37,420 y lo mismo 145 00:06:37,420 --> 00:06:44,879 aprobaste ASIC 2 146 00:06:44,879 --> 00:06:49,860 ASIC 2 147 00:06:49,860 --> 00:06:51,420 Vale 148 00:06:51,420 --> 00:06:55,180 Entonces escribimos true o false 149 00:06:55,180 --> 00:06:57,459 Ese true o false va como valor boolean 150 00:06:57,459 --> 00:06:58,459 Directamente aquí 151 00:06:58,459 --> 00:07:00,360 Y ahora ya 152 00:07:00,360 --> 00:07:10,300 ¿Aprobaste la asignatura primera? 153 00:07:10,540 --> 00:07:11,360 Sí, la aprobé 154 00:07:11,360 --> 00:07:12,740 ¿Aprobaste la asignatura segunda? 155 00:07:12,959 --> 00:07:13,660 Sí, la aprobé 156 00:07:13,660 --> 00:07:15,279 Pues hala, ya está 157 00:07:15,279 --> 00:07:18,379 ¿Aprobaste la primera? 158 00:07:18,639 --> 00:07:19,480 Pues la primera no 159 00:07:19,480 --> 00:07:20,579 ¿Aprobaste la segunda? 160 00:07:20,660 --> 00:07:21,439 La segunda sí 161 00:07:21,439 --> 00:07:23,060 Pues entonces repites 162 00:07:23,060 --> 00:07:23,660 ¿Vale? 163 00:07:23,759 --> 00:07:34,610 para jugar un poco con los operadores 164 00:07:34,610 --> 00:07:35,889 esta condición 165 00:07:35,889 --> 00:07:38,610 la podríamos haber puesto de otra manera 166 00:07:38,610 --> 00:07:40,750 lo que pasa es que sería menos intuitiva 167 00:07:40,750 --> 00:07:42,310 por ejemplo, vamos a sacar esta condición 168 00:07:42,310 --> 00:07:44,649 vamos a ponerla aquí fuera 169 00:07:44,649 --> 00:07:46,769 boolean 170 00:07:46,769 --> 00:07:48,189 condición 171 00:07:48,189 --> 00:07:49,930 entonces 172 00:07:49,930 --> 00:07:52,870 la podemos poner aquí fuera 173 00:07:52,870 --> 00:07:57,949 y ahora 174 00:07:57,949 --> 00:07:59,110 ya aquí pondríamos 175 00:07:59,110 --> 00:08:01,329 condición 176 00:08:01,329 --> 00:08:08,019 ¿verdad? me da igual 177 00:08:08,019 --> 00:08:10,680 escribir este código así que como estaba antes 178 00:08:10,680 --> 00:08:14,500 antes ponía aquí la condición directamente 179 00:08:14,500 --> 00:08:17,420 y ahora la he sacado 180 00:08:17,420 --> 00:08:20,300 una variable aparte y pongo aquí la variable 181 00:08:20,300 --> 00:08:23,420 me da lo mismo, ¿no? me da lo mismo poner la condición tal cual 182 00:08:23,420 --> 00:08:26,060 o sacarla una variable aparte 183 00:08:26,060 --> 00:08:28,600 y poner aquí la condición, ¿vale? me da lo mismo 184 00:08:28,600 --> 00:08:31,459 la he sacado aparte para 185 00:08:31,459 --> 00:08:34,220 jugar a poner la condición de otra manera 186 00:08:34,220 --> 00:08:36,259 pero queriendo decir lo mismo 187 00:08:36,259 --> 00:08:39,700 Esta condición también la podríamos haber escrito así, ¿verdad? 188 00:08:42,009 --> 00:08:43,830 ¿Qué significa haber aprobado las dos? 189 00:08:44,710 --> 00:08:52,850 Significa que no es verdad que haya suspendido alguna de ellas 190 00:08:52,850 --> 00:09:05,919 Es decir, que forma tan retorcida de ponerlo, pero sería lo mismo, ¿verdad? 191 00:09:09,639 --> 00:09:13,159 Estas dos condiciones, si no me he equivocado, no serían iguales 192 00:09:13,159 --> 00:09:22,980 Es decir, las dos true significaría que no es verdad que o bien false una o bien false la otra, ¿verdad? 193 00:09:23,399 --> 00:09:31,519 Haber aprobado las dos significa que no es cierto que haya suspendido una o haya suspendido otra, ¿verdad? 194 00:09:33,690 --> 00:09:40,970 Y esto es una de las reglas de Boole que hemos visto antes, ¿verdad? 195 00:09:40,970 --> 00:09:45,149 estas son las reglas de Boole que hemos visto antes 196 00:09:45,149 --> 00:09:46,789 era 197 00:09:46,789 --> 00:09:48,909 recordad que una de las reglas de Boole 198 00:09:48,909 --> 00:09:50,769 era no a or b 199 00:09:50,769 --> 00:09:52,769 era lo mismo 200 00:09:52,769 --> 00:09:54,350 era lo mismito que hacer 201 00:09:54,350 --> 00:09:56,590 no a y 202 00:09:56,590 --> 00:09:57,950 no b 203 00:09:57,950 --> 00:10:00,629 esas son las reglas de Boole que hemos visto antes 204 00:10:00,629 --> 00:10:03,090 pues si aplicamos esa regla de Boole aquí 205 00:10:03,090 --> 00:10:04,230 no 206 00:10:04,230 --> 00:10:05,850 esta es a 207 00:10:05,850 --> 00:10:07,950 y esta es b 208 00:10:07,950 --> 00:10:08,929 ¿verdad? 209 00:10:08,929 --> 00:10:12,269 NOA es NO, NO 210 00:10:12,269 --> 00:10:13,389 dos veces NO 211 00:10:13,389 --> 00:10:16,850 luego es lo mismo que decir ASIC 1 212 00:10:16,850 --> 00:10:20,330 AN, NO, BE 213 00:10:20,330 --> 00:10:22,490 que es NO, NO, dos veces NO 214 00:10:22,490 --> 00:10:25,190 se anulan, ASIC 2 215 00:10:25,190 --> 00:10:27,870 luego aplicando esta regla de Boole que hemos visto antes 216 00:10:27,870 --> 00:10:30,909 NO, AHORBE es lo mismo que NOA y NOBE 217 00:10:30,909 --> 00:10:35,129 es la forma más fácil de comprobar que estas dos son idénticas 218 00:10:35,129 --> 00:10:35,970 ¿verdad? 219 00:10:36,690 --> 00:10:38,429 estas dos condiciones de aquí 220 00:10:38,429 --> 00:10:41,529 esta y esta son la mismita 221 00:10:41,529 --> 00:10:43,929 pero claro, esta la entendemos mucho más fácil 222 00:10:43,929 --> 00:10:46,110 que la de abajo, pero son la misma 223 00:10:46,110 --> 00:11:11,509 vale, pues sobre este ejercicio 224 00:11:11,509 --> 00:11:12,690 ya no tenemos más que sacar 225 00:11:12,690 --> 00:11:16,470 ¿vale? ¿alguna duda? 226 00:11:24,159 --> 00:11:25,919 venga, pues damos un salto a otro 227 00:11:25,919 --> 00:11:31,580 este proyecto en el que tengo todos los ejercicios 228 00:11:31,580 --> 00:11:32,500 que vamos resolviendo 229 00:11:32,500 --> 00:11:35,139 este está en el aula virtual 230 00:11:35,139 --> 00:11:38,240 Ahora lo reactualizaré con los nuevos que hemos hecho 231 00:11:38,240 --> 00:11:41,919 Vale, pues venga 232 00:11:41,919 --> 00:11:43,039 Vamos a 233 00:11:43,039 --> 00:11:45,000 A saltar a otro 234 00:11:45,000 --> 00:11:54,870 Aquí saltar a 3 235 00:11:54,870 --> 00:11:57,350 Pues es el and de 3 236 00:11:57,350 --> 00:11:58,129 ¿Vale? 237 00:11:58,950 --> 00:12:00,470 A menos que lo cambiamos a 238 00:12:00,470 --> 00:12:01,649 Te dejo pasar con una 239 00:12:01,649 --> 00:12:09,710 Si lo cambiamos se vuelve un poco más interesante 240 00:12:09,710 --> 00:12:10,070 ¿Verdad? 241 00:12:16,519 --> 00:12:16,879 Vale 242 00:12:16,879 --> 00:12:20,059 Imaginad que el ejercicio 19 243 00:12:20,059 --> 00:12:22,960 Silence 244 00:12:22,960 --> 00:12:24,039 Please 245 00:12:24,039 --> 00:12:25,759 Sí, eso 246 00:12:25,759 --> 00:12:27,080 Silence 247 00:12:27,080 --> 00:12:32,759 Veo fatal, pero no sé por qué 248 00:12:32,759 --> 00:12:34,419 Oigo muy bien, no sé por qué 249 00:12:34,419 --> 00:12:37,240 Así que cuidado con lo que decís 250 00:12:37,240 --> 00:12:39,080 Algunas cosas hago que no las oigo 251 00:12:39,080 --> 00:12:40,759 Pero no lo sé 252 00:12:40,759 --> 00:12:42,519 Todo lo mal que veo es lo bien que oigo 253 00:12:42,519 --> 00:12:46,539 Vale, el 19 254 00:12:46,539 --> 00:12:48,139 Si lo cambiamos de tal manera 255 00:12:48,139 --> 00:12:51,340 Que el alumno pase con dos módulos 256 00:12:51,340 --> 00:12:52,240 Perdón 257 00:12:52,240 --> 00:12:54,799 Pueda pasar de curso 258 00:12:54,799 --> 00:12:56,659 Con un módulo 259 00:12:56,659 --> 00:12:57,399 Suspenso 260 00:12:57,399 --> 00:12:59,340 Sabríais hacerlo, ¿verdad? 261 00:13:12,309 --> 00:13:14,370 Vale, este 19, vamos a cambiarle 262 00:13:14,370 --> 00:13:15,210 El enunciado 263 00:13:15,210 --> 00:13:22,580 Para hacerlo un poco más interesante 264 00:13:22,580 --> 00:13:37,970 Se pasa de curso 265 00:13:37,970 --> 00:13:39,690 Con 266 00:13:39,690 --> 00:13:43,440 Un módulo pendiente 267 00:13:43,440 --> 00:13:44,299 O ninguno, claro 268 00:13:44,299 --> 00:13:52,500 Vale, pues entonces 269 00:13:52,500 --> 00:13:55,059 Haced este ahora 270 00:13:55,059 --> 00:13:57,080 Con esta modificación, que no lo haya hecho 271 00:13:57,080 --> 00:13:59,840 Programa que lee tres notas es el siguiente 272 00:13:59,840 --> 00:14:01,799 Programa que lee tres notas 273 00:14:01,799 --> 00:14:04,519 Y te dice si repites o no 274 00:14:04,519 --> 00:14:08,120 Puedes pasar de curso 275 00:14:08,120 --> 00:14:10,379 Con un único módulo pendiente 276 00:14:10,379 --> 00:14:12,379 Con todos aprobados o con único pendiente 277 00:14:12,379 --> 00:14:15,759 Pues venga 278 00:14:15,759 --> 00:14:19,870 Vamos a hacer este en un ratinín 279 00:14:19,870 --> 00:14:21,570 Con dos asignaturas aprobadas 280 00:14:21,570 --> 00:14:22,330 Eso