1 00:00:00,690 --> 00:00:02,710 vale, pues ala 2 00:00:02,710 --> 00:00:04,150 el ejercicio 2 3 00:00:04,150 --> 00:00:06,610 otra función, venga 4 00:00:06,610 --> 00:00:08,810 esta era más fácil 5 00:00:08,810 --> 00:00:10,529 que la anterior, creo yo, vamos a ver 6 00:00:10,529 --> 00:00:11,470 ¿qué opináis vosotros? 7 00:00:21,039 --> 00:00:21,559 vale 8 00:00:21,559 --> 00:00:22,219 ¿en todos? 9 00:00:25,559 --> 00:00:27,920 que estrés, pero venga 10 00:00:27,920 --> 00:00:28,280 vale 11 00:00:28,280 --> 00:00:35,469 vale, pues a ver, entonces ejercicio 2 12 00:00:35,469 --> 00:00:59,810 Uno que hace antes de nada leerlo, devolver máximo, nombrecito de la función, eso es lo que pide, pues venga, pide esto, pues una función que no sabemos todavía lo que devuelve, nos obligan a que se llame así, todavía no hemos llegado a leer que tiene que recibir, pues así la dejamos. 13 00:00:59,810 --> 00:01:02,090 Venga, pues a ver 14 00:01:02,090 --> 00:01:04,310 Esta función que recibe 15 00:01:04,310 --> 00:01:06,209 Dos arrays de números enteros 16 00:01:06,209 --> 00:01:08,849 Pues recibe dos arrays de números enteros 17 00:01:08,849 --> 00:01:11,230 Ya está, no le puedo meter nada más que no sea eso 18 00:01:11,230 --> 00:01:12,450 Trabaja con esto 19 00:01:12,450 --> 00:01:14,890 Con dos arrays de números enteros 20 00:01:14,890 --> 00:01:17,230 Pues nums1, por ejemplo 21 00:01:17,230 --> 00:01:18,870 Cada uno que los llame 22 00:01:18,870 --> 00:01:19,750 Como lo dé la gana 23 00:01:19,750 --> 00:01:24,489 ¿Qué te pasa, Juan Francisco? 24 00:01:24,489 --> 00:01:25,629 Nada, nada, te voy a preguntar 25 00:01:25,629 --> 00:01:27,870 Bueno 26 00:01:27,870 --> 00:01:34,250 Pero ¿cómo te llaman a ti? 27 00:01:34,769 --> 00:01:36,090 Juan, a palo seco, vale 28 00:01:36,090 --> 00:01:38,150 A ver 29 00:01:38,150 --> 00:01:40,349 Juan 30 00:01:40,349 --> 00:01:45,269 Oye, pues es un nombre muy bonito 31 00:01:45,269 --> 00:01:47,930 Hay que usarlo, sus padres se lo pusieron para eso 32 00:01:47,930 --> 00:01:49,709 A ver, ahora 33 00:01:49,709 --> 00:01:51,290 ¿Qué tiene que hacer la función? 34 00:01:52,590 --> 00:01:53,629 Pues de esos dos arrays 35 00:01:53,629 --> 00:01:56,750 Mirará cuál tiene el valor máximo mayor 36 00:01:56,750 --> 00:01:58,969 y lo devuelve con valor de retorno 37 00:01:58,969 --> 00:02:00,909 luego, ¿sabemos hacer un máximo 38 00:02:00,909 --> 00:02:02,890 de los valores de un array? de números, sí 39 00:02:02,890 --> 00:02:05,010 pues vamos a hacer 40 00:02:05,010 --> 00:02:06,469 el máximo del primer array 41 00:02:06,469 --> 00:02:08,129 el máximo del segundo array 42 00:02:08,129 --> 00:02:10,250 vamos a ver cuál de los dos es mayor 43 00:02:10,250 --> 00:02:12,949 si es mayor el del primero, devolvemos el primero 44 00:02:12,949 --> 00:02:14,310 si es mayor el del segundo, el del segundo 45 00:02:14,310 --> 00:02:15,930 y si es mayor el de 46 00:02:15,930 --> 00:02:18,389 y si son iguales, dijimos que el primero 47 00:02:18,389 --> 00:02:20,550 es que esta versión aquí no está completa, pero vale 48 00:02:20,550 --> 00:02:22,250 venga, pues hala 49 00:02:22,250 --> 00:02:24,349 pues ya está, entonces vamos a hacer 50 00:02:24,349 --> 00:02:26,569 dos máximos, ¿cómo hacíamos 51 00:02:26,569 --> 00:02:28,569 un máximo. Mi variable máxima 52 00:02:29,210 --> 00:02:30,750 que está aquí 53 00:02:30,750 --> 00:02:33,009 si podemos 54 00:02:33,009 --> 00:02:34,469 en este caso es muy fácil 55 00:02:34,469 --> 00:02:36,569 la inicializamos al primero 56 00:02:36,569 --> 00:02:37,569 de todos los valores. 57 00:02:39,090 --> 00:02:40,750 Nums 1 de 0 58 00:02:40,750 --> 00:02:42,629 Este es el primero de todos los valores. 59 00:02:43,930 --> 00:02:44,490 Ahora 60 00:02:44,490 --> 00:02:46,330 recorremos el array. Si 61 00:02:46,330 --> 00:02:48,610 alguno supera el máximo, tenemos nuevo máximo 62 00:02:48,610 --> 00:02:49,610 y punto pelota. 63 00:02:51,889 --> 00:02:52,770 No, porque 64 00:02:52,770 --> 00:02:54,210 si todos los números fueran negativos 65 00:02:54,210 --> 00:02:56,310 no te calcularía el máximo. 66 00:02:56,569 --> 00:03:05,169 Si empiezas con un 0 y el array tiene menos 1, menos 7 y menos 4, ninguno de ellos superaría ese máximo, con lo cual el máximo seguiría siendo 0. 67 00:03:05,490 --> 00:03:06,870 Mal, el máximo tendría que ser menos 1. 68 00:03:07,370 --> 00:03:12,689 Podrías inicializarlo, eso sí, al más pequeñito de todos los enteros. 69 00:03:13,150 --> 00:03:15,270 Que esto, recordad que era esto de aquí. 70 00:03:17,509 --> 00:03:18,770 ¿Vale? A esto sí. 71 00:03:19,650 --> 00:03:24,710 Porque entonces ahora ya cuando entres en el array ya el primero va a ser mayor que este y ya a partir de ahí tira. 72 00:03:25,090 --> 00:03:26,330 Pero si iniciales a 0, no. 73 00:03:26,569 --> 00:03:28,750 Que eso mucho lo habéis puesto a cero y os lo he puesto en los comentarios. 74 00:03:28,870 --> 00:03:31,150 Que si todo lo único fuera negativo, pues no... 75 00:03:31,150 --> 00:03:34,750 No es que no tuviera sentido. 76 00:03:34,849 --> 00:03:37,030 Es que te saldría un mínimo erróneo porque te saldría a cero. 77 00:03:40,289 --> 00:03:40,990 Noms de 1. 78 00:03:42,050 --> 00:03:43,250 Uy, de 1 no, perdón. 79 00:03:43,349 --> 00:03:43,710 De cero. 80 00:03:43,889 --> 00:03:45,229 Vale, ya recorremos el array. 81 00:03:48,229 --> 00:03:49,289 Ay, ay, ay, ay. 82 00:03:49,389 --> 00:03:50,210 Qué exquisitos. 83 00:03:51,669 --> 00:03:52,629 Que sí, hombre, que sí. 84 00:03:52,949 --> 00:03:53,789 Que si no, no está bien. 85 00:03:54,949 --> 00:03:55,229 Vale. 86 00:03:58,169 --> 00:03:58,530 Hombre. 87 00:03:59,069 --> 00:04:00,270 Nos hemos despertado. 88 00:04:01,370 --> 00:04:03,870 vale, vamos a poner la llave 89 00:04:03,870 --> 00:04:05,250 bien 90 00:04:05,250 --> 00:04:10,500 recorremos el primer array 91 00:04:10,500 --> 00:04:12,680 si alguno de estos 92 00:04:12,680 --> 00:04:13,360 elementos 93 00:04:13,360 --> 00:04:17,000 es mayor que el máximo 94 00:04:17,000 --> 00:04:18,779 hasta ese momento 95 00:04:18,779 --> 00:04:20,139 pues entonces 96 00:04:20,139 --> 00:04:22,600 ya te, nums de i, perdón 97 00:04:22,600 --> 00:04:26,740 pero es que 98 00:04:26,740 --> 00:04:28,680 no sé si los de atrás con control menos ven algo 99 00:04:28,680 --> 00:04:30,800 porque ahora con tanta pantalla 100 00:04:30,800 --> 00:04:31,959 ya estáis ciegos todos 101 00:04:31,959 --> 00:04:41,790 pues tenemos el algoritmo de máximo 102 00:04:41,790 --> 00:04:42,529 calcado 103 00:04:42,529 --> 00:04:45,629 algoritmo que te calcula 104 00:04:45,629 --> 00:04:47,769 el valor máximo de un conjunto 105 00:04:47,769 --> 00:04:49,750 de números que están en este array 106 00:04:49,750 --> 00:04:51,670 los vamos 107 00:04:51,670 --> 00:04:53,750 recorriendo uno por uno, si alguno de ellos 108 00:04:53,750 --> 00:04:55,250 supera el máximo, tenemos nuevo máximo 109 00:04:55,250 --> 00:04:57,730 vale, pues es el máximo del primer array 110 00:04:57,730 --> 00:04:59,649 vamos a llamarle uno, porque ahora 111 00:04:59,649 --> 00:05:00,689 hay que hacer otro máximo 112 00:05:00,689 --> 00:05:02,550 entonces voy a llamarle uno 113 00:05:02,550 --> 00:05:05,029 Pues lo mismo para el segundo array 114 00:05:05,029 --> 00:05:06,930 O sea es hacer lo mismo para el otro 115 00:05:06,930 --> 00:05:11,889 Vale 116 00:05:11,889 --> 00:05:13,290 Pues lo mismo para el otro 117 00:05:13,290 --> 00:05:21,199 Vale, hemos hecho lo mismo dos veces 118 00:05:21,199 --> 00:05:23,399 Y ahora ya se trata de cuál de los dos es mayor 119 00:05:23,399 --> 00:05:25,199 En función de eso o retorno 120 00:05:25,199 --> 00:05:26,300 Nums1 o nums2 121 00:05:26,300 --> 00:05:28,420 Este era mucho más fácil que el primero 122 00:05:28,420 --> 00:05:30,680 Pues ya está 123 00:05:30,680 --> 00:05:32,399 Si 124 00:05:32,399 --> 00:05:35,279 Max1 es 125 00:05:35,279 --> 00:05:36,759 Mayor o igual 126 00:05:36,759 --> 00:05:39,519 Porque hemos dicho que en el caso de que fueran iguales devolvía el primero 127 00:05:39,519 --> 00:05:40,899 que max2 128 00:05:40,899 --> 00:05:43,459 pues entonces 129 00:05:43,459 --> 00:05:45,879 devuelvo nums1 130 00:05:45,879 --> 00:05:47,180 devuelvo el array entero 131 00:05:47,180 --> 00:05:49,139 porque la función que devuelve 132 00:05:49,139 --> 00:05:51,000 un array de números enteros 133 00:05:51,000 --> 00:05:52,860 que si no se había puesto ponerlo ahí 134 00:05:52,860 --> 00:05:56,620 la función devuelve un array de enteros 135 00:05:56,620 --> 00:05:57,660 devuelve un array de enteros 136 00:05:57,660 --> 00:05:58,319 el tipo de dato 137 00:05:58,319 --> 00:06:00,420 pues devuelvo todo este array enterito 138 00:06:00,420 --> 00:06:02,759 que no, pues será que entonces 139 00:06:02,759 --> 00:06:04,100 el que es mayor es max2 140 00:06:04,100 --> 00:06:06,819 pues entonces devuelvo 141 00:06:06,819 --> 00:06:09,959 nums2 142 00:06:09,959 --> 00:06:13,560 y se acabó, para hacer este ejercicio 143 00:06:13,560 --> 00:06:16,939 que eran 2,5 puntos, solamente había que acordarse 144 00:06:16,939 --> 00:06:19,920 de hacer el máximo, entonces, insisto 145 00:06:19,920 --> 00:06:22,740 no os estoy regañando, te estoy tratando 146 00:06:22,740 --> 00:06:26,040 de poner sobre la mesa lo que he dicho 200.000 veces 147 00:06:26,040 --> 00:06:28,300 tenéis que memorizar las cosas 148 00:06:28,300 --> 00:06:31,480 porque no podéis estar ideando en cada ejercicio 149 00:06:31,480 --> 00:06:34,660 no, siempre hay que tirar de cosas que uno ya ha visto y ya sabe 150 00:06:34,660 --> 00:06:36,560 cómo hacer, y entonces ya puede construir 151 00:06:36,560 --> 00:06:39,160 aprendizajes y programas más grandes 152 00:06:39,160 --> 00:06:41,040 ¿vale? entonces aquí 153 00:06:41,040 --> 00:06:43,240 si no se acuerda del máximo, ya tiene la función 154 00:06:43,240 --> 00:06:45,339 hecha, y de cómo se declara una función 155 00:06:45,339 --> 00:06:46,199 claro, y de 156 00:06:46,199 --> 00:06:48,579 las cosas básicas 157 00:06:48,579 --> 00:06:51,420 ¿vale? pues como probábamos 158 00:06:51,420 --> 00:06:53,220 esto, madre mía, que mala 159 00:06:53,220 --> 00:06:53,959 cara traes 160 00:06:53,959 --> 00:06:56,360 uff, no has dormido muy bien 161 00:06:56,360 --> 00:06:58,720 bueno 162 00:06:58,720 --> 00:07:00,959 perdón 163 00:07:00,959 --> 00:07:03,300 aquí esto 164 00:07:03,300 --> 00:07:05,259 este retun 165 00:07:05,259 --> 00:07:09,339 mira, estaba justo pensando 166 00:07:09,339 --> 00:07:11,040 a ver cuál es el primero que me salta con las llaves 167 00:07:11,040 --> 00:07:12,079 porque se me han olvidado 168 00:07:12,079 --> 00:07:16,660 vale, yo pongo las llaves 169 00:07:16,660 --> 00:07:17,959 porque me lo estáis pidiendo 170 00:07:17,959 --> 00:07:21,180 pero de verdad, iros acostumbrando 171 00:07:21,180 --> 00:07:22,899 a no poner llaves todo el rato 172 00:07:22,899 --> 00:07:24,920 porque al final el código 173 00:07:24,920 --> 00:07:26,759 se hace muy gordo 174 00:07:26,759 --> 00:07:29,199 y no solo eso, sino que cuando ya hay muchas cosas 175 00:07:29,199 --> 00:07:30,720 dentro de otras, al final tenemos 176 00:07:30,720 --> 00:07:32,279 200.000 llaves así, cerrando 177 00:07:32,279 --> 00:07:42,100 Sí, claro 178 00:07:42,100 --> 00:07:44,879 Vale, y entonces 179 00:07:44,879 --> 00:07:47,519 Esto ahora ya decidimos que se probaba en un main 180 00:07:47,519 --> 00:07:48,000 ¿Vale? 181 00:07:48,620 --> 00:07:51,319 El main, voy a poner dos arrays de números cualesquiera 182 00:07:51,319 --> 00:07:52,620 Porque no tengo el 183 00:07:52,620 --> 00:07:56,329 Entonces 184 00:07:56,329 --> 00:08:02,290 Estoy cambiando el nombre de las variables a propósito 185 00:08:02,290 --> 00:08:04,350 Para que ninguno, para que todo el mundo se acuerde 186 00:08:04,350 --> 00:08:06,269 Que no tiene nada que ver el nombre de la variable aquí 187 00:08:06,269 --> 00:08:07,430 Con el parámetro 188 00:08:07,430 --> 00:08:10,470 5, 7 189 00:08:10,470 --> 00:08:12,889 9, 34 190 00:08:12,889 --> 00:08:16,149 Y este otro 191 00:08:16,149 --> 00:08:22,819 Números 2 192 00:08:22,819 --> 00:08:26,259 Este que tenga una media más grande 193 00:08:26,259 --> 00:08:28,480 Me va a devolver 194 00:08:28,480 --> 00:08:29,540 El segundo seguro 195 00:08:29,540 --> 00:08:32,590 Y ahora ya 196 00:08:32,590 --> 00:08:35,350 Puedo guardar aquí en mi resultado 197 00:08:35,350 --> 00:08:42,129 El 198 00:08:42,129 --> 00:08:45,470 Devolver máximo 199 00:08:45,470 --> 00:08:46,649 ¿De quién es? 200 00:08:46,750 --> 00:08:48,750 Pues le paso los parámetros correctamente 201 00:08:48,750 --> 00:08:49,990 Los nombres de los Arrays 202 00:08:49,990 --> 00:08:51,850 Números 1 es el primer parámetro 203 00:08:51,850 --> 00:08:55,110 Y números 2 es el segundo parámetro 204 00:08:55,110 --> 00:08:56,629 Vale 205 00:08:56,629 --> 00:08:58,389 Hay que hacer la llamada correctamente 206 00:08:58,389 --> 00:09:00,389 Pasándole el nombre de los parámetros 207 00:09:00,389 --> 00:09:01,710 Que son dos Arrays 208 00:09:01,710 --> 00:09:04,110 Vale, y ahora hombre 209 00:09:04,110 --> 00:09:06,450 Si queremos comprobar si realmente 210 00:09:06,450 --> 00:09:08,330 Me ha devuelto el máximo, vamos a 211 00:09:08,330 --> 00:09:09,870 Poner aquí 212 00:09:09,870 --> 00:09:11,710 Un for 213 00:09:11,710 --> 00:09:18,870 Sí, sí, sí 214 00:09:18,870 --> 00:09:20,769 Pero bueno, vamos a 215 00:09:20,769 --> 00:09:31,309 sí, aún sí, sí, me va a sacar 216 00:09:31,309 --> 00:09:33,690 tu stream por defecto 217 00:09:33,690 --> 00:09:35,450 de object que me saca el nombre de la variable 218 00:09:35,450 --> 00:09:41,500 pero bueno, para que nadie 219 00:09:41,500 --> 00:09:43,419 se líe con salidas del system 220 00:09:43,419 --> 00:09:45,179 out extrañas, bueno, pues 221 00:09:45,179 --> 00:09:46,299 ejecutamos esto 222 00:09:46,299 --> 00:09:48,019 pues 223 00:09:48,019 --> 00:09:51,460 este tiene mayor media que el otro, imposible 224 00:09:51,460 --> 00:09:53,120 ni de coña 225 00:09:53,120 --> 00:09:55,620 números uno, números dos 226 00:09:55,620 --> 00:09:57,419 números uno, números dos 227 00:09:57,419 --> 00:10:08,299 He puesto el nombre de alguna variable mal 228 00:10:08,299 --> 00:10:11,360 Ah, que se ha inicializado 229 00:10:11,360 --> 00:10:13,139 En el copia y pega, esto no lo he cambiado 230 00:10:13,139 --> 00:10:14,360 Ni esto tampoco 231 00:10:14,360 --> 00:10:18,279 Los copias y pega, pues tiene mucho peligro 232 00:10:18,279 --> 00:10:18,580 ¿Vale? 233 00:10:19,320 --> 00:10:21,100 En este copias y pega, num2 234 00:10:21,100 --> 00:10:22,440 Vale 235 00:10:22,440 --> 00:10:25,460 No me lo puedo creer, ¿sigue saliendo el otro? 236 00:10:25,620 --> 00:10:26,720 Esto sí que no tiene sentido 237 00:10:26,720 --> 00:10:29,159 Eso digo yo 238 00:10:29,159 --> 00:10:30,059 Eso mismo digo yo 239 00:10:30,059 --> 00:10:33,799 Ah, no, aquí tampoco lo he cambiado 240 00:10:33,799 --> 00:10:34,940 Aquí tampoco lo he cambiado 241 00:10:34,940 --> 00:10:42,120 Ah, ahora sí que sí 242 00:10:42,120 --> 00:10:43,799 Tiene mucho más mérito 243 00:10:43,799 --> 00:10:45,600 Saber arreglar errores 244 00:10:45,600 --> 00:10:47,240 De programas que salen mal 245 00:10:47,240 --> 00:10:49,059 Que hacer programas bien de partida 246 00:10:49,059 --> 00:10:50,700 Vale, ya está 247 00:10:50,700 --> 00:10:53,299 Cuidado con los copias y pegas, ¿vale? 248 00:10:53,860 --> 00:10:54,860 Primera enseñanza 249 00:10:54,860 --> 00:10:59,360 Vale, pues ahora ya con todo el copia y pega bien hecho 250 00:10:59,360 --> 00:11:00,179 Ahora ya sí que funciona 251 00:11:00,179 --> 00:11:02,539 Ejercicio 3 252 00:11:02,539 --> 00:11:06,460 ¿Al main? 253 00:11:06,460 --> 00:11:07,179 Ahí, ahí 254 00:11:07,179 --> 00:11:15,519 Tienes la nota de la virtual, ¿eh? 255 00:11:24,220 --> 00:11:25,240 No me acuerdo 256 00:11:25,240 --> 00:11:31,539 cuando eran iguales 257 00:11:31,539 --> 00:11:36,000 ah, eso, que en vez del máximo 258 00:11:36,000 --> 00:11:37,519 me hiciste la suma, efectivamente 259 00:11:37,519 --> 00:11:42,000 ya, ya, ya, pues cuidado con las lecturas 260 00:11:42,620 --> 00:11:44,440 vale, venga 261 00:11:44,440 --> 00:11:49,120 no te funciona 262 00:11:49,120 --> 00:11:56,220 muy bien 263 00:11:56,220 --> 00:11:57,419 muy bien 264 00:11:57,419 --> 00:12:01,139 eso es lo que más te va a convertir 265 00:12:01,139 --> 00:12:02,679 en persona 266 00:12:02,679 --> 00:12:04,940 saber enmendar los errores 267 00:12:04,940 --> 00:12:09,039 es más persona de lo que es ya 268 00:12:09,039 --> 00:12:12,799 bueno, todos somos un proyecto 269 00:12:12,799 --> 00:12:15,559 la mayoría nos truncamos 270 00:12:15,559 --> 00:12:16,860 y ya no tenemos arreglo 271 00:12:16,860 --> 00:12:17,440 pero bueno 272 00:12:17,440 --> 00:12:22,240 Ejercicio 3 273 00:12:22,240 --> 00:12:25,120 Vale, venga 274 00:12:25,120 --> 00:12:27,259 Ejercicio 2 275 00:12:27,259 --> 00:12:28,519 Facilillo, ¿no? 276 00:12:30,659 --> 00:12:31,600 Ejercicio 3 277 00:12:31,600 --> 00:12:34,120 Invertir el array 278 00:12:34,120 --> 00:12:36,580 Programa 279 00:12:36,580 --> 00:12:38,220 Rellena un array de cadenas 280 00:12:38,220 --> 00:12:39,440 Y lo invierte 281 00:12:39,440 --> 00:12:41,759 Aquí de nuevo, el que no lo haya hecho 282 00:12:41,759 --> 00:12:43,659 Es porque se le ha olvidado un ladrillito 283 00:12:43,659 --> 00:12:45,220 De todos los ladrillitos que vamos 284 00:12:45,220 --> 00:12:49,200 Vale, pues venga, vamos al ejercicio 3 285 00:12:49,200 --> 00:12:50,559 Aquí este ya es un programa 286 00:12:50,559 --> 00:12:53,299 Hay que pedir por teclada, un rollo patatero 287 00:12:53,299 --> 00:12:56,480 Pues unos cuantos 288 00:12:56,480 --> 00:13:05,120 Este es exclusivamente mío 289 00:13:05,120 --> 00:13:08,559 Y los otros tres 290 00:13:08,559 --> 00:13:10,320 Prácticamente también 291 00:13:10,320 --> 00:13:12,159 Este examen fue responsabilidad mía prácticamente 292 00:13:12,159 --> 00:13:17,340 El anterior más a medias 293 00:13:17,340 --> 00:13:19,500 Lo que pasa es que 294 00:13:19,500 --> 00:13:22,039 Este estaba, Estefano, liado con una cosa 295 00:13:22,039 --> 00:13:23,139 Y no le daba tiempo 296 00:13:23,139 --> 00:13:24,360 Y este, sobre todo 297 00:13:24,360 --> 00:13:28,059 ¿Te puedes creer? 298 00:13:28,500 --> 00:13:29,600 No te lo vas a creer 299 00:13:29,600 --> 00:13:31,740 Pero, no te lo vas a creer 300 00:13:31,740 --> 00:13:36,200 Pues los de Dao les ha ido bastante peor 301 00:13:36,200 --> 00:13:37,740 Scan en 3 302 00:13:37,740 --> 00:13:38,840 Venga, vamos a ver 303 00:13:38,840 --> 00:13:41,840 ¿No les ha ido peor? 304 00:13:42,159 --> 00:13:43,279 ¿Han suspendido más? 305 00:13:43,779 --> 00:13:45,320 ¿No es cuantos más? Sí, sí, completamente en serio. 306 00:13:45,980 --> 00:13:48,200 A ver, vamos a leer. 307 00:13:53,419 --> 00:13:54,740 Introduzca entero. 308 00:13:56,080 --> 00:13:57,919 Pero a ver, ¿en cuál caso nos comparéis? 309 00:13:58,100 --> 00:14:00,539 Yo creo que sois todos alumnos en conjunto, 310 00:14:00,720 --> 00:14:02,500 que algunos ya saben más, otros menos. 311 00:14:02,740 --> 00:14:07,720 Estáis todos en la media de lo que es un alumno ahora, 312 00:14:07,820 --> 00:14:08,519 porque está aprendiendo. 313 00:14:08,519 --> 00:14:09,039 Ya está. 314 00:14:09,039 --> 00:14:13,019 Ellos no, serían uno o dos 315 00:14:13,019 --> 00:14:15,279 El que lo diría, los demás no dirían nada 316 00:14:15,279 --> 00:14:18,559 Pues serían esos cuatro 317 00:14:18,559 --> 00:14:20,940 Que serían los listillos, ya está 318 00:14:20,940 --> 00:14:29,559 Venga 319 00:14:29,559 --> 00:14:35,379 Oye, no quiero 320 00:14:35,379 --> 00:14:36,879 Peleas urbanas ni quiero nada 321 00:14:36,879 --> 00:14:41,440 son compañeros 322 00:14:41,440 --> 00:14:43,240 como vosotros 323 00:14:43,240 --> 00:14:45,080 con las mismas 324 00:14:45,080 --> 00:14:49,710 vale, pues a ver 325 00:14:49,710 --> 00:14:52,289 yo aquí estoy haciendo las cosas 326 00:14:52,289 --> 00:14:54,409 a mi bola, pero sabéis lo que estamos 327 00:14:54,409 --> 00:14:54,970 haciendo, ¿no? 328 00:14:55,529 --> 00:14:58,730 he creado el array con el tamaño pedido al usuario 329 00:14:58,730 --> 00:15:01,970 hombre, claro 330 00:15:01,970 --> 00:15:04,149 además me llevo 331 00:15:04,149 --> 00:15:05,029 una alegría muy grande 332 00:15:05,029 --> 00:15:08,549 ahora, vamos a pedir las cadenas 333 00:15:08,549 --> 00:15:21,370 y lo son, lo que pasa es que yo lo estoy 334 00:15:21,370 --> 00:15:23,289 alargando todo para que quede muy claro 335 00:15:23,289 --> 00:15:25,230 para la gente que se está situando, pero esto lo haces 336 00:15:25,230 --> 00:15:26,009 en mucho menos líneas 337 00:15:26,009 --> 00:15:30,850 eso, cada llave es una línea extra 338 00:15:30,850 --> 00:15:33,009 vale, pues entonces 339 00:15:33,009 --> 00:15:35,529 yo lo detallo mucho 340 00:15:35,529 --> 00:15:37,110 me hago variables que no hacen falta 341 00:15:37,110 --> 00:15:38,549 O hago todo así para que 342 00:15:38,549 --> 00:15:40,330 La cabeza está organizada ahora 343 00:15:40,330 --> 00:15:42,190 Luego ya iremos acortando código 344 00:15:42,190 --> 00:15:43,929 Venga, pues a ver 345 00:15:43,929 --> 00:15:49,029 Introduzca cadena 346 00:15:49,029 --> 00:15:52,840 Y ahora leemos la cadena 347 00:15:52,840 --> 00:16:04,399 Next line 348 00:16:04,399 --> 00:16:06,419 Vale, ahora ya 349 00:16:06,419 --> 00:16:08,740 Rápidamente, como vosotros sois muy listos 350 00:16:09,799 --> 00:16:10,379 Ya sabéis 351 00:16:10,379 --> 00:16:12,919 Uy, cuidado que he leído un número y voy a empezar a leer cadenas 352 00:16:12,919 --> 00:16:13,519 Cuidado 353 00:16:13,519 --> 00:16:14,840 A nadie, a nadie 354 00:16:14,840 --> 00:16:17,000 En algunas cosas os tengo muy bien enseñados 355 00:16:17,000 --> 00:16:19,080 ¿A nadie se le ha escapado esto? 356 00:16:19,779 --> 00:16:20,960 Esto sí que lo he memorizado 357 00:16:20,960 --> 00:16:23,340 O a casi nadie se le ha escapado eso 358 00:16:23,340 --> 00:16:25,980 Claro, no, no, no 359 00:16:25,980 --> 00:16:29,120 Algunas cosas, la verdad que estoy muy orgullosísima 360 00:16:29,120 --> 00:16:30,120 Vale 361 00:16:30,120 --> 00:16:32,039 Y ahora ya tenemos un array de cadenas 362 00:16:32,039 --> 00:16:33,500 Hombre, por Dios 363 00:16:33,500 --> 00:16:36,059 Esto sí que se hace en dos líneas 364 00:16:36,059 --> 00:16:36,860 En tres líneas 365 00:16:36,860 --> 00:16:39,759 Invertir la cadena 366 00:16:39,759 --> 00:16:40,500 A ver 367 00:16:40,500 --> 00:16:43,580 Tenemos este array 368 00:16:43,580 --> 00:16:44,779 Vale 369 00:16:44,779 --> 00:16:50,100 con cadenas. 370 00:16:50,259 --> 00:16:51,259 Aquí, por ejemplo, este. 371 00:16:52,000 --> 00:16:53,580 Vale, invertirlo, ¿qué va a ser? 372 00:16:56,860 --> 00:16:57,740 Invertirlo va a ser 373 00:16:57,740 --> 00:16:59,399 copiar esta, 374 00:16:59,639 --> 00:17:01,100 intercambiar esta por esta. 375 00:17:01,840 --> 00:17:03,840 Es decir, intercambiar dos valores de variables. 376 00:17:04,440 --> 00:17:05,660 Intercambiar dos valores de variables 377 00:17:05,660 --> 00:17:06,940 sabemos hacer, lo hemos hecho a veces. 378 00:17:07,319 --> 00:17:09,579 Necesitamos una auxiliar, intercambiar dos valores. 379 00:17:10,359 --> 00:17:11,779 Luego, intercambiar 380 00:17:11,779 --> 00:17:13,640 esta por esta. Luego, 381 00:17:13,759 --> 00:17:15,700 intercambiar esta por esta. Y en cuanto he llegado 382 00:17:15,700 --> 00:17:17,559 a la mitad, me paro. Luego, 383 00:17:17,559 --> 00:17:19,940 en cuanto nos damos cuenta 384 00:17:19,940 --> 00:17:21,640 de que el programa se trata de 385 00:17:21,640 --> 00:17:22,920 intercambiar 386 00:17:22,920 --> 00:17:25,960 estas dos variables, luego esas dos 387 00:17:25,960 --> 00:17:28,000 luego estas dos, vemos, ah pues me hago un for 388 00:17:28,000 --> 00:17:30,099 que vaya desde el principio 389 00:17:30,099 --> 00:17:31,099 hasta la mitad 390 00:17:31,099 --> 00:17:32,940 y solo hasta la mitad 391 00:17:32,940 --> 00:17:35,940 y en cada variable la intercambia 392 00:17:35,940 --> 00:17:37,599 con la que está 393 00:17:37,599 --> 00:17:38,420 en su espejo 394 00:17:38,420 --> 00:17:41,839 y ya está, y eso es lo que tenemos que hacer 395 00:17:41,839 --> 00:17:44,019 vale, pues vamos a 396 00:17:44,019 --> 00:17:45,920 hacer el for que vaya hasta la mitad solo 397 00:17:45,920 --> 00:17:49,140 entonces 398 00:17:49,140 --> 00:17:56,240 mientras si sea menor 399 00:17:56,240 --> 00:17:58,579 hasta la mitad hasta cuando 400 00:17:58,579 --> 00:17:59,720 porque aquí nos quedaría 401 00:17:59,720 --> 00:18:02,599 hasta led entre 2 402 00:18:02,599 --> 00:18:04,359 o hasta led menos 1 entre 2 403 00:18:04,359 --> 00:18:06,680 aquí lo mejor es que uno que haga los cálculos 404 00:18:06,680 --> 00:18:09,119 imaginaos si la longitud es 6 405 00:18:09,119 --> 00:18:10,579 yo tengo que 406 00:18:10,579 --> 00:18:11,660 pararme en la 2 407 00:18:11,660 --> 00:18:14,579 luego sería entonces mejor 408 00:18:14,579 --> 00:18:16,420 hago la led menos 1 que es 5 409 00:18:16,420 --> 00:18:18,500 entre 2 y me dará 2 410 00:18:18,500 --> 00:18:20,799 porque si hago 6 entre 2 me da 3 411 00:18:20,799 --> 00:18:21,440 se para aquí 412 00:18:21,440 --> 00:18:25,039 entonces me tengo que parar en la length 413 00:18:25,039 --> 00:18:26,779 menos 1 entre 2 para que se pare 414 00:18:26,779 --> 00:18:27,839 justo en la mitad 415 00:18:27,839 --> 00:18:30,720 y si son impares 416 00:18:30,720 --> 00:18:32,940 claro, si son 417 00:18:32,940 --> 00:18:34,759 impares, es decir 418 00:18:34,759 --> 00:18:36,480 si aquí añades una más 419 00:18:36,480 --> 00:18:38,640 porque son impares 420 00:18:38,640 --> 00:18:42,500 claro 421 00:18:42,500 --> 00:18:44,720 a este no llegará 422 00:18:44,720 --> 00:18:46,339 pero es que este está justo en la mitad 423 00:18:46,339 --> 00:18:47,460 luego este tiene que ir cambiando 424 00:18:47,460 --> 00:18:49,380 claro 425 00:18:49,380 --> 00:18:53,039 entonces bueno, aquí es afinar 426 00:18:53,039 --> 00:18:54,839 los límites, esto quizás un poco, a ver 427 00:18:54,839 --> 00:18:57,240 donde me paro, length entre 2, length menos 1 entre 2 428 00:18:57,240 --> 00:18:58,859 es afinar un poco los límites 429 00:18:58,859 --> 00:19:01,380 quizás lo que es un pelinín más complicado 430 00:19:01,380 --> 00:19:06,920 claro, afinar un poquito, a ver donde 431 00:19:06,920 --> 00:19:08,819 me paro exactamente, para que me valga 432 00:19:08,819 --> 00:19:10,920 para tanto impar como par, o si voy a 433 00:19:10,920 --> 00:19:13,079 tener que distinguir o no, en este caso no voy a tener que distinguir 434 00:19:13,079 --> 00:19:14,960 pues 435 00:19:14,960 --> 00:19:18,039 cadenas 436 00:19:18,039 --> 00:19:19,720 punto length 437 00:19:19,720 --> 00:19:21,440 menos 438 00:19:21,440 --> 00:19:24,700 1 entre 2 439 00:19:24,700 --> 00:19:25,960 vale 440 00:19:25,960 --> 00:19:27,700 pues que tenemos que hacer 441 00:19:27,700 --> 00:19:30,380 intercambiar cadenas de y 442 00:19:30,380 --> 00:19:32,660 con susimétrico, esto es lo que tendremos que hacer 443 00:19:32,660 --> 00:19:39,349 con 444 00:19:39,349 --> 00:19:43,349 susimétrico 445 00:19:44,369 --> 00:19:46,759 y 446 00:19:46,759 --> 00:19:47,960 susimétrico 447 00:19:47,960 --> 00:19:50,339 esta es la otra 448 00:19:50,339 --> 00:19:52,339 mínima dificultad, susimétrico 449 00:19:52,339 --> 00:19:53,000 ¿Cuál va a ser? 450 00:19:53,680 --> 00:19:57,019 Hombre, pues el simétrico de cadenas 0 451 00:19:57,019 --> 00:19:58,299 Es cadenas de led menos 1 452 00:19:58,299 --> 00:20:00,319 El de cadenas 1 453 00:20:00,319 --> 00:20:01,960 Es cadena de led menos 2 454 00:20:01,960 --> 00:20:04,400 Entonces el simétrico de cualquiera 455 00:20:04,400 --> 00:20:05,660 Va a ser 456 00:20:05,660 --> 00:20:08,359 Cadenas punto led menos 1 457 00:20:08,359 --> 00:20:09,200 Menos i 458 00:20:09,200 --> 00:20:10,460 ¿Vale? 459 00:20:14,670 --> 00:20:16,549 Menos 1 y ahora menos i 460 00:20:16,549 --> 00:20:18,309 Ese va a ser el simétrico 461 00:20:18,309 --> 00:20:19,490 Alguna vez hemos hecho algún ejercicio 462 00:20:19,490 --> 00:20:21,069 En el que también hemos necesitado el simétrico 463 00:20:21,069 --> 00:20:23,869 Para que cuando i es 0 464 00:20:23,869 --> 00:20:25,849 el simétrico es len menos 1, está claro. 465 00:20:26,329 --> 00:20:27,890 Cuando i es 1, el simétrico 466 00:20:27,890 --> 00:20:29,690 es 1 antes. Cuando i es 2, 467 00:20:29,750 --> 00:20:31,890 el simétrico es 1 antes. Entonces, ahora ya se trata 468 00:20:31,890 --> 00:20:32,930 de intercambiar este por este. 469 00:20:33,789 --> 00:20:35,690 Y ahora, intercambiar una variable por otra, 470 00:20:35,910 --> 00:20:37,809 uno ya se acuerda de ese ladrillo que ya tiene 471 00:20:37,809 --> 00:20:39,809 hecho. Ah, cambiar una variable por 472 00:20:39,809 --> 00:20:41,869 otra, tengo que partir de un auxiliar 473 00:20:41,869 --> 00:20:43,650 para guardar temporalmente 474 00:20:43,650 --> 00:20:45,710 una de ellas. Vale, pues 475 00:20:45,710 --> 00:20:47,549 voy a guardar temporalmente 476 00:20:47,549 --> 00:20:49,650 cadenas de i. Ahora que ya 477 00:20:49,650 --> 00:20:50,609 la tengo guardada. 478 00:20:53,869 --> 00:20:58,950 Eso, sí, sí, sí 479 00:20:58,950 --> 00:20:59,869 Es un string 480 00:20:59,869 --> 00:21:01,809 Vale 481 00:21:01,809 --> 00:21:06,650 Es que, bueno, porque igual hiciste 482 00:21:06,650 --> 00:21:07,829 El array de int, pero 483 00:21:07,829 --> 00:21:09,230 Debe haber sido de string 484 00:21:09,230 --> 00:21:11,650 Vale, entonces 485 00:21:11,650 --> 00:21:14,490 Ahora que ya lo tenemos guardado temporalmente 486 00:21:14,490 --> 00:21:16,470 Lo podemos pisar tranquilamente 487 00:21:16,470 --> 00:21:18,269 Y sin miedo con su simétrico 488 00:21:18,269 --> 00:21:18,930 Que es este 489 00:21:18,930 --> 00:21:25,029 Con su simétrico pesadilla 490 00:21:25,029 --> 00:21:27,029 Y ahora 491 00:21:27,029 --> 00:21:31,029 a este de aquí 492 00:21:31,029 --> 00:21:34,390 a este de aquí 493 00:21:34,390 --> 00:21:37,490 le damos lo que tenía el otro 494 00:21:37,490 --> 00:21:39,529 que lo habíamos guardado temporalmente en aus 495 00:21:39,529 --> 00:21:41,589 entonces para hacer el intercambio de una variable 496 00:21:41,589 --> 00:21:42,829 por otra necesitamos un auxiliar 497 00:21:42,829 --> 00:21:45,410 guardo temporalmente esta, piso esta 498 00:21:45,410 --> 00:21:47,390 con la otra y ahora en esta piso lo que tenía 499 00:21:47,390 --> 00:21:47,569 la otra 500 00:21:47,569 --> 00:21:51,369 ¿vale? entonces esto 501 00:21:51,369 --> 00:21:53,529 de nuevo, como uno ya tiene, ah vale, puedo intercambiar 502 00:21:53,529 --> 00:21:55,789 una con otra, pues ya lo planta y se acabó 503 00:21:55,789 --> 00:21:57,450 y ya está hecho el programa 504 00:21:57,450 --> 00:22:00,990 Entonces, vamos a mostrar 505 00:22:00,990 --> 00:22:02,470 Ahora el nuevo array 506 00:22:02,470 --> 00:22:04,589 A ver si realmente las ha intercambiado 507 00:22:04,589 --> 00:22:14,759 Uy, perdón la llave 508 00:22:14,759 --> 00:22:15,900 Dios mío 509 00:22:15,900 --> 00:22:18,039 Dios me libre 510 00:22:18,039 --> 00:22:25,579 Vale, venga 511 00:22:25,579 --> 00:22:26,839 Pues el programa estaría 512 00:22:26,839 --> 00:22:29,339 Este ya es más rollo de probar 513 00:22:29,339 --> 00:22:30,559 Pero hay que meterle cosas 514 00:22:30,559 --> 00:22:32,480 Lo voy a meter para que sea fácil 515 00:22:32,480 --> 00:22:34,380 Joder, empezamos bien 516 00:22:34,380 --> 00:22:36,700 Es que primero pide el tamaño 517 00:22:36,700 --> 00:22:39,839 Error del usuario, no del programa 518 00:22:39,839 --> 00:22:42,660 Venga, va a ser un array de 5 519 00:22:42,660 --> 00:22:44,900 Cat1 520 00:22:44,900 --> 00:22:46,700 Cat2 521 00:22:46,700 --> 00:22:48,220 Cat3 522 00:22:48,220 --> 00:22:50,119 Cat4 523 00:22:50,119 --> 00:22:52,200 Cat5 524 00:22:52,200 --> 00:22:54,539 Perfectamente invertido, ¿vale? 525 00:23:02,480 --> 00:23:02,920 Vale 526 00:23:02,920 --> 00:23:04,579 Pues ya está, leer cadenas 527 00:23:04,579 --> 00:23:06,319 Y hacer el intercambio de una variable por otra 528 00:23:06,319 --> 00:23:08,880 Tercero completo 529 00:23:08,880 --> 00:23:22,509 Silvia también ha faltado 530 00:23:22,509 --> 00:23:25,890 Silvia, Cristian, unos cuantos 531 00:23:25,890 --> 00:23:30,170 A ver, venga, ejercicio 4 532 00:23:30,170 --> 00:23:51,180 Venga, el ejercicio 4 era 533 00:23:51,180 --> 00:23:56,000 Otra función, pues ala, otra función 534 00:23:59,339 --> 00:24:01,240 Todavía no sabemos lo que devuelve 535 00:24:01,240 --> 00:24:03,599 existe suma 536 00:24:03,599 --> 00:24:06,759 ¿qué se le pasa como parámetro? 537 00:24:06,940 --> 00:24:07,799 no lo sé 538 00:24:07,799 --> 00:24:10,079 vale, ¿qué tiene que hacer esta función? 539 00:24:12,519 --> 00:24:13,700 ¿qué os pasa? 540 00:24:14,339 --> 00:24:14,819 relax 541 00:24:14,819 --> 00:24:16,759 esta función 542 00:24:16,759 --> 00:24:19,519 recibe un array de enteros 543 00:24:19,519 --> 00:24:20,700 y un valor 544 00:24:20,700 --> 00:24:24,000 luego tiene dos parámetros esta función 545 00:24:24,000 --> 00:24:26,119 vale, pues vamos a poner los dos parámetros 546 00:24:26,119 --> 00:24:28,380 una de ellas es 547 00:24:28,380 --> 00:24:30,599 un array de enteros 548 00:24:30,599 --> 00:24:33,759 Venga, números 549 00:24:33,759 --> 00:24:36,019 Y la otra es un valor suelto 550 00:24:36,019 --> 00:24:38,140 Este, vale 551 00:24:38,140 --> 00:24:42,210 ¿Qué tiene que hacer esta función? 552 00:24:42,809 --> 00:24:44,490 Joder, ya tanta llave 553 00:24:44,490 --> 00:24:45,529 Ya las duplico 554 00:24:45,529 --> 00:24:46,670 ¿Tiene que devolver una raíz? 555 00:24:48,089 --> 00:24:48,529 No 556 00:24:48,529 --> 00:24:50,950 No, que te baja nota a la misma 557 00:24:50,950 --> 00:24:53,549 Esta función te tiene que decir 558 00:24:53,549 --> 00:24:55,869 Si se cumple una cosa o no se cumple 559 00:24:55,869 --> 00:24:57,849 Con lo cual la función te va a devolver un Boolean 560 00:24:57,849 --> 00:25:00,190 Te tiene que devolver un Boolean 561 00:25:00,190 --> 00:25:01,569 Vale 562 00:25:01,569 --> 00:25:05,170 Porque te dice si algo 563 00:25:05,170 --> 00:25:07,109 se cumple o no, te devolverá true 564 00:25:07,109 --> 00:25:08,849 si se cumple, false si no 565 00:25:08,849 --> 00:25:10,849 es como la función de exprimo 566 00:25:10,849 --> 00:25:13,130 te devuelve true si el parámetro exprimo 567 00:25:13,130 --> 00:25:14,710 false si no, etc. 568 00:25:15,309 --> 00:25:17,390 vale, que tiene que verificar que se cumpla 569 00:25:17,390 --> 00:25:19,089 si existen 570 00:25:19,089 --> 00:25:20,910 dos números al menos 571 00:25:20,910 --> 00:25:22,710 diferentes en este array 572 00:25:22,710 --> 00:25:24,450 cuya suma de este valor 573 00:25:24,450 --> 00:25:26,809 vale, pues nada 574 00:25:26,809 --> 00:25:28,849 entonces lo primero que se le ocurre aquí a uno 575 00:25:28,849 --> 00:25:30,089 vamos a recorrer el array 576 00:25:30,089 --> 00:25:33,089 y para cada número, lo más fácil 577 00:25:33,089 --> 00:25:34,650 sin complicarnos la vida 578 00:25:34,650 --> 00:25:37,089 para cada número, volvemos a recorrerlo 579 00:25:37,089 --> 00:25:39,190 y si encontramos otro cuya suma 580 00:25:39,190 --> 00:25:40,630 sea ese, retuntru y terminado 581 00:25:40,630 --> 00:25:43,430 Claro, falta añadir 582 00:25:43,430 --> 00:25:45,230 esa condición para no repetir el mismo número 583 00:25:45,230 --> 00:25:47,210 que esa condición es la que muchos no habéis 584 00:25:47,210 --> 00:25:49,170 incluido. Venga, pues 585 00:25:49,170 --> 00:25:51,049 a ver, el resultado va a ser un boolean 586 00:25:51,049 --> 00:26:01,670 A ver, él te deja hacer lo que tú quieras 587 00:26:01,670 --> 00:26:06,130 Venga, asumimos 588 00:26:06,130 --> 00:26:08,069 Silencio 589 00:26:08,069 --> 00:26:10,609 Asumimos que de partida no existe 590 00:26:10,609 --> 00:26:12,109 No existe 591 00:26:12,109 --> 00:26:13,930 Y ahora vamos a hacer ese recorrido 592 00:26:13,930 --> 00:26:17,210 Que en cuanto encontremos una combinación de números 593 00:26:17,210 --> 00:26:18,930 Cuya suma es 594 00:26:18,930 --> 00:26:20,890 El que me han dado, ya retuntruy se acabó 595 00:26:20,890 --> 00:26:21,849 En cuanto la encontremos 596 00:26:21,849 --> 00:26:25,210 Pues venga, vamos a recorrer el array 597 00:26:25,210 --> 00:26:28,859 Vamos a recorrer el array 598 00:26:28,859 --> 00:26:29,500 Chicos 599 00:26:29,500 --> 00:26:33,069 Yo no te he mirado 600 00:26:33,069 --> 00:26:35,269 Ah 601 00:26:35,269 --> 00:26:38,789 Pero con mucho cariño 602 00:26:38,789 --> 00:26:40,589 Venga, una llave 603 00:26:40,589 --> 00:26:43,230 Sí, claro 604 00:26:43,230 --> 00:26:47,690 Dámelo tú a mí para notar que te he puesto 605 00:26:47,690 --> 00:26:50,369 Vale 606 00:26:50,369 --> 00:26:57,150 Para cada posición 607 00:26:57,150 --> 00:26:58,930 ¿Qué hacemos con cada posición? 608 00:26:59,549 --> 00:27:01,230 Vamos a volver a recorrer todas las demás 609 00:27:01,230 --> 00:27:02,670 Vamos a volver a recorrerlas todas 610 00:27:02,670 --> 00:27:05,890 Y si hay alguna de ellas 611 00:27:05,890 --> 00:27:07,769 Cuya suma con esta ahí en la que estoy 612 00:27:07,769 --> 00:27:10,130 Me da el resultado y devuelvo tú 613 00:27:10,130 --> 00:27:12,230 eso es lo primero que a uno se le ocurre por aquí 614 00:27:12,230 --> 00:27:15,089 pues para cada i, vamos a volver a recorrerlas todas 615 00:27:15,089 --> 00:27:17,589 como el i ya lo he usado 616 00:27:17,589 --> 00:27:21,569 pues me hago esto, mientras j igual a 0 617 00:27:21,569 --> 00:27:24,829 mientras j sea menor que otra vez el array porque lo recorro otra vez 618 00:27:24,829 --> 00:27:27,509 punto length, incrementando j 619 00:27:27,509 --> 00:27:30,329 entonces uno lo primero que hace es 620 00:27:30,329 --> 00:27:35,029 si números de i 621 00:27:35,029 --> 00:27:37,690 más 622 00:27:37,690 --> 00:27:40,130 números de j 623 00:27:40,130 --> 00:27:42,150 es igual 624 00:27:42,150 --> 00:27:43,950 al valor que me han pasado 625 00:27:43,950 --> 00:27:44,769 es igual 626 00:27:44,769 --> 00:27:47,049 retuntru 627 00:27:47,049 --> 00:27:49,569 esta sería la primera versión que podíamos hacer 628 00:27:49,569 --> 00:27:50,890 que está casi bien 629 00:27:50,890 --> 00:27:53,549 casi bien, ¿verdad? 630 00:27:54,049 --> 00:27:55,269 ¿y entendéis lo que hemos hecho? 631 00:27:55,990 --> 00:27:57,990 claro, para cada valor 632 00:27:57,990 --> 00:28:00,009 y, nos paramos en cada valor 633 00:28:00,009 --> 00:28:01,170 y, no, estamos aquí 634 00:28:01,170 --> 00:28:03,789 para cada números de y 635 00:28:03,789 --> 00:28:06,089 y para cada números de y 636 00:28:06,089 --> 00:28:06,589 ¿qué hacemos? 637 00:28:08,130 --> 00:28:09,910 recorremos todo el array para ver si 638 00:28:09,910 --> 00:28:13,950 Y hay alguno, algún jota, cuya suma con i me dé valor. 639 00:28:15,109 --> 00:28:18,710 Pero claro, aquí de repente, cuando repasamos esto, decimos, 640 00:28:18,890 --> 00:28:22,369 uy, yo estoy en un i, recorro todo el array otra vez, 641 00:28:22,789 --> 00:28:24,490 entonces estoy pasando también por sí mismo. 642 00:28:25,109 --> 00:28:27,190 Entonces estoy contando la suma consigo mismo. 643 00:28:28,009 --> 00:28:33,869 Entonces, cuidado, este if vamos a agregarle una parte que sea, 644 00:28:33,869 --> 00:28:37,009 si i es diferente de jota, para no contar a sí mismo, 645 00:28:37,009 --> 00:28:39,690 Y si siendo i diferente de j 646 00:28:39,690 --> 00:28:43,250 Siendo i diferente de j 647 00:28:43,250 --> 00:28:44,650 Pongo la otra parte aquí abajo 648 00:28:44,650 --> 00:28:46,890 Siendo 649 00:28:46,890 --> 00:28:48,730 Sj en el que me he parado 650 00:28:48,730 --> 00:28:50,230 Sj diferente del i 651 00:28:50,230 --> 00:28:53,470 La suma es igual a valor 652 00:28:53,470 --> 00:28:54,650 Ya lo he encontrado 653 00:28:54,650 --> 00:28:55,569 Retún tru 654 00:28:55,569 --> 00:28:58,069 Y esta versión ya estaría bien 655 00:28:58,069 --> 00:29:00,269 A ver, hace más iteraciones de las necesarias 656 00:29:00,269 --> 00:29:01,569 Porque cuando tú ya estás en un i 657 00:29:01,569 --> 00:29:03,029 Uno podría decir, hombre 658 00:29:03,029 --> 00:29:05,630 ¿Para qué voy a volver a sumar con los anteriores? 659 00:29:05,630 --> 00:29:07,690 con esos ya he sumado cuando me paré en ese 660 00:29:07,690 --> 00:29:09,809 voy a probar solo con los que están a continuación 661 00:29:09,809 --> 00:29:11,650 de él y así hago menos iteraciones 662 00:29:11,650 --> 00:29:14,069 claro 663 00:29:14,069 --> 00:29:15,869 entonces este j en lugar 664 00:29:15,869 --> 00:29:17,609 de empezar en 0 que empiece en i más 1 665 00:29:17,609 --> 00:29:19,490 y me ahorro iteraciones, pero 666 00:29:19,490 --> 00:29:21,769 podemos calzar esta versión 667 00:29:21,769 --> 00:29:23,650 para quien necesita tenerlo todo organizado 668 00:29:23,650 --> 00:29:25,809 y todavía en la cabeza 669 00:29:25,809 --> 00:29:26,309 y ya está 670 00:29:26,309 --> 00:29:31,420 ¿cómo que no lo voy a cambiar? claro que lo voy a cambiar 671 00:29:31,420 --> 00:29:32,180 este aquí cambiado 672 00:29:32,180 --> 00:29:35,359 claro y ahora aquí me hago un retun 673 00:29:35,359 --> 00:29:38,160 Resul como un castillo 674 00:29:38,160 --> 00:29:45,009 Bueno, aquí podría poner un retun falso 675 00:29:45,009 --> 00:29:46,849 Y quitar este, sí, o retun resul 676 00:29:46,849 --> 00:29:50,710 Que sí, ya está 677 00:29:50,710 --> 00:29:52,529 Así estaría bien 678 00:29:52,529 --> 00:29:54,910 Pero bueno, había puesto un boolean, pues de nuevo 679 00:29:54,910 --> 00:29:57,210 Porque pongo muchas varias adicionales para que se organice 680 00:29:57,210 --> 00:29:59,190 Devuelve un... Tiene que volver un boolean 681 00:29:59,190 --> 00:30:00,450 Pues aquí tengo que hacer el resultado 682 00:30:00,450 --> 00:30:01,470 Construyo el resultado 683 00:30:01,470 --> 00:30:04,569 Vale, pues me da igual poner aquí 684 00:30:04,569 --> 00:30:06,009 Retun... 685 00:30:06,009 --> 00:30:08,869 resultado y haber inicializado aquí a 686 00:30:08,869 --> 00:30:10,309 falso, que retó un falso, bueno. 687 00:30:11,170 --> 00:30:12,730 Lo que cada uno vayáis 688 00:30:12,730 --> 00:30:14,869 necesitando para iros... 689 00:30:16,470 --> 00:30:18,250 Para ir avanzando, sin liaros. 690 00:30:21,400 --> 00:30:22,980 Bueno, pues este código está claro. 691 00:30:24,960 --> 00:30:30,779 A ver, lo recorro dos veces 692 00:30:30,779 --> 00:30:33,079 porque... 693 00:30:35,140 --> 00:30:35,960 Vale, este es... 694 00:30:35,960 --> 00:30:37,220 Está claro. 695 00:30:37,220 --> 00:31:01,119 Este es un array con los numeritos, que solo hay uno, aquí, vale, que tienen los numeritos que sean, pues el 4, el 5, el 7, el 8, el 1, los que sean. 696 00:31:01,119 --> 00:31:05,849 ala, este es mi array 697 00:31:05,849 --> 00:31:07,910 ahora, ¿qué algoritmo nos hemos 698 00:31:07,910 --> 00:31:09,910 planteado hacer? vamos a hacer un for 699 00:31:09,910 --> 00:31:11,230 que vaya uno por uno 700 00:31:11,230 --> 00:31:13,970 es el for de arriba, el de las i 701 00:31:13,970 --> 00:31:16,009 es el de arriba, ahora para cada i 702 00:31:16,009 --> 00:31:17,950 para cada i 703 00:31:17,950 --> 00:31:19,589 de aquí, para cada i 704 00:31:19,589 --> 00:31:21,410 ¿qué va a hacer? 705 00:31:23,710 --> 00:31:25,390 vale, pues para cada i 706 00:31:25,390 --> 00:31:27,730 iniciamos 707 00:31:27,730 --> 00:31:29,349 otro for, que lo 708 00:31:29,349 --> 00:31:30,529 recorra otra vez entero 709 00:31:30,529 --> 00:31:33,369 y ahora, sumamos este con 710 00:31:33,369 --> 00:31:35,269 el i, este con el i 711 00:31:35,269 --> 00:31:36,750 este con el i, este con el i 712 00:31:36,750 --> 00:31:39,210 y si alguno, la suma 713 00:31:39,210 --> 00:31:41,109 es igual al valor, ya lo hemos encontrado 714 00:31:41,109 --> 00:31:43,089 entonces el for de arriba es 715 00:31:43,089 --> 00:31:45,130 para pararnos en un número, y el for 716 00:31:45,130 --> 00:31:47,170 de abajo es para ese número en el que nos hemos 717 00:31:47,170 --> 00:31:49,210 parado, recorrerlo otra vez 718 00:31:49,210 --> 00:31:51,529 e ir haciendo cada suma por separado 719 00:31:51,529 --> 00:31:52,589 con cada uno de esos 720 00:31:52,589 --> 00:31:53,890 ¿vale? 721 00:31:59,730 --> 00:32:01,950 pues ya está todo el examen, efectivamente 722 00:32:01,950 --> 00:32:03,869 a ver, yo es que añado 723 00:32:03,869 --> 00:32:05,609 muchas variables, hago muchas cosas 724 00:32:05,609 --> 00:32:07,309 para que quede 725 00:32:07,309 --> 00:32:10,069 no liar a quien 726 00:32:10,069 --> 00:32:12,289 pues todavía está en fase de entenderlo 727 00:32:12,289 --> 00:32:13,089 más o de 728 00:32:13,089 --> 00:32:16,289 cómo hablas, por Dios, qué pesadez 729 00:32:17,349 --> 00:32:20,150 pero esto se puede acortar 730 00:32:20,150 --> 00:32:21,950 claro, y se queda más corto, por eso decía 731 00:32:21,950 --> 00:32:23,670 Estefano lo de tres líneas 732 00:32:23,670 --> 00:32:25,829 Estefano lo exagera todo 733 00:32:25,829 --> 00:32:27,450 Ah, no, hemos hecho un main 734 00:32:27,450 --> 00:32:30,009 vamos a hacer un main para probarlo 735 00:32:30,009 --> 00:32:33,349 vamos a ver 736 00:32:33,349 --> 00:32:36,150 vamos a pasarle 737 00:32:36,150 --> 00:32:37,049 un array cualquiera 738 00:32:37,049 --> 00:32:43,349 que sea 4, 7, 1, 5 739 00:32:43,349 --> 00:32:48,009 y ahora vamos a llamar a la función 740 00:32:48,009 --> 00:32:50,670 y a ver que devuelve 741 00:32:50,670 --> 00:32:56,839 existe suma nums 742 00:32:56,839 --> 00:33:01,779 8, me va a tener que decir true 743 00:33:01,779 --> 00:33:07,579 porque 7 más 1 es 8 y me dice true 744 00:33:07,579 --> 00:33:11,660 si le pasamos 745 00:33:11,660 --> 00:33:14,859 11, pues no hay ninguno 746 00:33:14,859 --> 00:33:15,819 que sea 11, ¿verdad? 747 00:33:18,359 --> 00:33:19,539 Jue, sí que estoy 748 00:33:19,539 --> 00:33:21,640 alelá, el 7 y el 4 749 00:33:21,640 --> 00:33:23,900 Era por apurar 750 00:33:23,900 --> 00:33:25,920 39, no hay dos números 751 00:33:25,920 --> 00:33:26,839 que sumen 39 752 00:33:26,839 --> 00:33:29,420 Falso 753 00:33:29,420 --> 00:33:31,440 Bueno, se podrían hacer más pruebas, pero bueno 754 00:33:31,440 --> 00:33:32,240 yo creo que estará bien 755 00:33:32,240 --> 00:33:38,200 Bueno, pues este es el examen completo 756 00:33:38,200 --> 00:33:39,059 Vale, entonces