1 00:00:00,000 --> 00:00:03,399 En este 7 no se mete ningún dato por teclado. 2 00:00:03,940 --> 00:00:05,740 No hay nada por teclado, no hay ninguna información. 3 00:00:05,980 --> 00:00:08,919 Son los números desde 1 hasta 100, ¿vale? 4 00:00:11,720 --> 00:00:13,720 No se mete nada por teclado, ¿vale? 5 00:00:13,720 --> 00:00:18,160 Entonces, aquí tenemos que identificar que esto es una suma acumulativa. 6 00:00:18,780 --> 00:00:25,339 Porque es 5, al primer 5 le incorporo luego el 10, al 10 le incorporo luego el 15, ¿vale? 7 00:00:25,399 --> 00:00:26,339 Y así hasta 100. 8 00:00:26,780 --> 00:00:30,000 Entonces, una vez que hemos identificado que esto es una suma acumulativa, 9 00:00:30,000 --> 00:00:31,780 Pues esto es un while 10 00:00:31,780 --> 00:00:35,159 En el que estoy todo el rato 11 00:00:35,159 --> 00:00:36,880 Haciendo algo así 12 00:00:36,880 --> 00:00:40,659 Suma más algo 13 00:01:11,230 --> 00:01:13,569 Y si viene un Herodes de esto 14 00:01:13,569 --> 00:01:15,069 pero en versión adolescente 15 00:01:15,069 --> 00:01:16,769 no en versión niño 16 00:01:16,769 --> 00:01:18,769 y se los lleva a todos 17 00:01:18,769 --> 00:01:22,290 a una isla y luego los devuelve 18 00:01:22,290 --> 00:01:24,069 10 años después 19 00:01:24,069 --> 00:01:24,709 ¿vale? 20 00:01:25,909 --> 00:01:27,010 porque telita 21 00:01:27,010 --> 00:01:30,109 vale 22 00:01:30,109 --> 00:01:31,769 bueno, pues 23 00:01:31,769 --> 00:01:35,329 desde el momento en que uno ha identificado 24 00:01:35,329 --> 00:01:37,530 que esto es una suma acumulativa 25 00:01:37,530 --> 00:01:39,030 es que ya sabe que es algo así 26 00:01:39,030 --> 00:01:42,010 a una variable acumuladora suma 27 00:01:42,010 --> 00:01:44,310 que inicialmente es cero, 28 00:01:44,890 --> 00:01:47,109 va a ir acumulando unos sumandos, 29 00:01:47,769 --> 00:01:49,650 pues primero va a acumular este sumando, 30 00:01:50,170 --> 00:01:51,930 luego va a acumular este otro sumando, 31 00:01:52,069 --> 00:01:53,310 luego va a acumular este otro, 32 00:01:53,430 --> 00:01:54,689 así hasta que yo decida. 33 00:01:54,870 --> 00:01:56,090 Es esto, ¿vale? 34 00:01:56,689 --> 00:01:58,629 En cualquier sitio en el que yo tenga que hacer 35 00:01:58,629 --> 00:02:01,129 una suma acumulativa, 36 00:02:02,250 --> 00:02:03,670 es decir, ir sumando este numerito, 37 00:02:03,670 --> 00:02:04,810 y luego sumar el siguiente, 38 00:02:04,909 --> 00:02:05,849 y luego sumar el siguiente, 39 00:02:05,930 --> 00:02:07,310 y luego a lo anterior sumar el siguiente, 40 00:02:07,390 --> 00:02:08,490 y luego a lo anterior sumar el siguiente. 41 00:02:08,590 --> 00:02:09,729 En cuanto yo identifico eso, 42 00:02:09,729 --> 00:02:12,389 como parte de mi enunciado 43 00:02:12,389 --> 00:02:13,990 pues ya sé que tengo que hacer algo así 44 00:02:13,990 --> 00:02:15,830 ahora ya me planteo 45 00:02:15,830 --> 00:02:17,409 vale, ¿los sumandos de dónde me vienen? 46 00:02:17,530 --> 00:02:18,930 pues pienso, mis sumandos son 47 00:02:18,930 --> 00:02:21,830 el 5, el 10, el 15, el 20 48 00:02:21,830 --> 00:02:23,430 ¿cómo los genero? 49 00:02:23,629 --> 00:02:25,389 pues ahora ya pensamos cómo los generamos 50 00:02:25,389 --> 00:02:27,969 hombre, pues generar el 5, el 10, el 15 51 00:02:27,969 --> 00:02:29,849 es muy fácil de generar 52 00:02:29,849 --> 00:02:31,150 voy a 53 00:02:31,150 --> 00:02:34,250 hacer yo aquí el sumando 54 00:02:34,250 --> 00:02:35,729 lo que he llamado 55 00:02:35,729 --> 00:02:36,550 y antes 56 00:02:36,550 --> 00:02:38,770 que inicialmente sea el 5 57 00:02:38,770 --> 00:02:40,370 vale 58 00:02:40,370 --> 00:02:42,310 y ahora ya 59 00:02:42,310 --> 00:02:45,030 voy sumando esos sumandos 60 00:02:45,030 --> 00:02:46,509 pero me acuerdo 61 00:02:46,509 --> 00:02:48,930 de generarle el 5 62 00:02:48,930 --> 00:02:50,810 de sumarle el 5 para irlo generando 63 00:02:50,810 --> 00:02:52,930 vale, entonces problemas 64 00:02:52,930 --> 00:02:55,169 primero, identificar que mi problema 65 00:02:55,169 --> 00:02:56,830 es una suma 66 00:02:56,830 --> 00:02:58,389 acumulativa de valores 67 00:02:58,389 --> 00:03:00,889 cuando he identificado 68 00:03:00,889 --> 00:03:02,590 que es una suma acumulativa de valores 69 00:03:02,590 --> 00:03:04,810 la estructura está clara, se supone que ya lo hemos 70 00:03:04,810 --> 00:03:06,789 entendido, un bucle con esta 71 00:03:06,789 --> 00:03:08,990 sentencia, a la suma se le van 72 00:03:08,990 --> 00:03:10,110 incorporando sumandos. 73 00:03:10,710 --> 00:03:12,750 Ahora, segundo 74 00:03:12,750 --> 00:03:14,009 problema que resuelvo. 75 00:03:14,810 --> 00:03:16,629 Los sumandos, ¿de dónde los saco? 76 00:03:17,349 --> 00:03:18,930 Tengo que sacar un sumando en cada 77 00:03:18,930 --> 00:03:20,509 iteración. ¿De dónde los saco? 78 00:03:20,889 --> 00:03:22,810 Pues pienso cómo los saco. En este caso son 79 00:03:22,810 --> 00:03:24,810 5, 10, 15. Pues venga, 80 00:03:24,889 --> 00:03:26,810 el primer sumando lo inicializo a 5 81 00:03:26,810 --> 00:03:29,169 y luego me las ingenio para ir sumando. 82 00:03:29,169 --> 00:03:31,389 Vale, ya tengo el segundo problema. 83 00:03:32,270 --> 00:03:33,449 Tercer problema. 84 00:03:33,930 --> 00:03:35,250 ¿Cuándo termino de sumar? 85 00:03:35,250 --> 00:03:38,949 Bueno, cuando me haya llegado el último sumando 86 00:03:38,949 --> 00:03:42,150 Termino de sumar cuando me haya llegado el último sumando 87 00:03:42,150 --> 00:03:44,610 Mi último sumando, en este caso, ¿cuál es? 88 00:03:44,909 --> 00:03:45,569 El 100 89 00:03:45,569 --> 00:03:48,669 Pues mi condición la puedo plantear así 90 00:03:48,669 --> 00:03:52,370 Mientras mi sumando sea menor o igual que 100 91 00:03:52,370 --> 00:03:55,050 Sigo sumando, sigo sumando 92 00:03:55,050 --> 00:03:57,229 Y ya está, ya ha terminado 93 00:03:57,229 --> 00:04:02,270 Entonces, por favor, está muy bien 94 00:04:02,270 --> 00:04:05,449 Pedirle programas a HGPT y entenderlos 95 00:04:05,449 --> 00:04:07,629 bueno, no está muy bien, está semivien en esta fase 96 00:04:07,629 --> 00:04:09,669 vuestra, está semivien 97 00:04:09,669 --> 00:04:11,689 oye, dímelo, uy, lo he entendido 98 00:04:11,689 --> 00:04:13,129 está semivien 99 00:04:13,129 --> 00:04:15,789 un pelín más que el semivien de antes 100 00:04:15,789 --> 00:04:18,009 que un compañero 101 00:04:18,009 --> 00:04:19,470 te explique el ejercicio 102 00:04:19,470 --> 00:04:21,490 y lo entiendas, eso está semivien 103 00:04:21,490 --> 00:04:22,410 también, vale 104 00:04:22,410 --> 00:04:25,629 pero eso es un 2 105 00:04:25,629 --> 00:04:27,610 si queréis un 106 00:04:27,610 --> 00:04:28,430 5 o más 107 00:04:28,430 --> 00:04:31,829 lo que tenéis que hacer es mover vosotros el cerebro 108 00:04:31,829 --> 00:04:33,850 entenderlo, tratar de hacerlo vosotros 109 00:04:33,850 --> 00:04:36,649 ¿Vale? No entender códigos de otros 110 00:04:36,649 --> 00:04:38,850 Que uno lleva 5 horas 111 00:04:38,850 --> 00:04:40,189 Y no lo ha conseguido hacer 112 00:04:40,189 --> 00:04:41,790 Bueno, pues ya 113 00:04:41,790 --> 00:04:44,930 Pide ayuda y trata de entender códigos de otros 114 00:04:44,930 --> 00:04:45,569 ¿Vale? 115 00:04:46,230 --> 00:04:48,329 La primera vez a lo mejor tarda 5 horas 116 00:04:48,329 --> 00:04:50,029 Pero la siguiente vez tardará 4 117 00:04:50,029 --> 00:04:50,790 La siguiente 3 118 00:04:50,790 --> 00:04:53,829 Entonces si os saltáis el paso de 119 00:04:53,829 --> 00:04:55,509 Aunque me dé pereza 120 00:04:55,509 --> 00:04:57,449 Me pongo y lo pienso yo 121 00:04:57,449 --> 00:04:58,810 Y lo hago yo y me peleo 122 00:04:58,810 --> 00:05:01,870 Pues si os saltáis ese paso 123 00:05:01,870 --> 00:05:04,389 Estáis condenados 124 00:05:04,389 --> 00:05:06,250 ¿Vale? No os lo saltéis 125 00:05:06,250 --> 00:05:08,490 Porque entendiendo 126 00:05:08,490 --> 00:05:10,410 Programas de otros, de verdad que no 127 00:05:10,410 --> 00:05:12,670 Se aprende, lo suficiente 128 00:05:12,670 --> 00:05:14,329 Se aprenderá un poquito, para el 2 129 00:05:14,329 --> 00:05:15,529 Pero no queréis el 2 130 00:05:15,529 --> 00:05:16,670 ¿Vale? 131 00:05:17,769 --> 00:05:19,889 Bueno, pues esto que hemos hecho está claro 132 00:05:19,889 --> 00:05:22,670 Entonces, con esta misma idea 133 00:05:22,670 --> 00:05:24,610 Podéis hacer ya cualquier cosa 134 00:05:24,610 --> 00:05:26,670 El 8, por ejemplo 135 00:05:26,670 --> 00:05:28,509 En el 8 ya tenéis además 136 00:05:28,509 --> 00:05:30,430 Que incorporar lo de intercambiar un valor 137 00:05:30,430 --> 00:05:32,189 por otro que ya lo hicimos en otro programa 138 00:05:32,189 --> 00:05:34,329 porque recordad lo que dijimos 139 00:05:34,329 --> 00:05:35,949 de cualquier situación 140 00:05:35,949 --> 00:05:38,529 de cualquier 141 00:05:38,529 --> 00:05:39,889 situación que uno resuelva 142 00:05:39,889 --> 00:05:42,329 intercambiar una variable 143 00:05:42,329 --> 00:05:44,709 por otra, sumar, contar 144 00:05:44,709 --> 00:05:46,029 esas situaciones ya 145 00:05:46,029 --> 00:05:48,009 se las queda grabadas en el cerebro 146 00:05:48,009 --> 00:05:50,470 porque ya se va a apoyar en ellas para hacer 147 00:05:50,470 --> 00:05:52,050 otras cosas, ¿vale? 148 00:05:52,089 --> 00:05:53,949 todos los programas que hemos resuelto 149 00:05:53,949 --> 00:05:56,029 pues uno ya se los queda en la cabeza, ¿vale? 150 00:05:56,610 --> 00:05:58,230 ahora sí que estáis en el punto de 151 00:05:58,230 --> 00:06:00,069 os sale todo como churros 152 00:06:00,069 --> 00:06:02,470 porque habéis programado antes o tenéis especial facilidad 153 00:06:02,470 --> 00:06:03,350 pues estupendo 154 00:06:03,350 --> 00:06:06,230 pero si no ese es el caso, ahora sí que estáis en el punto 155 00:06:06,230 --> 00:06:08,329 en el que todos los días lo tenéis que trabajar en casa 156 00:06:08,329 --> 00:06:09,930 todos los días lo tenéis que mirar y estudiar 157 00:06:09,930 --> 00:06:10,610 ¿vale? 158 00:06:12,329 --> 00:06:12,769 imprescindible 159 00:06:12,769 --> 00:06:16,610 bueno, pues el 8 lo podéis hacer 160 00:06:16,610 --> 00:06:19,410 este, el 9 161 00:06:19,410 --> 00:06:21,810 en realidad 162 00:06:21,810 --> 00:06:23,889 es como una suma acumulativa 163 00:06:23,889 --> 00:06:26,449 pero es una multiplicación acumulativa 164 00:06:26,449 --> 00:06:27,889 ¿por qué? 165 00:06:29,410 --> 00:06:29,810 que 166 00:06:29,810 --> 00:06:42,060 Bueno, vamos a ir 167 00:06:42,060 --> 00:06:43,680 Porque, no, joder 168 00:06:43,680 --> 00:06:45,720 Porque, bueno, así se queda 169 00:06:45,720 --> 00:06:48,300 Porque ¿qué es A elevado a B? 170 00:06:48,920 --> 00:06:51,160 El operador potencia como tal en Java no existe 171 00:06:51,160 --> 00:06:53,079 Existe un método que lo hace 172 00:06:53,079 --> 00:06:54,160 Pero un método de una clase 173 00:06:54,160 --> 00:06:55,600 Como todavía no sabemos clases y objetos 174 00:06:55,600 --> 00:06:57,120 Pues lo dejamos aparcado 175 00:06:57,120 --> 00:06:59,220 Pero sí que sabemos que A elevado a B 176 00:06:59,220 --> 00:07:01,800 Es A por A por A 177 00:07:01,800 --> 00:07:03,240 Y por A 178 00:07:03,240 --> 00:07:05,480 B veces 179 00:07:05,480 --> 00:07:08,060 Luego esto, en lugar de ser 180 00:07:08,060 --> 00:07:09,699 Una suma acumulativa 181 00:07:09,699 --> 00:07:12,839 es una multiplicación acumulativa 182 00:07:12,839 --> 00:07:14,339 ¿vale? 183 00:07:14,800 --> 00:07:16,639 tendré mi variable acumuladora 184 00:07:16,639 --> 00:07:18,079 que la podemos 185 00:07:18,079 --> 00:07:19,800 inicializar a 1 186 00:07:19,800 --> 00:07:22,120 el acumulador lo inicializo a 1 187 00:07:22,120 --> 00:07:24,360 y ahora lo primero que hago es 188 00:07:24,360 --> 00:07:25,339 multiplicarlo por A 189 00:07:25,339 --> 00:07:27,980 y lo vuelvo a guardar en acumulador 190 00:07:27,980 --> 00:07:30,439 al acumulador lo vuelvo 191 00:07:30,439 --> 00:07:31,959 a multiplicar por A otra vez 192 00:07:31,959 --> 00:07:33,699 ¿eso cuántas veces? 193 00:07:34,660 --> 00:07:35,639 B veces 194 00:07:35,639 --> 00:07:37,279 ¿vale? 195 00:07:38,300 --> 00:07:39,399 luego este programa 196 00:07:39,399 --> 00:07:41,379 se queda igual que una suma acumulativa 197 00:07:41,379 --> 00:07:42,699 pero es una programación acumulativa 198 00:07:42,699 --> 00:07:45,680 vamos a aprovechar para hacerlo y así de paso 199 00:07:45,680 --> 00:07:47,180 metemos el for 200 00:07:47,180 --> 00:07:49,899 que es otra sintaxis del while que puede ser más cómoda 201 00:07:49,899 --> 00:07:51,560 para algunos de los ejercicios 202 00:07:51,560 --> 00:07:52,980 que nos vamos a encontrar más adelante 203 00:07:52,980 --> 00:07:54,180 ¿vale? 204 00:07:55,660 --> 00:07:56,220 dígame 205 00:07:56,220 --> 00:07:57,800 ¿puedo hacer una pregunta? 206 00:07:58,500 --> 00:07:59,000 si hombre 207 00:07:59,000 --> 00:08:00,300 o sea, es que 208 00:08:00,300 --> 00:08:02,660 lo he hecho de otra manera pero que da 209 00:08:02,660 --> 00:08:04,620 no sé si me lo estaría mal 210 00:08:04,620 --> 00:08:05,480 a ver 211 00:08:05,480 --> 00:08:17,620 A ver, venga, pues Eger 9 212 00:08:17,620 --> 00:08:36,019 Vale, de todas formas no le hagáis mucho caso 213 00:08:36,019 --> 00:08:36,919 ¿Vale? 214 00:08:37,779 --> 00:08:39,539 Porque muchas de las cosas que dice 215 00:08:39,539 --> 00:08:40,960 Tiene sus matices 216 00:08:40,960 --> 00:08:43,620 entonces las dejáis en suspenso 217 00:08:43,620 --> 00:08:44,320 ¿vale? 218 00:08:45,500 --> 00:08:47,480 porque te oigo decir muchas cosas que tienen 219 00:08:47,480 --> 00:08:49,480 millones de matices y de cosas que no son 220 00:08:49,480 --> 00:08:51,740 exactamente así, entonces está bien que se las digas 221 00:08:51,740 --> 00:08:53,580 pero yo te digo que ellos te cojan con 222 00:08:53,580 --> 00:08:54,320 pinzas por ahora 223 00:08:54,320 --> 00:08:55,980 hasta que 224 00:08:55,980 --> 00:08:59,419 no está mal que les digas cosas pero bueno 225 00:08:59,419 --> 00:09:01,740 que sepan que esas cosas son matizables 226 00:09:01,740 --> 00:09:03,259 y algunas no 227 00:09:03,259 --> 00:09:05,620 dime 228 00:09:05,620 --> 00:09:07,039 el 12 229 00:09:07,039 --> 00:09:09,320 que tienes una pregunta del 12 230 00:09:09,320 --> 00:09:13,399 vámonos al 12 231 00:09:13,399 --> 00:09:27,000 vale 232 00:09:27,000 --> 00:09:29,080 pues el ejercicio 12 233 00:09:29,080 --> 00:09:31,059 primero tenemos que entender lo que nos dice 234 00:09:31,059 --> 00:09:33,039 claro, nos dice 235 00:09:33,039 --> 00:09:35,120 nos hemos situado al 12 en lugar de estar cada uno 236 00:09:35,120 --> 00:09:39,360 a su bola, muy bien 237 00:09:39,360 --> 00:09:41,039 vamos a pedir 238 00:09:41,039 --> 00:09:43,419 10 números, vale lo que pasa es que 239 00:09:43,419 --> 00:09:45,360 esto es más cómodo con un for pero nos da igual 240 00:09:45,360 --> 00:09:47,639 venga, vamos a mostrar 241 00:09:47,639 --> 00:09:49,379 la media de los que sean 242 00:09:49,379 --> 00:09:51,740 positivos, o sea varios valores 243 00:09:51,740 --> 00:09:53,279 primero 244 00:09:53,279 --> 00:09:55,340 vamos a entender que es una media. Una media 245 00:09:55,340 --> 00:09:57,419 es la suma de todos 246 00:09:57,419 --> 00:09:59,000 los números dividido entre el total. 247 00:10:00,240 --> 00:10:01,440 Luego, para hacer una media 248 00:10:01,440 --> 00:10:03,679 tenemos que hacer una suma acumulativa. 249 00:10:04,039 --> 00:10:04,600 Hasta ahí bien. 250 00:10:05,179 --> 00:10:07,200 Y luego una cuenta, porque tenemos que 251 00:10:07,200 --> 00:10:08,940 dividir la suma entre 252 00:10:08,940 --> 00:10:11,460 la cuenta. Con lo cual 253 00:10:11,460 --> 00:10:13,639 tenemos que sumar una serie de números 254 00:10:13,639 --> 00:10:15,799 y dividirlos entre una cuenta. 255 00:10:16,679 --> 00:10:17,559 Pero tenemos que 256 00:10:17,559 --> 00:10:19,840 hacer eso para los que sean positivos 257 00:10:19,840 --> 00:10:20,860 y negativos. 258 00:10:20,860 --> 00:10:22,700 Por libre 259 00:10:22,700 --> 00:10:23,919 Y para los que sean ceros 260 00:10:23,919 --> 00:10:25,460 Entonces dice, pedir 10 números 261 00:10:25,460 --> 00:10:27,399 Por consola 262 00:10:27,399 --> 00:10:30,480 Pues venga, vamos a pedir 10 números por consola 263 00:10:30,480 --> 00:10:31,899 Entonces 264 00:10:31,899 --> 00:10:34,360 Nos hacemos el escáner 265 00:10:34,360 --> 00:10:42,889 Pedir 10 números 266 00:10:42,889 --> 00:10:44,450 Es hacer 10 veces algo 267 00:10:44,450 --> 00:10:46,850 Vamos a hacerlo con un bucle while 268 00:10:46,850 --> 00:10:49,690 Este bucle while 269 00:10:49,690 --> 00:10:51,190 Pues ya veremos 270 00:10:51,190 --> 00:10:52,710 Que condición le ponemos 271 00:10:52,710 --> 00:10:55,230 Vale, lo que tiene que hacer este bucle while 272 00:10:55,230 --> 00:10:55,590 Es 273 00:10:55,590 --> 00:10:57,889 Pedir el número 274 00:10:57,889 --> 00:10:58,730 Antes que nada 275 00:10:58,730 --> 00:11:01,169 Vale, pues venga 276 00:11:01,169 --> 00:11:02,350 Vamos aquí a 277 00:11:02,350 --> 00:11:05,169 N igual a 278 00:11:05,169 --> 00:11:07,169 Scan.nextin 279 00:11:08,610 --> 00:11:13,149 Vale, ya tenemos el número leído 280 00:11:13,149 --> 00:11:14,929 Vamos a decirle para que no 281 00:11:14,929 --> 00:11:20,480 Introduzca número 282 00:11:20,480 --> 00:11:24,759 Ya lo tienes todo claro 283 00:11:24,759 --> 00:11:27,460 Venga, pero seguro que los demás no 284 00:11:27,460 --> 00:11:43,000 Vale, pedimos el número. Ahora, ¿cuál es el resultado de este programa? Obtener una suma acumulativa de todos estos números, pero solo si son positivos. Y luego más cosas. Pero vamos primero a atacar esa, vamos primero a atacar esa. 285 00:11:43,000 --> 00:11:45,779 Vale, pues como yo necesito una suma acumulativa 286 00:11:45,779 --> 00:11:47,899 Pues me voy a hacer aquí 287 00:11:47,899 --> 00:11:50,379 La suma de positivos 288 00:11:50,379 --> 00:11:52,000 Bueno, para no hacer tantas líneas 289 00:11:52,000 --> 00:11:53,879 Aunque, vale 290 00:11:53,879 --> 00:11:55,759 Suma 291 00:11:55,759 --> 00:11:57,379 Positivos 292 00:11:57,379 --> 00:11:59,779 Esta va a ser mi variable 293 00:11:59,779 --> 00:12:02,000 Acumuladora para la suma de positivos 294 00:12:02,000 --> 00:12:03,559 Inicialmente cero 295 00:12:03,559 --> 00:12:05,220 Como todos los acumuladores 296 00:12:05,220 --> 00:12:07,539 Este acumulador a cero 297 00:12:07,539 --> 00:12:09,840 Vale, este acumulador 298 00:12:09,840 --> 00:12:12,000 ¿Qué va a sumar? 299 00:12:12,000 --> 00:12:19,039 Va a sumar ese número que yo acabo de leer, pero lo va a sumar sea cual sea el valor del número. 300 00:12:19,320 --> 00:12:24,440 No, va a sumar este número solo si el número es positivo. 301 00:12:25,980 --> 00:12:30,580 Vale, luego ya tengo la tarea de acumular los positivos. 302 00:12:30,860 --> 00:12:32,480 Aquí están, están ricamente. 303 00:12:33,720 --> 00:12:35,960 Vale, pero también tengo que acumular los negativos. 304 00:12:36,200 --> 00:12:38,000 Pues venga, otro acumulador más. 305 00:12:38,000 --> 00:12:40,500 otro acumulador 306 00:12:40,500 --> 00:12:42,179 que como todos los acumuladores 307 00:12:42,179 --> 00:12:43,340 empieza valiendo cero 308 00:12:43,340 --> 00:12:45,059 y ahora 309 00:12:45,059 --> 00:12:46,919 pues venga 310 00:12:46,919 --> 00:12:50,559 si no es positivo 311 00:12:50,559 --> 00:12:52,299 ¿qué puede ocurrir? 312 00:12:52,559 --> 00:12:53,559 que sea negativo 313 00:12:53,559 --> 00:12:58,000 vale, pues si es negativo 314 00:12:58,000 --> 00:12:59,299 dentro de este elseif 315 00:12:59,299 --> 00:13:01,799 la suma que tendré 316 00:13:01,799 --> 00:13:03,879 que acumular es la de negativos 317 00:13:03,879 --> 00:13:08,200 bueno, pues estoy llevando 318 00:13:08,200 --> 00:13:09,980 en paralelo dos acumuladores 319 00:13:09,980 --> 00:13:11,659 este acumulador 320 00:13:11,659 --> 00:13:13,080 se va incrementando 321 00:13:13,080 --> 00:13:16,039 va incorporando sumandos 322 00:13:16,039 --> 00:13:17,799 cuando los sumandos sean positivos 323 00:13:17,799 --> 00:13:19,399 de los que yo estoy generando aquí 324 00:13:19,399 --> 00:13:20,519 mediante la consola. 325 00:13:21,860 --> 00:13:23,379 Pero si el número es negativo, 326 00:13:23,460 --> 00:13:25,100 el acumulador que se incrementa es este. 327 00:13:26,259 --> 00:13:27,779 ¿Vale? Entonces estos acumuladores 328 00:13:27,779 --> 00:13:29,860 van acumulando por un lado 329 00:13:29,860 --> 00:13:31,259 los positivos que me van llegando 330 00:13:31,259 --> 00:13:32,120 y por otro lado los negativos. 331 00:13:32,960 --> 00:13:34,820 ¿Vale? Cuando yo termine aquí el while 332 00:13:34,820 --> 00:13:36,980 tengo la suma de todos los positivos 333 00:13:36,980 --> 00:13:38,159 y la suma de todos los negativos. 334 00:13:38,259 --> 00:13:39,320 Pero no me han pedido la suma. 335 00:13:40,019 --> 00:13:40,840 Me han pedido la media. 336 00:13:40,980 --> 00:13:42,519 Si me hubieran pedido la suma 337 00:13:42,519 --> 00:13:55,240 Pues yo ya podría decir, la suma de positivos es, y podría ponerle aquí, suma positivos. 338 00:13:55,740 --> 00:14:01,750 Y aquí podría poner la suma de negativos si me hubieran pedido eso. 339 00:14:04,870 --> 00:14:12,230 La suma de negativos es suma negativos. 340 00:14:12,409 --> 00:14:14,289 Pero no es esta información la que me han pedido. 341 00:14:14,870 --> 00:14:16,389 Me han pedido la media. 342 00:14:16,389 --> 00:14:19,830 entonces para calcular un valor medio de números 343 00:14:19,830 --> 00:14:23,269 tengo que dividir la suma entre el total de números 344 00:14:23,269 --> 00:14:27,129 luego el total de números significa contar 345 00:14:27,129 --> 00:14:28,889 ¿qué tengo que hacer? 346 00:14:29,230 --> 00:14:31,049 contar los números positivos 347 00:14:31,049 --> 00:14:32,730 tengo que contar los positivos 348 00:14:32,730 --> 00:14:34,830 pues entonces tendré que meter un contador 349 00:14:34,830 --> 00:14:36,210 porque ahora lo que voy a hacer es contar 350 00:14:36,210 --> 00:14:38,350 voy a poner la línea de abajo 351 00:14:38,350 --> 00:14:41,409 pues venga un contador de positivos 352 00:14:41,409 --> 00:14:45,879 las cuentas ya sabemos cómo se hacen 353 00:14:45,879 --> 00:14:48,080 un contador que empieza valiendo 0 354 00:14:48,080 --> 00:14:52,659 y cuando lo incremento, cuando me llega un elemento a contar. 355 00:14:53,320 --> 00:14:55,740 ¿Cuándo quiero incrementar yo el contador de positivos? 356 00:14:56,139 --> 00:15:00,000 Quiero incrementar el contador de positivos cuando me ha llegado un número positivo. 357 00:15:00,860 --> 00:15:03,559 Luego aquí quiero incrementar el contador de positivos. 358 00:15:07,950 --> 00:15:15,389 Luego estoy haciendo una suma acumulativa y una cuenta a la vez, por separado. 359 00:15:15,389 --> 00:15:21,409 Esto es un mecanismo de cuenta que va contando todos los elementos que me van llegando positivos 360 00:15:21,409 --> 00:15:26,830 Y este es un mecanismo de suma que va sumando todos los elementos que me van llegando positivos 361 00:15:26,830 --> 00:15:31,909 Entonces cuando haya salido ya del bucle 362 00:15:31,909 --> 00:15:35,629 Ya tengo lo que necesito para hacer la media de los positivos 363 00:15:35,629 --> 00:15:37,509 Ya tengo lo que necesito 364 00:15:37,509 --> 00:15:56,379 La media de los positivos es, ya sé cuál es el valor medio, es suma positivos entre cont positivos. 365 00:15:56,379 --> 00:16:18,960 Lo pongo aquí debajo, para que vean, es suma positivos entre cont positivos. 366 00:16:18,960 --> 00:16:25,809 no me deja dividir 367 00:16:25,809 --> 00:16:32,779 sí porque este operador pesa más 368 00:16:32,779 --> 00:16:34,820 que el de acumulación, que el de suma 369 00:16:34,820 --> 00:16:36,799 entonces primero haría la división 370 00:16:36,799 --> 00:16:38,840 si esto fuera una operación suma 371 00:16:38,840 --> 00:16:40,500 por lo que fuera, ahí no 372 00:16:40,500 --> 00:16:42,940 porque primero ganaría la, pero como es división 373 00:16:42,940 --> 00:16:44,919 sí, entonces bueno, yo lo he puesto por claridad 374 00:16:44,919 --> 00:16:45,860 pero bueno, daría igual 375 00:16:45,860 --> 00:16:48,759 vale, entonces 376 00:16:48,759 --> 00:16:50,379 que quiero la media de negativos 377 00:16:50,379 --> 00:16:52,200 pues me falta contar los negativos 378 00:16:52,200 --> 00:16:54,059 me falta contarlos, pues venga 379 00:16:54,059 --> 00:16:55,620 Vamos a hacernos un contador 380 00:16:55,620 --> 00:16:59,779 De negativos 381 00:16:59,779 --> 00:17:01,659 Que como todos los contadores 382 00:17:01,659 --> 00:17:02,580 Empieza con cero 383 00:17:02,580 --> 00:17:04,859 ¿Cuándo se incrementará el contador? 384 00:17:05,400 --> 00:17:07,920 Cuando me llegue un elemento 385 00:17:07,920 --> 00:17:09,099 De los que tengo que contar 386 00:17:09,099 --> 00:17:11,880 ¿Cuándo me llega un elemento de los que tengo que contar? 387 00:17:12,059 --> 00:17:13,500 Cuando me llegue un n negativo 388 00:17:13,500 --> 00:17:19,650 ¿Vale? 389 00:17:22,789 --> 00:17:23,910 Ahí a partir de Java 390 00:17:23,910 --> 00:17:25,809 12 o 13 391 00:17:25,809 --> 00:17:29,150 Hay una forma de poner los string 392 00:17:29,150 --> 00:17:30,569 Cuando en multilínea 393 00:17:30,569 --> 00:17:32,069 Para que el código sea más claro 394 00:17:32,069 --> 00:17:34,230 Que creo que es con tres comillas o algo así 395 00:17:34,230 --> 00:17:37,390 O lo digo porque como sois tan aficionados a pedir códigos HGPT 396 00:17:37,390 --> 00:17:39,309 Veréis algunas cosas 397 00:17:39,309 --> 00:17:40,430 Decís, uy esto 398 00:17:40,430 --> 00:17:43,289 Son modificaciones para elegibilidad de código 399 00:17:43,289 --> 00:17:45,210 Que a partir de versiones se van incorporando 400 00:17:45,210 --> 00:17:45,910 Una tras otra 401 00:17:45,910 --> 00:17:48,750 Pero vamos, son detalles 402 00:17:48,750 --> 00:17:49,509 Sin mayor 403 00:17:49,509 --> 00:17:52,730 Vale, pues entonces la media de los positivos 404 00:17:52,730 --> 00:17:53,309 ¿Cuál será? 405 00:17:55,009 --> 00:17:56,150 Perdón, de los negativos 406 00:17:56,150 --> 00:17:58,569 La media de los negativos 407 00:17:58,569 --> 00:18:03,779 Será 408 00:18:03,779 --> 00:18:08,849 suma negativos entre 409 00:18:08,849 --> 00:18:13,170 cont negativos 410 00:18:13,170 --> 00:18:15,430 vale, entonces he necesitado 411 00:18:15,430 --> 00:18:17,369 una suma y una cuenta para poder hacer 412 00:18:17,369 --> 00:18:17,789 la media 413 00:18:17,789 --> 00:18:21,549 lo que pasa es que el programa no ha terminado 414 00:18:21,549 --> 00:18:23,470 del todo porque me dice que también 415 00:18:23,470 --> 00:18:25,390 cuente, muestre 416 00:18:25,390 --> 00:18:27,589 cuantos ceros, eso es otra cuenta 417 00:18:27,589 --> 00:18:29,710 aunque bueno, ¿me hace falta otra cuenta? 418 00:18:29,829 --> 00:18:31,549 no, el total de números 419 00:18:31,549 --> 00:18:33,549 el total de números que son 420 00:18:33,549 --> 00:18:35,549 10 menos cont positivo 421 00:18:35,549 --> 00:18:37,289 menos cont negativo, no me hace falta otra cuenta 422 00:18:37,289 --> 00:18:38,730 porque me han dicho que son 10 números 423 00:18:38,730 --> 00:18:41,329 Vale, ahora tendré que hacer la condición 424 00:18:41,329 --> 00:18:42,589 Para que realmente sean 10 425 00:18:42,589 --> 00:18:44,890 Vale, entonces los que han sido 0 426 00:18:44,890 --> 00:18:46,329 Podría poner directamente 427 00:18:46,329 --> 00:18:49,819 Ceros, ¿cuántos ceros? 428 00:18:50,299 --> 00:18:51,619 Pues ceros habrá sido 429 00:18:51,619 --> 00:18:54,000 Aquí ya sí que paréntesis 430 00:18:54,000 --> 00:18:55,759 Porque voy a hacer sumas y restas 431 00:18:55,759 --> 00:18:57,819 10 menos 432 00:18:57,819 --> 00:19:00,440 Los que han sido positivos 433 00:19:00,440 --> 00:19:03,079 Menos los que han sido negativos 434 00:19:03,079 --> 00:19:05,680 Esos serán los que han sido 0 435 00:19:05,680 --> 00:19:06,859 No hace falta que los cuente 436 00:19:06,859 --> 00:19:09,539 Los podría contar con otro contador 437 00:19:09,539 --> 00:19:11,519 y ponerlo en el else, si es cero 438 00:19:11,519 --> 00:19:13,720 lo incrementas, pero bueno 439 00:19:13,720 --> 00:19:15,640 como son diez, vale, el programa casi 440 00:19:15,640 --> 00:19:17,259 está, me falta un pequeño detalle 441 00:19:17,259 --> 00:19:19,539 que es, este bucle, ¿cuántas veces 442 00:19:19,539 --> 00:19:21,579 quiero que se ejecute? este bucle quiero que se ejecute 443 00:19:21,579 --> 00:19:23,519 exactamente diez veces 444 00:19:23,519 --> 00:19:25,519 porque me han dicho que 445 00:19:25,519 --> 00:19:26,539 pida diez números 446 00:19:26,539 --> 00:19:29,740 vale, pues bueno, me voy a hacer un contador 447 00:19:29,740 --> 00:19:30,359 cualquiera 448 00:19:30,359 --> 00:19:32,960 un contador cualquiera 449 00:19:32,960 --> 00:19:35,240 que empiece valiendo cero 450 00:19:35,240 --> 00:19:37,339 y mientras y 451 00:19:37,339 --> 00:19:40,440 Sea menor que 10 452 00:19:40,440 --> 00:19:42,680 Y lo voy incrementando 453 00:19:42,680 --> 00:19:43,619 ¿Vale? 454 00:19:44,140 --> 00:19:48,000 Lo puedo incluso poner aquí el 455 00:19:48,000 --> 00:19:49,180 Más, más 456 00:19:49,180 --> 00:19:51,259 Y fijaos que bonito 457 00:19:51,259 --> 00:19:53,640 Mientras si sea menor que 10 458 00:19:53,640 --> 00:19:54,900 Y me lo deja incrementado 459 00:19:54,900 --> 00:19:56,720 La siguiente vez ya valdrá 1 460 00:19:56,720 --> 00:19:59,279 ¿Sigue siendo menor que 10? 461 00:19:59,380 --> 00:20:01,359 Si, me lo deja incrementado, vuelve a entrar 462 00:20:01,359 --> 00:20:05,170 ¿Vale? Entendéis 463 00:20:05,170 --> 00:20:07,750 Que estos operadores 464 00:20:07,750 --> 00:20:08,690 Post 465 00:20:08,690 --> 00:20:12,009 incremento, post decremento 466 00:20:12,009 --> 00:20:13,730 los puedo incorporar dentro de cualquier 467 00:20:13,730 --> 00:20:15,650 expresión y se ejecutan 468 00:20:15,650 --> 00:20:17,230 después de la expresión, aquí 469 00:20:17,230 --> 00:20:19,670 primero se evalúa la condición y menor 470 00:20:19,670 --> 00:20:20,930 que 10 y luego se incrementa 471 00:20:20,930 --> 00:20:23,569 ¿que esto os angustia 472 00:20:23,569 --> 00:20:25,650 todavía? pues lo incremento aquí abajo y ya 473 00:20:25,650 --> 00:20:27,269 está, vale 474 00:20:27,269 --> 00:20:29,549 y mientras así sea 475 00:20:29,549 --> 00:20:30,990 menor que 10, entonces este bucle 476 00:20:30,990 --> 00:20:34,049 esta es la forma de forzarle 477 00:20:34,049 --> 00:20:35,690 a que se ejecute exactamente 10 veces 478 00:20:35,690 --> 00:20:37,250 ¿vale? 479 00:20:37,250 --> 00:20:47,890 vale, ¿entendido este programa? 480 00:20:53,619 --> 00:20:54,480 con un for 481 00:20:54,480 --> 00:20:57,440 vale, porque el for es esto mismo 482 00:20:57,440 --> 00:20:58,619 que yo he hecho 483 00:20:58,619 --> 00:21:01,539 pero puesto con un for delante 484 00:21:01,539 --> 00:21:03,500 poco más que eso, ahora luego lo vemos 485 00:21:03,500 --> 00:21:03,779 ¿vale? 486 00:21:05,039 --> 00:21:07,079 si tenemos que usar el while 487 00:21:07,079 --> 00:21:09,339 para que se haga un número exacto de veces, pues siempre 488 00:21:09,339 --> 00:21:11,420 tiene que ser una variable que se va 489 00:21:11,420 --> 00:21:13,039 incrementando y hasta que llegue, entonces 490 00:21:13,039 --> 00:21:15,460 el for, lo único que gano 491 00:21:15,460 --> 00:21:16,440 con poniendo un for 492 00:21:16,440 --> 00:21:19,140 es el poder declarar la variable 493 00:21:19,140 --> 00:21:20,880 aquí dentro, es lo único que me aporta un for 494 00:21:20,880 --> 00:21:23,119 poder declarar la variable ahí, ya está 495 00:21:23,119 --> 00:21:24,859 pero lo demás es igual 496 00:21:24,859 --> 00:21:26,640 ya lo, luego lo vemos 497 00:21:26,640 --> 00:21:29,579 vale, entonces cuidado cuando uno hace divisiones 498 00:21:29,579 --> 00:21:31,339 cuidado cuando uno 499 00:21:31,339 --> 00:21:33,559 hace divisiones porque ya sabéis que las divisiones 500 00:21:33,559 --> 00:21:34,099 por cero 501 00:21:34,099 --> 00:21:36,740 dan el programa 502 00:21:36,740 --> 00:21:38,940 peta, si aquí 503 00:21:38,940 --> 00:21:41,440 ejecutáramos el código y no metiéramos 504 00:21:41,440 --> 00:21:42,599 ningún negativo 505 00:21:42,599 --> 00:21:44,880 el contador de negativo sería cero 506 00:21:44,880 --> 00:21:46,960 con lo cual al dividir entre el contador 507 00:21:46,960 --> 00:21:50,079 entonces aquí 508 00:21:50,079 --> 00:21:52,319 esto quedaría mucho más bonito 509 00:21:52,319 --> 00:21:54,640 si yo pongo un operador 510 00:21:54,640 --> 00:21:56,420 ternario para que me haga 511 00:21:56,420 --> 00:21:58,339 la división solo si 512 00:21:58,339 --> 00:22:00,579 contador negativos es mayor que 0 513 00:22:00,579 --> 00:22:02,299 porque si no 514 00:22:02,299 --> 00:22:03,720 va a salir un error enorme 515 00:22:03,720 --> 00:22:05,900 si con negativos 516 00:22:05,900 --> 00:22:08,640 es mayor que 0 517 00:22:08,640 --> 00:22:11,019 entonces 518 00:22:11,019 --> 00:22:12,420 sí que sí 519 00:22:12,420 --> 00:22:14,460 muéstrame suma negativos 520 00:22:14,460 --> 00:22:15,480 entre con negativos 521 00:22:15,480 --> 00:22:17,180 Pero si no 522 00:22:17,180 --> 00:22:19,859 Muéstrame 523 00:22:19,859 --> 00:22:20,660 Cero 524 00:22:20,660 --> 00:22:26,809 Que los ceros salgan en negativo 525 00:22:26,809 --> 00:22:30,980 ¿Qué significa que los ceros salgan en negativo? 526 00:22:33,579 --> 00:22:34,220 Espera 527 00:22:34,220 --> 00:22:34,980 Voy a 528 00:22:34,980 --> 00:22:37,740 Voy a 529 00:22:37,740 --> 00:22:39,319 Poner esto 530 00:22:39,319 --> 00:22:41,500 Aquí también 531 00:22:41,500 --> 00:22:43,880 Si con 532 00:22:43,880 --> 00:22:46,599 Positivos, pues habría que ver el resto de tu programa 533 00:22:46,599 --> 00:22:47,599 Yo que sé, a ver 534 00:22:47,599 --> 00:22:50,680 Si con positivos es mayor que cero 535 00:22:50,680 --> 00:22:55,599 Entonces suma positivos entre cont positivos 536 00:22:55,599 --> 00:22:57,240 Y si no, cero 537 00:22:57,240 --> 00:23:00,539 Este programa ya no va a fallar en la división 538 00:23:00,539 --> 00:23:04,640 Porque esta división se va a hacer solo 539 00:23:04,640 --> 00:23:08,019 Si cont positivos es mayor que cero 540 00:23:08,019 --> 00:23:08,920 Solo ahí 541 00:23:08,920 --> 00:23:11,019 Si no, va a devolver cero 542 00:23:11,019 --> 00:23:13,299 Y aquí lo mismo 543 00:23:13,299 --> 00:23:15,079 Esta división no va 544 00:23:15,079 --> 00:23:17,019 Y aquí porque 545 00:23:17,019 --> 00:23:18,460 Ahí más bonito 546 00:23:18,460 --> 00:23:19,579 Lo mismo 547 00:23:19,579 --> 00:23:21,839 Esta división nunca va a dar error 548 00:23:21,839 --> 00:23:23,799 Porque con negativos no va a ser cero nunca 549 00:23:23,799 --> 00:23:25,460 Porque solo va a entrar en esa parte 550 00:23:25,460 --> 00:23:27,000 Si esto es mayor que cero 551 00:23:27,000 --> 00:23:29,779 Entonces vamos a ejecutar para asegurarnos 552 00:23:29,779 --> 00:23:32,279 De que no hemos escrito nada raro 553 00:23:32,279 --> 00:23:42,000 Vale 554 00:23:42,000 --> 00:23:43,720 Si yo ejecuto esto, introduzca número 555 00:23:43,720 --> 00:23:45,579 2, 2 556 00:23:45,579 --> 00:23:47,160 Menos 2 557 00:23:47,160 --> 00:23:49,240 3, menos 558 00:23:49,240 --> 00:23:50,740 3 559 00:23:50,740 --> 00:23:52,039 0 560 00:23:52,039 --> 00:23:56,740 6 561 00:23:56,740 --> 00:24:15,869 6-0, joder, 0-0, vale, 4-0 se ha metido, la media de positivos la suma 13 y la media 3 y la suma menos 5 y la media menos 2. 562 00:24:15,869 --> 00:24:17,849 Sí, pues tiene sentido de que lo ha hecho bien 563 00:24:17,849 --> 00:24:18,970 ¿Vale? 564 00:24:22,890 --> 00:24:26,549 Bueno, pues el viernes 565 00:24:26,549 --> 00:24:28,650 Tenemos dos maravillosas horas 566 00:24:28,650 --> 00:24:31,190 Para el fori 567 00:24:31,190 --> 00:24:32,190 Para todo lo que nos queda 568 00:24:32,190 --> 00:24:32,890 ¿Vale? 569 00:24:33,730 --> 00:24:35,990 Porque quien tenga 570 00:24:35,990 --> 00:24:38,289 Pasaje del terror DS 571 00:24:38,289 --> 00:24:40,529 Es a las 10 cuando va 572 00:24:40,529 --> 00:24:41,470 El que tenga entrada 573 00:24:41,470 --> 00:24:43,109 Y el que venga disfrazado 574 00:24:43,109 --> 00:24:44,990 Puede ir a las 12 575 00:24:44,990 --> 00:24:48,430 Pero como mi clase no es hasta las 12.40 576 00:24:48,430 --> 00:24:49,890 Ya se acaba el concurso de disfraces 577 00:24:49,890 --> 00:24:56,089 A ver, nosotros dejamos ir 578 00:24:56,089 --> 00:24:57,509 Al que tenga la entrada 579 00:24:57,509 --> 00:24:58,450 El pasaje del terror 580 00:24:58,450 --> 00:25:00,210 Pero es a las 10 581 00:25:00,210 --> 00:25:01,809 Y luego vuelve 582 00:25:01,809 --> 00:25:03,630 Y luego ya vuelve 583 00:25:03,630 --> 00:25:07,410 Eso ponía en la hojita 584 00:25:07,410 --> 00:25:08,170 Que nos han pasado 585 00:25:08,170 --> 00:25:12,509 A mí me han pasado una hoja formativa 586 00:25:12,509 --> 00:25:14,609 Que pone a las 10 es el pasaje del terror 587 00:25:14,609 --> 00:25:16,089 No sé más 588 00:25:16,089 --> 00:25:20,049 No tengo ni idea 589 00:25:20,049 --> 00:25:25,109 Bueno, pues bajas a las 10 590 00:25:25,109 --> 00:25:26,250 Se lo dices al profe que sea 591 00:25:26,250 --> 00:25:27,210 Y ya está 592 00:25:27,210 --> 00:25:32,819 Y el que venga disfrazado 593 00:25:32,819 --> 00:25:34,380 Pues se puede ir al concurso y disfrazarse a las 12 594 00:25:34,380 --> 00:25:35,740 Que no sé lo que se gana 595 00:25:35,740 --> 00:25:38,279 A ver, podríais ir a verlo 596 00:25:38,279 --> 00:25:39,519 Pero entonces os perderíais mi clase 597 00:25:39,519 --> 00:25:41,940 Y eso sería terrible 598 00:25:41,940 --> 00:25:57,529 Bueno, a ver, ostras 599 00:25:57,529 --> 00:25:59,789 y estaba grabando ahora, juraría