1 00:00:00,000 --> 00:00:02,020 vale 2 00:00:02,020 --> 00:00:04,019 en la parte de leer dos números 3 00:00:04,019 --> 00:00:06,200 aquí ya si que no nos paramos porque esto ya lo sabemos 4 00:00:06,200 --> 00:00:07,799 de memoria y como lo tenemos ya en la memoria 5 00:00:07,799 --> 00:00:09,859 con esto tiramos, que mi aplicación 6 00:00:09,859 --> 00:00:12,320 trabaja con dos números, ya sé perfectamente 7 00:00:12,320 --> 00:00:13,560 no me detengo en ningún momento 8 00:00:13,560 --> 00:00:15,439 que tengo que declarar dos variables 9 00:00:15,439 --> 00:00:17,839 y asignar a esas variables 10 00:00:17,839 --> 00:00:18,899 lo digo por teclado, vale 11 00:00:18,899 --> 00:00:21,699 y ahora es donde ya me dice, muestra 12 00:00:21,699 --> 00:00:24,079 el mayor de los dos, entonces de nuevo 13 00:00:24,079 --> 00:00:26,140 es otro ejemplo en el cual 14 00:00:26,140 --> 00:00:28,280 lo que me han pedido está en un lenguaje 15 00:00:28,280 --> 00:00:30,199 que en castellano entendemos perfectamente 16 00:00:30,199 --> 00:00:31,300 el mayor de los dos 17 00:00:31,300 --> 00:00:33,619 pero ahora tenemos que traducir eso 18 00:00:33,619 --> 00:00:34,460 a 19 00:00:34,460 --> 00:00:38,159 los términos de pronunciación que conocemos 20 00:00:38,159 --> 00:00:40,240 entonces, primero 21 00:00:40,240 --> 00:00:42,119 me han dicho, muestra el mayor 22 00:00:42,119 --> 00:00:44,159 de los dos, vale, entonces yo lo primero 23 00:00:44,159 --> 00:00:46,159 que pienso es, mi resultado 24 00:00:46,159 --> 00:00:46,799 que va a ser 25 00:00:46,799 --> 00:00:50,179 un número, porque me han dado 26 00:00:50,179 --> 00:00:52,420 el 7 y el 15, los que sean 27 00:00:52,420 --> 00:00:53,939 el A y el B, los que sean 28 00:00:53,939 --> 00:00:56,539 y tengo que mostrar uno de los dos 29 00:00:56,539 --> 00:01:18,299 Vale, luego ese es mi primer paso. Mi resultado va a ser un número. Vale, pues si uno va así pensando despacito, despacito, diría, vale, mi resultado, lo que yo voy a acabar mostrando por pantalla más adelante, mi resultado va a ser un numerito entero. Eso va a ser mi resultado. 30 00:01:19,159 --> 00:01:23,700 Vale, pues ya me hago mi primera plantilla del programa. 31 00:01:24,620 --> 00:01:28,840 Cuando identifico que mi resultado en este caso no es decir sí o decir no, 32 00:01:29,319 --> 00:01:33,939 no es mostrar un mensaje, no, mi resultado aquí es mostrar un número. 33 00:01:35,379 --> 00:01:37,359 Entonces, como mi resultado es mostrar un número, 34 00:01:37,920 --> 00:01:40,500 yo me preparo una variable para ese resultado, 35 00:01:41,099 --> 00:01:42,400 que luego sé que voy a mostrar. 36 00:01:42,859 --> 00:01:44,799 Vale, ya he avanzado bastante. 37 00:01:44,799 --> 00:01:46,140 Ahora voy a elaborar mi programa. 38 00:01:46,739 --> 00:01:47,459 Siguiente paso. 39 00:01:47,459 --> 00:01:50,200 vale, a este número tengo que darle un valor 40 00:01:50,200 --> 00:01:51,799 tengo que darle un valor 41 00:01:51,799 --> 00:01:54,000 para luego poder mostrarlo, porque es mi resultado 42 00:01:54,000 --> 00:01:55,640 bueno, pues ahora seguimos pensando 43 00:01:55,640 --> 00:01:58,079 vale, ese valor resultado que tengo que mostrar 44 00:01:58,079 --> 00:01:58,659 ¿cuál va a ser? 45 00:01:59,540 --> 00:02:01,219 pues hay dos opciones 46 00:02:01,219 --> 00:02:03,340 o es A o es B 47 00:02:03,340 --> 00:02:05,799 uno de los dos, con lo cual 48 00:02:05,799 --> 00:02:07,900 una de estas dos cosas tiene que pasar 49 00:02:07,900 --> 00:02:09,939 o bien 50 00:02:09,939 --> 00:02:11,080 a result 51 00:02:11,080 --> 00:02:12,900 le doy A 52 00:02:12,900 --> 00:02:16,080 o bien a result le doy B 53 00:02:16,080 --> 00:02:19,719 una de las dos cosas. 54 00:02:20,340 --> 00:02:21,419 Esto es lo que yo sé que 55 00:02:21,419 --> 00:02:24,199 tiene que ocurrir, porque el resultado 56 00:02:24,199 --> 00:02:26,300 o tiene A o tiene B. Vale, ya he avanzado 57 00:02:26,300 --> 00:02:28,060 bastante. Ahora decimos, ¿vale? 58 00:02:28,080 --> 00:02:30,560 ¿Y qué le doy al result? ¿Le doy A o le doy B? 59 00:02:30,680 --> 00:02:32,139 ¿Cuál de esas asignaciones es la que 60 00:02:32,139 --> 00:02:34,259 tengo que hacer? Pues depende. 61 00:02:34,900 --> 00:02:36,080 Entonces, aquí es cuando ya entro, 62 00:02:36,219 --> 00:02:38,000 ¡ah! Esto es una asignación condicionada. 63 00:02:38,719 --> 00:02:40,080 Al result, yo 64 00:02:40,080 --> 00:02:42,400 le doy A o le doy 65 00:02:42,400 --> 00:02:44,219 B, dependiendo de 66 00:02:44,219 --> 00:02:45,139 una condición. 67 00:02:47,580 --> 00:02:49,000 Pues ya he avanzado bastante. 68 00:02:49,979 --> 00:02:52,900 A result, o bien le doy A, o bien le doy B. 69 00:02:53,560 --> 00:02:54,620 Uno de los dos. 70 00:02:56,120 --> 00:02:57,120 Uno de los dos. 71 00:02:57,580 --> 00:02:59,639 ¿Y de qué depende que yo le dé A o le dé B? 72 00:03:00,280 --> 00:03:06,199 Pues va a depender de una condición que tendré ahora ya que expresar. 73 00:03:06,840 --> 00:03:07,080 Vale. 74 00:03:07,979 --> 00:03:10,560 Pues ya mi programa lo voy poco a poco aproximando. 75 00:03:10,800 --> 00:03:15,560 Pero lo voy aproximando, como veis, con iteraciones sucesivas. 76 00:03:16,360 --> 00:03:16,879 ¿Vale? 77 00:03:16,879 --> 00:03:43,979 Yo primero he dicho, he identificado que mi resultado es un número, es lo primero que he identificado, que es un número. Guay, variable para el resultado, que luego voy a mostrar, es lo primero. Ahora sigo pensando, ese número, ¿qué valor va a recibir? Pues, o AOB, uno de los dos, AOB, con lo cual ya he llegado, en este caso, a casi la última parte. A ver, que aquí tengo una asignación condicionada. Result, o recibe A o recibe B, no lo sé. 78 00:03:43,979 --> 00:03:47,000 ¿de qué repende que reciba A o B? 79 00:03:47,120 --> 00:03:48,939 de una condición, vale, ahora ya me falta 80 00:03:48,939 --> 00:03:49,840 la última parte 81 00:03:49,840 --> 00:03:52,919 que en muchos casos puede ser 82 00:03:52,919 --> 00:03:54,280 la más difícil y es 83 00:03:54,280 --> 00:03:57,020 ¿qué condición va a fijar que reciba 84 00:03:57,020 --> 00:03:58,620 A o que reciba B? 85 00:03:59,400 --> 00:04:00,780 bueno, recibirá A 86 00:04:00,780 --> 00:04:02,639 si A es mayor que B 87 00:04:02,639 --> 00:04:06,849 porque entonces me han pedido el mayor 88 00:04:06,849 --> 00:04:08,009 valor, pues A es el mayor 89 00:04:08,009 --> 00:04:09,870 pero recibirá B 90 00:04:09,870 --> 00:04:12,889 si A es mayor que B no se cumple 91 00:04:12,889 --> 00:04:14,330 o sea, si eso no se cumple 92 00:04:14,330 --> 00:04:17,970 luego entonces ya tengo lo que me faltaba 93 00:04:17,970 --> 00:04:24,000 mi condición 94 00:04:24,000 --> 00:04:25,600 de la que depende 95 00:04:25,600 --> 00:04:27,240 que yo a resultado le de A 96 00:04:27,240 --> 00:04:28,079 o le de B 97 00:04:28,079 --> 00:04:31,360 es que A sea mayor que B 98 00:04:31,360 --> 00:04:35,220 entonces si A es mayor 99 00:04:35,220 --> 00:04:35,740 que B 100 00:04:35,740 --> 00:04:39,019 es A el valor 101 00:04:39,019 --> 00:04:40,060 que quiero asignar al resultado 102 00:04:40,060 --> 00:04:42,620 porque en ese caso A es el mayor 103 00:04:42,620 --> 00:04:44,879 pero si esto es falso 104 00:04:44,879 --> 00:04:46,139 si esto es falso 105 00:04:46,139 --> 00:04:48,339 estoy 106 00:04:48,339 --> 00:04:50,699 vamos a suponer 107 00:04:50,699 --> 00:04:53,600 que nunca me van a meter dos números iguales 108 00:04:53,600 --> 00:04:55,040 ¿vale? vamos a suponerlo 109 00:04:55,040 --> 00:04:57,399 vamos a suponerlo de partida 110 00:04:57,399 --> 00:04:58,879 porque hemos dicho al usuario 111 00:04:58,879 --> 00:05:01,139 oye, este programa funciona solo para números distintos 112 00:05:01,139 --> 00:05:02,800 ¿vale? pues en ese caso 113 00:05:02,800 --> 00:05:04,939 bajo esta suposición 114 00:05:04,939 --> 00:05:07,420 si A mayor que B 115 00:05:07,420 --> 00:05:08,259 es falso 116 00:05:08,259 --> 00:05:10,980 es porque B es mayor que A, obviamente 117 00:05:10,980 --> 00:05:12,740 ¿no? es porque B es mayor que A 118 00:05:12,740 --> 00:05:15,259 luego, si esta condición A mayor que B 119 00:05:15,259 --> 00:05:17,180 es true, está claro que A es el más 120 00:05:17,180 --> 00:05:19,120 grande. Pues A se va 121 00:05:19,120 --> 00:05:21,100 a resul. Pero si A mayor 122 00:05:21,100 --> 00:05:22,720 que B es falso, 123 00:05:23,819 --> 00:05:25,240 no hay tutía. Será porque 124 00:05:25,240 --> 00:05:27,199 B es mayor que A. No hay tutía. 125 00:05:27,660 --> 00:05:28,819 Pues en ese caso es B 126 00:05:28,819 --> 00:05:30,980 el que quiero que se vaya a resul. 127 00:05:31,519 --> 00:05:32,000 ¿Vale? 128 00:05:34,000 --> 00:05:35,300 Bueno, pues entonces ya 129 00:05:35,300 --> 00:05:37,279 hemos pasado 130 00:05:37,279 --> 00:05:38,279 al lenguaje Java 131 00:05:38,279 --> 00:05:41,160 la expresión de dados dos números 132 00:05:41,160 --> 00:05:42,040 que muestra el mayor. 133 00:05:43,019 --> 00:05:44,939 Pues dados dos números que muestra el mayor 134 00:05:44,939 --> 00:05:47,160 ha implicado varios pasos a nivel de código. 135 00:05:47,180 --> 00:05:49,720 primero darse cuenta de que el resultado es un número 136 00:05:49,720 --> 00:05:50,800 vale 137 00:05:50,800 --> 00:05:53,879 luego cuando hemos pensado en qué número darle 138 00:05:53,879 --> 00:05:55,759 darnos cuenta de que hay dos posibilidades 139 00:05:55,759 --> 00:05:57,959 y luego ya hemos tenido 140 00:05:57,959 --> 00:05:59,939 que decidir qué condición fija 141 00:05:59,939 --> 00:06:01,579 cuál es de las dos posibilidades ahí 142 00:06:01,579 --> 00:06:03,980 entonces veis que no hemos programado de arriba a abajo 143 00:06:03,980 --> 00:06:06,220 hemos escrito esto primero y luego esto 144 00:06:06,220 --> 00:06:07,579 luego hemos escrito esto 145 00:06:07,579 --> 00:06:08,279 y luego esto 146 00:06:08,279 --> 00:06:11,480 y así es como programamos, no escribiendo una línea tras otra 147 00:06:11,480 --> 00:06:12,279 vale 148 00:06:12,279 --> 00:06:15,620 ahora es cuando se podría hacer aquí una modificación 149 00:06:15,620 --> 00:06:16,779 muy bonita que sería 150 00:06:16,779 --> 00:06:18,660 vale, este programa funciona 151 00:06:18,660 --> 00:06:20,500 solo si 152 00:06:20,500 --> 00:06:22,740 me aseguras que no metes 153 00:06:22,740 --> 00:06:24,220 números iguales 154 00:06:24,220 --> 00:06:26,360 pero si metemos números iguales 155 00:06:26,360 --> 00:06:27,220 vale 156 00:06:27,220 --> 00:06:31,139 no, no te da error, lo que pasa es que te va a decir 157 00:06:31,139 --> 00:06:32,399 el mayor es 3 158 00:06:32,399 --> 00:06:34,899 vale, si el que te ha pedido el programa 159 00:06:34,899 --> 00:06:36,899 eso le vale, porque si metes 160 00:06:36,899 --> 00:06:38,019 3 y 3 te va a decir 161 00:06:38,019 --> 00:06:40,420 el mayor es 3, ¿por qué? 162 00:06:41,040 --> 00:06:42,519 se va a decir, ¿3 mayor que 3? 163 00:06:42,639 --> 00:06:44,939 no, falso, con lo cual se va a ir a B 164 00:06:44,939 --> 00:06:46,319 y te va a dar B que es 3 también 165 00:06:46,319 --> 00:06:47,980 entonces 166 00:06:47,980 --> 00:06:50,040 si al usuario le vale 167 00:06:50,040 --> 00:06:52,060 cuando le metes dos iguales 168 00:06:52,060 --> 00:06:53,339 que te diga 169 00:06:53,339 --> 00:06:56,300 el mayor es tres 170 00:06:56,300 --> 00:06:58,180 el programa estaría terminado 171 00:06:58,180 --> 00:07:00,160 pero a lo mejor el usuario te puede decir 172 00:07:00,160 --> 00:07:01,819 no, si has metido dos números iguales 173 00:07:01,819 --> 00:07:03,199 distínguelo, o sea que te saque 174 00:07:03,199 --> 00:07:06,079 el mayor es A o el mayor es B 175 00:07:06,079 --> 00:07:06,860 o son iguales 176 00:07:06,860 --> 00:07:10,459 eso se complica un pelín, porque ahí tengo ya tres posibilidades 177 00:07:10,459 --> 00:07:12,139 aquí tenía 178 00:07:12,139 --> 00:07:13,600 solo una 179 00:07:13,600 --> 00:07:14,560 ¿verdad? 180 00:07:16,319 --> 00:07:18,399 el mayor es 181 00:07:18,399 --> 00:07:22,220 vale, entonces 182 00:07:22,220 --> 00:07:24,959 o el mayor es A o el mayor es B 183 00:07:24,959 --> 00:07:27,160 pero si me han cambiado 184 00:07:27,160 --> 00:07:28,800 los requisitos de la aplicación y me dicen 185 00:07:28,800 --> 00:07:31,120 ojo, yo quiero que el programa me diga 186 00:07:31,120 --> 00:07:32,980 el mayor es A 187 00:07:32,980 --> 00:07:34,699 si es que es A, o el mayor es B 188 00:07:34,699 --> 00:07:36,959 si es que es B, o que me digan son iguales 189 00:07:36,959 --> 00:07:38,879 el programa ha cambiado 190 00:07:38,879 --> 00:07:41,120 porque ahora tiene tres posibles 191 00:07:41,120 --> 00:07:42,800 salidas en vez de dos 192 00:07:42,800 --> 00:07:45,139 entonces ya el operador 193 00:07:45,139 --> 00:07:46,420 este no vale 194 00:07:46,420 --> 00:07:49,699 Porque este se mueve solo entre dos posibilidades 195 00:07:49,699 --> 00:07:50,560 Solo entre dos 196 00:07:50,560 --> 00:07:52,439 Vale, entonces tendríamos que 197 00:07:52,439 --> 00:07:55,399 Incluir una modificación, etcétera, etcétera 198 00:07:55,399 --> 00:07:57,360 Vale, quedémonos ahora 199 00:07:57,360 --> 00:07:59,339 Hoy aquí, vale 200 00:07:59,339 --> 00:08:01,360 Porque ahora sí que nos vamos, ¿no?