1 00:00:00,000 --> 00:00:10,000 Vale, pues a ver, repito, aparte de poco a poco irnos familiarizando con la sintaxis, 2 00:00:10,000 --> 00:00:15,000 los operadores, la construcción de programas sencillos, 3 00:00:15,000 --> 00:00:21,000 tenéis que ir identificando las destrezas concretas que vamos incorporando 4 00:00:21,000 --> 00:00:24,000 para tenerlas siempre ahí y tirar de ellas y no empezar de cero cada vez, 5 00:00:24,000 --> 00:00:27,000 lo que repito mil veces hasta la saciedad. 6 00:00:27,000 --> 00:00:29,000 ¿Cómo se hace una suma acumulativa? 7 00:00:29,000 --> 00:00:34,000 Uno tiene que identificar cuando un programa implica en algún punto de él, 8 00:00:34,000 --> 00:00:37,000 en alguna parte, porque un programa al final es en muchas partes que se van combinando, 9 00:00:37,000 --> 00:00:42,000 pues uno tiene que identificar cuando en alguna parte tiene que hacer la suma de muchas cosas 10 00:00:42,000 --> 00:00:45,000 y si lo ha identificado pues ya sabe, lo hemos hecho muchas veces, 11 00:00:45,000 --> 00:00:48,000 cómo tiene que hacerlo un bucle que va acumulando la suma, 12 00:00:48,000 --> 00:00:51,000 si es la media pues luego dividir entre el total, 13 00:00:51,000 --> 00:00:54,000 uno tiene que identificar cuándo va a necesitar contar, 14 00:00:54,000 --> 00:00:58,000 si uno ya ha identificado que en un trozo de programa tiene que contar, 15 00:00:58,000 --> 00:01:03,000 pues pone un contador que ya sabemos, una variable que empieza a cero y se va incrementando, 16 00:01:03,000 --> 00:01:06,000 ¿qué más cosas hemos incorporado? 17 00:01:06,000 --> 00:01:08,000 Pues esto último que hemos dicho hoy, 18 00:01:08,000 --> 00:01:11,000 si un trozo de programa me tiene que decir si algo ocurre o no ocurre, 19 00:01:11,000 --> 00:01:15,000 pues mi forma de plantearlo es, asumo de partida una de las dos cosas, 20 00:01:15,000 --> 00:01:18,000 que ocurre o no, la que me interese en función de lo que estoy haciendo 21 00:01:18,000 --> 00:01:22,000 y ahora en un bucle busco algo que me haga cambiar de idea, 22 00:01:22,000 --> 00:01:25,000 si encuentro algo que me hace cambiar de idea lo que se llama el contraejemplo lo cambio 23 00:01:25,000 --> 00:01:28,000 y si no pues nada, mi idea sigue la original, 24 00:01:28,000 --> 00:01:32,000 cuando ya he terminado el bucle ya sé si eso se cumple o no se cumple, 25 00:01:32,000 --> 00:01:35,000 ese tipo de cosas son las que vamos incorporando 26 00:01:35,000 --> 00:01:38,000 y son formas de pensar que ya las podéis usar ahí 27 00:01:38,000 --> 00:01:43,000 para cualquier situación en la que tengáis que hacer algo como eso. 28 00:01:43,000 --> 00:01:46,000 Pues aquí tenemos otro ejemplo, 29 00:01:46,000 --> 00:01:49,000 hacer el mínimo de un conjunto de valores, 30 00:01:49,000 --> 00:01:54,000 María cállate, el mínimo de un conjunto de valores o el máximo de un conjunto de valores, 31 00:01:54,000 --> 00:01:58,000 no es un problema trivial, yo tengo un montón de datos como calculo el máximo, 32 00:01:58,000 --> 00:02:02,000 no es trivial, vale, hay que seguir un mecanismo 33 00:02:02,000 --> 00:02:05,000 que una vez que uno ya lo ha seguido y lo ha hecho una vez, 34 00:02:05,000 --> 00:02:07,000 pues es que es lo mismo todo el rato, 35 00:02:07,000 --> 00:02:10,000 vale, vamos a hacerlo con este ejercicio, 36 00:02:10,000 --> 00:02:15,000 vale, la idea sería, antes de ponernos a programar, 37 00:02:16,000 --> 00:02:19,000 vamos a ver cuál es la idea que seguiríamos, 38 00:02:19,000 --> 00:02:24,000 cómo lo pensaríamos en la cabeza, lo del máximo o el mínimo. 39 00:03:16,000 --> 00:03:20,000 Vale, pues otro problema que nos ocupa en relación a ese ejercicio, 40 00:03:20,000 --> 00:03:24,000 por ejemplo, el máximo de un conjunto de valores, 41 00:03:24,000 --> 00:03:27,000 cuando se habla de máximo y mínimo, 42 00:03:27,000 --> 00:03:31,000 tiene que ser de un conjunto de valores, claro, ¿no? 43 00:03:35,000 --> 00:03:39,000 ¿Vale? Adrián, de un conjunto de valores. 44 00:03:39,000 --> 00:03:42,000 Bueno, pues, ¿cuál es el procedimiento mental 45 00:03:43,000 --> 00:03:48,000 que uno seguiría y que podemos trasladar luego ya directamente a código? 46 00:03:48,000 --> 00:03:51,000 Bueno, pues podríamos ir, por ejemplo, 47 00:03:51,000 --> 00:03:54,000 tenemos que ir uno por uno, 48 00:03:54,000 --> 00:03:58,000 porque los programas siempre van una cosa detrás del otro, 49 00:03:58,000 --> 00:04:02,000 nosotros mentalmente podemos mirar eso y en paralelo decir, 50 00:04:02,000 --> 00:04:05,000 ah, el máximo es 14, 51 00:04:05,000 --> 00:04:09,000 hemos hecho un vistazo y nos da la sensación de que hemos operado en paralelo, 52 00:04:09,000 --> 00:04:12,000 y nos da la sensación de que hemos operado en paralelo, 53 00:04:12,000 --> 00:04:14,000 en realidad no es que hayamos operado así, 54 00:04:14,000 --> 00:04:17,000 pero bueno, estamos acostumbrados a un pensamiento que nos hace pensar que, 55 00:04:17,000 --> 00:04:20,000 hecha un vistazo, sé que el máximo es el 14, 56 00:04:20,000 --> 00:04:23,000 porque hemos procesado muy rápido, 57 00:04:23,000 --> 00:04:27,000 ¿vale? Pero hemos procesado muy rápido una secuencia de acciones, 58 00:04:27,000 --> 00:04:29,000 aunque no nos hayamos dado cuenta, 59 00:04:29,000 --> 00:04:33,000 no nos hemos dado cuenta, pero muy rápidamente hemos procesado una secuencia de acciones. 60 00:04:33,000 --> 00:04:36,000 Al ordenador hay que darle esa secuencia de acciones, 61 00:04:36,000 --> 00:04:40,000 hay que dársela, al ordenador no le puede poner los números y que lo mire, 62 00:04:40,000 --> 00:04:42,000 como hacemos nosotros, no, 63 00:04:42,000 --> 00:04:45,000 al ordenador hay que detallarle la secuencia de acciones 64 00:04:45,000 --> 00:04:49,000 para llegar a esa conclusión rápida que hemos llegado nosotros viendo ahí el 14, 65 00:04:49,000 --> 00:04:51,000 a él hay que detallarse. 66 00:04:51,000 --> 00:04:54,000 ¿Vale? Pues ¿qué secuencia de acciones le podemos detallar? 67 00:04:54,000 --> 00:04:57,000 Es la que nosotros hemos seguido, aunque no nos hayamos dado cuenta, 68 00:04:57,000 --> 00:05:01,000 aunque no nos hayamos dado cuenta y nos parece que las hemos visto todos a la vez, 69 00:05:01,000 --> 00:05:05,000 hemos dedicado un nanosegundo a mirar cada uno de ellos, 70 00:05:05,000 --> 00:05:09,000 y cuando hemos encontrado uno que superaba a otro, 71 00:05:09,000 --> 00:05:11,000 decíamos, ah, es este. 72 00:05:11,000 --> 00:05:16,000 Y si luego en el nanosegundo posterior hemos visto otro que era superior a este, 73 00:05:16,000 --> 00:05:18,000 hemos dicho, ah, no, no, no, es este. 74 00:05:18,000 --> 00:05:22,000 Entonces, aunque no nos hayamos dado cuenta, los hemos ido mirando en secuencia. 75 00:05:22,000 --> 00:05:27,000 Y según mirábamos uno que superaba al que era máximo hasta ese momento, 76 00:05:27,000 --> 00:05:29,000 teníamos un máximo nuevo. 77 00:05:29,000 --> 00:05:32,000 Eso es lo que hemos hecho, lo que pasa es que los hemos mirado tan rápido 78 00:05:32,000 --> 00:05:34,000 que nos parece que los hemos visto de golpe 79 00:05:34,000 --> 00:05:36,000 y que nos hemos dado cuenta de que es el 14. 80 00:05:36,000 --> 00:05:38,000 Pero no lo hemos hecho así. 81 00:05:38,000 --> 00:05:40,000 Bueno, pues al ordenador hay que decirle lo que tiene que hacer 82 00:05:40,000 --> 00:05:42,000 y tiene que ser exactamente eso. 83 00:05:42,000 --> 00:05:46,000 Entonces al ordenador le vamos dando los números uno por uno. 84 00:05:46,000 --> 00:05:50,000 Cuando le damos el primero, él asume que ese es el máximo de todos. 85 00:05:50,000 --> 00:05:53,000 Ese único que tiene es el máximo. 86 00:05:53,000 --> 00:05:56,000 Ahora le damos el siguiente y se hace la pregunta, 87 00:05:56,000 --> 00:05:58,000 oye, ese siguiente que me han dado, 88 00:05:58,000 --> 00:06:01,000 ¿es mayor que el que es el máximo hasta ese momento? 89 00:06:01,000 --> 00:06:04,000 Que yo lo he puesto aquí en mi casillita de máximo, 90 00:06:04,000 --> 00:06:06,000 que era el 3, ¿es mayor? 91 00:06:06,000 --> 00:06:08,000 Ah, pues sí que lo es, sí que lo es. 92 00:06:08,000 --> 00:06:09,000 Pues tengo nuevo máximo. 93 00:06:09,000 --> 00:06:12,000 El 3 ya no es el máximo actual, sino que es el 7. 94 00:06:12,000 --> 00:06:14,000 Fenomenal. Vale. 95 00:06:14,000 --> 00:06:18,000 Ahora, le damos el siguiente número, 96 00:06:18,000 --> 00:06:20,000 el que hemos visto nosotros y inmediatamente después 97 00:06:20,000 --> 00:06:22,000 aunque no nos hayamos dado cuenta. 98 00:06:22,000 --> 00:06:23,000 El 5. 99 00:06:23,000 --> 00:06:25,000 Y él se vuelve a hacer la pregunta, 100 00:06:25,000 --> 00:06:29,000 oye, ¿el 5 es mayor que el que yo tenía como valor máximo hasta ese momento? 101 00:06:29,000 --> 00:06:32,000 No, el que yo tenía como valor máximo hasta ese momento es el 7, 102 00:06:32,000 --> 00:06:34,000 el 5 no es mayor, pues no lo sustituyen. 103 00:06:34,000 --> 00:06:36,000 Lo dejo así. Vale. 104 00:06:36,000 --> 00:06:38,000 Le damos el siguiente valor, 105 00:06:38,000 --> 00:06:40,000 menos 12. 106 00:06:40,000 --> 00:06:42,000 Y se vuelve a hacer la pregunta, 107 00:06:42,000 --> 00:06:46,000 oye, ¿el menos 12 es mayor que el que era máximo hasta ese momento, 108 00:06:46,000 --> 00:06:47,000 que es el 7? 109 00:06:47,000 --> 00:06:50,000 No, no es mayor, pues el máximo sigue siendo 7. 110 00:06:50,000 --> 00:06:52,000 Vale, le damos el siguiente, 111 00:06:52,000 --> 00:06:54,000 el 14. 112 00:06:54,000 --> 00:06:56,000 El ordenador se vuelve a preguntar, 113 00:06:56,000 --> 00:07:00,000 oye, ¿el 14 es mayor que el que era máximo hasta ese momento, que era el 7? 114 00:07:00,000 --> 00:07:03,000 Ah, pues sí, el 14 es mayor que el que era máximo hasta ese momento. 115 00:07:03,000 --> 00:07:07,000 Pues pisa el 7 y se queda con el 14. 116 00:07:07,000 --> 00:07:09,000 ¿Hay más números que darle? 117 00:07:09,000 --> 00:07:11,000 No, no hay más números, pues ya está, ya ha terminado. 118 00:07:11,000 --> 00:07:15,000 Entonces el procesamiento es lo que hemos hecho nosotros en realidad. 119 00:07:15,000 --> 00:07:17,000 Los hemos mirado en secuencia 120 00:07:17,000 --> 00:07:19,000 y hemos ido sustituyendo uno por otro 121 00:07:19,000 --> 00:07:22,000 en función de si encontramos uno que era el máximo hasta ese momento. 122 00:07:22,000 --> 00:07:24,000 Por eso tenemos que ir dando a él. 123 00:07:24,000 --> 00:07:26,000 Le vamos dando los números uno por uno, 124 00:07:26,000 --> 00:07:28,000 o los valores que sea. 125 00:07:28,000 --> 00:07:32,000 Él parte de la base de que el primero de todos es el máximo. 126 00:07:32,000 --> 00:07:34,000 Parte de esa base. 127 00:07:34,000 --> 00:07:37,000 Y ahora ya va aceptando los demás en un bucle. 128 00:07:37,000 --> 00:07:40,000 Si alguno de ellos supera al que es el máximo, 129 00:07:40,000 --> 00:07:42,000 fenomenal, tiene nuevo máximo. 130 00:07:42,000 --> 00:07:44,000 Que no, lo deja como estaba. 131 00:07:44,000 --> 00:07:46,000 Y así los va recibiendo todos. 132 00:07:46,000 --> 00:07:48,000 Cuando ya los ha recibido todos, 133 00:07:48,000 --> 00:07:51,000 lo que haya en esta cajita es el que era máximo. 134 00:07:52,000 --> 00:07:54,000 Por ese procedimiento, 135 00:07:54,000 --> 00:07:56,000 que es el que seguimos nosotros, 136 00:07:56,000 --> 00:07:58,000 aunque lo hagamos tan rápido que nos damos cuenta, 137 00:07:58,000 --> 00:08:00,000 es el que hay que detallarle. 138 00:08:00,000 --> 00:08:02,000 Se lo detallamos para calcular el máximo 139 00:08:02,000 --> 00:08:04,000 de un conjunto de números, por ejemplo. 140 00:08:05,000 --> 00:08:07,000 Y nos quedaría 141 00:08:11,000 --> 00:08:13,000 algo así. 142 00:08:15,000 --> 00:08:17,000 Vale. 143 00:08:17,000 --> 00:08:19,000 Ay, perdona. 144 00:08:21,000 --> 00:08:23,000 Vale. 145 00:08:37,000 --> 00:08:39,000 Vale, pues quince. 146 00:08:51,000 --> 00:08:53,000 Quince. 147 00:09:22,000 --> 00:09:24,000 Vale. 148 00:09:24,000 --> 00:09:26,000 Pues vamos a centrarnos. 149 00:09:26,000 --> 00:09:28,000 Luego ya ampliamos con las otras dos funcionalidades, 150 00:09:28,000 --> 00:09:30,000 el mínimo y la media. 151 00:09:30,000 --> 00:09:32,000 Pero bueno, va a ser... 152 00:09:32,000 --> 00:09:35,000 Vamos a centrarnos primero en la parte de hacer el máximo. 153 00:09:35,000 --> 00:09:37,000 Entonces este programa dice, 154 00:09:37,000 --> 00:09:40,000 esto es un bucle que va pidiendo números. 155 00:09:40,000 --> 00:09:43,000 Finaliza cuando se introduzca un número negativo. 156 00:09:43,000 --> 00:09:45,000 Entonces aquí efectivamente este bucle 157 00:09:45,000 --> 00:09:47,000 no tiene sentido hacerlo con un FOR. 158 00:09:47,000 --> 00:09:50,000 Porque yo de partida no sé cuántas veces se va a hacer. 159 00:09:50,000 --> 00:09:52,000 Depende. 160 00:09:52,000 --> 00:09:54,000 Porque como cada vez se mete en el número nuevo, 161 00:09:54,000 --> 00:09:55,000 pues cuando sea negativo. 162 00:09:55,000 --> 00:09:57,000 No sé cuántas veces se va a hacer, no lo sé. 163 00:09:57,000 --> 00:09:59,000 Entonces si esto no tiene sentido hacerlo con un bucle FOR, 164 00:09:59,000 --> 00:10:01,000 pues bueno, 165 00:10:01,000 --> 00:10:03,000 podemos 166 00:10:05,000 --> 00:10:07,000 ¿vale? 167 00:10:07,000 --> 00:10:09,000 Hacerlo con un do while para que entre una primera vez 168 00:10:09,000 --> 00:10:11,000 y pida el primer número. 169 00:10:15,000 --> 00:10:17,000 Y mientras ese número 170 00:10:17,000 --> 00:10:19,000 sea mayor o igual que cero, 171 00:10:19,000 --> 00:10:21,000 o lo que es lo mismo no sea negativo, 172 00:10:21,000 --> 00:10:23,000 yo sigo con el bucle. 173 00:10:23,000 --> 00:10:24,000 ¿Vale? 174 00:10:24,000 --> 00:10:26,000 Entonces este número 175 00:10:26,000 --> 00:10:28,000 lo declaro aquí fuera. 176 00:10:29,000 --> 00:10:31,000 Vamos a poner el escáner porque vamos a leer 177 00:10:31,000 --> 00:10:33,000 números del teclado. 178 00:10:39,000 --> 00:10:40,000 ¿Vale? 179 00:10:40,000 --> 00:10:42,000 Pues este bucle ¿qué va a hacer? 180 00:10:42,000 --> 00:10:44,000 Introduce numerito. 181 00:10:50,000 --> 00:10:55,000 Para olvidarme de la tilde pongo valor. 182 00:10:55,000 --> 00:10:57,000 Lo leo. 183 00:11:04,000 --> 00:11:06,000 Lo leo. 184 00:11:06,000 --> 00:11:08,000 Y ahora 185 00:11:08,000 --> 00:11:10,000 ¿qué tiene que hacer este programa? 186 00:11:10,000 --> 00:11:12,000 Pues justo lo que hemos hecho. 187 00:11:12,000 --> 00:11:13,000 ¿Vale? 188 00:11:13,000 --> 00:11:14,000 Justo lo que hemos hecho. 189 00:11:14,000 --> 00:11:16,000 Entonces 190 00:11:16,000 --> 00:11:18,000 en una variable 191 00:11:19,000 --> 00:11:21,000 esto lo hemos hecho aquí 192 00:11:21,000 --> 00:11:23,000 en una variable aparte 193 00:11:23,000 --> 00:11:25,000 pues se irá guardando el que es máximo 194 00:11:25,000 --> 00:11:27,000 en cada momento, una variable aparte. 195 00:11:27,000 --> 00:11:29,000 En esta variable. 196 00:11:29,000 --> 00:11:31,000 Entonces según le van llegando los números 197 00:11:31,000 --> 00:11:33,000 según le van llegando los números 198 00:11:33,000 --> 00:11:35,000 pues va comprobando a ver si el número 199 00:11:35,000 --> 00:11:37,000 que le ha llegado es mayor que el máximo hasta ese momento. 200 00:11:37,000 --> 00:11:39,000 Si es mayor que el máximo hasta ese momento 201 00:11:39,000 --> 00:11:40,000 tiene nuevo máximo. 202 00:11:40,000 --> 00:11:41,000 Esa es la idea. 203 00:11:41,000 --> 00:11:43,000 Luego entonces necesito 204 00:11:43,000 --> 00:11:45,000 una variable adicional para guardar ese máximo. 205 00:11:45,000 --> 00:11:46,000 ¿Vale? 206 00:11:46,000 --> 00:11:48,000 Pues la ponemos. 207 00:11:49,000 --> 00:11:51,000 ¿Vale? Vamos construyendo el programa 208 00:11:51,000 --> 00:11:53,000 según lo vamos pensando 209 00:11:53,000 --> 00:11:55,000 y vamos necesitando las cosas. 210 00:11:55,000 --> 00:11:57,000 Hasta que construimos un primer 211 00:11:57,000 --> 00:11:59,000 prototipo de programa sobre el que ya revisamos 212 00:11:59,000 --> 00:12:01,000 miramos a ver si lo puedo arreglar, etc. 213 00:12:01,000 --> 00:12:03,000 Bueno, entonces el programa 214 00:12:03,000 --> 00:12:05,000 según he dicho yo sería 215 00:12:05,000 --> 00:12:07,000 si este numerito 216 00:12:07,000 --> 00:12:09,000 que yo he leído 217 00:12:09,000 --> 00:12:11,000 resulta que es mayor 218 00:12:11,000 --> 00:12:13,000 que el que 219 00:12:13,000 --> 00:12:15,000 es el máximo hasta ese momento 220 00:12:15,000 --> 00:12:17,000 pues 221 00:12:17,000 --> 00:12:19,000 queda actualizado el máximo 222 00:12:19,000 --> 00:12:21,000 con ese numerito. 223 00:12:21,000 --> 00:12:23,000 Esta es la idea que yo he planteado, ¿verdad? 224 00:12:25,000 --> 00:12:27,000 Esta es la idea que yo he planteado. 225 00:12:27,000 --> 00:12:29,000 Lo mismo que yo he dicho en la pizarra. 226 00:12:29,000 --> 00:12:31,000 Me van llegando números. 227 00:12:31,000 --> 00:12:33,000 Si el número que me va llegando 228 00:12:33,000 --> 00:12:35,000 es mayor que el que es máximo 229 00:12:35,000 --> 00:12:37,000 hasta ese momento 230 00:12:37,000 --> 00:12:39,000 que aquí viene la duda de 231 00:12:39,000 --> 00:12:41,000 bueno, es la primera vez 232 00:12:41,000 --> 00:12:43,000 pues entonces queda actualizado. 233 00:12:43,000 --> 00:12:45,000 ¿Vale? 234 00:12:45,000 --> 00:12:47,000 Y todo esto lo haré mientras el número 235 00:12:47,000 --> 00:12:49,000 no sea negativo. 236 00:12:49,000 --> 00:12:51,000 Bueno, esta sería la idea. 237 00:12:51,000 --> 00:12:53,000 Ahora tenemos que refinarla. 238 00:12:53,000 --> 00:12:55,000 Claro, sería la idea. 239 00:12:55,000 --> 00:12:57,000 ¿Vale? Pero la idea está clara 240 00:12:57,000 --> 00:12:59,000 del procedimiento, ¿no? 241 00:12:59,000 --> 00:13:01,000 La idea está clara. En una cajita va a ir el máximo. 242 00:13:01,000 --> 00:13:03,000 Me van llegando los números. 243 00:13:03,000 --> 00:13:05,000 Cada número puede ser 244 00:13:05,000 --> 00:13:07,000 nuevo máximo 245 00:13:07,000 --> 00:13:09,000 porque es mayor que el que era máximo hasta entonces 246 00:13:09,000 --> 00:13:11,000 entonces pisa el que era máximo hasta entonces 247 00:13:11,000 --> 00:13:13,000 y me sigue llegando número. 248 00:13:13,000 --> 00:13:15,000 ¿Es mayor que el que era máximo hasta entonces? 249 00:13:15,000 --> 00:13:17,000 No. Ignorado. Me llega número. 250 00:13:17,000 --> 00:13:19,000 ¿Es mayor que el que era máximo hasta entonces? 251 00:13:19,000 --> 00:13:21,000 No. Ignorado. Me llega número. ¿Es mayor que el que era máximo hasta entonces? 252 00:13:21,000 --> 00:13:23,000 Sí. ¡Hala! Pisa el máximo. 253 00:13:23,000 --> 00:13:25,000 Lo pisa. Tengo nuevo máximo. 254 00:13:25,000 --> 00:13:27,000 La idea que estoy diciendo es esa, ¿verdad? 255 00:13:27,000 --> 00:13:29,000 ¿Vale? 256 00:13:29,000 --> 00:13:31,000 Claro, hay que depurar. 257 00:13:31,000 --> 00:13:33,000 La primera cuestión es 258 00:13:33,000 --> 00:13:35,000 ¿con el primer número 259 00:13:35,000 --> 00:13:37,000 cuál es el máximo inicial? 260 00:13:37,000 --> 00:13:39,000 ¿Cuál es el máximo inicial? 261 00:13:39,000 --> 00:13:41,000 Ahí el compilador, no se mete en venejeras 262 00:13:41,000 --> 00:13:43,000 y me dice, perdona, máximo 263 00:13:43,000 --> 00:13:45,000 lo tienes que inicializar a algo. 264 00:13:45,000 --> 00:13:47,000 Dice, lo tienes que inicializar. 265 00:13:47,000 --> 00:13:49,000 Lo tienes que inicializar. 266 00:13:49,000 --> 00:13:51,000 Porque la primera vez, con el primer número 267 00:13:51,000 --> 00:13:53,000 yo no sé con qué 268 00:13:53,000 --> 00:13:55,000 compararlo. 269 00:13:55,000 --> 00:13:57,000 ¿Vale? 270 00:13:59,000 --> 00:14:01,000 Entonces, antes hemos dicho 271 00:14:01,000 --> 00:14:03,000 antes hemos dicho 272 00:14:03,000 --> 00:14:05,000 que el funcionamiento ideal 273 00:14:05,000 --> 00:14:07,000 es que 274 00:14:07,000 --> 00:14:09,000 es que el máximo inicial 275 00:14:09,000 --> 00:14:11,000 sea el primer número. 276 00:14:11,000 --> 00:14:13,000 ¿Verdad? Que el máximo inicial 277 00:14:13,000 --> 00:14:15,000 sea el primer número, ¿no? 278 00:14:15,000 --> 00:14:17,000 ¿Me llega el primer número? 279 00:14:17,000 --> 00:14:19,000 Es mi máximo inicial. 280 00:14:19,000 --> 00:14:21,000 ¿Con el siguiente número? 281 00:14:21,000 --> 00:14:23,000 Pisa el máximo si lo supera o no. 282 00:14:23,000 --> 00:14:25,000 ¿Con el siguiente? Pisa el máximo si lo supera o no. 283 00:14:25,000 --> 00:14:27,000 ¿Verdad? Sería. 284 00:14:27,000 --> 00:14:29,000 Pero claro, aquí tengo un problema y es 285 00:14:29,000 --> 00:14:31,000 cuando yo he declarado la variable máximo 286 00:14:31,000 --> 00:14:33,000 la tengo que declarar 287 00:14:33,000 --> 00:14:35,000 todavía no tengo ni el primer número. 288 00:14:37,000 --> 00:14:39,000 ¿Qué truco puedo hacer 289 00:14:39,000 --> 00:14:41,000 para darle un valor 290 00:14:41,000 --> 00:14:43,000 de tal manera que ya con el primer número 291 00:14:43,000 --> 00:14:45,000 que llegue se cumpla esta condición? 292 00:14:45,000 --> 00:14:47,000 ¿Qué truco puedo hacer? 293 00:14:47,000 --> 00:14:49,000 Yo quiero que ya con 294 00:14:49,000 --> 00:14:51,000 el primer número que me llegue de partida 295 00:14:51,000 --> 00:14:53,000 ya sea seguro 296 00:14:53,000 --> 00:14:55,000 mayor que este 297 00:14:55,000 --> 00:14:57,000 con el que yo lo he inicializado. 298 00:14:57,000 --> 00:14:59,000 ¿Qué truco puedo poner? 299 00:14:59,000 --> 00:15:01,000 ¿Vale? Esa es una opción. Perfecto. 300 00:15:09,000 --> 00:15:11,000 Por eso digo que esa es una opción estupenda 301 00:15:11,000 --> 00:15:13,000 y solo trabajamos con positivos. 302 00:15:13,000 --> 00:15:15,000 Perfecto. En este caso, como solo vamos a tener 303 00:15:15,000 --> 00:15:17,000 en cuenta positivos, estaría 304 00:15:17,000 --> 00:15:19,000 bien. 305 00:15:19,000 --> 00:15:21,000 Pero el caso más general es que 306 00:15:21,000 --> 00:15:23,000 si yo inicializo al menor 307 00:15:23,000 --> 00:15:25,000 entero posible, al menor 308 00:15:25,000 --> 00:15:27,000 de todos los posibles enteros, al más 309 00:15:27,000 --> 00:15:29,000 pequeñito. Si lo inicializo al más 310 00:15:29,000 --> 00:15:31,000 pequeñito de todos 311 00:15:31,000 --> 00:15:33,000 el primer número que me llega va a ser 312 00:15:33,000 --> 00:15:35,000 mayor que este seguro. 313 00:15:35,000 --> 00:15:37,000 Luego el máximo se va a inicializar 314 00:15:37,000 --> 00:15:39,000 con el primero. 315 00:15:39,000 --> 00:15:41,000 Y luego ya los siguientes. Entonces la pregunta que nos queda 316 00:15:41,000 --> 00:15:43,000 es ¿cuál es el entero más pequeñito de todos? 317 00:15:43,000 --> 00:15:45,000 ¿menos infinito? 318 00:15:45,000 --> 00:15:47,000 No lo puedo inicializar ya, pero es que 319 00:15:47,000 --> 00:15:49,000 un ordenador no entiende de más infinitos 320 00:15:49,000 --> 00:15:51,000 y menos infinitos. Entiende de que los enteros 321 00:15:51,000 --> 00:15:53,000 van entre 32 bits y lo más pequeñito 322 00:15:53,000 --> 00:15:55,000 que se pueda almacenar 323 00:15:55,000 --> 00:15:57,000 tiene un límite, que eso 324 00:15:57,000 --> 00:15:59,000 en su momento ya lo vimos 325 00:15:59,000 --> 00:16:01,000 y dijimos que podíamos acceder a ese valor 326 00:16:01,000 --> 00:16:03,000 de esta manera, ¿verdad? 327 00:16:03,000 --> 00:16:05,000 ¿Recordáis esto? 328 00:16:05,000 --> 00:16:07,000 Pues lo tenéis 329 00:16:07,000 --> 00:16:09,000 por ahí, en algún ejercicio, en alguna grabación. 330 00:16:09,000 --> 00:16:11,000 ¿Vale? 331 00:16:11,000 --> 00:16:13,000 Entonces, esto es 332 00:16:13,000 --> 00:16:15,000 el menor entero posible 333 00:16:15,000 --> 00:16:17,000 que 334 00:16:17,000 --> 00:16:19,000 Java permite codificar en 32 bits. 335 00:16:19,000 --> 00:16:21,000 Bueno, Java el ordenador. 336 00:16:21,000 --> 00:16:23,000 El menor entero posible. 337 00:16:23,000 --> 00:16:25,000 Pues con ese truco ya lo tengo todo solucionado. 338 00:16:25,000 --> 00:16:27,000 Inicializo mi máximo 339 00:16:27,000 --> 00:16:29,000 al más pequeño posible. 340 00:16:29,000 --> 00:16:31,000 ¿Vale? Al más pequeñito posible. 341 00:16:31,000 --> 00:16:33,000 Y ahora ya, según voy leyendo 342 00:16:33,000 --> 00:16:35,000 números, ¿vale? 343 00:16:35,000 --> 00:16:37,000 ¿El mayor supera 344 00:16:37,000 --> 00:16:39,000 al más pequeñito posible? 345 00:16:39,000 --> 00:16:41,000 O lo supera o es igual que él. 346 00:16:41,000 --> 00:16:43,000 No hay otra. Pues entonces 347 00:16:43,000 --> 00:16:45,000 tengo nuevo máximo. 348 00:16:45,000 --> 00:16:47,000 Leo el siguiente. ¿El que me llega 349 00:16:47,000 --> 00:16:49,000 supera al nuevo máximo que yo tengo? 350 00:16:49,000 --> 00:16:51,000 No. Pues el máximo se queda como está. 351 00:16:51,000 --> 00:16:53,000 Leo el siguiente. 352 00:16:53,000 --> 00:16:55,000 ¿El que me llega supera 353 00:16:55,000 --> 00:16:57,000 al que era máximo? Sí. Pues lo actualizo. 354 00:16:57,000 --> 00:16:59,000 ¿Vale? 355 00:16:59,000 --> 00:17:01,000 Entonces ahora ya, con este 356 00:17:01,000 --> 00:17:03,000 truco, 357 00:17:03,000 --> 00:17:05,000 este programa ya sí que funciona. 358 00:17:05,000 --> 00:17:07,000 ¿Vale? Con este truco 359 00:17:07,000 --> 00:17:09,000 este programa ya sí funciona. 360 00:17:09,000 --> 00:17:11,000 No es un truco. Sabéis cómo hay que hacerlo. 361 00:17:11,000 --> 00:17:13,000 Obviamente. 362 00:17:13,000 --> 00:17:15,000 ¿Vale? Entonces, ¿entendéis este funcionamiento? 363 00:17:15,000 --> 00:17:17,000 Sin importar entenderlo bien, 364 00:17:17,000 --> 00:17:19,000 porque es la manera de hacer un máximo. 365 00:17:20,000 --> 00:17:22,000 Es, voy recorriendo, 366 00:17:22,000 --> 00:17:24,000 si alguno supera 367 00:17:24,000 --> 00:17:26,000 al que era máximo, que está en esta variable aparte, 368 00:17:26,000 --> 00:17:28,000 lo sustituye. 369 00:17:28,000 --> 00:17:30,000 ¿Vale? 370 00:17:30,000 --> 00:17:32,000 Entonces aquí lo único, 371 00:17:32,000 --> 00:17:34,000 uno podría hacerse preguntas, 372 00:17:34,000 --> 00:17:36,000 como lo tengo hecho, como un do while, 373 00:17:36,000 --> 00:17:38,000 primero leo el número, entonces la finalización 374 00:17:38,000 --> 00:17:40,000 es que sea negativo, 375 00:17:40,000 --> 00:17:42,000 pues está teniendo en cuenta también 376 00:17:42,000 --> 00:17:44,000 ese negativo que es para finalizar 377 00:17:44,000 --> 00:17:46,000 para hacer el máximo. 378 00:17:46,000 --> 00:17:48,000 Entonces, bueno, aquí habría que aclarar un poco 379 00:17:48,000 --> 00:17:50,000 y decir, a ver, el último número 380 00:17:50,000 --> 00:17:52,000 que te entra, que va a ser negativo seguro, 381 00:17:52,000 --> 00:17:54,000 porque cuando es negativo ya no repites. 382 00:17:54,000 --> 00:17:56,000 El último que te entra, 383 00:17:56,000 --> 00:17:58,000 ¿lo quieres tener en cuenta 384 00:17:58,000 --> 00:18:00,000 para el máximo, lo quieres tener en cuenta? 385 00:18:00,000 --> 00:18:02,000 Pues en función de eso, tendríamos 386 00:18:02,000 --> 00:18:04,000 que meter esto en un if, si el número es 387 00:18:04,000 --> 00:18:06,000 diferente de negativo, 388 00:18:06,000 --> 00:18:08,000 ¿vale? Pero bueno, vamos a 389 00:18:10,000 --> 00:18:12,000 a no liarlo. 390 00:18:14,000 --> 00:18:16,000 ¿Esto está entendido, lo del máximo? 391 00:18:16,000 --> 00:18:18,000 ¿Sí? 392 00:18:18,000 --> 00:18:20,000 Vamos a ejecutarlo a ver si algo 393 00:18:20,000 --> 00:18:22,000 se nos ha escapado. 394 00:18:22,000 --> 00:18:24,000 Bueno, me faltaría aquí mostrar 395 00:18:26,000 --> 00:18:28,000 el máximo 396 00:18:32,000 --> 00:18:34,000 es 397 00:18:38,000 --> 00:18:40,000 lo que tenga la variable 398 00:18:40,000 --> 00:18:42,000 max. 399 00:18:42,000 --> 00:18:44,000 Vamos a ver. 400 00:18:46,000 --> 00:18:48,000 Pues venga, 401 00:18:48,000 --> 00:18:50,000 87, 402 00:18:50,000 --> 00:18:52,000 45, 403 00:18:52,000 --> 00:18:54,000 23, 404 00:18:54,000 --> 00:18:56,000 777, 23 405 00:18:56,000 --> 00:18:58,000 y menos 1. 406 00:18:58,000 --> 00:19:00,000 El máximo es 777. 407 00:19:00,000 --> 00:19:02,000 Pues sí, 408 00:19:02,000 --> 00:19:04,000 lo ha hecho bien. 409 00:19:04,000 --> 00:19:06,000 Si yo meto de partida 410 00:19:06,000 --> 00:19:08,000 ya un negativo, 411 00:19:08,000 --> 00:19:10,000 si meto de partida un negativo, 412 00:19:10,000 --> 00:19:12,000 ese negativo 413 00:19:12,000 --> 00:19:14,000 es el único número que he metido, 414 00:19:14,000 --> 00:19:16,000 es el propio máximo. 415 00:19:16,000 --> 00:19:18,000 Si meto de partida un negativo, 416 00:19:20,000 --> 00:19:22,000 entonces uno puede hacer todas las pruebas que quiera, 417 00:19:22,000 --> 00:19:24,000 pues el no sé cuántos, 418 00:19:24,000 --> 00:19:26,000 este, este 419 00:19:26,000 --> 00:19:28,000 y este, y el máximo es este. 420 00:19:28,000 --> 00:19:30,000 Bueno, pues funciona. 421 00:19:32,000 --> 00:19:34,000 ¿Vale? 422 00:19:38,000 --> 00:19:40,000 ¿Cómo cambiaríais este código? 423 00:19:40,000 --> 00:19:42,000 O sea, esto sería para 424 00:19:44,000 --> 00:19:46,000 calcular máximo. 425 00:19:46,000 --> 00:19:48,000 Lo voy a poner separado. 426 00:19:52,000 --> 00:19:54,000 ¿Cómo cambiaríais 427 00:19:54,000 --> 00:19:56,000 este código ahora si lo que queremos es 428 00:19:56,000 --> 00:19:58,000 algo muy parecido 429 00:19:58,000 --> 00:20:00,000 en realidad, que es calcular el mínimo? 430 00:20:04,000 --> 00:20:06,000 ¿Cómo cambiaríais este código 431 00:20:06,000 --> 00:20:08,000 para que en lugar de calcular el máximo 432 00:20:08,000 --> 00:20:10,000 de todos los num que le van llegando, 433 00:20:10,000 --> 00:20:12,000 calcule el mínimo 434 00:20:12,000 --> 00:20:14,000 en otra variable aparte, que sea de min o como sea? 435 00:20:22,000 --> 00:20:24,000 Efectivamente, es la misma idea. 436 00:20:24,000 --> 00:20:26,000 Yo voy recibiendo números. 437 00:20:26,000 --> 00:20:28,000 Si alguno supera el mínimo 438 00:20:28,000 --> 00:20:30,000 hasta ese momento, 439 00:20:30,000 --> 00:20:32,000 lo supera, perdón, por debajo, 440 00:20:32,000 --> 00:20:34,000 pues lo cambia. 441 00:20:34,000 --> 00:20:36,000 ¿Vale? Pues vamos a hacer una variable 442 00:20:36,000 --> 00:20:38,000 min aquí. 443 00:20:38,000 --> 00:20:40,000 Esta variable min 444 00:20:40,000 --> 00:20:42,000 la voy a inicializar 445 00:20:42,000 --> 00:20:44,000 con el mayor valor posible 446 00:20:44,000 --> 00:20:46,000 que me permite codificar java, 447 00:20:46,000 --> 00:20:48,000 que es este, con el mayor valor posible. 448 00:20:48,000 --> 00:20:50,000 Con el mayor. 449 00:20:50,000 --> 00:20:52,000 De tal manera que el primer número que me lleve 450 00:20:52,000 --> 00:20:54,000 ya va a ser menor o igual que ese número, 451 00:20:54,000 --> 00:20:56,000 con lo cual se va a actualizar 452 00:20:56,000 --> 00:20:58,000 el mínimo con ese primer valor que me llega. 453 00:20:58,000 --> 00:21:00,000 Se va a actualizar con ese primer valor. 454 00:21:02,000 --> 00:21:04,000 Porque va a ser menor o igual que este. 455 00:21:04,000 --> 00:21:06,000 Si es igual, es que ya está actualizado 456 00:21:06,000 --> 00:21:08,000 a ese valor, al primero. 457 00:21:08,000 --> 00:21:10,000 Y si es menor, se va a actualizar 458 00:21:10,000 --> 00:21:12,000 con ese valor nuevo que me llega. 459 00:21:12,000 --> 00:21:14,000 Bueno, pues sí. 460 00:21:14,000 --> 00:21:16,000 Ponemos el código este mismo abajo. 461 00:21:20,000 --> 00:21:22,000 Introduzca valor, leemos, y sería 462 00:21:22,000 --> 00:21:24,000 si el número es menor 463 00:21:24,000 --> 00:21:26,000 que el mínimo 464 00:21:26,000 --> 00:21:28,000 hasta ese momento, 465 00:21:28,000 --> 00:21:30,000 pues entonces ya tenemos nuevo mínimo. 466 00:21:30,000 --> 00:21:32,000 ¿Vale? 467 00:21:32,000 --> 00:21:34,000 Sería un hipocambio. 468 00:21:34,000 --> 00:21:36,000 Introducimos valor, que ese número es menor 469 00:21:36,000 --> 00:21:38,000 que el mínimo hasta ese momento. 470 00:21:38,000 --> 00:21:40,000 Tengo nuevo mínimo. 471 00:21:40,000 --> 00:21:42,000 Y ahora ya 472 00:21:44,000 --> 00:21:46,000 lo mostraría. 473 00:21:48,000 --> 00:21:50,000 El mínimo es 474 00:21:52,000 --> 00:21:54,000 min. 475 00:21:56,000 --> 00:21:58,000 ¿Vale? 476 00:21:58,000 --> 00:22:00,000 ¿Vale? 477 00:22:02,000 --> 00:22:04,000 Aquí sí que va a ocurrir 478 00:22:04,000 --> 00:22:06,000 que como el número negativo 479 00:22:06,000 --> 00:22:08,000 que yo meto para finalizar 480 00:22:08,000 --> 00:22:10,000 lo está teniendo en cuenta, 481 00:22:10,000 --> 00:22:12,000 va a ser siempre el mínimo el número negativo final. 482 00:22:12,000 --> 00:22:14,000 Va a ser siempre el número negativo final 483 00:22:14,000 --> 00:22:16,000 el número. Vale, pero podemos cambiar aquí 484 00:22:16,000 --> 00:22:18,000 el i poniendo. Si el número que me han metido 485 00:22:18,000 --> 00:22:20,000 es mayor o igual que 0, 486 00:22:20,000 --> 00:22:22,000 para no tener en cuenta el negativo, 487 00:22:22,000 --> 00:22:24,000 y siendo mayor o igual 488 00:22:24,000 --> 00:22:26,000 que 0, 489 00:22:26,000 --> 00:22:28,000 además es menor que el mínimo, 490 00:22:28,000 --> 00:22:30,000 aquí ya sí que lo meto. 491 00:22:30,000 --> 00:22:32,000 Para sólo tener en cuenta, 492 00:22:32,000 --> 00:22:34,000 sólo tener en cuenta 493 00:22:34,000 --> 00:22:36,000 el positivo. 494 00:22:36,000 --> 00:22:38,000 O sea, no tener en cuenta el último negativo 495 00:22:38,000 --> 00:22:40,000 de finalizar. Vale, ahí ya sí que 496 00:22:40,000 --> 00:22:42,000 tiene importancia. 497 00:22:42,000 --> 00:22:44,000 Vamos a probarlo. 498 00:22:56,000 --> 00:22:58,000 Si le meto yo de partida un negativo, 499 00:22:58,000 --> 00:23:00,000 ¿qué me va a mostrar? 500 00:23:04,000 --> 00:23:06,000 Bueno, espera, ahora está haciendo 501 00:23:06,000 --> 00:23:08,000 la primera parte del bucle. 502 00:23:08,000 --> 00:23:10,000 Esta. 503 00:23:10,000 --> 00:23:12,000 El máximo es menos 2. 504 00:23:12,000 --> 00:23:14,000 Y ahora vamos a hacer el mínimo. 505 00:23:14,000 --> 00:23:16,000 Si le meto de partida un negativo, 506 00:23:16,000 --> 00:23:18,000 la parte del mínimo, ¿qué me va a mostrar? 507 00:23:18,000 --> 00:23:20,000 Si le meto de partida 508 00:23:20,000 --> 00:23:22,000 un negativo, aquí no entra, 509 00:23:22,000 --> 00:23:24,000 ¿verdad? Si le meto de partida 510 00:23:24,000 --> 00:23:26,000 un negativo, lo que me va a mostrar 511 00:23:26,000 --> 00:23:28,000 es lo que tuviera min. 512 00:23:28,000 --> 00:23:30,000 ¿Y qué tiene min? Esto. 513 00:23:30,000 --> 00:23:32,000 Que yo he inicializado aquí. Entonces, si de partida 514 00:23:32,000 --> 00:23:34,000 le meto un negativo aquí, 515 00:23:36,000 --> 00:23:38,000 pues me muestra el mayor valor 516 00:23:38,000 --> 00:23:40,000 entero, como esperábamos. Porque es que 517 00:23:40,000 --> 00:23:42,000 no ha llegado ningún número 518 00:23:42,000 --> 00:23:44,000 sobre el que calcular el mínimo. 519 00:23:44,000 --> 00:23:46,000 No ha llegado ninguno. 520 00:23:46,000 --> 00:23:48,000 Vamos a... 521 00:23:52,000 --> 00:23:54,000 Vamos a esta parte. 522 00:23:54,000 --> 00:23:56,000 Ahora vamos a... 523 00:23:56,000 --> 00:23:58,000 El mínimo, 8, 67, 524 00:23:58,000 --> 00:24:00,000 2, 525 00:24:00,000 --> 00:24:02,000 0 y menos 3. 526 00:24:02,000 --> 00:24:04,000 El mínimo es 0. Vale, pues lo ha hecho 527 00:24:04,000 --> 00:24:06,000 bien. El mínimo de todos los que he metido es 0. 528 00:24:06,000 --> 00:24:08,000 Lo ha hecho bien. 529 00:24:08,000 --> 00:24:10,000 ¿Vale? 530 00:24:10,000 --> 00:24:12,000 Vamos a dejar también aquí la condición. 531 00:24:12,000 --> 00:24:14,000 Aunque aquí no afecte, 532 00:24:14,000 --> 00:24:16,000 para que sean iguales. 533 00:24:22,000 --> 00:24:24,000 ¿Vale? Entonces, esto 534 00:24:24,000 --> 00:24:26,000 de máximo y mínimo 535 00:24:26,000 --> 00:24:28,000 os tiene que quedar en la cabeza que 536 00:24:28,000 --> 00:24:30,000 la idea 537 00:24:30,000 --> 00:24:32,000 es que sea máximo, sea mínimo. 538 00:24:32,000 --> 00:24:34,000 Se inicializa con el primer valor 539 00:24:34,000 --> 00:24:36,000 y los demás sirven para, según van llegando, 540 00:24:36,000 --> 00:24:38,000 decidir si actualizo el que es máximo 541 00:24:38,000 --> 00:24:40,000 o el que es mínimo. 542 00:24:40,000 --> 00:24:42,000 Entonces, 543 00:24:42,000 --> 00:24:44,000 aquí realmente es una tontería 544 00:24:44,000 --> 00:24:46,000 hacer los dos códigos por separado. 545 00:24:46,000 --> 00:24:48,000 Puedo llevarlo en paralelo. 546 00:24:48,000 --> 00:24:50,000 Puedo llevarlo en paralelo. 547 00:24:50,000 --> 00:24:52,000 ¿Vale? Este código 548 00:24:52,000 --> 00:24:54,000 para el máximo, y ahora voy a copiar 549 00:24:54,000 --> 00:24:56,000 aquí esto para el mínimo. 550 00:24:56,000 --> 00:24:58,000 Que tontería 551 00:24:58,000 --> 00:25:00,000 llevarlos en dos bucles separados. 552 00:25:00,000 --> 00:25:02,000 Y ahora aquí ya. 553 00:25:14,000 --> 00:25:16,000 Vale, lo pongo en el mismo bucle. 554 00:25:16,000 --> 00:25:18,000 Y ahora ya sí. 555 00:25:18,000 --> 00:25:20,000 Se introduce valor. 556 00:25:20,000 --> 00:25:22,000 Si el número supera el máximo, 557 00:25:22,000 --> 00:25:24,000 actualizo máximo. 558 00:25:24,000 --> 00:25:26,000 Y ahora ya aparte. 559 00:25:26,000 --> 00:25:28,000 Otro if aparte. Esto no es un else. 560 00:25:28,000 --> 00:25:30,000 Siempre las dos cosas. 561 00:25:30,000 --> 00:25:32,000 Si supera el máximo, tengo 562 00:25:32,000 --> 00:25:34,000 un nuevo máximo. 563 00:25:34,000 --> 00:25:36,000 Si baja por debajo del mínimo, tengo un nuevo mínimo. 564 00:25:36,000 --> 00:25:38,000 Dos if separados. Son dos tareas 565 00:25:38,000 --> 00:25:40,000 que se hacen en paralelo. Por un lado compruebo 566 00:25:40,000 --> 00:25:42,000 a ver si supera el máximo 567 00:25:42,000 --> 00:25:44,000 y por otro lado compruebo a ver si está por debajo del mínimo. 568 00:25:44,000 --> 00:25:46,000 Para hacer en paralelo las dos cosas. 569 00:25:46,000 --> 00:25:48,000 En paralelo voy actualizando 570 00:25:48,000 --> 00:25:50,000 esta variable, luego esta 571 00:25:50,000 --> 00:25:52,000 y así mientras no 572 00:25:52,000 --> 00:25:54,000 introduzcamos uno negativo. 573 00:25:54,000 --> 00:25:56,000 Y ya está. 574 00:25:56,000 --> 00:26:02,000 Como hacemos aquí, pues venga. 575 00:26:02,000 --> 00:26:06,000 9, 43, 2, 65, 3. 576 00:26:06,000 --> 00:26:08,000 Y este para acabar. 577 00:26:12,000 --> 00:26:14,000 Ah, es que cuando he hecho el copia y pega. 578 00:26:14,000 --> 00:26:16,000 No, el máximo es más 579 00:26:16,000 --> 00:26:18,000 y el mínimo es min. 580 00:26:18,000 --> 00:26:20,000 Que he hecho mal. 581 00:26:20,000 --> 00:26:22,000 Ah, la condición. 582 00:26:22,000 --> 00:26:24,000 Si número es 583 00:26:24,000 --> 00:26:26,000 mayor que máximo. 584 00:26:26,000 --> 00:26:28,000 Ah, vale, que cuando he copiado 585 00:26:28,000 --> 00:26:30,000 la condición enterita, del copia y pega 586 00:26:30,000 --> 00:26:32,000 de abajo. Vale, vale. 587 00:26:32,000 --> 00:26:34,000 Ahí, si número es mayor 588 00:26:34,000 --> 00:26:36,000 que máximo. 589 00:26:36,000 --> 00:26:38,000 Ahí. 590 00:26:38,000 --> 00:26:40,000 Vale. 591 00:26:42,000 --> 00:26:44,000 Vale, ahora ya. 592 00:26:44,000 --> 00:26:46,000 Sí. 593 00:26:46,000 --> 00:26:48,000 4, 6, 2, 594 00:26:48,000 --> 00:26:50,000 8 y menos 2. 595 00:26:50,000 --> 00:26:52,000 El máximo 8 y el mínimo 2. 596 00:26:52,000 --> 00:26:54,000 Vale. 597 00:27:02,000 --> 00:27:04,000 ¿Cómo ya lo tengo abajo? 598 00:27:06,000 --> 00:27:08,000 Sí, a ver, en esta condición 599 00:27:08,000 --> 00:27:10,000 aquí no hace falta, a ver, aquí hay una 600 00:27:10,000 --> 00:27:12,000 implicación y es 601 00:27:12,000 --> 00:27:14,000 lo que pasa es que lo he puesto por homogeneidad de condiciones. 602 00:27:14,000 --> 00:27:16,000 Aquí 603 00:27:16,000 --> 00:27:18,000 el no ponerlo, lo que significa 604 00:27:18,000 --> 00:27:20,000 es que te procesa el negativo, entonces 605 00:27:20,000 --> 00:27:22,000 si tú de partida le pones un negativo 606 00:27:22,000 --> 00:27:24,000 te dice que el máximo es el número negativo. 607 00:27:24,000 --> 00:27:26,000 En lugar de decirte que el máximo es este. 608 00:27:26,000 --> 00:27:28,000 Entonces, es la única diferencia. 609 00:27:28,000 --> 00:27:30,000 Pero para que funcione el de arriba 610 00:27:30,000 --> 00:27:32,000 igual que el de abajo y sólo entre 611 00:27:32,000 --> 00:27:34,000 en él, si no es negativo 612 00:27:34,000 --> 00:27:36,000 para que sean las dos situaciones iguales, 613 00:27:36,000 --> 00:27:38,000 pues por eso lo he puesto. 614 00:27:40,000 --> 00:27:42,000 ¿Vale? 615 00:27:42,000 --> 00:27:44,000 Y en este mismo código ya 616 00:27:44,000 --> 00:27:46,000 podemos incluir que haga la media. 617 00:27:46,000 --> 00:27:48,000 Está haciendo la operación para el máximo. 618 00:27:48,000 --> 00:27:50,000 Este es la operación para el mínimo. 619 00:27:50,000 --> 00:27:52,000 Y podemos incluir que haga la media. 620 00:27:52,000 --> 00:27:54,000 ¿Qué tengo que incluir para que haga la media además? 621 00:27:56,000 --> 00:27:58,000 ¿Qué más meto aquí dentro de ese 622 00:27:58,000 --> 00:28:00,000 bucle? 623 00:28:04,000 --> 00:28:06,000 ¿Un cont, por ejemplo? 624 00:28:10,000 --> 00:28:12,000 A ver, ya tengo el bucle, no hace falta. 625 00:28:12,000 --> 00:28:14,000 Aquí una variable que me va sumando ese número. 626 00:28:14,000 --> 00:28:16,000 ¿Vale? 627 00:28:16,000 --> 00:28:18,000 Con hacer esto, 628 00:28:18,000 --> 00:28:20,000 suma más igual 629 00:28:20,000 --> 00:28:22,000 número. 630 00:28:22,000 --> 00:28:24,000 Suma más igual número. 631 00:28:24,000 --> 00:28:26,000 Declarando la suma. 632 00:28:28,000 --> 00:28:30,000 Igual que cero. 633 00:28:34,000 --> 00:28:36,000 ¿Vale? Suma más igual número. 634 00:28:36,000 --> 00:28:38,000 Y para luego hacer la media tengo que 635 00:28:38,000 --> 00:28:40,000 saber cuántos números hay. 636 00:28:40,000 --> 00:28:42,000 Con lo cual necesito un contador también. 637 00:28:46,000 --> 00:28:48,000 ¿Vale? 638 00:28:50,000 --> 00:28:52,000 Entonces, con... 639 00:28:54,000 --> 00:28:56,000 Vale, pues esta parte de aquí es para la media. 640 00:28:58,000 --> 00:29:00,000 Voy sumando en la variable suma 641 00:29:00,000 --> 00:29:02,000 como siempre los números que me van llegando, 642 00:29:02,000 --> 00:29:04,000 voy sumando los números que me van llegando 643 00:29:04,000 --> 00:29:06,000 y los voy contando. Esto es lo de siempre. 644 00:29:06,000 --> 00:29:08,000 Cuando ya he salido del bucle 645 00:29:08,000 --> 00:29:10,000 ya puedo mostrar la media. 646 00:29:10,000 --> 00:29:12,000 Aquí lo único, cuidado, que estoy 647 00:29:12,000 --> 00:29:14,000 contando el número negativo también para la media. 648 00:29:14,000 --> 00:29:16,000 Si no lo quiero contar para la media 649 00:29:18,000 --> 00:29:20,000 lo tendría que sacar en un if, ¿verdad? 650 00:29:20,000 --> 00:29:22,000 Entonces, para que sea una misma línea 651 00:29:22,000 --> 00:29:24,000 y así recordamos cosas, podemos hacer 652 00:29:24,000 --> 00:29:26,000 suma igual a 653 00:29:26,000 --> 00:29:28,000 y evaluamos 654 00:29:28,000 --> 00:29:30,000 la condición. El número 655 00:29:30,000 --> 00:29:32,000 es mayor o igual que cero. 656 00:29:32,000 --> 00:29:34,000 Pues entonces sí lo quiero sumar 657 00:29:34,000 --> 00:29:36,000 a la suma. 658 00:29:36,000 --> 00:29:38,000 Suma más 659 00:29:38,000 --> 00:29:40,000 número. 660 00:29:40,000 --> 00:29:42,000 ¿Que no? 661 00:29:42,000 --> 00:29:44,000 Pues suma, se queda como está. 662 00:29:44,000 --> 00:29:46,000 ¿Vale? 663 00:29:46,000 --> 00:29:48,000 Esta línea es 664 00:29:48,000 --> 00:29:50,000 para sumar el numerito que me ha 665 00:29:50,000 --> 00:29:52,000 llegado a la suma, para hacer la suma acumulativa. 666 00:29:52,000 --> 00:29:54,000 Pero solo si es positivo. 667 00:29:54,000 --> 00:29:56,000 Si es negativo ya es el último de finalizar 668 00:29:56,000 --> 00:29:58,000 no quiero incorporarlo en la media. 669 00:29:58,000 --> 00:30:00,000 ¿Vale? 670 00:30:00,000 --> 00:30:02,000 Una sola línea y contamos. 671 00:30:02,000 --> 00:30:04,000 Y ahora ya aquí, una vez que hemos 672 00:30:04,000 --> 00:30:06,000 salido fuera podemos hacer la media 673 00:30:06,000 --> 00:30:08,000 que ya hemos hecho, suma entre con. 674 00:30:12,000 --> 00:30:14,000 . 675 00:30:14,000 --> 00:30:16,000 . 676 00:30:16,000 --> 00:30:18,000 . 677 00:30:18,000 --> 00:30:20,000 . 678 00:30:20,000 --> 00:30:22,000 . 679 00:30:22,000 --> 00:30:24,000 . 680 00:30:36,000 --> 00:30:38,000 Entonces vamos a 681 00:30:38,000 --> 00:30:40,000 probar. 682 00:30:40,000 --> 00:30:42,000 Pues metemos 683 00:30:42,000 --> 00:30:44,000 el 684 00:30:44,000 --> 00:30:46,000 . 685 00:30:46,000 --> 00:30:48,000 . 686 00:30:48,000 --> 00:30:50,000 . 687 00:30:50,000 --> 00:30:52,000 . 688 00:30:52,000 --> 00:30:54,000 . 689 00:30:54,000 --> 00:30:56,000 . 690 00:30:56,000 --> 00:30:58,000 . 691 00:30:58,000 --> 00:31:00,000 . 692 00:31:00,000 --> 00:31:02,000 . 693 00:31:02,000 --> 00:31:04,000 . 694 00:31:04,000 --> 00:31:06,000 . 695 00:31:06,000 --> 00:31:08,000 . 696 00:31:08,000 --> 00:31:10,000 . 697 00:31:10,000 --> 00:31:12,000 . 698 00:31:16,000 --> 00:31:18,000 . 699 00:31:18,000 --> 00:31:20,000 . 700 00:31:20,000 --> 00:31:22,000 . 701 00:31:22,000 --> 00:31:24,000 . 702 00:31:24,000 --> 00:31:26,000 . 703 00:31:26,000 --> 00:31:28,000 . 704 00:31:28,000 --> 00:31:30,000 . 705 00:31:30,000 --> 00:31:32,000 . 706 00:31:32,000 --> 00:31:34,000 . 707 00:31:34,000 --> 00:31:36,000 . 708 00:31:36,000 --> 00:31:38,000 . 709 00:31:38,000 --> 00:31:40,000 . 710 00:31:40,000 --> 00:31:42,000 . 711 00:31:42,000 --> 00:31:44,000 . 712 00:31:44,000 --> 00:31:46,000 . 713 00:31:46,000 --> 00:31:48,000 . 714 00:31:48,000 --> 00:31:50,000 . 715 00:31:50,000 --> 00:31:52,000 . 716 00:31:52,000 --> 00:31:54,000 . 717 00:31:54,000 --> 00:31:56,000 . 718 00:31:56,000 --> 00:31:58,000 . 719 00:32:00,000 --> 00:32:02,000 . 720 00:32:02,000 --> 00:32:04,000 . 721 00:32:04,000 --> 00:32:06,000 . 722 00:32:08,000 --> 00:32:10,000 . 723 00:32:10,000 --> 00:32:12,000 . 724 00:32:12,000 --> 00:32:14,000 . 725 00:32:14,000 --> 00:32:16,000 . 726 00:32:16,000 --> 00:32:18,000 . 727 00:32:18,000 --> 00:32:20,000 . 728 00:32:20,000 --> 00:32:22,000 . 729 00:32:22,000 --> 00:32:24,000 . 730 00:32:24,000 --> 00:32:26,000 . 731 00:32:26,000 --> 00:32:28,000 . 732 00:32:28,000 --> 00:32:30,000 . 733 00:32:30,000 --> 00:32:32,000 . 734 00:32:32,000 --> 00:32:34,000 . 735 00:32:34,000 --> 00:32:36,000 . 736 00:32:36,000 --> 00:32:38,000 . 737 00:32:38,000 --> 00:32:40,000 . 738 00:32:40,000 --> 00:32:42,000 . 739 00:32:42,000 --> 00:32:44,000 . 740 00:32:44,000 --> 00:32:46,000 . 741 00:32:46,000 --> 00:32:48,000 . 742 00:32:50,000 --> 00:32:52,000 . 743 00:32:52,000 --> 00:32:54,000 . 744 00:32:54,000 --> 00:32:56,000 . 745 00:32:56,000 --> 00:32:58,000 . 746 00:32:58,000 --> 00:33:00,000 . 747 00:33:00,000 --> 00:33:02,000 . 748 00:33:02,000 --> 00:33:04,000 . 749 00:33:04,000 --> 00:33:06,000 . 750 00:33:06,000 --> 00:33:08,000 . 751 00:33:08,000 --> 00:33:10,000 . 752 00:33:10,000 --> 00:33:12,000 . 753 00:33:12,000 --> 00:33:14,000 . 754 00:33:14,000 --> 00:33:16,000 . 755 00:33:16,000 --> 00:33:18,000 . 756 00:33:18,000 --> 00:33:20,000 . 757 00:33:20,000 --> 00:33:22,000 . 758 00:33:24,000 --> 00:33:26,000 . 759 00:33:26,000 --> 00:33:28,000 . 760 00:33:28,000 --> 00:33:30,000 . 761 00:33:32,000 --> 00:33:34,000 . 762 00:33:34,000 --> 00:33:36,000 . 763 00:33:36,000 --> 00:33:38,000 . 764 00:33:38,000 --> 00:33:40,000 . 765 00:33:40,000 --> 00:33:42,000 . 766 00:33:42,000 --> 00:33:44,000 . 767 00:33:44,000 --> 00:33:46,000 . 768 00:33:46,000 --> 00:33:48,000 . 769 00:33:48,000 --> 00:33:50,000 . 770 00:33:50,000 --> 00:33:52,000 . 771 00:33:52,000 --> 00:33:54,000 . 772 00:33:54,000 --> 00:33:56,000 . 773 00:33:56,000 --> 00:33:58,000 . 774 00:33:58,000 --> 00:34:00,000 . 775 00:34:00,000 --> 00:34:02,000 . 776 00:34:02,000 --> 00:34:04,000 . 777 00:34:04,000 --> 00:34:06,000 . 778 00:34:06,000 --> 00:34:08,000 . 779 00:34:08,000 --> 00:34:10,000 . 780 00:34:10,000 --> 00:34:12,000 . 781 00:34:12,000 --> 00:34:14,000 . 782 00:34:14,000 --> 00:34:16,000 . 783 00:34:16,000 --> 00:34:18,000 . 784 00:34:20,000 --> 00:34:22,000 . 785 00:34:22,000 --> 00:34:24,000 . 786 00:34:24,000 --> 00:34:26,000 . 787 00:34:26,000 --> 00:34:28,000 . 788 00:34:30,000 --> 00:34:32,000 . 789 00:34:32,000 --> 00:34:34,000 . 790 00:34:34,000 --> 00:34:36,000 . 791 00:34:36,000 --> 00:34:38,000 . 792 00:34:38,000 --> 00:34:40,000 . 793 00:34:40,000 --> 00:34:42,000 . 794 00:34:42,000 --> 00:34:44,000 . 795 00:34:44,000 --> 00:34:46,000 . 796 00:34:46,000 --> 00:34:48,000 . 797 00:34:48,000 --> 00:34:50,000 . 798 00:34:50,000 --> 00:34:52,000 . 799 00:34:52,000 --> 00:34:54,000 . 800 00:34:56,000 --> 00:34:58,000 . 801 00:34:58,000 --> 00:35:00,000 . 802 00:35:00,000 --> 00:35:02,000 . 803 00:35:02,000 --> 00:35:04,000 . 804 00:35:04,000 --> 00:35:06,000 . 805 00:35:06,000 --> 00:35:08,000 . 806 00:35:08,000 --> 00:35:10,000 . 807 00:35:10,000 --> 00:35:12,000 . 808 00:35:12,000 --> 00:35:14,000 . 809 00:35:14,000 --> 00:35:16,000 . 810 00:35:16,000 --> 00:35:18,000 . 811 00:35:18,000 --> 00:35:20,000 . 812 00:35:20,000 --> 00:35:22,000 . 813 00:35:24,000 --> 00:35:26,000 . 814 00:35:26,000 --> 00:35:28,000 . 815 00:35:28,000 --> 00:35:30,000 . 816 00:35:30,000 --> 00:35:32,000 . 817 00:35:32,000 --> 00:35:34,000 . 818 00:35:34,000 --> 00:35:36,000 . 819 00:35:36,000 --> 00:35:38,000 . 820 00:35:38,000 --> 00:35:40,000 . 821 00:35:40,000 --> 00:35:42,000 . 822 00:35:42,000 --> 00:35:44,000 . 823 00:35:44,000 --> 00:35:46,000 . 824 00:35:46,000 --> 00:35:48,000 . 825 00:35:48,000 --> 00:35:50,000 . 826 00:35:50,000 --> 00:35:52,000 . 827 00:35:52,000 --> 00:35:54,000 . 828 00:35:54,000 --> 00:35:56,000 . 829 00:35:56,000 --> 00:35:58,000 . 830 00:35:58,000 --> 00:36:00,000 . 831 00:36:00,000 --> 00:36:02,000 . 832 00:36:02,000 --> 00:36:04,000 . 833 00:36:04,000 --> 00:36:06,000 . 834 00:36:06,000 --> 00:36:08,000 . 835 00:36:10,000 --> 00:36:12,000 . 836 00:36:12,000 --> 00:36:14,000 . 837 00:36:14,000 --> 00:36:16,000 . 838 00:36:16,000 --> 00:36:18,000 . 839 00:36:20,000 --> 00:36:22,000 . 840 00:36:22,000 --> 00:36:24,000 . 841 00:36:24,000 --> 00:36:26,000 . 842 00:36:26,000 --> 00:36:28,000 . 843 00:36:28,000 --> 00:36:30,000 . 844 00:36:30,000 --> 00:36:32,000 . 845 00:36:32,000 --> 00:36:34,000 . 846 00:36:34,000 --> 00:36:36,000 . 847 00:36:36,000 --> 00:36:38,000 . 848 00:36:38,000 --> 00:36:40,000 . 849 00:36:40,000 --> 00:36:42,000 . 850 00:36:42,000 --> 00:36:44,000 . 851 00:36:44,000 --> 00:36:46,000 . 852 00:36:48,000 --> 00:36:50,000 . 853 00:36:50,000 --> 00:36:52,000 . 854 00:36:52,000 --> 00:36:54,000 . 855 00:36:54,000 --> 00:36:56,000 . 856 00:36:56,000 --> 00:36:58,000 . 857 00:36:58,000 --> 00:37:00,000 . 858 00:37:00,000 --> 00:37:02,000 . 859 00:37:02,000 --> 00:37:04,000 . 860 00:37:04,000 --> 00:37:06,000 . 861 00:37:06,000 --> 00:37:08,000 . 862 00:37:08,000 --> 00:37:10,000 . 863 00:37:10,000 --> 00:37:12,000 . 864 00:37:12,000 --> 00:37:14,000 . 865 00:37:16,000 --> 00:37:18,000 . 866 00:37:18,000 --> 00:37:20,000 . 867 00:37:20,000 --> 00:37:22,000 . 868 00:37:22,000 --> 00:37:24,000 . 869 00:37:24,000 --> 00:37:26,000 . 870 00:37:26,000 --> 00:37:28,000 . 871 00:37:28,000 --> 00:37:30,000 . 872 00:37:30,000 --> 00:37:32,000 . 873 00:37:32,000 --> 00:37:34,000 . 874 00:37:34,000 --> 00:37:36,000 . 875 00:37:36,000 --> 00:37:38,000 . 876 00:37:38,000 --> 00:37:40,000 . 877 00:37:40,000 --> 00:37:42,000 . 878 00:37:42,000 --> 00:37:44,000 . 879 00:37:46,000 --> 00:37:48,000 . 880 00:37:48,000 --> 00:37:50,000 . 881 00:37:50,000 --> 00:37:52,000 . 882 00:37:52,000 --> 00:37:54,000 . 883 00:37:54,000 --> 00:37:56,000 . 884 00:37:56,000 --> 00:37:58,000 . 885 00:37:58,000 --> 00:38:00,000 . 886 00:38:00,000 --> 00:38:02,000 . 887 00:38:02,000 --> 00:38:04,000 . 888 00:38:04,000 --> 00:38:06,000 . 889 00:38:06,000 --> 00:38:08,000 . 890 00:38:08,000 --> 00:38:10,000 . 891 00:38:10,000 --> 00:38:12,000 . 892 00:38:12,000 --> 00:38:14,000 . 893 00:38:14,000 --> 00:38:16,000 . 894 00:38:16,000 --> 00:38:18,000 . 895 00:38:18,000 --> 00:38:20,000 . 896 00:38:20,000 --> 00:38:22,000 . 897 00:38:22,000 --> 00:38:24,000 . 898 00:38:28,000 --> 00:38:30,000 . 899 00:38:30,000 --> 00:38:32,000 . 900 00:38:32,000 --> 00:38:34,000 . 901 00:38:34,000 --> 00:38:36,000 . 902 00:38:36,000 --> 00:38:38,000 . 903 00:38:38,000 --> 00:38:40,000 . 904 00:38:42,000 --> 00:38:44,000 . 905 00:38:44,000 --> 00:38:46,000 . 906 00:38:46,000 --> 00:38:48,000 . 907 00:38:48,000 --> 00:38:50,000 . 908 00:38:50,000 --> 00:38:52,000 . 909 00:38:52,000 --> 00:38:54,000 . 910 00:38:54,000 --> 00:38:56,000 . 911 00:38:56,000 --> 00:38:58,000 . 912 00:38:58,000 --> 00:39:00,000 . 913 00:39:00,000 --> 00:39:02,000 . 914 00:39:02,000 --> 00:39:04,000 .