1 00:00:00,180 --> 00:00:05,719 vale, pues la primera parte ya decimos que esta ya la hacemos tal cual 2 00:00:05,719 --> 00:00:09,779 ya ni pensamos, que nuestro dato de entrada es un número entero 3 00:00:09,779 --> 00:00:13,740 pues me hago el objeto para leer por teclado, declaro una variable 4 00:00:13,740 --> 00:00:17,839 de tipo compatible a lo que voy a leer, número n 5 00:00:17,839 --> 00:00:19,399 bueno, n 6 00:00:19,399 --> 00:00:25,460 una variable un poco fea, pero bueno, y la leo, pues ya está 7 00:00:25,460 --> 00:00:42,700 vale, pues esta parte ya no nos exige pensar demasiado 8 00:00:42,700 --> 00:00:44,340 no se exige pensar demasiado 9 00:00:44,340 --> 00:00:47,219 si quiero que me quede más cortito 10 00:00:47,219 --> 00:00:49,439 pues ya a lo mejor se la declaro 11 00:00:49,439 --> 00:00:51,320 aquí me queda un poquito más cortito el código 12 00:00:51,320 --> 00:00:53,500 pero vamos 13 00:00:53,500 --> 00:00:55,000 estos son detalles ahora mismo 14 00:00:55,000 --> 00:00:56,179 sin mayor importancia 15 00:00:56,179 --> 00:00:59,219 vale, ahora ya es cuando pensamos ya un poco más 16 00:00:59,219 --> 00:01:01,780 en la estructura de mi aplicación 17 00:01:01,780 --> 00:01:03,159 para plantar esa estructura 18 00:01:03,159 --> 00:01:05,659 e irla luego perfilando, ir luego ya metiendo los detalles 19 00:01:05,659 --> 00:01:07,439 vale, pues 20 00:01:07,439 --> 00:01:07,980 este 21 00:01:07,980 --> 00:01:10,760 este ejercicio decía 22 00:01:10,760 --> 00:01:15,140 el programa tiene que escribir un mensaje por pantalla 23 00:01:15,140 --> 00:01:18,439 pero ese mensaje tiene dos posibilidades 24 00:01:18,439 --> 00:01:19,599 ese mensaje es 25 00:01:19,599 --> 00:01:22,620 o bien la letra correspondiente 26 00:01:22,620 --> 00:01:24,579 a este numerito N 27 00:01:24,579 --> 00:01:26,459 según la tablástica que acompañaba aquí 28 00:01:26,459 --> 00:01:30,659 o bien no es una letra 29 00:01:30,659 --> 00:01:32,219 entonces el resultado 30 00:01:32,219 --> 00:01:35,239 el resultado es un string 31 00:01:35,239 --> 00:01:36,519 un string 32 00:01:36,519 --> 00:01:38,439 ¿vale? pero este string 33 00:01:38,439 --> 00:01:39,659 tiene dos opciones 34 00:01:39,659 --> 00:01:56,519 Y esas dos opciones dependen de qué. Vamos a ver el enunciado para ver la tabla hastia. Tengo internet. 35 00:01:59,480 --> 00:02:07,659 Sí, pero es para proyectar la tabla hastia ahí. Sí, está aquí. Vale. 36 00:02:09,060 --> 00:02:16,939 Entonces tenemos dos opciones. Que el carácter se corresponda a una letra, tanto mayúscula como minúscula, o que no. 37 00:02:16,939 --> 00:02:19,520 luego esta variable resultado 38 00:02:19,520 --> 00:02:21,680 va a ser 39 00:02:21,680 --> 00:02:23,080 o bien 40 00:02:23,080 --> 00:02:25,439 va a ser 41 00:02:25,439 --> 00:02:27,000 tenemos dos posibilidades 42 00:02:27,000 --> 00:02:29,259 o esta variable resultado es 43 00:02:29,259 --> 00:02:33,719 el carácter 44 00:02:33,719 --> 00:02:34,900 es 45 00:02:34,900 --> 00:02:36,599 y aquí 46 00:02:36,599 --> 00:02:38,620 luego habría que ver en las pruebas si no funciona o no 47 00:02:38,620 --> 00:02:41,039 concatenamos directamente 48 00:02:41,039 --> 00:02:42,620 con lo que me han metido 49 00:02:42,620 --> 00:02:45,580 concatenamos directamente con lo que me han metido 50 00:02:45,580 --> 00:02:47,259 o bien 51 00:02:47,259 --> 00:02:56,840 tengo estas dos opciones 52 00:02:56,840 --> 00:02:59,180 tengo dos posibles salidas 53 00:02:59,180 --> 00:03:01,960 o result es esto o result es lo de abajo 54 00:03:01,960 --> 00:03:03,860 entonces tiene que haber 55 00:03:03,860 --> 00:03:05,599 una condición, como siempre, tiene que haber 56 00:03:05,599 --> 00:03:07,919 una condición que me diga, oye result ¿qué es? 57 00:03:09,000 --> 00:03:09,900 ¿esto de arriba 58 00:03:09,900 --> 00:03:10,979 o esto de abajo? 59 00:03:11,599 --> 00:03:13,419 pues depende, ¿de qué va a depender? 60 00:03:14,139 --> 00:03:15,400 de si el numerito entero 61 00:03:15,400 --> 00:03:18,000 que me han dado se corresponde 62 00:03:18,000 --> 00:03:18,759 con una letra 63 00:03:18,759 --> 00:03:21,659 o no, vale 64 00:03:21,659 --> 00:03:23,780 pero el concepto de corresponderse 65 00:03:23,780 --> 00:03:25,740 con una letra, ahora tenemos que 66 00:03:25,740 --> 00:03:27,539 traducirlo a una condición, como nosotros 67 00:03:27,539 --> 00:03:30,020 conocemos, vale, pues corresponderse 68 00:03:30,020 --> 00:03:31,139 con letra mayúscula 69 00:03:31,139 --> 00:03:33,460 es muy fácil, que el numerito n sea 70 00:03:33,460 --> 00:03:35,159 mayor o igual que 65 71 00:03:35,159 --> 00:03:38,039 y menor o igual que 90 72 00:03:38,039 --> 00:03:39,960 y corresponderse 73 00:03:39,960 --> 00:03:41,439 con una letra minúscula es 74 00:03:41,439 --> 00:03:43,340 que sea mayor o igual que 97 75 00:03:43,340 --> 00:03:45,719 y que sea menor o igual que 76 00:03:45,719 --> 00:03:47,919 122, porque dijimos que letras con tilde 77 00:03:47,919 --> 00:03:48,939 y eso no nos contaban 78 00:03:48,939 --> 00:03:51,599 bueno, pues entonces ya hemos dicho 79 00:03:51,599 --> 00:03:53,599 con palabras la condición que estamos buscando 80 00:03:53,599 --> 00:04:09,180 Que la letra sea mayor o igual que 65, el número entero, perdón, o menor o igual que 90, o, perdón, sí, y menor o igual que 90, o que sea mayor o igual que 97 y menor o igual que 122. 81 00:04:09,379 --> 00:04:11,500 Ya está, ya tenemos la condición, pues ya tenemos el programa hecho. 82 00:04:12,719 --> 00:04:27,060 Entonces, result va a depender, o bien result es esto, o bien result es lo otro, dependiendo de qué. 83 00:04:27,160 --> 00:04:29,160 De esa condición que acabo de decir 84 00:04:29,160 --> 00:04:32,240 Entonces yo podría plantar aquí 85 00:04:32,240 --> 00:04:33,740 Esa condición que he dicho directamente 86 00:04:33,740 --> 00:04:35,600 Y el programa ya se ha terminado y el ejercicio está terminado 87 00:04:35,600 --> 00:04:36,740 ¿Vale? 88 00:04:37,100 --> 00:04:40,240 Pero bueno, para que no se me quede la línea tan larguísima 89 00:04:40,240 --> 00:04:42,079 Voy a poner la condición aparte en un boolean 90 00:04:42,079 --> 00:04:43,560 Solamente para que no me quede la 91 00:04:43,560 --> 00:04:45,660 Condición tan larga y se vea bien 92 00:04:45,660 --> 00:04:49,899 La condición desletra la acabo de decir 93 00:04:49,899 --> 00:04:52,399 O que n sea mayor o igual 94 00:04:52,399 --> 00:04:52,819 Que 95 00:04:52,819 --> 00:04:58,649 65 y menor o igual 96 00:04:58,649 --> 00:04:59,250 Que 90 97 00:04:59,250 --> 00:05:08,439 Y n sea menor o igual que 90 98 00:05:08,439 --> 00:05:11,300 Si cumple esto, mayor o igual que esto 99 00:05:11,300 --> 00:05:14,019 Y simultáneamente, menor o igual que 90 100 00:05:14,019 --> 00:05:15,759 Va a ser una letra mayúscula 101 00:05:15,759 --> 00:05:19,560 Pero también vale si es minúscula 102 00:05:19,560 --> 00:05:22,060 Luego, o esto, o 103 00:05:22,060 --> 00:05:24,199 Y me falta el o 104 00:05:24,199 --> 00:05:36,310 O que n sea el intervalo correspondiente a la minúscula 105 00:05:36,310 --> 00:05:43,350 Vale, y el intervalo correspondiente a la minúscula es 97, 122. 106 00:05:47,300 --> 00:05:51,120 97, 122. 107 00:05:51,399 --> 00:05:53,439 Vale, pues la condición de ser letra ya está. 108 00:05:53,879 --> 00:05:55,100 La condición de ser letra es esta. 109 00:05:56,800 --> 00:05:59,759 Que el número n que me han metido esté comprendido en ese intervalo. 110 00:06:00,839 --> 00:06:07,259 Vale, pues la condición de ser letra es la que me marca cómo es mi resultado. 111 00:06:07,259 --> 00:06:10,339 si es el carácter es y la letra concatenada 112 00:06:10,339 --> 00:06:12,300 o no es una letra 113 00:06:12,300 --> 00:06:15,660 aquí tendríamos ya una 114 00:06:15,660 --> 00:06:17,180 primera versión 115 00:06:17,180 --> 00:06:19,519 entonces ahora uno hace una prueba 116 00:06:19,519 --> 00:06:21,579 a ver si le ha olvidado algo, si esto funciona o no funciona 117 00:06:21,579 --> 00:06:22,839 pero en principio ya estaría terminado 118 00:06:22,839 --> 00:06:25,579 vamos a probarlo 119 00:06:25,579 --> 00:06:28,699 vamos a probarlo 120 00:06:28,699 --> 00:06:30,220 yo estoy reproduciendo 121 00:06:30,220 --> 00:06:31,500 lo que vosotros 122 00:06:31,500 --> 00:06:32,300 pues en principio 123 00:06:32,300 --> 00:06:35,279 el proceso mental vuestro en un examen 124 00:06:35,279 --> 00:06:35,939 el deseable 125 00:06:35,939 --> 00:06:38,139 ¿Vale? Entonces ahora 126 00:06:38,139 --> 00:06:39,899 Uno hace una primera prueba de esto 127 00:06:39,899 --> 00:06:42,319 A ver si lo ha tenido todo en cuenta 128 00:06:42,319 --> 00:06:43,160 Y está todo bien 129 00:06:43,160 --> 00:06:45,519 Entonces ejecuta esto 130 00:06:45,519 --> 00:06:49,540 Y introduzca número 131 00:06:49,540 --> 00:06:51,420 Vamos a meterle una letra 132 00:06:51,420 --> 00:06:54,360 Una letra, entonces le vamos a meter el 110 133 00:06:54,360 --> 00:06:56,220 Que sería la N minúscula 134 00:06:56,819 --> 00:06:58,220 La N minúscula 135 00:06:59,560 --> 00:07:00,220 110 136 00:07:00,779 --> 00:07:02,240 ¿Vale? 137 00:07:03,000 --> 00:07:04,240 Ay, que no he puesto el system out 138 00:07:04,240 --> 00:07:05,459 ¿Vale? Primera cosa 139 00:07:05,459 --> 00:07:07,800 De la que uno se da cuenta cuando hace las pruebas 140 00:07:07,800 --> 00:07:09,899 Hombre, si no muestro el resultado, complicado 141 00:07:09,899 --> 00:07:12,100 Claro, podríamos meter esto en el system.out 142 00:07:12,100 --> 00:07:14,139 Directamente y ya el programa nos queda 143 00:07:14,139 --> 00:07:15,899 De una línea, o sea, si no hacemos 144 00:07:15,899 --> 00:07:18,199 Una condición aparte y encima metemos esto del system.out 145 00:07:18,199 --> 00:07:20,199 Este ejercicio era una línea de código 146 00:07:20,199 --> 00:07:22,199 Muy larga, eso sí, muy larga, pero una línea 147 00:07:22,199 --> 00:07:24,100 Vale 148 00:07:24,100 --> 00:07:30,680 Vale, volvemos a ejecutar 149 00:07:31,360 --> 00:07:32,699 Volvemos a meterle 110 150 00:07:32,699 --> 00:07:34,379 Y nos dice 151 00:07:34,379 --> 00:07:36,360 Uy, mi programa está casi bien 152 00:07:36,360 --> 00:07:38,800 Pero no está bien del todo, porque me tenía que haber sacado 153 00:07:38,800 --> 00:07:40,819 N minúscula, no pasa nada 154 00:07:40,819 --> 00:07:42,839 Nos vamos, aquí decimos 155 00:07:42,839 --> 00:07:45,019 Vale, nosotros hemos dicho siempre 156 00:07:45,019 --> 00:07:46,279 Que 157 00:07:46,279 --> 00:07:50,180 Los caracteres 158 00:07:50,180 --> 00:07:51,399 Y los números enteros 159 00:07:51,399 --> 00:07:53,519 Son perfectamente intercambiables 160 00:07:53,519 --> 00:07:54,620 Según la tabla ASCII 161 00:07:54,620 --> 00:07:56,519 Entonces según esto 162 00:07:56,519 --> 00:07:57,980 Uno podría pensar 163 00:07:57,980 --> 00:08:00,899 A ver, ojo, estoy concatenando 164 00:08:00,899 --> 00:08:02,339 Estoy concatenando 165 00:08:02,339 --> 00:08:05,319 Con lo cual esto debería convertirlo 166 00:08:05,319 --> 00:08:07,019 Al char que representa 167 00:08:07,019 --> 00:08:09,279 Cuidado, porque acordaos 168 00:08:09,279 --> 00:08:11,240 que eso depende de cómo esté declarada 169 00:08:11,240 --> 00:08:13,500 depende, está declarada 170 00:08:13,500 --> 00:08:15,300 como int, porque hemos dicho que se lee 171 00:08:15,300 --> 00:08:17,139 un número entero, si está 172 00:08:17,139 --> 00:08:18,399 declarada como int 173 00:08:18,399 --> 00:08:21,360 a la hora de el operador más 174 00:08:21,360 --> 00:08:22,759 convertirlo a cadena 175 00:08:22,759 --> 00:08:25,240 lo va a convertir en la cadena del numerito 176 00:08:25,240 --> 00:08:26,839 que representa, que en este caso es 110 177 00:08:26,839 --> 00:08:28,980 ¿vale? 178 00:08:29,120 --> 00:08:31,019 pero si estuviera declarada como char 179 00:08:31,019 --> 00:08:32,600 entonces no 180 00:08:32,600 --> 00:08:35,200 aunque yo a ese char le hubiera metido 181 00:08:35,200 --> 00:08:35,759 el 110 182 00:08:35,759 --> 00:08:37,279 ¿vale? 183 00:08:39,279 --> 00:08:41,299 Imaginaos que yo hago esto, ¿vale? 184 00:08:42,720 --> 00:08:51,659 O hago esto otro, ¿vale? 185 00:08:51,860 --> 00:08:59,399 Entonces, yo aquí, si concateno con N, me va a salir 110. 186 00:09:00,259 --> 00:09:05,700 Pero si concateno con C, me va a salir el char correspondiente a 110. 187 00:09:05,700 --> 00:09:08,019 ¿Por qué? Porque está declarada como char. 188 00:09:08,559 --> 00:09:10,480 ¿Vale? Esto ya lo vimos en un par de ejercicios. 189 00:09:10,480 --> 00:09:13,419 entonces, cuidado cuando 190 00:09:13,419 --> 00:09:15,639 lo de que los char y los int 191 00:09:15,639 --> 00:09:17,639 son intercambiables según la tabla 192 00:09:17,639 --> 00:09:17,960 ASTI 193 00:09:17,960 --> 00:09:20,820 es así, porque de hecho 194 00:09:20,820 --> 00:09:23,179 a esta variable char 195 00:09:23,179 --> 00:09:24,600 yo le he dado el 110 196 00:09:24,600 --> 00:09:27,419 y cuando luego la muestro aquí me va a mostrar 197 00:09:27,419 --> 00:09:28,940 la n minúscula o la que sea 198 00:09:28,940 --> 00:09:31,700 pero claro, porque está declarada como char 199 00:09:31,700 --> 00:09:33,120 porque está declarada como char 200 00:09:33,120 --> 00:09:35,299 esta está declarada como entero 201 00:09:35,299 --> 00:09:36,620 está declarada como entero 202 00:09:36,620 --> 00:09:39,220 entonces va a trabajar como entero 203 00:09:39,220 --> 00:09:42,179 A menos que le hagamos el famoso casting a char 204 00:09:42,179 --> 00:09:42,480 ¿Vale? 205 00:09:43,299 --> 00:09:45,220 Entonces una vez que uno hace esta prueba 206 00:09:45,220 --> 00:09:47,580 Ya dice, ah espera que me sigue faltando el detallito 207 00:09:47,580 --> 00:09:48,940 ¿Qué detallito me faltaba? 208 00:09:49,539 --> 00:09:51,620 Cuidado, me faltaba este detalle 209 00:09:51,620 --> 00:09:56,659 ¿Vale? 210 00:10:04,370 --> 00:10:07,190 Entonces ahora ejecutamos esto 211 00:10:07,190 --> 00:10:10,110 Le ponemos 110 212 00:10:10,110 --> 00:10:11,909 Y el carácter es n minúscula 213 00:10:11,909 --> 00:10:14,230 Que le ponemos uno que está afuera 214 00:10:14,230 --> 00:10:15,929 200 creo que está afuera, ¿no? 215 00:10:16,190 --> 00:10:17,090 No es una letra 216 00:10:17,090 --> 00:10:21,039 Pues ya está 217 00:10:21,039 --> 00:10:22,419 este era este ejercicio 218 00:10:22,419 --> 00:10:24,419 leer el número 219 00:10:24,419 --> 00:10:25,320 entonces la dificultad 220 00:10:25,320 --> 00:10:25,879 de este ejercicio 221 00:10:25,879 --> 00:10:27,279 era establecer esta condición 222 00:10:27,279 --> 00:10:28,139 pero bueno 223 00:10:28,139 --> 00:10:29,019 tenéis la tabla ASTI 224 00:10:29,019 --> 00:10:31,220 para establecer esa condición 225 00:10:31,220 --> 00:10:32,379 de ser letra o no ser letra 226 00:10:32,379 --> 00:10:33,779 y luego 227 00:10:33,779 --> 00:10:36,039 pues darse cuenta 228 00:10:36,039 --> 00:10:37,879 de que tengo dos posibilidades 229 00:10:37,879 --> 00:10:39,860 que dependen de una condición 230 00:10:39,860 --> 00:10:42,940 y a la hora de mostrar el carácter 231 00:10:42,940 --> 00:10:44,100 si lo mostráis tal cual 232 00:10:44,100 --> 00:10:45,600 como está declarado como entero 233 00:10:45,600 --> 00:10:46,759 va a mostrar el número entero 234 00:10:46,759 --> 00:10:49,440 no queréis mostrarlo como entero 235 00:10:49,440 --> 00:10:50,240 sino como char 236 00:10:50,240 --> 00:10:51,539 pues entonces toca hacer el casting 237 00:10:51,539 --> 00:10:55,940 vale, bueno, hicimos un ejercicio 238 00:10:55,940 --> 00:10:57,840 o dos que más o menos hacían esto 239 00:10:57,840 --> 00:10:59,620 pero eran más complicados, era una versión 240 00:10:59,620 --> 00:11:01,759 más complicada, este era una versión 241 00:11:01,759 --> 00:11:03,700 sencilla, de eso que habíamos 242 00:11:03,700 --> 00:11:04,299 hecho en clase 243 00:11:04,299 --> 00:11:07,759 vale, bueno, pues este primero 244 00:11:07,759 --> 00:11:11,360 está, entonces 245 00:11:11,360 --> 00:11:12,980 esto se puede hacer con un if else 246 00:11:12,980 --> 00:11:15,399 claro, pero en este decía que 247 00:11:15,399 --> 00:11:17,039 no usaréis un if else, con lo cual 248 00:11:17,039 --> 00:11:19,200 con esto, que lo hemos usado hasta aburrirnos 249 00:11:19,200 --> 00:11:20,700 lo hemos usado un montón de veces 250 00:11:20,700 --> 00:11:23,340 eso me asustó 251 00:11:23,340 --> 00:11:25,600 eso también cuenta como condicional 252 00:11:25,600 --> 00:11:27,980 no, no, no, por eso especificé 253 00:11:27,980 --> 00:11:29,360 sentencias if else 254 00:11:29,360 --> 00:11:31,559 o if else if y switch case 255 00:11:31,559 --> 00:11:32,419 me asusté un poco 256 00:11:32,419 --> 00:11:35,200 es que si no, no se puede, o sea, si un programa tiene 257 00:11:35,200 --> 00:11:37,779 varias posibilidades y no puedes usar 258 00:11:37,779 --> 00:11:39,320 le pedí a chat 259 00:11:39,320 --> 00:11:40,980 que vete en mi casa 260 00:11:40,980 --> 00:11:43,580 que hiciese sin condicional 261 00:11:43,580 --> 00:11:44,600 el 10 o ni nada 262 00:11:44,600 --> 00:11:47,580 y me hizo una palafada 263 00:11:47,580 --> 00:11:48,600 inmensa para que 264 00:11:48,600 --> 00:11:50,960 restase el resultado que no es 265 00:11:50,960 --> 00:11:52,440 el correcto al número 266 00:11:52,440 --> 00:11:53,279 no sé 267 00:11:53,279 --> 00:12:01,000 a ver, es que hay casos 268 00:12:01,000 --> 00:12:02,879 si tú haciendo una operación matemática 269 00:12:02,879 --> 00:12:05,120 puedes, o sea, poniendo aquí 270 00:12:05,120 --> 00:12:06,759 el carácter es, y aquí 271 00:12:06,759 --> 00:12:09,320 con patenas, con una operación matemática 272 00:12:09,320 --> 00:12:10,639 que, pero 273 00:12:10,639 --> 00:12:12,399 es que no, ni siquiera se me ocurre cómo 274 00:12:12,399 --> 00:12:15,240 habría que ver qué te ha dicho, pero se me hace muy raro 275 00:12:15,240 --> 00:12:16,620 sí, me dice la cosa muy extraña 276 00:12:16,620 --> 00:12:18,580 Sí, no lo sé. Se me hace muy raro porque 277 00:12:18,580 --> 00:12:20,259 en algún momento vas a tener que tomar una decisión. 278 00:12:20,419 --> 00:12:21,840 Pero bueno, no lo sé. No sé 279 00:12:21,840 --> 00:12:24,620 qué haría. Vale, pues este está. 280 00:12:26,659 --> 00:12:27,019 Cuidado. 281 00:12:27,500 --> 00:12:28,559 A ver, que yo misma lo hago 282 00:12:28,559 --> 00:12:30,399 mucho porque necesito saber 283 00:12:30,399 --> 00:12:32,700 en qué mundo estamos. 284 00:12:32,860 --> 00:12:34,840 Pero cuidado con las consultas a ChatGPT, 285 00:12:34,940 --> 00:12:36,639 a Gemini, porque ya sabéis 286 00:12:36,639 --> 00:12:38,139 que... 287 00:12:38,139 --> 00:12:40,039 Eso fue un poco para quitarme curiosidad. 288 00:12:40,580 --> 00:12:42,679 Claro, o sea, no, por favor, no dejéis 289 00:12:42,679 --> 00:12:44,000 vuestra educación en sus manos. 290 00:12:44,659 --> 00:12:46,059 Porque llegan hasta donde llegan. 291 00:12:46,059 --> 00:12:49,580 vale, eso no significa que no sea 292 00:12:49,580 --> 00:12:50,919 una ayuda interesante, claro 293 00:12:50,919 --> 00:12:53,460 venga, ejercicio 2 294 00:12:53,460 --> 00:12:55,740 entrada, dos numeritos 295 00:12:55,740 --> 00:12:57,100 enteros y un char 296 00:12:57,100 --> 00:12:59,740 vale, eso sabemos hacerlo, sabemos leerlo, se acabó 297 00:12:59,740 --> 00:13:01,919 ahora, damos por sentado 298 00:13:01,919 --> 00:13:03,799 que op solo va a tomar, el char este 299 00:13:03,799 --> 00:13:05,360 va a tomar estos valores, y ahora 300 00:13:05,360 --> 00:13:06,740 tres apartaditos 301 00:13:06,740 --> 00:13:09,919 hacer la suma, la resta 302 00:13:09,919 --> 00:13:11,740 la multiplicación o la división 303 00:13:11,740 --> 00:13:13,899 de n1 y n2, dependiendo 304 00:13:13,899 --> 00:13:15,620 del operador op, eso 305 00:13:15,620 --> 00:13:17,720 Pues clama al cielo un switch case 306 00:13:17,720 --> 00:13:19,580 Con ese carácter y hacer la operación 307 00:13:19,580 --> 00:13:20,940 Y se acabó, no hay más que hacer 308 00:13:20,940 --> 00:13:23,500 Si n1 es múltiplo de n2 309 00:13:23,500 --> 00:13:24,840 Eso lo hemos hecho 310 00:13:24,840 --> 00:13:27,720 Incluso en las dos posibilidades 311 00:13:28,460 --> 00:13:29,919 Y escribirlos también 312 00:13:29,919 --> 00:13:31,320 O sea, esto lo hemos hecho en clase 313 00:13:31,320 --> 00:13:33,679 Todo esto 314 00:13:33,679 --> 00:13:35,759 En versión más complicada que esta 315 00:13:35,759 --> 00:13:37,940 En este caso se traduciría a 316 00:13:37,940 --> 00:13:51,929 Vale, pues entonces 317 00:13:51,929 --> 00:13:53,169 Leer por teclado 318 00:13:53,169 --> 00:13:59,210 Esto, pero con otro numerito más 319 00:13:59,210 --> 00:13:59,769 Y un char 320 00:13:59,769 --> 00:14:04,700 Perdón 321 00:14:04,700 --> 00:14:09,679 Hombre, a ver, es un comentario 322 00:14:09,679 --> 00:14:12,480 Hombre, es que no pinta nada 323 00:14:12,480 --> 00:14:14,500 Los comentarios, la idea es que 324 00:14:14,500 --> 00:14:16,179 Te ayuden 325 00:14:16,179 --> 00:14:17,720 Pero un todo el código aquí 326 00:14:17,720 --> 00:14:19,080 No te ayuda nada ese comentario 327 00:14:19,080 --> 00:14:21,679 Venga, pues el numerito en E1 328 00:14:21,679 --> 00:14:25,539 Vamos a leer el numerito 2 329 00:14:25,539 --> 00:14:36,580 Y vamos a leer un char 330 00:14:36,580 --> 00:14:42,610 Le vamos a poner el mensajito 331 00:14:42,610 --> 00:14:43,750 Que introduzca 332 00:14:43,750 --> 00:14:48,360 O más 333 00:14:48,360 --> 00:14:50,179 o menos 334 00:14:50,179 --> 00:14:53,570 o por 335 00:14:53,570 --> 00:14:55,230 o 336 00:14:55,230 --> 00:14:57,730 o 337 00:14:57,730 --> 00:14:59,009 división 338 00:14:59,009 --> 00:15:00,169 vale 339 00:15:00,169 --> 00:15:03,909 y ahora ya esto es un char 340 00:15:03,909 --> 00:15:05,929 como hemos leído char nosotros 341 00:15:05,929 --> 00:15:07,409 otras veces no hay un next char 342 00:15:07,409 --> 00:15:08,190 en realidad 343 00:15:08,190 --> 00:15:17,360 pero como lo hacíamos 344 00:15:17,360 --> 00:15:19,200 pues hacemos el next line 345 00:15:19,200 --> 00:15:20,840 que sirve para leer todo 346 00:15:20,840 --> 00:15:23,279 cualquier cosa que tú le metas hasta el salto de línea 347 00:15:23,279 --> 00:15:24,580 la traga cualquier cosa 348 00:15:24,580 --> 00:15:28,820 Y ahora ya, como sabemos que solo va a haber metido 349 00:15:28,820 --> 00:15:31,080 Un único char, que es solo lo que nos interesa 350 00:15:31,080 --> 00:15:33,340 Pues nos quedamos con el carácter en la primera posición 351 00:15:33,340 --> 00:15:34,759 Y ya está 352 00:15:34,759 --> 00:15:37,720 ¿Vale? Eso es como lo hemos leído otras veces 353 00:15:37,720 --> 00:15:40,019 Leo todo lo que me metas 354 00:15:40,019 --> 00:15:42,620 Y me quedo con el carácter en la primera posición 355 00:15:42,620 --> 00:15:43,899 Que esto ya sí que es un char 356 00:15:43,899 --> 00:15:47,460 ¿Vale? Pues ya tenemos los datos de entrada 357 00:15:47,460 --> 00:15:48,600 Y ahora 358 00:15:48,600 --> 00:15:51,379 Hacemos los tres apartados 359 00:15:51,379 --> 00:15:52,220 Por libres 360 00:15:52,220 --> 00:15:56,240 esto, pues esto el resultado es 361 00:15:56,240 --> 00:15:58,679 o n1 más n2 o n1 menos n2 362 00:15:58,679 --> 00:16:00,820 o n1 por n2 o n1 entre n2 363 00:16:00,820 --> 00:16:03,139 hay que hacer una de esas cuatro cosas 364 00:16:03,139 --> 00:16:04,899 vale, cuatro ramas 365 00:16:04,899 --> 00:16:05,759 tiene mi aplicación 366 00:16:05,759 --> 00:16:08,559 ¿de qué dependen esas cuatro ramas? 367 00:16:08,620 --> 00:16:09,820 del valor de una variable 368 00:16:09,820 --> 00:16:12,700 claro, cuando identificamos la situación 369 00:16:12,700 --> 00:16:14,539 que mi programa hace varias cosas 370 00:16:14,539 --> 00:16:16,179 dependiendo del valor de una variable 371 00:16:16,179 --> 00:16:18,899 ahí como programadores 372 00:16:18,899 --> 00:16:20,480 elegantes ponemos un switch case 373 00:16:20,480 --> 00:16:21,960 pues venga 374 00:16:21,960 --> 00:16:24,960 en función del valor de mi char 375 00:16:24,960 --> 00:16:27,299 que mi char 376 00:16:27,299 --> 00:16:28,600 resulta que es 377 00:16:28,600 --> 00:16:30,659 el char 378 00:16:30,659 --> 00:16:31,600 más 379 00:16:31,600 --> 00:16:34,899 ¿vale? recordad que los char 380 00:16:34,899 --> 00:16:37,059 se indican con comillas simples, no dobles 381 00:16:37,059 --> 00:16:39,379 ¿vale? 382 00:16:40,159 --> 00:16:41,100 que mi char 383 00:16:41,100 --> 00:16:42,899 es el char más 384 00:16:42,899 --> 00:16:45,059 aquí si uno pone comillas 385 00:16:45,059 --> 00:16:45,600 dobles 386 00:16:45,600 --> 00:16:51,009 no le va a valer porque op está declarado 387 00:16:51,009 --> 00:16:51,549 como char 388 00:16:51,549 --> 00:16:54,509 entonces char no puede ser igual a un string 389 00:16:54,509 --> 00:16:56,009 son tipos de datos distintos 390 00:16:56,009 --> 00:16:57,309 son tipos de datos distintos 391 00:16:57,309 --> 00:16:59,429 esto ya sí que es un 392 00:16:59,429 --> 00:17:00,850 char 393 00:17:00,850 --> 00:17:04,529 si alguno aquí quería ponerlo con doble comilla 394 00:17:04,529 --> 00:17:06,329 luego lo único es que tiene que convertir 395 00:17:06,329 --> 00:17:07,210 op a string 396 00:17:07,210 --> 00:17:10,210 pero ya sabemos que concatenándolo con una cadena vacía 397 00:17:10,210 --> 00:17:11,170 ya estaría con string 398 00:17:11,170 --> 00:17:17,900 claro en ese caso 399 00:17:17,900 --> 00:17:19,819 pues podrías haber convertido esto a string 400 00:17:19,819 --> 00:17:21,940 y ya está, que aquí yo creo que no te deja 401 00:17:21,940 --> 00:17:22,680 Directamente 402 00:17:22,680 --> 00:17:25,099 O si te deja directamente 403 00:17:25,099 --> 00:17:29,390 Si mira 404 00:17:29,390 --> 00:17:31,069 Entonces 405 00:17:31,069 --> 00:17:33,329 Al poner esto en doble comillas 406 00:17:33,329 --> 00:17:35,890 Lo que hay aquí tiene que ser un string 407 00:17:35,890 --> 00:17:36,470 No hay tutía 408 00:17:36,470 --> 00:17:38,849 Entonces si tú al char ople concatenas con algo 409 00:17:38,849 --> 00:17:41,329 Ya sabéis que eso automáticamente fuerza la conversión a string 410 00:17:41,329 --> 00:17:42,529 Pero vamos 411 00:17:42,529 --> 00:17:44,609 Que era mucho más sencillo 412 00:17:44,609 --> 00:17:47,450 Pues como char es un carácter 413 00:17:47,450 --> 00:17:47,750 Así 414 00:17:47,750 --> 00:17:50,890 Vale, en el caso de que sea más 415 00:17:50,890 --> 00:17:51,569 Pues ya sabemos 416 00:17:51,569 --> 00:17:56,309 N1 más N2 417 00:17:56,309 --> 00:18:00,470 Y break para no sacar todo lo demás 418 00:18:00,470 --> 00:18:02,029 Y ya está 419 00:18:02,029 --> 00:18:04,130 Y así todo 420 00:18:04,130 --> 00:18:23,480 Más menos por 421 00:18:23,480 --> 00:18:29,549 Y división 422 00:18:29,549 --> 00:18:33,269 N1 menos N2 423 00:18:33,269 --> 00:18:36,289 n1 por n2 424 00:18:36,289 --> 00:18:38,309 y n1 entre n2, que en este caso va a ser 425 00:18:38,309 --> 00:18:40,250 el cociente entero, porque como son 426 00:18:40,250 --> 00:18:42,430 números enteros, vale, como no 427 00:18:42,430 --> 00:18:43,609 en el enunciado decía 428 00:18:43,609 --> 00:18:46,369 que partamos de que va a ser el operador 429 00:18:46,369 --> 00:18:48,150 solo uno de estos, pues no hace falta 430 00:18:48,150 --> 00:18:50,470 ni poner un default, pero vamos, que uno podría 431 00:18:50,470 --> 00:18:51,970 poner un default si quiere 432 00:18:51,970 --> 00:18:54,089 y poner el operador, no es correcto y ya está 433 00:18:54,089 --> 00:18:56,329 pero no tenemos 434 00:18:56,329 --> 00:18:58,309 ni que contemplar ese caso, porque nos han dicho 435 00:18:58,309 --> 00:18:59,890 que lo va a meter bien siempre 436 00:18:59,890 --> 00:19:02,509 no 437 00:19:02,509 --> 00:19:06,829 Esto es como fregar la vajilla dos veces 438 00:19:06,829 --> 00:19:07,730 Con una es suficiente 439 00:19:07,730 --> 00:19:13,970 Vale, pero obviamente 440 00:19:13,970 --> 00:19:15,730 Entre haber elegido un switch 441 00:19:15,730 --> 00:19:17,190 Y haber elegido un if, el save 442 00:19:17,190 --> 00:19:19,390 Hay más nota con un switch 443 00:19:19,390 --> 00:19:22,579 Claro, porque 444 00:19:22,579 --> 00:19:23,720 De alguna 445 00:19:23,720 --> 00:19:27,700 No, por eso no suspendes el ejercicio 446 00:19:27,700 --> 00:19:28,359 Ni de lejos 447 00:19:28,359 --> 00:19:31,819 Pero se puntúa más si has elegido la estructura 448 00:19:31,819 --> 00:19:33,900 Adecuada 449 00:19:33,900 --> 00:19:42,539 si, y si funciona 450 00:19:42,539 --> 00:19:44,920 no se puntúa mal, pero el 10 451 00:19:44,920 --> 00:19:47,019 es si tú además has elegido un switch case 452 00:19:47,019 --> 00:19:48,259 porque has identificado que 453 00:19:48,259 --> 00:19:50,740 un programa con varias ramas 454 00:19:50,740 --> 00:19:52,380 que dependen de una variable, eso es lo que 455 00:19:52,380 --> 00:20:00,900 no, no, yo dije que ahí podíais usar 456 00:20:00,900 --> 00:20:02,200 la que quisierais, pero vamos 457 00:20:02,200 --> 00:20:05,079 Lo hice precisamente pensando que tú ibas a puntuar más 458 00:20:05,079 --> 00:20:07,259 si no usábamos sentencias condicionales. 459 00:20:07,680 --> 00:20:09,220 Bueno, no pasa nada. 460 00:20:09,779 --> 00:20:12,539 De todas formas, no dices que también lo tienes ya mal por el... 461 00:20:12,539 --> 00:20:16,059 Tampoco puedo adivinar lo que piensas que tienes que usar. 462 00:20:16,099 --> 00:20:19,240 Sí, pero sí que hemos dicho varias veces, 463 00:20:19,319 --> 00:20:20,980 y si no, pues seguimos insistiendo en ello ahora, 464 00:20:21,339 --> 00:20:23,059 que hay diferentes formas de hacer un programa 465 00:20:23,059 --> 00:20:25,920 y que tenemos que intentar acostumbrarnos a hacer códigos 466 00:20:25,920 --> 00:20:27,839 que sean lo más legibles posibles, 467 00:20:27,839 --> 00:20:32,799 Que se adapten mejor a las pautas de programación generales. 468 00:20:32,799 --> 00:20:35,259 Las pautas del examen, los ejercicios anteriores. 469 00:20:35,660 --> 00:20:36,759 Ya, ya, ya. Sí, sí, sí. 470 00:20:36,940 --> 00:20:37,700 ¿Sabes lo que te quiero decir? 471 00:20:37,819 --> 00:20:39,839 Sí, no, sí te entiendo. Sí, sí, sí, tiene sentido. 472 00:20:41,200 --> 00:20:44,279 Vale, a ver, entonces, ya está, el apartado este ya está. 473 00:20:48,220 --> 00:20:50,140 Apartado 1 ya está, apartado 2. 474 00:20:57,710 --> 00:21:01,549 El apartado 2 decía, decir sin eno es múltiplo de eno 2. 475 00:21:01,549 --> 00:21:03,829 Aquí estamos otra vez con que no podemos usar 476 00:21:03,829 --> 00:21:05,589 Sentencias condicionales 477 00:21:05,589 --> 00:21:07,990 Pues aquí es que esto lo hemos hecho mil veces 478 00:21:07,990 --> 00:21:09,710 Sabemos que el resultado 479 00:21:09,710 --> 00:21:11,069 Tenemos dos posibilidades 480 00:21:11,069 --> 00:21:14,150 ¿Es múltiplo o no? 481 00:21:14,750 --> 00:21:15,809 Esto nos hemos hartado 482 00:21:15,809 --> 00:21:17,549 De hacerlo al principio antes de ver los if 483 00:21:17,549 --> 00:21:18,970 El tropecientan mil veces 484 00:21:18,970 --> 00:21:21,329 ¿Es múltiplo o 485 00:21:21,329 --> 00:21:23,390 No es múltiplo? 486 00:21:27,160 --> 00:21:28,019 Vale, ¿de qué depende? 487 00:21:28,079 --> 00:21:29,859 Que yo muestre una cosa o muestre la otra 488 00:21:29,859 --> 00:21:32,180 De si n1 es múltiplo de n2 o no 489 00:21:32,180 --> 00:21:34,000 Luego la condición, si n1 490 00:21:34,000 --> 00:21:36,180 el resto de dividirlo entre n2 491 00:21:36,180 --> 00:21:37,960 es igual a 0 492 00:21:37,960 --> 00:21:38,640 o no lo es 493 00:21:38,640 --> 00:21:40,299 de eso va a depender 494 00:21:40,299 --> 00:21:44,519 bueno pues ya está 495 00:21:44,519 --> 00:21:46,059 el apartado 2 se acabó 496 00:21:46,059 --> 00:21:51,579 apartado 3 497 00:21:51,579 --> 00:21:55,720 vale el apartado 3 498 00:21:55,720 --> 00:21:56,480 algo similar 499 00:21:56,480 --> 00:21:59,519 ordenados de menor a mayor 500 00:21:59,519 --> 00:22:01,720 aquí solo tenemos dos números 501 00:22:01,720 --> 00:22:03,599 con lo cual yo muestro 502 00:22:03,599 --> 00:22:05,539 o n1 concatenado con n2 503 00:22:05,539 --> 00:22:07,259 o n2 concatenado con n1 504 00:22:07,259 --> 00:22:08,299 luego otra vez lo mismo 505 00:22:08,299 --> 00:22:09,720 Mi resultado es 506 00:22:09,720 --> 00:22:11,700 Hacer un system out con 507 00:22:11,700 --> 00:22:13,200 O un mensaje o con otro 508 00:22:13,200 --> 00:22:15,519 O con N1 concatenado con N2 509 00:22:15,519 --> 00:22:17,059 O con N2 concatenado con N1 510 00:22:17,059 --> 00:22:19,740 ¿De qué va a depender que yo muestre un mensaje o el otro? 511 00:22:19,920 --> 00:22:21,480 ¿De si N1 es mayor que N2 o no? 512 00:22:21,980 --> 00:22:24,099 Pues el apartado de abajo es idéntico 513 00:22:24,099 --> 00:22:26,079 Que el de arriba pero cambiando la condición 514 00:22:26,079 --> 00:22:27,380 Y los mensajes de salida, claro 515 00:22:27,380 --> 00:22:30,000 El apartado 3 es lo mismo en realidad 516 00:22:30,000 --> 00:22:32,880 Es 517 00:22:32,880 --> 00:22:35,539 N1 es mayor 518 00:22:35,539 --> 00:22:38,819 Que N2 519 00:22:38,819 --> 00:22:42,099 Pues entonces lo que yo tengo que mostrar 520 00:22:42,099 --> 00:22:42,980 Es 521 00:22:42,980 --> 00:22:48,150 Primero n2 que es el más pequeño 522 00:22:48,150 --> 00:22:49,490 Y luego n1 523 00:22:49,490 --> 00:22:52,809 Intercalando esto por medio 524 00:22:52,809 --> 00:22:55,190 Claro porque si no me haría la suma de los números enteros 525 00:22:55,190 --> 00:22:57,009 Me haría la suma intercalando esto por medio 526 00:22:57,009 --> 00:22:57,289 Claro 527 00:22:57,289 --> 00:23:00,509 Que no, pues al revés 528 00:23:00,509 --> 00:23:02,390 Esto mismo pero al revés 529 00:23:02,390 --> 00:23:04,910 Porque entonces es n1 el más pequeño 530 00:23:04,910 --> 00:23:12,240 Y si son iguales 531 00:23:12,240 --> 00:23:14,059 Los va a mostrar los dos 532 00:23:14,059 --> 00:23:14,859 Uno detrás de otro 533 00:23:14,859 --> 00:23:16,839 Si son iguales se va a ir aquí 534 00:23:16,839 --> 00:23:18,460 Pero es que me lo va a hacer bien 535 00:23:18,460 --> 00:23:20,339 Porque 3, 3 va a estar ordenado 536 00:23:20,339 --> 00:23:23,799 Vale, pues ya está 537 00:23:23,799 --> 00:23:25,240 El apartado 3 ya está 538 00:23:25,240 --> 00:23:26,700 Es lo mismo las dos veces 539 00:23:26,700 --> 00:23:28,140 Tengo dos posibilidades 540 00:23:28,140 --> 00:23:29,180 Dependen de una condición 541 00:23:29,180 --> 00:23:30,460 Tengo dos posibilidades 542 00:23:30,460 --> 00:23:31,460 Dependen de una condición 543 00:23:31,460 --> 00:23:34,700 Probamos porque podemos haber hecho 544 00:23:34,700 --> 00:23:36,160 Cualquier cosa mal 545 00:23:36,160 --> 00:23:41,099 Introduzca número 1 546 00:23:41,099 --> 00:23:41,960 65 547 00:23:41,960 --> 00:23:44,140 Número 2 548 00:23:44,140 --> 00:23:44,940 78 549 00:23:44,940 --> 00:23:46,619 ¿Ves? Algo mal hemos hecho 550 00:23:46,619 --> 00:23:48,579 Algo mal hemos hecho 551 00:23:48,579 --> 00:23:49,359 Porque 552 00:23:49,359 --> 00:23:53,039 ahora es cuando 553 00:23:53,039 --> 00:23:54,859 el string in this bound exception 554 00:23:54,859 --> 00:23:56,839 ya nos suena que 555 00:23:56,839 --> 00:23:58,539 ¿por qué no salía eso? 556 00:23:59,700 --> 00:24:01,279 ¿cuándo nos ha salido esto? ¿por qué no salía? 557 00:24:02,220 --> 00:24:03,400 porque no estaba esperando 558 00:24:03,400 --> 00:24:05,400 no 559 00:24:05,400 --> 00:24:07,200 eso cuando no estaba esperando 560 00:24:07,200 --> 00:24:08,759 salía el input mismatch exception 561 00:24:08,759 --> 00:24:11,160 esto no salía cuando después 562 00:24:11,160 --> 00:24:13,000 de un número le hacíamos un next line 563 00:24:13,000 --> 00:24:15,099 y entonces el next in 564 00:24:15,099 --> 00:24:16,640 se quedaba con el salto de línea 565 00:24:16,640 --> 00:24:19,500 claro, entonces aquí se me ha olvidado 566 00:24:19,500 --> 00:24:21,640 para limpiar 567 00:24:21,640 --> 00:24:23,160 esto, entonces estas cosas 568 00:24:23,160 --> 00:24:24,859 pues uno se da 569 00:24:24,859 --> 00:24:27,500 cuenta si lo prueba, a ver esto no es 570 00:24:27,500 --> 00:24:29,299 un error de programación 571 00:24:29,299 --> 00:24:31,480 grave ni nada, ni que penalice 572 00:24:31,480 --> 00:24:33,039 especialmente ni nada, que bueno 573 00:24:33,039 --> 00:24:35,019 vale 574 00:24:35,019 --> 00:24:37,920 entonces lo volvemos a ejecutar 575 00:24:37,920 --> 00:24:39,259 45 576 00:24:39,259 --> 00:24:40,660 56 577 00:24:40,660 --> 00:24:43,460 vamos a restar 578 00:24:43,460 --> 00:24:45,099 menos 11 579 00:24:45,099 --> 00:24:48,660 45 no es múltiplo de 56 580 00:24:48,660 --> 00:24:50,720 Y de menor a mayor son esos 581 00:24:50,720 --> 00:24:52,519 Vale, vamos a hacer uno al revés 582 00:24:52,519 --> 00:24:53,339 Que sea múltiplo 583 00:24:53,339 --> 00:24:55,599 Porque si uno tiene tiempo 584 00:24:55,599 --> 00:24:57,519 Mejor hacer, hombre, los tres pruebas 585 00:24:57,519 --> 00:24:59,900 Vale, vamos a poner 586 00:24:59,900 --> 00:25:07,549 El 8 y el 4 587 00:25:07,549 --> 00:25:11,410 Y vamos a hacer la multiplicación 588 00:25:11,410 --> 00:25:12,589 Vale 589 00:25:12,589 --> 00:25:15,289 El primero si es múltiplo del segundo 590 00:25:15,289 --> 00:25:18,170 Y en orden de menor a mayor es 48 591 00:25:18,170 --> 00:25:20,069 Bueno, pues ya está, el programa ya está hecho 592 00:25:20,069 --> 00:25:22,230 Ya está 593 00:25:22,230 --> 00:25:23,950 ¿Vale? Un switch case 594 00:25:23,950 --> 00:25:27,029 Entonces son más fáciles que los que hemos hecho en clase 595 00:25:27,029 --> 00:25:29,210 Reconocedlo, son ejercicios más fáciles 596 00:25:29,210 --> 00:25:31,769 Venga 597 00:25:31,769 --> 00:25:33,289 Este ya está 598 00:25:33,289 --> 00:25:35,609 Ejercicio 3 599 00:25:35,609 --> 00:25:37,930 Leer una palabra, es decir, leer una línea 600 00:25:37,930 --> 00:25:38,490 Next line 601 00:25:38,490 --> 00:25:42,589 Y ahora ya, ya con if, con lo que nos dé la gana 602 00:25:42,589 --> 00:25:44,150 Aquí ya tenemos libertad de hacer esto 603 00:25:44,150 --> 00:25:47,829 Venga, pues vamos a leer la palabrita 604 00:25:47,829 --> 00:25:49,309 Ejercicio 3 605 00:25:49,309 --> 00:26:03,789 Pues venga, ejercicio 3 606 00:26:03,789 --> 00:26:06,230 Esto 607 00:26:06,230 --> 00:26:25,240 Introduzca 608 00:26:25,240 --> 00:26:29,279 Palabra 609 00:26:29,279 --> 00:26:30,599 Vale 610 00:26:30,599 --> 00:26:33,099 Una palabra puede ser cualquier cosa 611 00:26:33,099 --> 00:26:34,259 Pues lo leemos con nextline 612 00:26:34,259 --> 00:26:36,799 Y con nextline lo que obtenemos es un string 613 00:26:36,799 --> 00:26:38,779 Pues lo guardamos aquí 614 00:26:38,779 --> 00:26:47,759 ¡Hala! Ya tenemos la palabra 615 00:26:47,759 --> 00:26:48,319 Ahora 616 00:26:48,319 --> 00:26:50,640 Hay que hacer 617 00:26:50,640 --> 00:26:51,640 Tres cositas 618 00:26:51,640 --> 00:26:55,059 Primera, decir si es palíndroma 619 00:26:55,059 --> 00:26:55,359 O no 620 00:26:55,359 --> 00:26:57,980 Entonces, la primera 621 00:26:57,980 --> 00:26:59,299 Apartado 1 622 00:26:59,299 --> 00:27:04,329 Esto lo podríamos hacer también con el operador condicional 623 00:27:04,329 --> 00:27:06,309 Si queremos, pero vamos a hacerlo 624 00:27:06,309 --> 00:27:07,950 Con el if, para variar 625 00:27:07,950 --> 00:27:09,069 Aquí el resultado es 626 00:27:09,069 --> 00:27:12,369 O mostrar es palíndroma, o mostrar no lo es 627 00:27:12,369 --> 00:27:14,029 ¿De qué va a depender? 628 00:27:14,029 --> 00:27:16,630 De si el primer char 629 00:27:16,630 --> 00:27:17,769 Y 630 00:27:17,769 --> 00:27:19,289 Y el 631 00:27:19,289 --> 00:27:21,470 otros son iguales 632 00:27:21,470 --> 00:27:23,349 ¿vale? entonces aquí podríamos 633 00:27:23,349 --> 00:27:25,289 hacer, o sea estoy haciendo el programa 634 00:27:25,289 --> 00:27:27,369 como estoy haciendo el examen ahora mismo, estoy leyendo el enunciado 635 00:27:27,369 --> 00:27:28,009 lo voy haciendo 636 00:27:28,009 --> 00:27:31,170 ¿vale? pues venga 637 00:27:31,170 --> 00:27:33,289 si palabra.char 638 00:27:34,349 --> 00:27:35,069 at 639 00:27:35,069 --> 00:27:37,329 0, resulta que 640 00:27:37,329 --> 00:27:39,269 este char es igual, y aquí sí que comparo con 641 00:27:39,269 --> 00:27:40,430 doble igual, pues estoy hablando de char 642 00:27:40,430 --> 00:27:43,490 los char son variables primitivas, se comparan con doble igual 643 00:27:43,490 --> 00:27:45,369 solo los string se comparan 644 00:27:45,369 --> 00:27:45,750 con igual 645 00:27:45,750 --> 00:27:48,369 es igual 646 00:27:48,369 --> 00:27:55,789 a la posición 3 647 00:27:55,789 --> 00:27:57,990 entonces 648 00:27:57,990 --> 00:27:59,470 yo puedo mostrar 649 00:27:59,470 --> 00:28:06,170 vale 650 00:28:06,170 --> 00:28:09,650 que no 651 00:28:09,650 --> 00:28:11,210 pues lo mismo pero no 652 00:28:11,210 --> 00:28:24,920 vale, entonces yo sigo leyendo 653 00:28:24,920 --> 00:28:26,819 estoy aquí en mi examen un poco 654 00:28:26,819 --> 00:28:28,380 bloqueado y digo 655 00:28:28,380 --> 00:28:30,819 si la palabra es de 4 la escribo al revés 656 00:28:30,819 --> 00:28:32,680 digo uy espera, espera, espera 657 00:28:32,680 --> 00:28:35,319 tengo que retocar esto, me he puesto a hacer esto 658 00:28:35,319 --> 00:28:37,160 a capón, espera 659 00:28:37,160 --> 00:28:39,240 lo de arriba lo tengo que hacer en el caso 660 00:28:39,240 --> 00:28:40,420 de que sea de tres letras 661 00:28:40,420 --> 00:28:42,680 en el caso de que sea de cuatro este 662 00:28:42,680 --> 00:28:45,079 y en cualquier otro caso estoy aquí 663 00:28:45,079 --> 00:28:46,839 cuidado, aquí tengo un if, el seif 664 00:28:46,839 --> 00:28:48,180 claro 665 00:28:48,180 --> 00:28:49,480 claro 666 00:28:49,480 --> 00:28:56,589 si es de tres hay un if dentro de ese 667 00:28:56,589 --> 00:28:58,549 sí, bueno, claro, sí, sí 668 00:28:58,549 --> 00:29:00,430 o sea, tengo un if, el seif y luego en cada caso 669 00:29:00,430 --> 00:29:01,069 ya lo que sea 670 00:29:01,069 --> 00:29:03,730 pero claro, digo, espera, espera 671 00:29:03,730 --> 00:29:06,369 entonces ahí viene lo que a veces 672 00:29:06,369 --> 00:29:08,609 a uno le ocurre que no ha leído bien el enunciado 673 00:29:08,609 --> 00:29:09,970 no lo ha leído al completo 674 00:29:09,970 --> 00:29:12,130 entonces cuando aquí uno lo lee al completo 675 00:29:12,130 --> 00:29:13,930 y lo entiende bien, dice, ah, espérate 676 00:29:13,930 --> 00:29:15,910 es que aquí tengo una primera estructura, que es 677 00:29:15,910 --> 00:29:18,509 ¿en qué caso estoy? ¿en 3, en 4 678 00:29:18,509 --> 00:29:19,769 o en este? ¿en qué caso estoy? 679 00:29:20,390 --> 00:29:21,569 tengo tres posibilidades 680 00:29:21,569 --> 00:29:24,349 voy a hacer un if, el save, porque esas posibilidades 681 00:29:24,349 --> 00:29:25,890 dependen del valor de una variable, no 682 00:29:25,890 --> 00:29:28,470 si cada una de estas tres posibilidades 683 00:29:28,470 --> 00:29:30,289 dependieran del valor de una variable 684 00:29:30,289 --> 00:29:32,349 haría un switch case, pero no 685 00:29:32,349 --> 00:29:34,309 dependen de una condición que es 686 00:29:34,309 --> 00:29:36,569 que la longitud sea de 3 o que sea de 4 687 00:29:36,569 --> 00:29:38,390 o que no, entonces esa condición 688 00:29:38,390 --> 00:29:40,250 no es el valor de una variable, es otra, entonces aquí 689 00:29:40,250 --> 00:29:41,390 lo que pega es un if, el save 690 00:29:41,390 --> 00:29:43,630 ¿vale? entonces digo, a ver 691 00:29:43,630 --> 00:29:46,390 ojo, no vale empezar a 692 00:29:46,390 --> 00:29:47,769 resolver tal cual 693 00:29:47,769 --> 00:29:50,390 siempre uno se lee el enunciado completo 694 00:29:50,390 --> 00:29:51,269 completo 695 00:29:51,269 --> 00:29:53,130 y entiende bien 696 00:29:53,130 --> 00:29:55,549 la estructura del programa 697 00:29:55,549 --> 00:29:58,210 ¿vale? entonces digo, ah, vale, vale, vale, yo me he puesto aquí 698 00:29:58,210 --> 00:30:00,009 a programar lo bestia y no, esto va a ir 699 00:30:00,009 --> 00:30:02,490 dentro de un if, el save, no, esta estructura no es 700 00:30:02,490 --> 00:30:04,089 ¿vale? yo aquí 701 00:30:04,089 --> 00:30:05,730 Podía haber seguido como a piñón fijo 702 00:30:05,730 --> 00:30:06,710 Con el primer ejercicio 703 00:30:06,710 --> 00:30:08,509 Porque el primero eran cosas independientes 704 00:30:08,509 --> 00:30:09,829 Eran cosas que iban en secuencia 705 00:30:09,829 --> 00:30:11,289 Por eso las he puesto así 706 00:30:11,289 --> 00:30:12,630 Porque eran cosas que iban en secuencia 707 00:30:12,630 --> 00:30:15,029 Pero este no, este no va en secuencia 708 00:30:15,029 --> 00:30:16,829 Entonces si ya me he puesto en piloto automático 709 00:30:16,829 --> 00:30:17,849 Y sigo programando así 710 00:30:17,849 --> 00:30:20,250 Entonces esto no va en secuencia 711 00:30:20,250 --> 00:30:25,829 ¿Qué pasa? 712 00:30:27,170 --> 00:30:28,150 Que está lloviendo 713 00:30:28,150 --> 00:30:31,769 Pero no veo la lluvia 714 00:30:31,769 --> 00:30:33,569 Ah, sí, la veo ahí 715 00:30:33,569 --> 00:30:34,710 Sobre la... vale, vale 716 00:30:34,710 --> 00:30:37,210 Entonces aquí vamos a tener 717 00:30:37,210 --> 00:30:38,009 esto 718 00:30:38,009 --> 00:30:50,329 vale, mi programa va a ser esto 719 00:30:50,329 --> 00:30:52,690 en realidad, si tiene tres letras 720 00:30:52,690 --> 00:30:53,369 bla bla bla 721 00:30:53,369 --> 00:30:55,269 si tiene cuatro 722 00:30:55,269 --> 00:30:57,210 bla bla bla 723 00:30:57,210 --> 00:30:59,630 y si no tiene ni tres ni cuatro, bla bla bla 724 00:30:59,630 --> 00:31:01,609 este va a ser mi programa, ahora sí 725 00:31:01,609 --> 00:31:03,529 este es mi programa al completo 726 00:31:03,529 --> 00:31:06,789 vale, entonces voy a poner las condiciones 727 00:31:06,789 --> 00:31:10,329 si la longitud de la palabra 728 00:31:10,329 --> 00:31:14,329 resulta que es igual a tres 729 00:31:14,329 --> 00:31:16,170 Entonces lo que toque 730 00:31:16,170 --> 00:31:18,730 Si no es igual a 3 731 00:31:18,730 --> 00:31:21,049 Pero es igual a 4 732 00:31:21,049 --> 00:31:24,460 Entonces lo que toque 733 00:31:24,460 --> 00:31:26,000 Y si no, lo que toque 734 00:31:26,000 --> 00:31:27,960 Que lo que toque esta parte 735 00:31:27,960 --> 00:31:30,059 La más fácil la puedo incorporar desde ya 736 00:31:30,059 --> 00:31:31,259 Que es palabra no válida 737 00:31:31,259 --> 00:31:33,279 Esta parte es la más fácil 738 00:31:33,279 --> 00:31:40,839 A ver, estoy haciendo la estructura de mi programa 739 00:31:40,839 --> 00:31:42,140 Luego lo voy rellenando, claro 740 00:31:42,140 --> 00:31:44,079 Lo que intento 741 00:31:44,079 --> 00:31:47,019 Tramitaros en otra vez es que no programéis de arriba a abajo 742 00:31:47,019 --> 00:31:48,140 No programéis en secuencia 743 00:31:48,140 --> 00:31:51,480 Porque eso te va a confundir 744 00:31:51,480 --> 00:31:53,480 Y lo normal es que llegues a soluciones 745 00:31:53,480 --> 00:31:55,740 Que no son válidas o que tienes luego que empezar a retocar 746 00:31:55,740 --> 00:31:57,700 Vale, pues ahora ya sigo 747 00:31:57,700 --> 00:31:59,380 Venga, este caso lo tengo resuelto 748 00:31:59,380 --> 00:32:00,720 Uy, sí, sí, ya lo había hecho antes 749 00:32:00,720 --> 00:32:02,680 Es esto, pues nada 750 00:32:02,680 --> 00:32:04,259 Todo esto 751 00:32:04,259 --> 00:32:05,980 Lo meto aquí dentro 752 00:32:05,980 --> 00:32:11,380 Ala, ya está, si es 3 753 00:32:11,380 --> 00:32:14,000 Miro a ver si es palindromano 754 00:32:14,000 --> 00:32:16,019 Si es 4 755 00:32:16,019 --> 00:32:17,920 Si es 4, ¿qué había que hacer? 756 00:32:17,920 --> 00:32:21,460 Escribirlas al revés 757 00:32:21,460 --> 00:32:23,420 Pues escribirlas al revés 758 00:32:23,420 --> 00:32:25,680 Efectivamente es esto 759 00:32:25,680 --> 00:32:27,059 Vale, ya terminamos 760 00:32:27,059 --> 00:32:29,460 Escribir primero la posición 3 761 00:32:29,460 --> 00:32:30,799 A 2, a 1 y a 0 762 00:32:30,799 --> 00:32:34,019 Entonces aquí tendremos que hacer 763 00:32:34,019 --> 00:32:37,200 Lo voy a construir arriba 764 00:32:37,200 --> 00:32:39,420 Para que se vea mejor el string 765 00:32:39,420 --> 00:32:44,940 Porque si no se va la línea demasiado a la derecha 766 00:32:44,940 --> 00:32:46,420 Y será 767 00:32:46,420 --> 00:32:51,240 Palabra.charat3 768 00:32:51,240 --> 00:32:53,420 Más 769 00:32:53,420 --> 00:32:54,839 Y lo paso abajo 770 00:32:54,839 --> 00:33:01,680 Palabra.charat2 771 00:33:01,680 --> 00:33:03,319 Más 772 00:33:03,319 --> 00:33:05,240 Palabra.charat1 773 00:33:05,240 --> 00:33:08,329 Más 774 00:33:08,329 --> 00:33:12,829 Palabra.charat0 775 00:33:13,470 --> 00:33:15,049 Vale 776 00:33:15,049 --> 00:33:20,230 Y ahora 777 00:33:20,230 --> 00:33:21,809 Aquí tengo que poner 778 00:33:21,809 --> 00:33:22,849 Al revés 779 00:33:22,849 --> 00:33:25,809 Vale 780 00:33:25,809 --> 00:33:28,750 Y aquí 781 00:33:28,750 --> 00:33:31,470 Me da el error de compilación 782 00:33:31,470 --> 00:33:32,410 Que nos podíamos 783 00:33:32,410 --> 00:33:34,250 Que ya nos ha pasado un montón de veces 784 00:33:34,250 --> 00:33:38,579 Que el operador más 785 00:33:38,579 --> 00:33:40,779 Cuando lo que tiene a los dos lados 786 00:33:40,779 --> 00:33:43,680 Claro, cuando lo que tiene a los dos lados 787 00:33:43,680 --> 00:33:47,220 Cuando no tiene un string 788 00:33:47,220 --> 00:33:48,460 a alguno de los dos lados 789 00:33:48,460 --> 00:33:50,940 automáticamente es la suma aritmética 790 00:33:50,940 --> 00:33:53,619 aquí no tiene un string a ninguno de los dos lados 791 00:33:53,619 --> 00:33:55,859 tiene char a los dos lados 792 00:33:55,859 --> 00:33:57,599 que el char es un int 793 00:33:57,599 --> 00:33:58,440 internamente 794 00:33:58,440 --> 00:34:01,700 entonces te dice, cuidado, esto es la suma 795 00:34:01,700 --> 00:34:03,460 de números enteros, un entero 796 00:34:03,460 --> 00:34:04,380 a un string no puede 797 00:34:04,380 --> 00:34:08,840 no, si los puede sumar, pero entonces yo tendría 798 00:34:08,840 --> 00:34:09,900 que declarar esto como entero 799 00:34:09,900 --> 00:34:12,679 entonces sí, pero claro, yo no quiero la suma 800 00:34:12,679 --> 00:34:13,179 de eso 801 00:34:13,179 --> 00:34:16,340 entonces ahora sí que 802 00:34:16,340 --> 00:34:21,210 Tengo que poner esto aquí 803 00:34:21,210 --> 00:34:24,389 Esto aquí 804 00:34:24,389 --> 00:34:27,389 Esto aquí 805 00:34:27,389 --> 00:34:29,110 Y ya está 806 00:34:29,110 --> 00:34:34,409 Vale, pues ya está, ya tengo el programa hecho 807 00:34:34,409 --> 00:34:35,630 Vamos a hacer una prueba antes de parar 808 00:34:35,630 --> 00:34:37,429 Y ya paramos 809 00:34:37,429 --> 00:34:40,250 Bueno, aparte si hay 40 cuando toca, se ha adelantado 810 00:34:40,250 --> 00:34:47,170 Venga, vamos a poner 811 00:34:47,170 --> 00:34:49,309 Una 812 00:34:49,309 --> 00:34:51,309 De tres 813 00:34:51,309 --> 00:34:56,469 Ah, como no he quitado el código de abajo 814 00:34:56,469 --> 00:34:57,570 Por eso me ha salido dos veces 815 00:34:57,570 --> 00:34:59,949 Pero vamos, da igual, o sea, cuando he hecho el copia y pega 816 00:34:59,949 --> 00:35:01,809 De este, no he hecho 817 00:35:01,809 --> 00:35:03,289 Corta y pega, he hecho copia y pega 818 00:35:03,289 --> 00:35:04,469 Pero vamos, está bien 819 00:35:04,469 --> 00:35:06,730 Vale, vamos a volver a ejecutarlo 820 00:35:06,730 --> 00:35:09,210 Vamos a darle ahora una de 821 00:35:09,210 --> 00:35:11,289 Eh, cuatro 822 00:35:11,289 --> 00:35:13,309 Eh 823 00:35:13,309 --> 00:35:14,969 Gato 824 00:35:14,969 --> 00:35:17,769 Vale, vale, está bien 825 00:35:17,769 --> 00:35:22,050 Aquí, vamos, le damos una a cualquiera 826 00:35:22,050 --> 00:35:23,510 Que no tenga cuatro 827 00:35:23,510 --> 00:35:24,690 Y palabra no válida 828 00:35:24,690 --> 00:35:28,050 aquí de nuevo, a uno le podría otra vez 829 00:35:28,050 --> 00:35:31,650 ir la duda de siempre, decir, oye, espérate, si esto se puede 830 00:35:31,650 --> 00:35:36,110 en realidad es el entero que tiene dentro, de hecho cuando yo no tenía el doble 831 00:35:36,110 --> 00:35:40,190 asterisco lo estaba interpretando como entero, ¿por qué me está mostrando el char 832 00:35:40,190 --> 00:35:44,289 y no el numerito entero? por lo de siempre, porque esto está declarado 833 00:35:44,289 --> 00:35:48,030 como char, porque charar te devuelve el char 834 00:35:48,030 --> 00:35:49,730 entonces eso está declarado como char 835 00:35:49,730 --> 00:35:52,809 si estuviera declarado como entero 836 00:35:52,809 --> 00:35:53,269 no 837 00:35:53,269 --> 00:35:56,809 me lo concatenaría con el número entero 838 00:35:56,809 --> 00:35:57,590 de la tabla ASTI 839 00:35:57,590 --> 00:36:00,809 a ver 840 00:36:00,809 --> 00:36:02,329 que uno por las dudas 841 00:36:02,329 --> 00:36:04,309 le quiere plantar un casting a char 842 00:36:04,309 --> 00:36:07,110 se lo puede plantar pero es que en este caso es que ya es de tipo char 843 00:36:07,110 --> 00:36:08,750 de hecho no sé si te deja 844 00:36:08,750 --> 00:36:10,949 hacer un casting al mismo tipo al que ya eres 845 00:36:10,949 --> 00:36:12,190 te deja 846 00:36:12,190 --> 00:36:15,030 ah claro 847 00:36:15,030 --> 00:36:16,190 pero si pongo un int 848 00:36:16,190 --> 00:36:18,090 entonces sí que me va a mostrar el numerito entero 849 00:36:18,090 --> 00:36:21,809 Vale, pues este tercero ya estaría 850 00:36:21,809 --> 00:36:23,550 Venga, vamos a parar aquí