1 00:00:00,000 --> 00:00:08,080 Bueno, pues entonces, esto es lo primero que se nos ocurrió sobre la marcha, ¿vale? 2 00:00:08,099 --> 00:00:11,900 Lo primero que se nos ocurrió sobre la marcha, pues para consolidarlo de ayer, algo facilito. 3 00:00:12,480 --> 00:00:17,179 Entonces, esto, imagino que lo hicisteis, devuelve la que tenga más vocales. 4 00:00:17,399 --> 00:00:27,579 Pues nada, pondríais el nombre, cualquiera, y ahora, una vez decidido el nombre, uno ya se plantea parámetros de entrada si es que los hay, 5 00:00:27,579 --> 00:00:29,780 Valor de retorno si es que lo hay 6 00:00:29,780 --> 00:00:30,920 Y luego ya el código 7 00:00:30,920 --> 00:00:32,619 Parámetros de entrada 8 00:00:32,619 --> 00:00:34,619 Dos nombres, dos cadenas 9 00:00:34,619 --> 00:00:37,000 Pues dos, string 10 00:00:37,000 --> 00:00:44,350 No voy a separar por comas y ya está 11 00:00:44,350 --> 00:00:46,429 No voy a poner string cat1 y cat2 12 00:00:46,429 --> 00:00:47,429 No, no, no, no 13 00:00:47,429 --> 00:00:51,350 Aquí no puedes hacerlo como cuando haces una declaración 14 00:00:51,350 --> 00:00:52,590 Tienes que separarlo por comas 15 00:00:52,590 --> 00:00:53,570 Dime 16 00:00:53,570 --> 00:00:55,590 Yo lo que he hecho ha sido dos funciones separadas 17 00:00:55,590 --> 00:00:56,409 Se puede hacer también así 18 00:00:56,409 --> 00:00:59,649 Dos funciones separadas, ¿para qué? 19 00:01:01,929 --> 00:01:03,409 O sea, he hecho dos funciones 20 00:01:03,409 --> 00:01:05,109 y una función que agrupa las dos funciones. 21 00:01:05,230 --> 00:01:06,030 O sea, una función 22 00:01:06,030 --> 00:01:08,569 que cuenta las vocales. 23 00:01:09,030 --> 00:01:11,269 Otra que cuenta las vocales y otra que llama 24 00:01:11,269 --> 00:01:11,750 esas dos. 25 00:01:13,069 --> 00:01:14,590 Bueno, son funciones igualmente. 26 00:01:15,549 --> 00:01:15,730 Vale. 27 00:01:17,109 --> 00:01:19,329 Bueno, has hecho funciones y has llamado 28 00:01:19,329 --> 00:01:20,810 funciones y pues ya está. 29 00:01:20,810 --> 00:01:22,709 Y las ha comparado dentro del link con el link. 30 00:01:23,150 --> 00:01:24,650 Sí. Bueno, vale. 31 00:01:24,769 --> 00:01:26,930 Pero bueno, has hecho funciones, que es lo que había que hacer. 32 00:01:27,310 --> 00:01:27,450 Vale. 33 00:01:29,890 --> 00:01:30,769 Esta recibe 34 00:01:30,769 --> 00:01:32,069 dos cadenas. A ver, 35 00:01:32,069 --> 00:01:34,730 bueno, lo importante y lo segundo 36 00:01:34,730 --> 00:01:36,969 importante es que se haga lo que a uno se le pide 37 00:01:36,969 --> 00:01:38,709 porque tú puedes ir a tu trabajo 38 00:01:38,709 --> 00:01:40,469 te piden una, oye, hazme esta 39 00:01:40,469 --> 00:01:41,709 aplicación para no sé qué 40 00:01:41,709 --> 00:01:44,510 oye, la que te he hecho te funciona, sí, pero 41 00:01:44,510 --> 00:01:45,730 no me has hecho la que te he pedido 42 00:01:45,730 --> 00:01:48,750 entonces es importante adaptarse a los requisitos 43 00:01:48,750 --> 00:01:54,689 a ver, ¿alguna de las funciones que me has hecho recibe 44 00:01:54,689 --> 00:01:55,250 dos nombres? 45 00:01:57,049 --> 00:01:58,430 entonces no te he hecho lo que te piden 46 00:01:58,430 --> 00:02:00,569 porque yo te he pedido una función que reciba 47 00:02:00,569 --> 00:02:01,549 dos nombres 48 00:02:01,549 --> 00:02:03,849 entonces me has hecho dos funciones 49 00:02:03,849 --> 00:02:06,230 el resultado final de la aplicación 50 00:02:06,230 --> 00:02:08,110 usando esas funciones en este caso es el mismo 51 00:02:08,110 --> 00:02:10,469 pero aquí en este caso y de cara al examen 52 00:02:10,469 --> 00:02:11,569 que ahora mismo es lo que 53 00:02:11,569 --> 00:02:13,449 nos importa 54 00:02:13,449 --> 00:02:16,610 si yo te pido una función 55 00:02:16,610 --> 00:02:18,310 que reciba estos 56 00:02:18,310 --> 00:02:20,289 parámetros y devuelva, me tienes que hacer 57 00:02:20,289 --> 00:02:21,550 una función que haga eso 58 00:02:21,550 --> 00:02:24,189 entonces esta función 59 00:02:24,189 --> 00:02:25,090 recibe dos nombres 60 00:02:25,090 --> 00:02:27,310 pues dos stream 61 00:02:27,310 --> 00:02:29,409 y efectivamente 62 00:02:29,409 --> 00:02:33,490 no, así no lo podéis 63 00:02:33,490 --> 00:02:35,229 poner. Cuando nosotros declaramos dos 64 00:02:35,229 --> 00:02:37,490 strings en un programa, sí que lo podemos 65 00:02:37,490 --> 00:02:39,189 separados por comas y no pasa nada. 66 00:02:39,310 --> 00:02:41,370 Aquí no, ¿vale? Aquí en la 67 00:02:41,370 --> 00:02:42,289 lista de parámetros 68 00:02:42,289 --> 00:02:44,830 hay que poner los parámetros 69 00:02:44,830 --> 00:02:47,069 uno por uno separados por comas. 70 00:02:47,169 --> 00:02:49,509 Si el tipo de dato se repite, pues el tipo de dato se repite. 71 00:02:50,629 --> 00:02:51,530 ¿Y qué te devuelve? 72 00:02:51,889 --> 00:02:53,250 Te devuelve la 73 00:02:53,250 --> 00:02:55,250 cadena o el nombre, bueno, como 74 00:02:55,250 --> 00:02:57,110 lo he llamado nombre enunciado, vamos a poner 75 00:02:57,110 --> 00:03:01,060 nombre. Te devuelve la 76 00:03:01,060 --> 00:03:03,240 cadena o el nombre que tenga más vocales. 77 00:03:03,439 --> 00:03:05,120 Con lo cual, ¿qué es lo que te devuelve? 78 00:03:05,360 --> 00:03:06,620 Una cadena también. 79 00:03:07,060 --> 00:03:08,340 También te devuelve una cadena. 80 00:03:11,120 --> 00:03:13,879 Pues como también te devuelve una cadena, string. 81 00:03:15,259 --> 00:03:15,560 ¿Vale? 82 00:03:18,099 --> 00:03:23,560 Entonces, la firma, la cabecera, como lo queréis llamar de la función, es esta. 83 00:03:24,000 --> 00:03:28,639 Nombre, parámetros de entrada separados por comas si los hay y valor de retorno. 84 00:03:29,460 --> 00:03:33,199 Y ahora ya uno aquí pues hace su código y todo lo que haga falta. 85 00:03:33,199 --> 00:03:36,259 Entonces, esta función en particular 86 00:03:36,259 --> 00:03:38,020 Como la vamos a llamar desde main 87 00:03:38,020 --> 00:03:39,740 Esta en particular 88 00:03:39,740 --> 00:03:42,659 Y main tiene el static delante 89 00:03:42,659 --> 00:03:44,740 Pues ya sabemos que tenemos que poner el static delante 90 00:03:44,740 --> 00:03:46,099 Aunque ahora simplemente 91 00:03:46,099 --> 00:03:48,319 Obedezcamos como 92 00:03:48,319 --> 00:03:49,280 Siervos 93 00:03:49,280 --> 00:03:52,520 Pero llega el momento en que seamos libres 94 00:03:52,520 --> 00:03:54,780 Y ya no tengamos que obedecer como siervos 95 00:03:54,780 --> 00:03:56,439 Sino que lo pongamos si queremos 96 00:03:56,439 --> 00:03:57,719 Ponerlo y nos interesa 97 00:03:57,719 --> 00:04:00,199 Pero aquí tenemos que ponerlo 98 00:04:00,199 --> 00:04:01,719 Porque main tiene static 99 00:04:01,719 --> 00:04:03,419 pues solamente puede llamar a funciones 100 00:04:03,419 --> 00:04:04,219 que tengan static 101 00:04:04,219 --> 00:04:07,080 pues lo ponemos, vale 102 00:04:07,080 --> 00:04:09,460 y aquí ahora ya el programador 103 00:04:09,460 --> 00:04:10,860 pues podría hacer lo que fuera 104 00:04:10,860 --> 00:04:13,080 y en un caso real 105 00:04:13,080 --> 00:04:15,379 pues uno se deja así esta 106 00:04:15,379 --> 00:04:17,600 función y dice, vale, a mí el programador 107 00:04:17,600 --> 00:04:19,399 Pepito ya me dará esta 108 00:04:19,399 --> 00:04:20,980 función alguna vez, ya me la dará 109 00:04:20,980 --> 00:04:23,579 pero yo no me paro, yo puedo seguir mi aplicación 110 00:04:23,579 --> 00:04:25,360 y yo puedo aquí ya en mi main 111 00:04:25,360 --> 00:04:26,720 llamarla y todo eso 112 00:04:26,720 --> 00:04:29,399 no me va a devolver nada en ese momento 113 00:04:29,399 --> 00:04:31,399 pero mi código puede seguir en realidad 114 00:04:31,399 --> 00:04:34,699 Y ya cuando esa persona tenga esta función 115 00:04:34,699 --> 00:04:35,620 Yo la incorporo 116 00:04:35,620 --> 00:04:36,899 Pero yo no tengo por qué ocuparme de ella 117 00:04:36,899 --> 00:04:38,319 Yo puedo seguir aquí programando 118 00:04:38,319 --> 00:04:39,959 Sin errores de compilación y sin nada 119 00:04:39,959 --> 00:04:41,379 En mi main 120 00:04:41,379 --> 00:04:43,660 Puedo estar haciendo aquí cosas 121 00:04:43,660 --> 00:04:44,819 Puedo llamar a esa función 122 00:04:44,819 --> 00:04:48,879 Y guardar en un resultado 123 00:04:48,879 --> 00:04:57,779 Puedo usarla para comparar dos nombres 124 00:04:57,779 --> 00:05:01,279 Y puedo seguir aquí trabajando 125 00:05:01,279 --> 00:05:02,500 y hago mis cosas 126 00:05:02,500 --> 00:05:05,899 lo que pasa es que estaré todavía en fase de desarrollo 127 00:05:05,899 --> 00:05:07,579 y el resultado no será real 128 00:05:07,579 --> 00:05:09,480 porque result 129 00:05:09,480 --> 00:05:11,040 esta función está sin hacer 130 00:05:11,040 --> 00:05:15,600 result me va a devolver un null 131 00:05:15,600 --> 00:05:16,800 me va a devolver un null 132 00:05:16,800 --> 00:05:19,399 pero yo en última instancia puedo seguir 133 00:05:19,399 --> 00:05:21,279 aquí desarrollando y puedo seguir haciendo cosas 134 00:05:21,279 --> 00:05:23,519 y ya llegará un momento en que esa función tenga algo 135 00:05:23,519 --> 00:05:25,639 cuando el que se encargue de hacerla la haga 136 00:05:25,639 --> 00:05:27,360 y ya está, entonces son trabajos 137 00:05:27,360 --> 00:05:28,259 que se independizan 138 00:05:28,259 --> 00:05:31,579 entonces el que se encarga de hacerla 139 00:05:31,579 --> 00:05:32,620 lo mismo 140 00:05:32,620 --> 00:05:34,519 Lo único que necesita es esto 141 00:05:34,519 --> 00:05:36,199 La cabecera 142 00:05:36,199 --> 00:05:38,819 Saber qué tiene que darle por parámetro 143 00:05:38,819 --> 00:05:40,639 Saber qué sale y programar 144 00:05:40,639 --> 00:05:42,959 No necesita saber ni en qué momento la van a llamar 145 00:05:42,959 --> 00:05:44,000 Ni cuándo, ni para qué 146 00:05:44,000 --> 00:05:45,160 Eso le da exactamente igual 147 00:05:45,160 --> 00:05:47,079 Lo único que necesita saber es esto 148 00:05:47,079 --> 00:05:47,980 Qué va a hacer la función 149 00:05:47,980 --> 00:05:50,600 Vale, pues entonces 150 00:05:50,600 --> 00:05:52,600 Ahora ya programar esto 151 00:05:52,600 --> 00:05:54,279 Pues nada, contamos las vocales de una 152 00:05:54,279 --> 00:05:55,620 Contamos las vocales de otra 153 00:05:55,620 --> 00:05:56,800 Y lo hacemos 154 00:05:56,800 --> 00:06:00,259 Entonces en este caso nuestro 155 00:06:00,259 --> 00:06:01,680 Concreto, qué suerte 156 00:06:01,680 --> 00:06:04,319 porque tenemos una función 157 00:06:04,319 --> 00:06:06,060 ya hecha 158 00:06:06,060 --> 00:06:08,019 que cuenta las vocales de un nombre 159 00:06:08,019 --> 00:06:10,139 entonces 160 00:06:10,139 --> 00:06:12,660 ¿para qué repetir 161 00:06:12,660 --> 00:06:13,699 el código aquí otra vez? 162 00:06:13,860 --> 00:06:15,620 ya tengo yo una función que las cuenta 163 00:06:15,620 --> 00:06:17,000 que es justo lo que quiero hacer 164 00:06:17,000 --> 00:06:19,040 quiero contar las vocales de nombre 1 165 00:06:19,040 --> 00:06:21,339 quiero contar las vocales de nombre 2 166 00:06:21,339 --> 00:06:24,019 cuando las tenga quiero ver cuál de las dos tiene más 167 00:06:24,019 --> 00:06:25,420 si nombre 1 tiene más 168 00:06:25,420 --> 00:06:26,680 devuelvo nombre 1 169 00:06:26,680 --> 00:06:28,199 si no devuelvo nombre 2 170 00:06:28,199 --> 00:06:30,000 todo ese código tendría que hacerlo 171 00:06:30,000 --> 00:06:35,000 Pero, repito, como alguien ha hecho la función contar vocales 172 00:06:35,000 --> 00:06:37,160 Pues, magnífico 173 00:06:37,160 --> 00:06:41,459 Vamos a ver las vocales de la primera 174 00:06:41,459 --> 00:06:42,899 Lo voy a poner separadito en variables 175 00:06:42,899 --> 00:06:45,600 Aunque, pues para eso tenemos una función 176 00:06:45,600 --> 00:06:48,379 Que se llamaba contar vocales 177 00:06:48,379 --> 00:06:50,600 A la que le pasa 178 00:06:50,600 --> 00:06:54,540 Porque había dos versiones 179 00:06:54,540 --> 00:06:56,740 Ah, sí, porque la última es la que nos interesa 180 00:06:56,740 --> 00:06:59,839 Teníamos contar vocales versión 2 181 00:06:59,839 --> 00:07:01,600 Que ya me devuelve el numerito 182 00:07:01,600 --> 00:07:03,480 Que ya me devuelve el numerito 183 00:07:03,480 --> 00:07:05,819 Contar vocales, versión 2 184 00:07:05,819 --> 00:07:07,699 De nombre 1 185 00:07:07,699 --> 00:07:12,550 Pues estupendo, que suerte 186 00:07:12,550 --> 00:07:14,269 Que suerte que tengo esta función 187 00:07:14,269 --> 00:07:16,709 Que ya me lo hace, me cuenta las vocales de un nombre 188 00:07:16,709 --> 00:07:19,389 Luego la puedo llamar siempre que me haga falta 189 00:07:19,389 --> 00:07:22,000 Entonces 190 00:07:22,000 --> 00:07:23,040 Primera cosa 191 00:07:23,040 --> 00:07:25,420 Que buscaba con este ejemplo 192 00:07:25,420 --> 00:07:27,939 Pues que a una función yo la puedo llamar 193 00:07:27,939 --> 00:07:30,100 Desde cualquier sitio donde tenga que escribir código 194 00:07:30,100 --> 00:07:32,079 Y ese sitio puede ser mi propio main 195 00:07:32,079 --> 00:07:32,899 Como hemos hecho aquí 196 00:07:32,899 --> 00:07:35,459 mi propio main, yo he necesitado hacer algo 197 00:07:35,459 --> 00:07:36,959 que me lo hace una función y lo he llamado 198 00:07:36,959 --> 00:07:39,459 desde mi propio main, pero puede ser 199 00:07:39,459 --> 00:07:41,120 que también quiera yo hacer eso 200 00:07:41,120 --> 00:07:43,500 desde otra función, porque me interese 201 00:07:43,500 --> 00:07:44,819 pues magnífico 202 00:07:44,819 --> 00:07:47,439 yo llamo a esa función desde donde quiera 203 00:07:47,439 --> 00:07:49,399 desde la función 204 00:07:49,399 --> 00:07:51,060 main, que es una función también 205 00:07:51,060 --> 00:07:53,339 aunque sea especial, desde otra función 206 00:07:53,339 --> 00:07:55,480 desde donde yo quiera, siempre que necesite hacer eso 207 00:07:55,480 --> 00:07:57,439 pues en este caso necesito hacerlo 208 00:07:57,439 --> 00:07:58,720 aquí, pues magnífico 209 00:07:58,720 --> 00:08:00,399 y necesito hacerlo otra vez más 210 00:08:00,399 --> 00:08:11,269 Pues estupendo 211 00:08:11,269 --> 00:08:13,649 Ahora ya sí que puedo seguir haciendo mi función 212 00:08:13,649 --> 00:08:14,230 Que es 213 00:08:14,230 --> 00:08:15,889 Si v1 214 00:08:15,889 --> 00:08:19,870 Es mayor que v2 215 00:08:19,870 --> 00:08:21,850 Entonces 216 00:08:21,850 --> 00:08:24,529 Return 217 00:08:24,529 --> 00:08:26,089 Nombre1 218 00:08:26,089 --> 00:08:33,529 Else return 219 00:08:33,529 --> 00:08:38,200 Nombre2 220 00:08:38,200 --> 00:08:40,659 Y ya está 221 00:08:40,659 --> 00:08:44,000 Esta función se ha apoyado en la llamada esta 222 00:08:44,000 --> 00:08:46,639 La ha necesitado llamar dos veces 223 00:08:46,639 --> 00:08:49,879 para contar las de nombre 1, ¿vale? 224 00:08:49,899 --> 00:08:52,600 Yo he llamado a la función pasándole el dato que me interesaba. 225 00:08:53,080 --> 00:08:55,480 Aquí en este caso me interesaba nombre 1, pues ala. 226 00:08:56,039 --> 00:08:58,600 Aquí le he llamado pasándole el dato que me interesaba. 227 00:08:58,720 --> 00:09:00,419 Aquí me interesaba nombre 2, pues ala. 228 00:09:01,080 --> 00:09:03,860 Cuando ya tengo el resultado de estas dos llamadas 229 00:09:03,860 --> 00:09:04,919 guardado en una variable, 230 00:09:06,659 --> 00:09:09,799 pues comparo para ver cuál es el valor de retorno, 231 00:09:09,960 --> 00:09:14,720 el string de retorno, si nombre 1 o nombre 2, ¿vale? 232 00:09:14,720 --> 00:09:22,919 en esta función en particular 233 00:09:22,919 --> 00:09:25,179 claro, habría que especificar 234 00:09:25,179 --> 00:09:26,879 un poco más, porque me diríais 235 00:09:26,879 --> 00:09:28,759 uy, eso 236 00:09:28,759 --> 00:09:31,639 si tienen el mismo número de vocales 237 00:09:31,639 --> 00:09:33,120 pues claro 238 00:09:33,120 --> 00:09:35,440 en este caso devolvería el nombre 2 239 00:09:35,440 --> 00:09:37,179 entonces ahí tendríamos que preguntarle 240 00:09:37,179 --> 00:09:38,679 al que nos la ha pedido, decirle, oye 241 00:09:38,679 --> 00:09:41,240 si tiene el mismo número de vocales 242 00:09:41,240 --> 00:09:43,179 ¿cuál quieres que devuelva? 243 00:09:43,220 --> 00:09:45,379 entonces él te puede decir, pues cualquiera de las dos 244 00:09:45,379 --> 00:09:47,340 o no, o si tiene el mismo 245 00:09:47,340 --> 00:09:49,240 número de vocales, pues devuélveme nul 246 00:09:49,240 --> 00:09:50,240 por ejemplo 247 00:09:50,240 --> 00:09:53,879 en función de para lo que la quiera 248 00:09:53,879 --> 00:09:55,399 esa persona, esa función 249 00:09:55,399 --> 00:09:57,860 pues a lo mejor te puede decir, si tiene el mismo número de vocales 250 00:09:57,860 --> 00:09:59,419 devuélveme un string 251 00:09:59,419 --> 00:10:01,200 a lo mejor que ponga, tienen el mismo 252 00:10:01,200 --> 00:10:02,779 no sé, que te lo especifiquen 253 00:10:02,779 --> 00:10:04,059 entonces claro 254 00:10:04,059 --> 00:10:07,139 lo normal es que una función venga 255 00:10:07,139 --> 00:10:09,659 acompañada de una buena documentación 256 00:10:09,659 --> 00:10:10,179 delante 257 00:10:10,179 --> 00:10:12,440 para especificar 258 00:10:12,440 --> 00:10:15,000 qué significa el valor de retorno 259 00:10:15,000 --> 00:10:17,299 qué significa, porque hay veces 260 00:10:17,299 --> 00:10:19,159 que está claro, claro, aquí uno lee esto y dice 261 00:10:19,159 --> 00:10:22,299 contar vocales, hombre pues tiene toda la pinta 262 00:10:22,299 --> 00:10:25,279 que si a un método que se llama contar vocales 263 00:10:25,279 --> 00:10:28,320 yo le paso una cadena, pues me devuelve el número 264 00:10:28,320 --> 00:10:31,100 de vocales, más o menos lo puedo deducir 265 00:10:31,100 --> 00:10:32,799 porque si me devuelvo un número entiendo que es eso 266 00:10:32,799 --> 00:10:36,580 pero aquí pueden dar más dudas y si tienen el mismo 267 00:10:36,580 --> 00:10:40,100 ¿cuál me devuelve? la primera, la segunda, porque son cadenas distintas 268 00:10:40,100 --> 00:10:43,299 entonces habría una confusión, yo podría creer que la primera 269 00:10:43,299 --> 00:10:45,659 tiene más y la verdad es que tiene la misma 270 00:10:45,659 --> 00:10:48,899 que la otra, entonces no siempre 271 00:10:48,899 --> 00:10:51,200 la cabecera especifica 272 00:10:51,200 --> 00:10:53,139 completamente el funcionamiento, es imposible 273 00:10:53,139 --> 00:10:55,259 no puedo deducir yo todos los detalles 274 00:10:55,259 --> 00:10:56,720 del funcionamiento, todos 275 00:10:56,720 --> 00:10:59,340 solo con el nombre, los parámetros 276 00:10:59,340 --> 00:11:00,139 el resultado 277 00:11:00,139 --> 00:11:02,600 bueno pues para eso lo mejor es 278 00:11:02,600 --> 00:11:04,299 hacerle una buena documentación 279 00:11:04,299 --> 00:11:10,230 y la documentación de 280 00:11:10,230 --> 00:11:10,830 javadoc 281 00:11:10,830 --> 00:11:14,330 se hace, son comentarios 282 00:11:14,330 --> 00:11:15,309 especiales 283 00:11:15,309 --> 00:11:18,330 que empiezan en lugar de 284 00:11:18,330 --> 00:11:20,070 con la barra y un único asterisco 285 00:11:20,070 --> 00:11:22,230 empiezan con la barra 286 00:11:22,230 --> 00:11:24,210 y dos asteriscos, empiezan así 287 00:11:24,210 --> 00:11:26,450 y además 288 00:11:26,450 --> 00:11:30,009 si tú sigues 289 00:11:30,009 --> 00:11:31,309 un formato concreto 290 00:11:31,309 --> 00:11:34,090 tú sigues un formato, pues luego 291 00:11:34,090 --> 00:11:35,970 a partir de estos comentarios 292 00:11:35,970 --> 00:11:38,070 usando la herramienta Javadoc puedes 293 00:11:38,070 --> 00:11:39,990 crear unas páginas 294 00:11:39,990 --> 00:11:42,110 HTML que te documentan todo muy bien 295 00:11:42,110 --> 00:11:44,230 creo que al principio lo mencionamos 296 00:11:44,230 --> 00:11:46,429 pero vamos a volver a revisarlo 297 00:11:46,429 --> 00:11:48,049 por ejemplo, aquí esto me ha hecho 298 00:11:48,049 --> 00:11:48,789 una magia, ¿no? 299 00:11:48,789 --> 00:11:52,330 yo le he hecho la barra y dos asteriscos 300 00:11:52,330 --> 00:11:53,470 y le he dado al enter 301 00:11:53,470 --> 00:11:55,970 y el eclipse es muy listo 302 00:11:55,970 --> 00:11:58,250 porque al ver que yo he hecho la barra 303 00:11:58,250 --> 00:11:59,970 y dos asteriscos dice, ah, que quieres hacer 304 00:11:59,970 --> 00:12:01,990 comentario javadoc, entonces es muy listo 305 00:12:01,990 --> 00:12:04,250 entonces en cuanto yo le he hecho el enter, él ya me ha creado 306 00:12:04,250 --> 00:12:04,889 todo esto 307 00:12:04,889 --> 00:12:08,070 y me ha creado todo esto mirando 308 00:12:08,070 --> 00:12:10,649 la cabecera de la función que quiero documentar 309 00:12:10,649 --> 00:12:12,009 y me ha dicho, vale 310 00:12:12,009 --> 00:12:14,009 esta función tiene dos parámetros 311 00:12:14,009 --> 00:12:15,309 nombre1 y nombre2 312 00:12:15,309 --> 00:12:17,909 y tiene una vuelta, return 313 00:12:17,909 --> 00:12:19,350 Vale, entonces me ha dicho 314 00:12:19,350 --> 00:12:20,850 Ahora tú aquí añade lo que quieras 315 00:12:20,850 --> 00:12:23,009 Entonces lo normal es que añadieramos 316 00:12:23,009 --> 00:12:25,850 El primer nombre 317 00:12:25,850 --> 00:12:28,269 O lo que 318 00:12:28,269 --> 00:12:31,009 Sea que signifique ese parámetro 319 00:12:31,009 --> 00:12:35,340 El segundo nombre 320 00:12:35,340 --> 00:12:37,139 Y aquí es donde ponemos todo el rollo 321 00:12:37,139 --> 00:12:37,899 ¿Qué devuelve? 322 00:12:38,360 --> 00:12:39,080 Devuelve 323 00:12:39,080 --> 00:12:43,340 El nombre con más vocales 324 00:12:44,019 --> 00:12:46,899 Y aquí es donde especificamos 325 00:12:46,899 --> 00:12:48,179 Si tienen el mismo 326 00:12:48,179 --> 00:12:58,840 devuelve 327 00:12:58,840 --> 00:13:01,460 null, por ejemplo. 328 00:13:02,039 --> 00:13:03,580 Lo que decidamos, lo que acordemos 329 00:13:03,580 --> 00:13:04,820 con la persona que os lo ha pedido. 330 00:13:04,919 --> 00:13:06,759 Si tienen el mismo número de vocales, devuelve null. 331 00:13:07,179 --> 00:13:09,860 Y podemos poner más cosas, más lo que queramos. 332 00:13:11,799 --> 00:13:12,240 Entonces, 333 00:13:12,879 --> 00:13:15,480 si cambiamos el código 334 00:13:15,480 --> 00:13:19,370 de la función 335 00:13:19,370 --> 00:13:20,850 para que ya haga esto 336 00:13:20,850 --> 00:13:23,029 que hemos dicho, 337 00:13:23,929 --> 00:13:24,850 pues entonces, si cambiamos 338 00:13:24,850 --> 00:13:26,470 el código de la función para que haga eso, 339 00:13:26,470 --> 00:13:29,169 Pues entonces tendríamos que poner 340 00:13:29,169 --> 00:13:30,009 El save 341 00:13:30,009 --> 00:13:31,950 V2 342 00:13:31,950 --> 00:13:35,169 V2 343 00:13:35,169 --> 00:13:36,710 Mayor que V1 344 00:13:36,710 --> 00:13:38,809 Entonces ahora sí, return nombre 2 345 00:13:38,809 --> 00:13:42,580 Y ahora ya en el else 346 00:13:42,580 --> 00:13:44,740 Ahora sí, return null 347 00:13:44,740 --> 00:13:46,360 Que stream puede tener null 348 00:13:46,360 --> 00:13:47,059 Porque es un objeto 349 00:13:47,059 --> 00:13:50,480 Vale, entonces este código que hemos puesto 350 00:13:50,480 --> 00:13:52,460 Ahora, ¿no? Si V1 es mayor que V2, la primera 351 00:13:52,460 --> 00:13:53,779 Si no, la segunda 352 00:13:53,779 --> 00:13:56,659 Y si tienen el mismo, devuelve null 353 00:13:56,659 --> 00:13:58,039 Entonces este código que hemos hecho 354 00:13:58,039 --> 00:14:00,519 ya si hace exactamente lo que hemos documentado 355 00:14:00,519 --> 00:14:03,720 entonces ahora ya 356 00:14:03,720 --> 00:14:05,399 la persona que usa esta función 357 00:14:05,399 --> 00:14:06,620 solo necesita 358 00:14:06,620 --> 00:14:08,200 la cabecera 359 00:14:08,200 --> 00:14:11,340 para saber como llamarlo y todo eso 360 00:14:11,340 --> 00:14:13,659 y esta documentación para entender 361 00:14:13,659 --> 00:14:15,399 bien exactamente que hace la función 362 00:14:15,399 --> 00:14:17,460 y con eso ya decidir si le interesa 363 00:14:17,460 --> 00:14:19,500 si hace lo que quiere, si no hace lo que quiere, si la usa 364 00:14:19,500 --> 00:14:20,019 y todo eso 365 00:14:20,019 --> 00:14:24,750 entonces si estos comentarios javado que están 366 00:14:24,750 --> 00:14:26,149 pues hechos bien 367 00:14:26,149 --> 00:14:28,509 con esto de aquí que indica 368 00:14:28,509 --> 00:14:30,789 cada parámetro de entrada 369 00:14:30,789 --> 00:14:32,350 esto que indica el valor de retorno 370 00:14:32,350 --> 00:14:34,529 hay más posibilidades, pues un throw 371 00:14:34,529 --> 00:14:36,710 parece la excepción, historias raras que 372 00:14:36,710 --> 00:14:37,610 veremos 373 00:14:37,610 --> 00:14:40,009 pues uno podría 374 00:14:40,009 --> 00:14:43,090 si ya tiene un montón de funciones documentadas 375 00:14:43,090 --> 00:14:44,529 con javadoc, tiene un montón de funciones 376 00:14:44,529 --> 00:14:46,950 ya podría decir, mira, voy a generar ya 377 00:14:46,950 --> 00:14:47,950 mi documentación 378 00:14:47,950 --> 00:14:50,830 y ya la cuelgo 379 00:14:50,830 --> 00:14:52,929 la pongo en un servidor y ya quien use 380 00:14:52,929 --> 00:14:54,690 estas funciones, pues ya entra ahí 381 00:14:54,690 --> 00:14:56,850 y lo mira, y ya sabe si esa función 382 00:14:56,850 --> 00:14:58,110 le vale, no le vale y ya está 383 00:14:58,110 --> 00:15:00,409 y no tiene que entrar al código a mirarlo 384 00:15:00,409 --> 00:15:03,070 ¿por qué? porque el código no lo distribuimos 385 00:15:03,070 --> 00:15:04,889 nosotros cuando distribuimos 386 00:15:04,889 --> 00:15:06,909 una librería de funciones como esta 387 00:15:06,909 --> 00:15:08,730 distribuimos ya el compilado 388 00:15:08,730 --> 00:15:09,529 el .class 389 00:15:09,529 --> 00:15:12,750 el código fuente no lo distribuimos 390 00:15:12,750 --> 00:15:13,450 el .class 391 00:15:13,450 --> 00:15:16,090 entonces el que vaya a usar esas funciones 392 00:15:16,090 --> 00:15:18,210 no tiene acceso a esto de dentro 393 00:15:18,210 --> 00:15:20,549 entonces la única manera que tiene de ver 394 00:15:20,549 --> 00:15:22,750 si esa función le interesa para meterla 395 00:15:22,750 --> 00:15:23,309 en su código 396 00:15:23,309 --> 00:15:26,970 es la cabecera y la documentación 397 00:15:26,970 --> 00:15:29,230 javado, entonces por eso distribuimos 398 00:15:29,230 --> 00:15:32,029 las funciones compiladas 399 00:15:32,029 --> 00:15:33,870 ya veremos como, toda la librería 400 00:15:33,870 --> 00:15:35,830 de funciones metida en un hard, distribuimos 401 00:15:35,830 --> 00:15:37,090 eso, ya compiladas 402 00:15:37,090 --> 00:15:39,629 y el javadoc, para que el que 403 00:15:39,629 --> 00:15:41,389 descargue esas 404 00:15:41,389 --> 00:15:44,070 esas funciones 405 00:15:44,070 --> 00:15:45,309 sepa si la interesa o no 406 00:15:45,309 --> 00:15:48,070 entonces ese javadoc, pues desde la consola 407 00:15:48,070 --> 00:15:49,809 con javadoc es muy fácil generarlo 408 00:15:49,809 --> 00:15:52,009 y si tenemos un eclipse, pues también lo podemos 409 00:15:52,009 --> 00:15:53,769 generar con project 410 00:15:53,769 --> 00:15:56,110 generar javadoc 411 00:15:56,110 --> 00:15:57,629 y aquí ya le decimos 412 00:15:57,629 --> 00:15:59,850 Venga, ¿de qué clase quieres generar 413 00:15:59,850 --> 00:16:01,629 Javadoc? ¿De qué paquete? 414 00:16:01,750 --> 00:16:03,210 Del único que tenemos, de funciones 415 00:16:03,210 --> 00:16:05,509 De paquete, pues venga 416 00:16:05,509 --> 00:16:07,210 ¿Dónde lo quieres 417 00:16:07,210 --> 00:16:09,690 Meter? Pues 418 00:16:09,690 --> 00:16:11,990 Lo vamos a poner en el escritorio 419 00:16:11,990 --> 00:16:12,549 Para 420 00:16:12,549 --> 00:16:15,450 Encontrarlo ahora rápido 421 00:16:15,450 --> 00:16:17,789 Lo ponemos 422 00:16:17,789 --> 00:16:19,250 En el escritorio 423 00:16:19,250 --> 00:16:23,639 Doc, por ejemplo 424 00:16:23,639 --> 00:16:33,750 Bueno, yo creo que me creará el 1 425 00:16:33,750 --> 00:16:36,230 No creo que me meta todos los HTML así a lo bestia 426 00:16:36,230 --> 00:16:37,470 Supongo que no 427 00:16:37,470 --> 00:16:39,629 Así que lo pongo en el escritorio directamente 428 00:16:39,629 --> 00:16:42,250 Pero bueno, porque me dice que no existe 429 00:16:42,250 --> 00:16:47,710 Estoy en el escritorio mío, ¿no? 430 00:16:48,529 --> 00:16:49,169 Debería dejar 431 00:16:49,169 --> 00:16:51,049 Crear una carpeta 432 00:16:51,049 --> 00:16:53,129 Precisamente no te la he creado 433 00:16:53,129 --> 00:16:55,490 Ah, ahora sí me ha dejado, no sé antes qué estaba haciendo 434 00:16:55,490 --> 00:16:56,389 No, no, estaba de igual 435 00:16:56,389 --> 00:16:59,250 Bueno, en el escritorio, pues espera 436 00:16:59,250 --> 00:17:01,450 Entonces ahora ya sí que le voy a poner una carpeta por si acaso 437 00:17:01,450 --> 00:17:03,409 Vale, doc 438 00:17:03,409 --> 00:17:06,329 Next, todo por defecto 439 00:17:06,329 --> 00:17:07,950 Porque no nos interesan los detalles 440 00:17:07,950 --> 00:17:09,470 Next, finish 441 00:17:09,470 --> 00:17:11,750 Sobrescribe todo lo que haya si hubiera algo 442 00:17:11,750 --> 00:17:13,970 Bla, bla, bla 443 00:17:13,970 --> 00:17:15,849 Warning, warning, warning 444 00:17:15,849 --> 00:17:18,390 Me parece que hay apuntes 445 00:17:18,390 --> 00:17:20,430 Relajaos 446 00:17:20,430 --> 00:17:23,049 Warning 447 00:17:23,049 --> 00:17:25,990 Uy, no comment, que peligro 448 00:17:25,990 --> 00:17:26,910 Bueno, da igual 449 00:17:26,910 --> 00:17:30,150 Generating, generating, generating 450 00:17:30,150 --> 00:17:31,390 Vale, pues vamos 451 00:17:31,390 --> 00:17:33,190 Entonces, Doc, ¿dónde está? Aquí 452 00:17:33,190 --> 00:17:36,109 Doc 453 00:17:36,109 --> 00:17:38,529 Todas estas pedazos de páginas 454 00:17:38,529 --> 00:17:40,190 Se ha generado solo para una clase 455 00:17:40,190 --> 00:17:41,029 Que he documentado 456 00:17:41,029 --> 00:17:42,849 Y dentro de esa clase un único método 457 00:17:42,849 --> 00:17:45,690 Vale, el punto de partida index, como ya sabéis 458 00:17:45,690 --> 00:17:48,170 Arrancamos index y aquí tenemos 459 00:17:48,170 --> 00:17:49,849 Toda, ejemplo funciones 460 00:17:49,849 --> 00:17:51,150 Vamos a ver que tiene ejemplo funciones 461 00:17:51,150 --> 00:17:52,950 Que me he descargado ese hard de un lado 462 00:17:52,950 --> 00:17:54,869 Pues que tiene, ah pues mira 463 00:17:54,869 --> 00:17:58,349 Tiene un método que se llama ejemplo funciones 464 00:17:58,349 --> 00:17:59,230 Y 465 00:17:59,230 --> 00:18:01,349 En 466 00:18:01,349 --> 00:18:03,970 Sí, pero no lo ha generado bien porque 467 00:18:03,970 --> 00:18:06,309 Tendría que 468 00:18:06,309 --> 00:18:12,700 Haberme sacado el 469 00:18:12,700 --> 00:18:17,200 Ejemplo de funciones 470 00:18:17,200 --> 00:18:17,920 ¿Dónde está? 471 00:18:21,450 --> 00:18:22,470 ¿Cómo se llama este proyecto? 472 00:18:22,869 --> 00:18:24,369 Ejemplo clase funciones 473 00:18:24,369 --> 00:18:33,529 Ejemplo clase funciones 474 00:18:33,529 --> 00:18:34,329 Aquí está 475 00:18:34,329 --> 00:18:35,990 Vale 476 00:18:35,990 --> 00:18:39,109 Ejemplo clase funciones 477 00:18:39,109 --> 00:18:43,710 No sé por qué tontería no me lo habrá generado bien 478 00:18:43,710 --> 00:18:44,529 A ver 479 00:18:44,529 --> 00:18:45,750 Que me dice aquí 480 00:18:45,750 --> 00:18:49,529 Building index para todas las clases 481 00:18:49,529 --> 00:18:58,519 Vale, vale, no hay comentarios 482 00:18:58,519 --> 00:18:59,019 Vale 483 00:18:59,019 --> 00:19:02,319 Ah, vale, vale, vale, porque no eran públicos 484 00:19:02,319 --> 00:19:04,559 Y le he marcado que me documentara solo los públicos 485 00:19:04,559 --> 00:19:06,599 Vale, vale, vale, vamos a volver a generarlo 486 00:19:06,599 --> 00:19:08,299 Vale, debe ser por eso 487 00:19:08,299 --> 00:19:10,880 Vale, proyecto lo vamos a generar 488 00:19:10,880 --> 00:19:11,779 Que esto es muy rápido 489 00:19:11,779 --> 00:19:16,559 Vale, entonces veis 490 00:19:16,559 --> 00:19:18,619 aquí está marcado public 491 00:19:18,619 --> 00:19:20,779 solo los métodos que tengan el public 492 00:19:20,779 --> 00:19:22,480 delante y el que yo he hecho 493 00:19:22,480 --> 00:19:24,460 esa función que yo he hecho no tenía el public delante 494 00:19:24,460 --> 00:19:26,039 esto ya lo entenderemos más 495 00:19:26,039 --> 00:19:27,900 entonces le voy a poner todos, todos 496 00:19:27,900 --> 00:19:30,740 aquí, vale 497 00:19:30,740 --> 00:19:34,640 generado 498 00:19:34,640 --> 00:19:36,980 y ahora volvemos a 499 00:19:36,980 --> 00:19:38,500 sí, bueno 500 00:19:38,500 --> 00:19:42,160 me meto en ejemplo funciones 501 00:19:42,160 --> 00:19:43,539 y ahora ya sí, vale 502 00:19:43,539 --> 00:19:45,880 ahora me ha documentado todo lo que tengo 503 00:19:45,880 --> 00:19:47,859 y en particular el método 504 00:19:47,859 --> 00:19:49,039 Que yo había documentado 505 00:19:49,039 --> 00:19:51,519 Que era el de más vocales 506 00:19:51,519 --> 00:19:53,380 Este ya sí que tiene documentación 507 00:19:53,380 --> 00:19:55,519 El primer nombre, el segundo 508 00:19:55,519 --> 00:19:57,319 Devuelve el nombre con más vocales 509 00:19:57,319 --> 00:19:58,759 Entonces me lo deja ahí todo muy bonito 510 00:19:58,759 --> 00:20:00,559 Antes no más, ¿vale? 511 00:20:01,980 --> 00:20:02,920 Entonces esto es 512 00:20:02,920 --> 00:20:05,140 Si uno se acostumbra a todos los métodos 513 00:20:05,140 --> 00:20:07,019 Y todas las cosas que haga con documentación 514 00:20:07,019 --> 00:20:08,279 Luego, pa, le da al botoncito 515 00:20:08,279 --> 00:20:09,519 Y tiene ya un sitio web 516 00:20:09,519 --> 00:20:11,039 Bueno, para subir a un sitio web 517 00:20:11,039 --> 00:20:12,539 Con toda la documentación 518 00:20:12,539 --> 00:20:15,079 Y el que quiera, pues ya, mira aquí 519 00:20:15,079 --> 00:20:18,619 Bueno, pues entonces todo este rollo venía 520 00:20:18,619 --> 00:20:19,960 Por lo de las funciones 521 00:20:19,960 --> 00:20:20,519 Pues venga 522 00:20:20,519 --> 00:20:23,740 Vale, más funciones 523 00:20:23,740 --> 00:20:26,200 Ahora, muchos de los códigos que hemos hecho 524 00:20:26,200 --> 00:20:27,579 Nosotros, de los vídeos que hemos hecho 525 00:20:27,579 --> 00:20:30,319 Pues contar cuántos primos hay 526 00:20:30,319 --> 00:20:31,680 No sé qué hemos dicho, hay pues 527 00:20:31,680 --> 00:20:34,259 Un contador, cada número que me va llegando 528 00:20:34,259 --> 00:20:35,619 Tengo que mirar si es primo o no 529 00:20:35,619 --> 00:20:37,799 Entonces, para ver si es primo 530 00:20:37,799 --> 00:20:39,359 De nuevo teníamos que hacer otro código 531 00:20:39,359 --> 00:20:41,440 Hubiera sido todo mucho más bonito si hubiéramos dicho 532 00:20:41,440 --> 00:20:43,519 Ah, vale, por ejemplo, ser primo 533 00:20:43,519 --> 00:20:45,799 lo voy a meter en un método 534 00:20:45,799 --> 00:20:47,660 aparte, y ahora ya en mi programa 535 00:20:47,660 --> 00:20:49,859 lo único que hago es, leo los números 536 00:20:49,859 --> 00:20:51,539 y llamo al método a ver si es primo o no 537 00:20:51,539 --> 00:20:53,240 pues venga, por ejemplo 538 00:20:53,240 --> 00:20:55,880 vamos a hacer ahora 539 00:20:55,880 --> 00:20:57,299 antes de hacer ya ejercicio más 540 00:20:57,299 --> 00:20:59,680 ¿puedes crear una clase 541 00:20:59,680 --> 00:21:00,400 solo para funciones? 542 00:21:00,859 --> 00:21:03,640 claro, y luego lo que pasa 543 00:21:03,640 --> 00:21:05,420 es que la forma de llamarla no sería como 544 00:21:05,420 --> 00:21:07,619 lo estamos llamando aquí, porque aquí la estamos llamando 545 00:21:07,619 --> 00:21:09,160 por su nombre 546 00:21:09,160 --> 00:21:10,200 sin más 547 00:21:10,200 --> 00:21:12,859 habría que poner el paquete donde está 548 00:21:12,859 --> 00:21:19,480 habría que más que el paquete la clase claro cuando ya programamos en diferentes clases vale 549 00:21:19,480 --> 00:21:24,960 o sea esto que estamos haciendo aquí de llamarlo así con más vocales en lo que está haciendo es 550 00:21:24,960 --> 00:21:32,420 como no le estás diciendo dónde está asumo que estás aquí y te pone por defecto el nombre de 551 00:21:32,420 --> 00:21:46,460 tu clase ejemplo funciones es decir realmente yo debería llamarla así con el nombre de la clase 552 00:21:46,460 --> 00:21:52,519 en la que está pero si yo no pongo nada él asume que por defecto entonces la busquen esa clase 553 00:21:52,519 --> 00:21:59,579 vale entonces yo aquí en este caso como en este caso como solo trabajamos con una clase no estoy 554 00:21:59,579 --> 00:22:01,640 poniendo nada, porque lo que nos interesa ahora mismo 555 00:22:01,640 --> 00:22:03,119 es sobre todo ver 556 00:22:03,119 --> 00:22:05,420 cómo se pasan parámetros a una función 557 00:22:05,420 --> 00:22:07,099 y cómo se recoge el valor de retorno 558 00:22:07,099 --> 00:22:08,599 pues venga 559 00:22:08,599 --> 00:22:17,640 claro, de hecho, lo primero que vamos a 560 00:22:17,640 --> 00:22:18,539 hacer cuando ya 561 00:22:18,539 --> 00:22:21,339 podamos hacerlo en clases separadas e importar el 562 00:22:21,339 --> 00:22:23,539 JAR y todo eso, es crearnos nosotros 563 00:22:23,539 --> 00:22:25,519 nuestras propias funciones 564 00:22:25,519 --> 00:22:27,579 de librería para leer del teclado 565 00:22:27,579 --> 00:22:28,960 así no tenemos que estar todo el rato 566 00:22:28,960 --> 00:22:31,619 con el escáner, con no sé qué, una función de librería 567 00:22:31,619 --> 00:22:33,279 que sea leer número entero y ya está 568 00:22:33,279 --> 00:22:35,680 y me despreocupo de tener que hacer el escáner 569 00:22:35,680 --> 00:22:37,519 cada vez, del next line si hay un salto 570 00:22:37,519 --> 00:22:38,559 de líneas y no sé qué 571 00:22:38,559 --> 00:22:41,480 nos hacemos leer entero, y cuando tenga que leer entero 572 00:22:41,480 --> 00:22:42,640 pongo leer entero y ya está 573 00:22:42,640 --> 00:22:45,000 que si puedo, ¿qué? 574 00:22:46,180 --> 00:22:47,180 abusar de funciones 575 00:22:47,180 --> 00:22:48,579 puedo abusar de cualquiera 576 00:22:48,579 --> 00:22:53,140 hombre, a ver 577 00:22:53,140 --> 00:22:55,400 eso es un tema de diseño, tú cuando tienes que hacer 578 00:22:55,400 --> 00:22:57,519 una aplicación, haces un diseño 579 00:22:57,519 --> 00:22:59,200 y ese diseño significa 580 00:22:59,200 --> 00:23:01,460 cómo voy a distribuir el código 581 00:23:01,460 --> 00:23:03,440 entonces tú, claro, cuanto más 582 00:23:03,440 --> 00:23:05,000 separado esté el código, mejor 583 00:23:05,000 --> 00:23:07,539 hombre, sin pasarse, que haya 200.000 funciones 584 00:23:07,539 --> 00:23:08,700 de una línea cada una, tampoco 585 00:23:08,700 --> 00:23:11,319 pero sí, cuanto más modular sea mejor 586 00:23:11,319 --> 00:23:11,799 ¿vale? 587 00:23:13,140 --> 00:23:14,940 ¿en futuros exámenes? 588 00:23:17,000 --> 00:23:17,920 ¿en algún otro? 589 00:23:22,720 --> 00:23:23,519 ya veremos 590 00:23:23,519 --> 00:23:24,559 en futuros exámenes 591 00:23:24,559 --> 00:23:27,460 no, no, no, a ver 592 00:23:27,460 --> 00:23:29,539 es que lo que pase en el futuro no lo sabe 593 00:23:29,539 --> 00:23:31,059 nadie, me refiero que 594 00:23:31,059 --> 00:23:32,640 tú tranquilo 595 00:23:32,640 --> 00:23:35,680 pues ya está, pues sigue tranquilo 596 00:23:35,680 --> 00:23:38,720 vale 597 00:23:38,720 --> 00:23:42,910 es que dependerá de la situación 598 00:23:42,910 --> 00:23:43,769 ya iremos viendo 599 00:23:43,769 --> 00:23:48,150 a mí déjame 600 00:23:48,150 --> 00:23:51,450 a mí mínteme 601 00:23:51,450 --> 00:23:52,230 dime que sí 602 00:23:52,230 --> 00:23:54,210 y yo con eso me quedo tranquilo 603 00:23:54,210 --> 00:23:57,109 vale 604 00:23:57,109 --> 00:23:58,250 bueno, pues venga 605 00:23:58,250 --> 00:24:00,329 ahora me vais a hacer, por ejemplo 606 00:24:00,329 --> 00:24:01,470 hemos hecho 607 00:24:01,470 --> 00:24:05,549 funciones que contaban 608 00:24:05,549 --> 00:24:07,349 números primos, lo que fuera, pues venga 609 00:24:07,349 --> 00:24:09,369 siguiente función, vamos a hacer 610 00:24:09,369 --> 00:24:09,869 una 611 00:24:09,869 --> 00:24:12,730 o vais a hacer una función 612 00:24:12,730 --> 00:24:15,980 que 613 00:24:15,980 --> 00:24:22,759 devuelve, que indica 614 00:24:22,759 --> 00:24:24,140 dicho de alguna manera, si 615 00:24:24,140 --> 00:24:28,369 un número entero 616 00:24:28,369 --> 00:24:29,710 es 617 00:24:29,710 --> 00:24:32,329 o no primo 618 00:24:32,329 --> 00:24:34,869 ¿vale? 619 00:24:35,289 --> 00:24:36,730 eso es lo que tiene que hacer la función 620 00:24:36,730 --> 00:24:40,269 esto que está aquí escrito 621 00:24:40,269 --> 00:24:44,710 eso 622 00:24:44,710 --> 00:24:47,980 entonces 623 00:24:47,980 --> 00:24:49,660 si ponemos la cabecera 624 00:24:49,660 --> 00:24:51,960 exprimo 625 00:24:51,960 --> 00:24:53,839 pues la cabecera 626 00:24:53,839 --> 00:24:56,319 uno le pone el nombre 627 00:24:56,319 --> 00:24:58,460 que más le guste, en este caso está claro 628 00:24:58,460 --> 00:25:00,000 el valor de entrada 629 00:25:00,000 --> 00:25:01,940 un número entero 630 00:25:01,940 --> 00:25:04,720 y el valor de retorno 631 00:25:04,720 --> 00:25:06,160 en este caso, ¿cuál pondríais? 632 00:25:06,160 --> 00:25:11,339 eso 633 00:25:11,339 --> 00:25:13,279 muy bien 634 00:25:13,279 --> 00:25:15,240 o sea la función me tiene que decir 635 00:25:15,240 --> 00:25:16,180 sí o no 636 00:25:16,180 --> 00:25:18,299 es lo que me tiene que decir la función 637 00:25:18,299 --> 00:25:19,279 sí o no 638 00:25:19,279 --> 00:25:21,440 si algo pasa o no pasa 639 00:25:21,440 --> 00:25:22,680 no es que me tenga que volver un número 640 00:25:22,680 --> 00:25:23,500 una cadena 641 00:25:23,500 --> 00:25:25,240 me tiene que decir si algo pasa o no pasa 642 00:25:25,240 --> 00:25:26,960 vale pues boolean 643 00:25:26,960 --> 00:25:28,099 y ahora ya 644 00:25:28,099 --> 00:25:30,920 esta función 645 00:25:30,920 --> 00:25:32,900 ya hará lo que sea con este número 646 00:25:32,900 --> 00:25:33,759 vale 647 00:25:33,759 --> 00:25:35,940 entonces 648 00:25:35,940 --> 00:25:37,859 en este caso 649 00:25:37,859 --> 00:25:38,819 pues esta función 650 00:25:38,819 --> 00:25:40,119 Tendrá como parámetro 651 00:25:40,119 --> 00:25:44,420 Un número entero 652 00:25:44,420 --> 00:25:46,380 Y que devuelve 653 00:25:46,380 --> 00:25:50,460 Pues devuelve 654 00:25:50,460 --> 00:25:56,900 True si es primo 655 00:25:56,900 --> 00:25:58,680 False si no 656 00:25:58,680 --> 00:26:00,079 Por ejemplo 657 00:26:00,079 --> 00:26:02,140 Pues esta sería la documentación 658 00:26:02,140 --> 00:26:04,680 Vale, pues venga 659 00:26:04,680 --> 00:26:08,140 Venga, hace de este código 660 00:26:08,140 --> 00:26:10,440 De aquí a las 11 661 00:26:10,440 --> 00:26:12,799 Que luego lo vamos a usar en otra función 662 00:26:12,799 --> 00:26:18,259 ¿Cuánto tiempo tenemos? 663 00:26:19,019 --> 00:26:20,140 Pues de aquí a las 11 664 00:26:20,140 --> 00:26:20,900 Por ejemplo 665 00:26:20,900 --> 00:26:21,900 Gracias.