1 00:00:00,000 --> 00:00:05,000 Vale, pues nos quedamos con este antes de irnos. 2 00:00:05,000 --> 00:00:11,000 Entonces, a ver, la pregunta de siempre. 3 00:00:11,000 --> 00:00:18,000 ¿Quién lo ha hecho completo sin copiarlo y sin de otro? 4 00:00:18,000 --> 00:00:23,000 Levantadla más, que no veo. 5 00:00:24,000 --> 00:00:26,000 Hablo del 11. 6 00:00:26,000 --> 00:00:30,000 No, perdón, hablo de este, de este. 7 00:00:30,000 --> 00:00:34,000 El 10. 8 00:00:34,000 --> 00:00:37,000 De este 10 hablo. 9 00:00:47,000 --> 00:00:49,000 Vale. 10 00:00:50,000 --> 00:00:55,000 Bueno, y quien no lo ha hecho, ¿por qué no lo ha hecho? 11 00:00:55,000 --> 00:00:57,000 ¿Por qué no lo ha intentado? 12 00:00:57,000 --> 00:00:59,000 No es para poner nota, es para saber. 13 00:00:59,000 --> 00:01:04,000 ¿Por qué no lo ha intentado quién? 14 00:01:04,000 --> 00:01:07,000 ¿Por qué no lo ha intentado uno? 15 00:01:07,000 --> 00:01:11,000 ¿Por qué lo ha intentado y no le ha salido? 16 00:01:11,000 --> 00:01:18,000 ¿Por qué lo ha intentado más de tres horas y no le ha salido? 17 00:01:18,000 --> 00:01:21,000 Siendo sincero, ¿sí? 18 00:01:21,000 --> 00:01:27,000 ¿Tú lo has intentado más de tres horas y no le ha salido? 19 00:01:27,000 --> 00:01:33,000 Bueno, a ver, vamos a ver. 20 00:01:33,000 --> 00:01:40,000 Pues venga, este ejercicio. 21 00:01:40,000 --> 00:01:43,000 Ejercicio 10. 22 00:01:48,000 --> 00:01:58,000 A ver, primero se le ha enunciado y se intenta entender lo que dice. 23 00:01:58,000 --> 00:02:07,000 Leer de forma repetida un número N significa, vamos a leer un montón de veces un número, cada vez uno diferente, claro. 24 00:02:07,000 --> 00:02:11,000 Introduzca número, tal, introduzca número, tal, introduzca número, tal. 25 00:02:12,000 --> 00:02:19,000 Ahí ya, según leemos eso, ya empezamos a visualizar mentalmente que nuestro programa va a tener un bucle 26 00:02:19,000 --> 00:02:23,000 que va a estar ahí pidiendo número, leyéndolo, pidiendo número, leyéndolo. 27 00:02:23,000 --> 00:02:26,000 Ya lo empezamos a visualizar. 28 00:02:26,000 --> 00:02:29,000 Y luego nos dice, ¿y qué hacemos con cada número N? 29 00:02:29,000 --> 00:02:32,000 Pues con cada número N tienes que hacer bla, bla, bla. 30 00:02:32,000 --> 00:02:35,000 Vale, pues ya haremos ese bla, bla, bla. 31 00:02:35,000 --> 00:02:39,000 Pero ya la primera plantilla de mi programa ya la tengo hecha. 32 00:02:39,000 --> 00:02:44,000 Programa que lea de forma repetida un número N y con ese número N haga bla, bla, bla. 33 00:02:44,000 --> 00:02:46,000 Bueno, pues ya resolveremos ese bla, bla, bla. 34 00:02:46,000 --> 00:02:49,000 Pero mi programa ya viene a hacer esto. 35 00:03:09,000 --> 00:03:12,000 Vale, pues de forma repetida tenemos que leer un número N. 36 00:03:12,000 --> 00:03:15,000 De forma repetida significa hacerlo varias veces. 37 00:03:15,000 --> 00:03:17,000 Eso significa que voy a tener un bucle. 38 00:03:17,000 --> 00:03:24,000 Bueno, pues un montón de veces, un montón de veces, no sé cuántas, eso dependerá de la condición que yo ponga aquí, 39 00:03:24,000 --> 00:03:26,000 un montón de veces tendré que hacer. 40 00:03:26,000 --> 00:03:29,000 Introduzca número. 41 00:03:32,000 --> 00:03:33,000 Y leyéndolo. 42 00:03:33,000 --> 00:03:37,000 Como vamos a leer, pues copiamos un escáner por ahí. 43 00:03:40,000 --> 00:03:45,000 ¿Dónde tengo el escáner? ¿No tengo ningún escáner por ahí puesto? 44 00:03:45,000 --> 00:03:48,000 Ah, coño, está ahí. Vale. 45 00:03:53,000 --> 00:03:55,000 Introduzca número. 46 00:03:55,000 --> 00:04:00,000 Venga, int N igual a scan punto next int. 47 00:04:00,000 --> 00:04:05,000 Vale, ya tenemos bastante hecho en realidad el programa. 48 00:04:05,000 --> 00:04:10,000 Tenemos lo más importante, que es que ya le he dado una primera plantilla, una primera arquitectura, 49 00:04:10,000 --> 00:04:13,000 que es voy a hacer muchas veces algo. 50 00:04:13,000 --> 00:04:17,000 Pues venga, voy a hacer un montón de veces algo. 51 00:04:17,000 --> 00:04:19,000 Ese algo que es leer número. 52 00:04:19,000 --> 00:04:21,000 Vale, eso está muy claro, leer número. 53 00:04:21,000 --> 00:04:26,000 Y luego me dice, con ese número leído tienes que bla, bla, bla. 54 00:04:26,000 --> 00:04:28,000 Pues vamos a ver qué es todo eso. 55 00:04:28,000 --> 00:04:36,000 Pues todo eso es, con ese número leído tienes que mostrar el resultado de hacer la suma 1 más 2 más 3 más N. 56 00:04:36,000 --> 00:04:40,000 Bueno, pues eso es lo que tenemos que plantearnos aquí. 57 00:04:40,000 --> 00:04:42,000 Ahora nos falta ese trabajo. 58 00:04:45,000 --> 00:04:50,000 Ahora, aquí dentro, aquí dentro, dentro de ese bucle, 59 00:04:52,000 --> 00:04:54,000 pues nos falta hacer ese trabajo que me han dicho. 60 00:04:54,000 --> 00:05:09,000 Ahora tenemos que coger aquí, tenemos que calcular la suma 1 más 2 más N. 61 00:05:10,000 --> 00:05:12,000 Eso es lo que nos toca hacer ahora. 62 00:05:13,000 --> 00:05:15,000 Calcular esa suma aquí dentro. 63 00:05:16,000 --> 00:05:20,000 Vale, estamos dentro del bucle porque eso lo tenemos que hacer muchas veces. 64 00:05:20,000 --> 00:05:22,000 Vale, estamos dentro del bucle, está claro. 65 00:05:22,000 --> 00:05:24,000 Bueno, ahora tenemos otro subproblema. 66 00:05:24,000 --> 00:05:27,000 Estos son subproblemas, son subproblemas independientes. 67 00:05:27,000 --> 00:05:35,000 Uno de ellos era la plantilla general, que es hacer varias veces leer número, lo que sea, leer número, lo que sea. 68 00:05:35,000 --> 00:05:40,000 Ahora aquí yo tengo ya otra caja negra, independiente de la anterior. 69 00:05:40,000 --> 00:05:44,000 Vale, ¿cómo resuelvo, dado este número N, hacer esta suma? 70 00:05:44,000 --> 00:05:47,000 Esto lo hemos hecho ya, eso lo vamos a hacerlo. 71 00:05:47,000 --> 00:05:50,000 Un bucle que va haciendo una suma acumulativa. 72 00:05:50,000 --> 00:05:53,000 Esto es una suma acumulativa, eso ya lo sabemos hacer, lo hemos hecho muchas veces. 73 00:05:53,000 --> 00:05:56,000 Pues eso que ya sé hacer, lo tengo que hacer ahí. 74 00:05:56,000 --> 00:06:00,000 Eso que ya sé hacer, lo tengo que hacer ahí en medio, porque es lo que tengo que hacer ahí. 75 00:06:00,000 --> 00:06:04,000 Me da igual que esté dentro de un bucle, que esté donde esté, lo tengo que hacer en ese punto. 76 00:06:04,000 --> 00:06:09,000 Pues nada, esta suma, es una suma acumulativa, la hemos hecho un montón de veces, ya sabemos resolverlo. 77 00:06:09,000 --> 00:06:13,000 Pues una variable suma, que empieza valiendo 0. 78 00:06:14,000 --> 00:06:25,000 Mientras yo no haya terminado la suma, a esta variable suma, le sumo el sumando que toque. 79 00:06:25,000 --> 00:06:28,000 Estos sumandos, ¿cuáles van a ser? 80 00:06:28,000 --> 00:06:31,000 Pues empiezan valiendo 1 y se van incrementando. 81 00:06:31,000 --> 00:06:35,000 Vale, pues los sumandos los genero, entonces por ejemplo así. 82 00:06:35,000 --> 00:06:40,000 Pues el sumando empieza valiendo 1 y lo voy dejando incrementado. 83 00:06:40,000 --> 00:06:42,000 ¡Hala, estupendo! 84 00:06:42,000 --> 00:06:45,000 Pues ya está, esto es lo que hemos hecho ya un montón de veces. 85 00:06:45,000 --> 00:06:54,000 Una suma acumulativa, una variable que empieza siendo 0, suma más iguales a su... 86 00:06:54,000 --> 00:06:57,000 ¿Es la expresión que hemos usado siempre? 87 00:07:00,000 --> 00:07:04,000 Suma más sumando, hemos dicho muchas veces que esto... 88 00:07:04,000 --> 00:07:08,000 Pero es lo mismo que abajo, continuamente lo hemos dicho. 89 00:07:08,000 --> 00:07:11,000 Bueno, a ver, me da igual el más más hacerlo antes que después. 90 00:07:14,000 --> 00:07:18,000 Pero vamos, que esto es igual que esto lo hemos dicho todo el curso, 91 00:07:18,000 --> 00:07:21,000 cuando hemos visto el operador, esto y esto es lo mismo, 92 00:07:21,000 --> 00:07:24,000 que lo hemos dicho continuamente. 93 00:07:24,000 --> 00:07:28,000 Vale, hemos dicho, así se ve más claro, pero con este operador se compacta 94 00:07:28,000 --> 00:07:32,000 y es como os lo vais a encontrar normalmente, ya lo explicamos cuando vimos este operador 95 00:07:32,000 --> 00:07:37,000 y cada vez que sale decimos eso, que hay dos formas de ponerlo. 96 00:07:38,000 --> 00:07:40,000 Vale, eso. 97 00:07:40,000 --> 00:07:45,000 Vale, entonces la forma en la que lo vais a encontrar es la de abajo, 98 00:07:45,000 --> 00:07:50,000 pero es que por eso os decía que cuanto antes ya os familiaricéis con que las dos cosas son iguales, 99 00:07:50,000 --> 00:07:54,000 con lo que significa este operador, tenéis que estar familiarizados, 100 00:07:54,000 --> 00:07:57,000 desde el momento en que lo vimos, hace un montón de tiempo, 101 00:07:57,000 --> 00:08:01,000 pues ahí es cuando uno se iba a casa y decía, a ver, a ver, que acabe de entenderlo, 102 00:08:01,000 --> 00:08:04,000 me lo repito mil veces hasta que... 103 00:08:04,000 --> 00:08:08,000 Bueno, pues entonces, la suma acumulativa, que la hemos hecho mil veces también, es esto, 104 00:08:08,000 --> 00:08:12,000 una variable que empieza valiendo cero, y en un bucle lo voy metiendo sumandos. 105 00:08:12,000 --> 00:08:15,000 Ahora ya, estos sumandos, ¿cuáles van a ser? 106 00:08:15,000 --> 00:08:19,000 Pues ya pienso en mi suma en particular, mi suma en particular es la suma uno, dos, 107 00:08:19,000 --> 00:08:22,000 los sumandos van a ser primero uno y luego dos. 108 00:08:22,000 --> 00:08:25,000 Pues ¿cómo lo genero? Esta suma en concreto ya la hemos hecho, 109 00:08:25,000 --> 00:08:30,000 pues los genero con una variable que empieza siendo uno 110 00:08:30,000 --> 00:08:35,000 y la voy incrementando, por ejemplo, o puede empezar siendo cero, 111 00:08:35,000 --> 00:08:38,000 pero sabes que entonces la primera iteración del bucle no te sirve para nada, 112 00:08:38,000 --> 00:08:42,000 porque suma igual a suma más cero, es una iteración que haces de más, 113 00:08:42,000 --> 00:08:47,000 pero que no te molesta, porque sumar a una variable cero no la estropea, 114 00:08:47,000 --> 00:08:48,000 la deja igual. 115 00:08:48,000 --> 00:08:52,000 Lo puedes empezar a cero, pero entonces el bucle se ejecuta una vez más 116 00:08:52,000 --> 00:08:55,000 y es una vez más que le estás sumando un cero que no le... 117 00:08:55,000 --> 00:09:00,000 Pero vamos, no es que estuviera mal, es que es una iteración que no te hace falta. 118 00:09:00,000 --> 00:09:07,000 Entonces empiezas sumando uno y entonces suma más igual sumando, 119 00:09:07,000 --> 00:09:10,000 cada iteración le sumas el numerito que toca y sumando, 120 00:09:10,000 --> 00:09:13,000 después de hacer la suma hay que incrementarlo. 121 00:09:13,000 --> 00:09:16,000 Entonces lo de siempre podríamos hacer aquí sumando más más 122 00:09:16,000 --> 00:09:20,000 o sumando igual a sumando más uno, todo esto de nuevo lo tienes que hacer de memoria. 123 00:09:20,000 --> 00:09:24,000 ¿O para qué voy a escribir otra línea? 124 00:09:24,000 --> 00:09:28,000 Si puedo directamente poner un posincremento en una misma expresión, 125 00:09:28,000 --> 00:09:31,000 que también esto lo hemos hecho y lo tenéis que tener ya en la cabeza 126 00:09:31,000 --> 00:09:33,000 memorizado y grabado todas las veces que lo hemos hecho. 127 00:09:33,000 --> 00:09:34,000 ¿Para qué? 128 00:09:34,000 --> 00:09:36,000 Lo pongo ahí y ya sé cómo funciona esto. 129 00:09:36,000 --> 00:09:41,000 Que es que primero hago la expresión y luego cuando ya he terminado 130 00:09:41,000 --> 00:09:45,000 a la variable a la que esté afectando el posincremento la incremento. 131 00:09:45,000 --> 00:09:47,000 Así funcionaba esto, ¿no? 132 00:09:49,000 --> 00:09:52,000 Bueno, pues ya tengo hecha gran parte de la suma acumulativa. 133 00:09:52,000 --> 00:09:56,000 Efectivamente a esta variable suma se le va sumando uno, dos, tres, así hasta n. 134 00:09:56,000 --> 00:09:59,000 Claro, pero me falta, oye, ¿cuándo acabo yo de sumar? 135 00:09:59,000 --> 00:10:01,000 Pues ya tengo que pensar en mi situación. 136 00:10:01,000 --> 00:10:03,000 ¿Cuándo acabo yo de sumar? 137 00:10:03,000 --> 00:10:04,000 ¿Cuándo? 138 00:10:04,000 --> 00:10:05,000 ¿Qué pongo aquí? 139 00:10:05,000 --> 00:10:07,000 Para que este bucle ya no entre más. 140 00:10:10,000 --> 00:10:12,000 Mientras sea menor o igual, ¿quién? 141 00:10:15,000 --> 00:10:16,000 ¿Qué número? 142 00:10:17,000 --> 00:10:18,000 n. 143 00:10:18,000 --> 00:10:20,000 Sumando menor o igual que n, ¿vale? 144 00:10:20,000 --> 00:10:23,000 Esa sería efectivamente la condición. 145 00:10:25,000 --> 00:10:30,000 Mientras sumando sea menor o igual que n, me interesa seguir sumando. 146 00:10:31,000 --> 00:10:32,000 ¿Vale? Pues ya está. 147 00:10:33,000 --> 00:10:36,000 Ya he completado esa caja negra que tenía aquí dentro 148 00:10:36,000 --> 00:10:38,000 que me tocaba a mí hacer ahora. 149 00:10:39,000 --> 00:10:42,000 Entonces, claro, este programa resulta en un bucle dentro de otro, 150 00:10:42,000 --> 00:10:43,000 pero ¿qué más da? 151 00:10:44,000 --> 00:10:45,000 ¿Qué más da? 152 00:10:46,000 --> 00:10:50,000 ¿Vale? Un bucle ya sabemos que es un conjunto de sentencias que se repiten. 153 00:10:50,000 --> 00:10:53,000 Y esas sentencias que se repiten pueden ser a su vez más bucles. 154 00:10:53,000 --> 00:10:56,000 Y ese bucle a su vez tendrá dentro un conjunto de sentencias que se repiten. 155 00:10:56,000 --> 00:10:59,000 Que a su vez podrá ser bucles, depende de lo que me toque hacer. 156 00:10:59,000 --> 00:11:01,000 Pues aquí me ha tocado hacer esto. 157 00:11:01,000 --> 00:11:04,000 Con este número me ha tocado hacer la suma. 158 00:11:04,000 --> 00:11:07,000 Y como me ha tocado hacer la suma, pues he tenido que plantar esto. 159 00:11:07,000 --> 00:11:09,000 ¿Vale? Pero todo lo sabemos hacer. 160 00:11:09,000 --> 00:11:11,000 Lo único que tenemos que hacer es 161 00:11:12,000 --> 00:11:15,000 construirlo para que el resultado final sea el que buscamos. 162 00:11:15,000 --> 00:11:18,000 ¿Vale? Entonces, gran parte del programa está hecho. 163 00:11:18,000 --> 00:11:22,000 Un montón de veces, leemos número, calculamos suma. 164 00:11:22,000 --> 00:11:24,000 Leemos número, calculamos suma. 165 00:11:24,000 --> 00:11:28,000 Pero nos faltan cosas aquí por perfilar, como cuántas veces estoy, qué hago. 166 00:11:28,000 --> 00:11:31,000 Bueno, el enunciado, ¿qué nos dice? 167 00:11:32,000 --> 00:11:34,000 El enunciado nos dice que muestra la suma. 168 00:11:34,000 --> 00:11:35,000 Nos la he mostrado. 169 00:11:36,000 --> 00:11:37,000 Bueno, pues... 170 00:11:38,000 --> 00:11:43,000 Por ejemplo, como solo tiene el bucle while aquí, solo tiene una sentencia. 171 00:11:44,000 --> 00:11:46,000 Le puedo quitar la llave, por ejemplo. 172 00:11:46,000 --> 00:11:48,000 Le quito la llave porque solo tiene una sentencia. 173 00:11:51,000 --> 00:11:52,000 ¿Vale? 174 00:11:52,000 --> 00:11:54,000 Ahora dice, calcule y muestre. 175 00:11:54,000 --> 00:11:56,000 Bueno, me falta mostrarla. 176 00:11:56,000 --> 00:11:58,000 Claro, y aquí tendría que poner. 177 00:11:59,000 --> 00:12:01,000 La suma de... 178 00:12:02,000 --> 00:12:04,000 Uno más dos, más... 179 00:12:07,000 --> 00:12:10,000 N es... 180 00:12:12,000 --> 00:12:15,000 Y le pongo ahora aquí, pues suma. 181 00:12:16,000 --> 00:12:17,000 ¡Hala, ya está! 182 00:12:17,000 --> 00:12:18,000 Para que se vea. 183 00:12:19,000 --> 00:12:21,000 ¿Vale? Pues ya he mostrado la suma. 184 00:12:23,000 --> 00:12:25,000 Y luego aquí me falta lo de... 185 00:12:25,000 --> 00:12:27,000 Vale, pero ¿esto se está ejecutando cuándo? ¿Hasta el infinito? 186 00:12:27,000 --> 00:12:30,000 ¿Cuántas veces está el programa pidiéndome un número? 187 00:12:30,000 --> 00:12:33,000 Esa información me la tiene que haber dado el enunciado. 188 00:12:33,000 --> 00:12:35,000 Pues a ver qué me dice el enunciado al respecto. 189 00:12:36,000 --> 00:12:38,000 A ver, yo aquí estoy haciendo una cosa mal por rapidez, 190 00:12:38,000 --> 00:12:42,000 que es como ir, según voy resolviendo, 191 00:12:42,000 --> 00:12:44,000 voy mirando el enunciado. 192 00:12:44,000 --> 00:12:45,000 No. 193 00:12:45,000 --> 00:12:47,000 Antes de empezar a pensar, 194 00:12:47,000 --> 00:12:49,000 un enunciado tiene que haber leído una y mil veces 195 00:12:49,000 --> 00:12:51,000 y tener muy claro lo que tiene que hacer. 196 00:12:51,000 --> 00:12:54,000 Y luego ya se hace este proceso que digo yo, 197 00:12:54,000 --> 00:12:56,000 que es decir, vale, esto es algo que se hace muchas veces. 198 00:12:56,000 --> 00:12:57,000 ¡Plan! Un bucle. 199 00:12:57,000 --> 00:12:59,000 ¿Qué se hace muchas veces? Esto. 200 00:12:59,000 --> 00:13:00,000 ¿Esto cómo lo hago? 201 00:13:00,000 --> 00:13:02,000 De esta manera, que a su vez es otro bucle. 202 00:13:02,000 --> 00:13:03,000 Pues venga. 203 00:13:03,000 --> 00:13:05,000 Yo estoy sobre la marcha mirando el enunciado 204 00:13:05,000 --> 00:13:07,000 por un tema de rapidez. 205 00:13:09,000 --> 00:13:11,000 Pero en condiciones normales, 206 00:13:11,000 --> 00:13:13,000 uno tiene que tener muy claro lo que hace 207 00:13:13,000 --> 00:13:15,000 antes de empezar a plantear el programa. 208 00:13:15,000 --> 00:13:17,000 Porque si es una cosa larga, 209 00:13:17,000 --> 00:13:19,000 pues luego le puede ser complicado 210 00:13:19,000 --> 00:13:21,000 el irla retocando. 211 00:13:22,000 --> 00:13:24,000 Vale, pues aquí ya me da la información 212 00:13:24,000 --> 00:13:26,000 sobre lo que me faltaba a mí, que es 213 00:13:26,000 --> 00:13:28,000 ¿me estoy hasta el infinito? 214 00:13:28,000 --> 00:13:29,000 Me dice no. 215 00:13:29,000 --> 00:13:31,000 Cada vez que muestra el resultado del programa, 216 00:13:31,000 --> 00:13:33,000 le dice si desea continuar o no. 217 00:13:33,000 --> 00:13:36,000 Y el bucle 218 00:13:36,000 --> 00:13:38,000 se volverá a ejecutar 219 00:13:38,000 --> 00:13:40,000 se volverá a ejecutar 220 00:13:40,000 --> 00:13:42,000 si se introduce una S 221 00:13:42,000 --> 00:13:44,000 y en cualquier otro caso no. 222 00:13:44,000 --> 00:13:46,000 Vale, pues entonces, 223 00:13:46,000 --> 00:13:48,000 eso lo podemos hacer, efectivamente, 224 00:13:48,000 --> 00:13:50,000 la condición puede ser en función de 225 00:13:50,000 --> 00:13:52,000 una cadena que yo leo. 226 00:13:52,000 --> 00:13:55,000 Si la cadena es S, 227 00:13:55,000 --> 00:13:57,000 pues entonces 228 00:13:57,000 --> 00:13:59,000 vuelvo a entrar y si no, no. 229 00:13:59,000 --> 00:14:01,000 Vale, pues podemos 230 00:14:01,000 --> 00:14:03,000 preguntarle ya aquí. 231 00:14:04,000 --> 00:14:07,000 ¿Desea continuar? 232 00:14:10,000 --> 00:14:12,000 Y le damos esta información, 233 00:14:12,000 --> 00:14:14,000 bueno, para que sepa lo que escribir. 234 00:14:16,000 --> 00:14:18,000 Ahora, el dato 235 00:14:18,000 --> 00:14:20,000 S, N, 236 00:14:20,000 --> 00:14:22,000 como es una cadena de texto, 237 00:14:22,000 --> 00:14:24,000 aunque solo tenga un carácter, 238 00:14:24,000 --> 00:14:26,000 lo podemos tratar como cadena de texto. 239 00:14:26,000 --> 00:14:28,000 Es una cadena de texto con un carácter. 240 00:14:28,000 --> 00:14:30,000 Lo podemos guardar en un string, 241 00:14:30,000 --> 00:14:32,000 para no complicarnos la vida. 242 00:14:32,000 --> 00:14:34,000 Lo guardamos en un string. 243 00:14:42,000 --> 00:14:44,000 Vale. 244 00:14:44,000 --> 00:14:46,000 Pues entonces, ahora ya, 245 00:14:46,000 --> 00:14:48,000 en función de esta opción, 246 00:14:48,000 --> 00:14:50,000 aquí arriba, 247 00:14:50,000 --> 00:14:52,000 podemos definir la condición. 248 00:14:53,000 --> 00:14:55,000 Vale, entonces, 249 00:14:55,000 --> 00:14:57,000 primera cosa que se me plantea aquí, 250 00:14:57,000 --> 00:14:59,000 yo voy a tener aquí que trabajar 251 00:14:59,000 --> 00:15:01,000 con si opción diferente de N, 252 00:15:01,000 --> 00:15:03,000 de opción igual a S. 253 00:15:03,000 --> 00:15:05,000 Cuidado, entonces, la primera cosa 254 00:15:05,000 --> 00:15:07,000 que ya voy a tener que modificar antes que nada, 255 00:15:07,000 --> 00:15:09,000 es el qué. 256 00:15:09,000 --> 00:15:11,000 ¿No? Porque si yo hago aquí, 257 00:15:11,000 --> 00:15:13,000 venga, mientras opción 258 00:15:13,000 --> 00:15:15,000 sea 259 00:15:15,000 --> 00:15:17,000 igual a S, por ejemplo. 260 00:15:17,000 --> 00:15:19,000 Opción es un string. 261 00:15:19,000 --> 00:15:21,000 Como dijimos el otro día, que comparábamos 262 00:15:21,000 --> 00:15:23,000 la igualdad de un string y otro. 263 00:15:24,000 --> 00:15:26,000 No con el doble igual. 264 00:15:28,000 --> 00:15:30,000 ¿Que eso puede funcionar o no? 265 00:15:30,000 --> 00:15:32,000 Así lo comparábamos, ¿verdad? 266 00:15:34,000 --> 00:15:36,000 Si opción es igual a S, 267 00:15:36,000 --> 00:15:38,000 entonces, 268 00:15:38,000 --> 00:15:40,000 entro otra vez. 269 00:15:40,000 --> 00:15:42,000 Y le vuelvo a preguntar. 270 00:15:42,000 --> 00:15:44,000 Vuelvo arriba. Opción es igual a S. 271 00:15:44,000 --> 00:15:46,000 Como podíamos prever, 272 00:15:46,000 --> 00:15:48,000 aquí en orden de compilación, 273 00:15:48,000 --> 00:15:50,000 se me pone rojo. ¿Por qué? 274 00:15:51,000 --> 00:15:53,000 Se me pone rojo ahí. 275 00:15:53,000 --> 00:15:55,000 ¿Perdón? 276 00:15:57,000 --> 00:15:59,000 Claro, porque 277 00:15:59,000 --> 00:16:01,000 está declarado aquí dentro. 278 00:16:01,000 --> 00:16:03,000 Entonces, cuando el programa llega 279 00:16:03,000 --> 00:16:05,000 por aquí, opción todavía ni existe 280 00:16:05,000 --> 00:16:07,000 ni está declarado. 281 00:16:07,000 --> 00:16:09,000 Entonces digo, ah, no, cuidado, lo leo aquí. 282 00:16:09,000 --> 00:16:11,000 Lo leo aquí. Pero hombre, 283 00:16:11,000 --> 00:16:13,000 tengo que declararlo antes de su primer uso. 284 00:16:13,000 --> 00:16:15,000 Y si su primer uso está 285 00:16:15,000 --> 00:16:17,000 aquí, acordémonos de que 286 00:16:17,000 --> 00:16:19,000 tenemos que declarar antes de su primer 287 00:16:19,000 --> 00:16:21,000 uso. 288 00:16:23,000 --> 00:16:25,000 Vale, ya lo he declarado desde su primer uso. 289 00:16:25,000 --> 00:16:27,000 Aunque luego lo leo aquí. 290 00:16:27,000 --> 00:16:29,000 Vale, se me sigue poniendo en rojo. 291 00:16:29,000 --> 00:16:31,000 ¿Por qué se me sigue 292 00:16:31,000 --> 00:16:33,000 poniendo en rojo? 293 00:16:35,000 --> 00:16:37,000 ¿Perdón? 294 00:16:37,000 --> 00:16:39,000 Pero con que no puede resolver, ¿a qué te refieres exactamente? 295 00:16:41,000 --> 00:16:43,000 Eso sí, que no tiene valor. 296 00:16:43,000 --> 00:16:45,000 Que no tiene un valor. Que opción no tiene valor. 297 00:16:45,000 --> 00:16:47,000 Entonces, la primera vez, en la primera vez 298 00:16:47,000 --> 00:16:49,000 que entramos, 299 00:16:49,000 --> 00:16:51,000 opción no tiene ningún valor todavía. 300 00:16:51,000 --> 00:16:53,000 Entonces esto lo podemos resolver de muchas maneras. 301 00:16:53,000 --> 00:16:55,000 Podemos darle un valor 302 00:16:55,000 --> 00:16:57,000 a opción cualquiera para forzar que 303 00:16:57,000 --> 00:16:59,000 entre por primera vez. Esa podría ser 304 00:16:59,000 --> 00:17:01,000 una opción, ¿no? Le damos un valor cualquiera 305 00:17:01,000 --> 00:17:03,000 para forzarle que entre. 306 00:17:03,000 --> 00:17:05,000 Que sería este. 307 00:17:05,000 --> 00:17:07,000 Entonces, si yo a opción 308 00:17:07,000 --> 00:17:09,000 le asigno 309 00:17:09,000 --> 00:17:11,000 la cadena de caracteres ese, 310 00:17:11,000 --> 00:17:13,000 entra ya una primera vez, porque esta condición 311 00:17:13,000 --> 00:17:15,000 opción igual a ese será true. 312 00:17:15,000 --> 00:17:17,000 Entra una primera vez. 313 00:17:17,000 --> 00:17:19,000 Hace lo que me han pedido y pregunta. 314 00:17:19,000 --> 00:17:21,000 ¿Que vuelve a meter sí? 315 00:17:21,000 --> 00:17:23,000 Entra una segunda vez. 316 00:17:23,000 --> 00:17:25,000 Hace lo que tenga que hacer 317 00:17:25,000 --> 00:17:27,000 y pregunta. ¿Que ahora ha metido 318 00:17:27,000 --> 00:17:29,000 otra cosa que no es la ese? 319 00:17:29,000 --> 00:17:31,000 ¿Que otra cosa que no es la ese? 320 00:17:31,000 --> 00:17:33,000 Cuando evalúe esta condición, ya será falsa. 321 00:17:33,000 --> 00:17:35,000 Entonces saldrá por aquí. 322 00:17:35,000 --> 00:17:37,000 ¿Vale? 323 00:17:37,000 --> 00:17:39,000 Y se despedirá y adiós. 324 00:17:39,000 --> 00:17:41,000 ¿Vale? 325 00:17:41,000 --> 00:17:43,000 Bueno, pues así tendríamos ya un apaño de programa 326 00:17:43,000 --> 00:17:45,000 perfectamente hecho. 327 00:18:13,000 --> 00:18:15,000 ¿Vale? 328 00:18:21,000 --> 00:18:23,000 Una misma cosa se puede hacer de muchas maneras. 329 00:18:23,000 --> 00:18:25,000 Lo que importa es que esté claro 330 00:18:25,000 --> 00:18:27,000 lo que se está haciendo 331 00:18:27,000 --> 00:18:29,000 y que esté bien hecho, claro. 332 00:18:29,000 --> 00:18:31,000 ¿Vale? Entonces, 333 00:18:31,000 --> 00:18:33,000 nosotros con nuestro planteamiento hemos llegado a esta solución. 334 00:18:33,000 --> 00:18:35,000 ¿Vale? 335 00:18:35,000 --> 00:18:37,000 Se puede hacer de muchas maneras diferentes, 336 00:18:37,000 --> 00:18:39,000 siempre y cuando el resultado final sea el mismo. 337 00:18:39,000 --> 00:18:41,000 Aquí, por ejemplo, 338 00:18:41,000 --> 00:18:43,000 cuando uno ha apañado ya el tema de la condición 339 00:18:43,000 --> 00:18:45,000 y ha dicho 340 00:18:45,000 --> 00:18:47,000 uy, mientras la primera vez 341 00:18:47,000 --> 00:18:49,000 yo quiero entrar sí o sí, 342 00:18:49,000 --> 00:18:51,000 como la primera vez quiero entrar sí o sí, 343 00:18:51,000 --> 00:18:53,000 hemos tenido que hacer el apaño 344 00:18:53,000 --> 00:18:55,000 de poner esto a ese. 345 00:18:55,000 --> 00:18:57,000 Eso ya nos pasó en un ejercicio anterior. 346 00:18:57,000 --> 00:18:59,000 Y dijimos, hombre, a ver, si yo estoy haciendo 347 00:18:59,000 --> 00:19:01,000 un bucle en el cual la primera vez quiero entrar sí o sí, 348 00:19:03,000 --> 00:19:05,000 ¿no sería mejor plantearlo 349 00:19:05,000 --> 00:19:07,000 con otra sintaxis? ¿Como cuál? 350 00:19:07,000 --> 00:19:09,000 Con el bucle Duhail. 351 00:19:09,000 --> 00:19:11,000 ¿Verdad? Porque el bucle Duhail 352 00:19:11,000 --> 00:19:13,000 es un bucle en el cual 353 00:19:13,000 --> 00:19:15,000 la primera vez entra seguro 354 00:19:17,000 --> 00:19:19,000 y luego ya evalúa condición 355 00:19:19,000 --> 00:19:21,000 y ya la siguiente depende de la condición. 356 00:19:21,000 --> 00:19:23,000 Entonces, estoy en esa situación. 357 00:19:23,000 --> 00:19:25,000 Estoy en una situación en la cual la primera vez 358 00:19:25,000 --> 00:19:27,000 quiero que se haga sí o sí. 359 00:19:27,000 --> 00:19:29,000 Me da igual lo que diga esta condición. 360 00:19:29,000 --> 00:19:31,000 Entonces, como quiero que se haga sí o sí, 361 00:19:33,000 --> 00:19:35,000 quedaría más bonito esto, 362 00:19:35,000 --> 00:19:37,000 quedaría más bonito si le pongo un Duhail, 363 00:19:37,000 --> 00:19:39,000 porque el código ya sabe 364 00:19:39,000 --> 00:19:41,000 que la primera vez se va a hacer sí o sí 365 00:19:41,000 --> 00:19:43,000 y inicializar la condición 366 00:19:43,000 --> 00:19:45,000 no le va a hacer ninguna falta, le va a dar igual, etc. 367 00:19:45,000 --> 00:19:47,000 Un segundito. 368 00:19:47,000 --> 00:19:49,000 Entonces, si yo hiciera el cambio al Duhail, 369 00:19:49,000 --> 00:19:51,000 pues esto simplemente, 370 00:19:55,000 --> 00:19:57,000 vamos a suponer que 371 00:19:59,000 --> 00:20:01,000 lo pusiéramos aquí abajo. 372 00:20:01,000 --> 00:20:03,000 Pues entonces, 373 00:20:05,000 --> 00:20:07,000 con el Duhail, 374 00:20:07,000 --> 00:20:09,000 la condición se va aquí abajo. 375 00:20:11,000 --> 00:20:13,000 Terminada con punto y coma. 376 00:20:13,000 --> 00:20:15,000 Y aquí lo que se pone es el 377 00:20:15,000 --> 00:20:17,000 Duh. 378 00:20:17,000 --> 00:20:19,000 Entonces, con el Duhail, 379 00:20:21,000 --> 00:20:23,000 ¿esto cómo funciona? 380 00:20:23,000 --> 00:20:25,000 Entra una primera vez, 381 00:20:25,000 --> 00:20:27,000 con lo cual no necesita que opción 382 00:20:27,000 --> 00:20:29,000 esté inicializado, no le hace ninguna falta. 383 00:20:29,000 --> 00:20:31,000 Opción, 384 00:20:31,000 --> 00:20:33,000 podría yo quitar esto perfectamente, 385 00:20:33,000 --> 00:20:35,000 si es que adopto esa opción de abajo. 386 00:20:39,000 --> 00:20:41,000 Opción ya, no le hace falta ningún tipo de 387 00:20:41,000 --> 00:20:43,000 inicialización, porque esa inicialización era una trampa 388 00:20:43,000 --> 00:20:45,000 para forzar entrar 389 00:20:45,000 --> 00:20:47,000 una primera vez en este while. 390 00:20:47,000 --> 00:20:49,000 Pero si yo hago un Duhail, 391 00:20:49,000 --> 00:20:51,000 opción ya, 392 00:20:51,000 --> 00:20:53,000 no la inicializo pero no me hace ninguna falta. 393 00:20:53,000 --> 00:20:55,000 Y entonces este bucle, entra una primera vez, 394 00:20:55,000 --> 00:20:57,000 esa forzosa, 395 00:20:57,000 --> 00:20:59,000 y ahora ya pregunta. 396 00:20:59,000 --> 00:21:01,000 Y ya las siguientes, 397 00:21:01,000 --> 00:21:03,000 ¿que entra una segunda? Depende de opción. 398 00:21:03,000 --> 00:21:05,000 Entra una segunda, hace lo que sea. 399 00:21:05,000 --> 00:21:07,000 ¿Entra una tercera? 400 00:21:07,000 --> 00:21:09,000 ¿Perdona? 401 00:21:09,000 --> 00:21:11,000 Si, 402 00:21:11,000 --> 00:21:13,000 si pruebo, ¿qué me va a ocurrir? 403 00:21:13,000 --> 00:21:15,000 Lo que me ocurrió el otro día, ¿verdad? 404 00:21:15,000 --> 00:21:17,000 Y dijimos que lo íbamos a arreglar. 405 00:21:17,000 --> 00:21:19,000 A lo mejor es que ya se había ido. 406 00:21:19,000 --> 00:21:21,000 ¿Puede ser eso? 407 00:21:21,000 --> 00:21:23,000 Vale. 408 00:21:23,000 --> 00:21:25,000 En cualquier caso, se quedaría grabado. 409 00:21:25,000 --> 00:21:27,000 A ver, que alguien me diga, 410 00:21:27,000 --> 00:21:29,000 si yo pruebo esto, ¿qué me va a ocurrir? 411 00:21:29,000 --> 00:21:31,000 Me va a fallar, 412 00:21:31,000 --> 00:21:33,000 me va a encontrar algo raro en la prueba. 413 00:21:35,000 --> 00:21:37,000 Si yo pruebo este ejercicio, o la versión de arriba, 414 00:21:37,000 --> 00:21:39,000 me da igual. 415 00:21:39,000 --> 00:21:41,000 Sí, claro, ¿pero por qué? 416 00:21:41,000 --> 00:21:43,000 ¿Por qué? 417 00:21:43,000 --> 00:21:45,000 Porque ya nos pasó el otro día, 418 00:21:45,000 --> 00:21:47,000 o bueno, ya nos había pasado antes y lo habíamos solucionado 419 00:21:47,000 --> 00:21:49,000 ya todas las veces que nos había pasado. 420 00:21:49,000 --> 00:21:51,000 Que alguien me lo diga. 421 00:21:51,000 --> 00:21:53,000 Eso sí. 422 00:21:53,000 --> 00:21:55,000 ¿Vale? 423 00:21:55,000 --> 00:21:57,000 Que hemos repetido unas cuantas veces, 424 00:21:57,000 --> 00:21:59,000 entre ellas el último día. 425 00:21:59,000 --> 00:22:01,000 Y de hecho, lo he dicho 426 00:22:01,000 --> 00:22:03,000 al principio de clase. 427 00:22:03,000 --> 00:22:05,000 Al principio de clase, cuando estábamos repasando la anterior, 428 00:22:05,000 --> 00:22:07,000 lo he vuelto a decir, al principio de la clase. 429 00:22:07,000 --> 00:22:09,000 Que he vuelto a decir 430 00:22:09,000 --> 00:22:11,000 al principio de la clase, 431 00:22:11,000 --> 00:22:13,000 que si tú lees un número, 432 00:22:13,000 --> 00:22:15,000 metes el salto de línea. 433 00:22:15,000 --> 00:22:17,000 El salto de línea se queda en el buffer del teclado. 434 00:22:17,000 --> 00:22:19,000 Y si luego haces un next line, 435 00:22:19,000 --> 00:22:21,000 se queda, 436 00:22:21,000 --> 00:22:23,000 ¿vale? 437 00:22:23,000 --> 00:22:25,000 Y lo dije otro día, 438 00:22:25,000 --> 00:22:27,000 el viernes pasado, 439 00:22:27,000 --> 00:22:29,000 y hoy al empezar la clase. 440 00:22:31,000 --> 00:22:33,000 ¿Vale? Entonces, 441 00:22:33,000 --> 00:22:35,000 uno, pues si lo ejecuta y le pasa, 442 00:22:35,000 --> 00:22:37,000 dice, ah, vale, vale, ya me acuerdo. 443 00:22:37,000 --> 00:22:39,000 O a lo mejor lo puede prever desde ya, 444 00:22:39,000 --> 00:22:41,000 y decir, ah, mira, estoy leyendo un número, 445 00:22:41,000 --> 00:22:43,000 y luego un next line, cuidadín, 446 00:22:43,000 --> 00:22:45,000 me voy a quitar después del número, 447 00:22:45,000 --> 00:22:47,000 el este, 448 00:22:47,000 --> 00:22:49,000 ¿vale? 449 00:22:49,000 --> 00:22:51,000 Me lo voy a quitar, 450 00:22:51,000 --> 00:22:53,000 y ya preveo, prevengo, 451 00:22:53,000 --> 00:22:55,000 ese problema. 452 00:22:55,000 --> 00:22:57,000 Porque después de este número, ya me quita el salto de línea. 453 00:22:57,000 --> 00:22:59,000 Y en el siguiente next line, 454 00:22:59,000 --> 00:23:01,000 ya no va a haber problemas. 455 00:23:01,000 --> 00:23:03,000 ¿Vale? 456 00:23:05,000 --> 00:23:07,000 Puedes usar otros métodos de escáner, 457 00:23:07,000 --> 00:23:09,000 cambiar el token, usar un buffer R, 458 00:23:09,000 --> 00:23:11,000 muchas cosas. Pero, 459 00:23:11,000 --> 00:23:13,000 no quiero introduciros 460 00:23:13,000 --> 00:23:15,000 objetos que no, 461 00:23:15,000 --> 00:23:17,000 eh, 462 00:23:17,000 --> 00:23:19,000 podéis entender cómo funcionan. 463 00:23:19,000 --> 00:23:21,000 Bueno. 464 00:23:25,000 --> 00:23:27,000 Entonces, si probáramos esto, ahora ya sí que 465 00:23:27,000 --> 00:23:29,000 uno diría, venga, voy a hacer pruebas. 466 00:23:29,000 --> 00:23:31,000 Y vamos a ver las pruebas, pues venga, 467 00:23:31,000 --> 00:23:33,000 5, la suma 468 00:23:33,000 --> 00:23:35,000 es 15, vale, bueno, suponemos 469 00:23:35,000 --> 00:23:37,000 que es 15. ¿Desea continuar? 470 00:23:37,000 --> 00:23:39,000 Sí. 6, 471 00:23:39,000 --> 00:23:41,000 la suma es 21. ¿Desea continuar? 472 00:23:41,000 --> 00:23:43,000 Sí, la suma es 78. 473 00:23:43,000 --> 00:23:45,000 ¿Desea continuar? No, salió. 474 00:23:45,000 --> 00:23:47,000 Solo hemos hecho una prueba, 475 00:23:47,000 --> 00:23:49,000 pero bueno, parece que funciona. 476 00:23:49,000 --> 00:23:51,000 Uno haría pruebas con 477 00:23:51,000 --> 00:23:53,000 isometro negativo, isometro no sé qué, 478 00:23:53,000 --> 00:23:55,000 hace lo que yo quiero que haga, etcétera, etcétera. 479 00:23:55,000 --> 00:23:57,000 ¿Vale? 480 00:23:59,000 --> 00:24:01,000 Bueno, pues os recuerdo la importancia 481 00:24:01,000 --> 00:24:03,000 de estudiarse y aprenderse 482 00:24:03,000 --> 00:24:05,000 todo lo que hemos visto, 483 00:24:05,000 --> 00:24:07,000 todo, y repetirlo. 484 00:24:07,000 --> 00:24:09,000 Repetirlo, ¿vale? 485 00:24:14,000 --> 00:24:16,000 Bueno, lo estoy reiniciando aquí, 486 00:24:16,000 --> 00:24:18,000 todo el rato, cada vez. 487 00:24:18,000 --> 00:24:20,000 ¿Que por qué no necesito? 488 00:24:20,000 --> 00:24:22,000 Es que una vez acaba, vuelve arriba, 489 00:24:22,000 --> 00:24:24,000 y al volver arriba vuelve a entrar aquí. 490 00:24:24,000 --> 00:24:26,000 ¿Cómo? 491 00:24:26,000 --> 00:24:28,000 No te entiendo. 492 00:24:31,000 --> 00:24:33,000 Una vez acabo por aquí, dices, 493 00:24:33,000 --> 00:24:35,000 el while. Ya, pero es que vuelvo a entrar 494 00:24:35,000 --> 00:24:37,000 y al volver a entrar los vuelvo a reiniciar. 495 00:24:37,000 --> 00:24:39,000 Ahí. 496 00:24:39,000 --> 00:24:41,000 Claro, claro, claro. 497 00:24:41,000 --> 00:24:43,000 Si estuviera eso fuera del do while, 498 00:24:43,000 --> 00:24:45,000 entonces sí que sería un problema, 499 00:24:45,000 --> 00:24:47,000 pero es que está dentro. 500 00:24:47,000 --> 00:24:49,000 Entonces se reinicia cada vez. 501 00:24:49,000 --> 00:24:51,000 Si estuviera fuera, tendría que volverlos 502 00:24:51,000 --> 00:24:53,000 a poner a cero y a uno, efectivamente. 503 00:24:53,000 --> 00:24:55,000 Claro, lo que pasa es que lo tengo dentro. 504 00:24:57,000 --> 00:24:59,000 Además es que me ha quedado dentro 505 00:24:59,000 --> 00:25:01,000 directamente, porque es que es la forma 506 00:25:01,000 --> 00:25:03,000 natural, porque cuando yo me he planteado 507 00:25:03,000 --> 00:25:05,000 resolver este problema, 508 00:25:05,000 --> 00:25:07,000 o sea, el problema de hacer la suma 509 00:25:07,000 --> 00:25:09,000 y lo sumando, me ha llegado a mí 510 00:25:09,000 --> 00:25:11,000 y lo he planteado cuando ya estaba aquí dentro. 511 00:25:11,000 --> 00:25:13,000 Entonces, pues ahí dentro me declaro la variable 512 00:25:13,000 --> 00:25:15,000 y lo hago todo. ¿Para qué la voy a declarar arriba? 513 00:25:15,000 --> 00:25:17,000 Eso es un subproblema que está ahí acotadito 514 00:25:17,000 --> 00:25:19,000 dentro de ese while. Ahí me lo guiso 515 00:25:19,000 --> 00:25:21,000 y me lo como todo. 516 00:25:21,000 --> 00:25:23,000 ¿Vale? 517 00:25:23,000 --> 00:25:25,000 Vale. 518 00:25:27,000 --> 00:25:29,000 A ver. 519 00:25:31,000 --> 00:25:33,000 El once. 520 00:25:33,000 --> 00:25:35,000 Este lo habéis hecho. 521 00:25:35,000 --> 00:25:37,000 Este ya es un programa de sacar cifras, 522 00:25:37,000 --> 00:25:39,000 ya no particularizado 523 00:25:39,000 --> 00:25:41,000 a que 524 00:25:41,000 --> 00:25:43,000 el número tenga una cifra 525 00:25:43,000 --> 00:25:45,000 o dos o tres, porque en su momento, 526 00:25:45,000 --> 00:25:47,000 cuando veíamos las decisiones, el IF, 527 00:25:47,000 --> 00:25:49,000 sí que hicimos ejercicios 528 00:25:49,000 --> 00:25:51,000 de sacar las centenas o sacar las decenas, 529 00:25:51,000 --> 00:25:53,000 pero claro, 530 00:25:53,000 --> 00:25:55,000 ahí teníamos muy acotado 531 00:25:55,000 --> 00:25:57,000 si el número era de tres cifras o de dos. 532 00:25:57,000 --> 00:25:59,000 Entonces decíamos, hago dos veces 533 00:25:59,000 --> 00:26:01,000 la división por diez y ya está. 534 00:26:01,000 --> 00:26:03,000 Aquí no sé cuánta vez la tengo que hacer. 535 00:26:03,000 --> 00:26:05,000 Aquí el número puede tener 536 00:26:05,000 --> 00:26:07,000 una quinta cifra, puede tener tres, puede tener... 537 00:26:07,000 --> 00:26:09,000 Entonces tengo que hacer divisiones por diez. 538 00:26:09,000 --> 00:26:11,000 Está claro, porque sé que esa es la manera 539 00:26:11,000 --> 00:26:13,000 de sacar cifras decimales, dividiendo por diez. 540 00:26:13,000 --> 00:26:15,000 Pero tengo que hacerla 541 00:26:15,000 --> 00:26:17,000 muchas veces y no sé cuántas en principio. 542 00:26:17,000 --> 00:26:19,000 Luego tengo que meterlo en un bucle. 543 00:26:19,000 --> 00:26:21,000 ¿Vale? Entonces esa es la idea 544 00:26:21,000 --> 00:26:23,000 de este ejercicio. Tendré que meter 545 00:26:23,000 --> 00:26:25,000 en un bucle eso que hacíamos 546 00:26:25,000 --> 00:26:27,000 de dividir entre diez, 547 00:26:27,000 --> 00:26:29,000 que es el proceso que ya dijimos en su momento 548 00:26:29,000 --> 00:26:31,000 de sacar cifras decimales. 549 00:26:31,000 --> 00:26:33,000 Entonces... 550 00:26:35,000 --> 00:26:37,000 ... 551 00:26:37,000 --> 00:26:39,000 ... 552 00:26:39,000 --> 00:26:41,000 ... 553 00:26:41,000 --> 00:26:43,000 Y ese proceso, ¿cuál era? 554 00:26:43,000 --> 00:26:45,000 ... 555 00:26:45,000 --> 00:26:47,000 ... 556 00:26:47,000 --> 00:26:49,000 ... 557 00:26:49,000 --> 00:26:51,000 ... 558 00:26:51,000 --> 00:26:53,000 ... 559 00:26:53,000 --> 00:26:55,000 ... 560 00:26:55,000 --> 00:26:57,000 ... 561 00:26:57,000 --> 00:26:59,000 Bueno, pues entonces, 562 00:26:59,000 --> 00:27:01,000 en el momento de hacer este ejercicio, 563 00:27:01,000 --> 00:27:03,000 como de sacar cifras decimales, 564 00:27:03,000 --> 00:27:05,000 uno, 565 00:27:05,000 --> 00:27:07,000 lo primero que hace es 566 00:27:07,000 --> 00:27:09,000 revisar ese procedimiento, a ver cómo era. 567 00:27:09,000 --> 00:27:11,000 A ver si uno se acuerda de cómo era ese procedimiento 568 00:27:13,000 --> 00:27:15,000 que dijimos en su momento. 569 00:27:19,000 --> 00:27:21,000 Vale, entonces, si uno tiene un numerito cualquiera, 570 00:27:23,000 --> 00:27:25,000 de cualquiera de las cifras, decíamos que era hacer 571 00:27:25,000 --> 00:27:27,000 sucesivas divisiones por diez 572 00:27:27,000 --> 00:27:29,000 e irnos quedando con el resto, ¿no? 573 00:27:29,000 --> 00:27:31,000 Hacíamos una primera división por diez 574 00:27:31,000 --> 00:27:33,000 del numerito. 575 00:27:39,000 --> 00:27:41,000 Y esa división por diez 576 00:27:41,000 --> 00:27:43,000 tiene su cociente, que es este, 577 00:27:43,000 --> 00:27:45,000 y su resto, que es este. 578 00:27:49,000 --> 00:27:51,000 Entonces, el resto, 579 00:27:51,000 --> 00:27:53,000 el resto, 580 00:27:53,000 --> 00:27:55,000 ya era la primera cifra decimal. 581 00:27:55,000 --> 00:27:57,000 ¿Y qué hacíamos con el cociente? 582 00:27:57,000 --> 00:27:59,000 Otra vez lo mismo, 583 00:27:59,000 --> 00:28:01,000 una segunda división por diez. 584 00:28:01,000 --> 00:28:03,000 El cociente era 327. 585 00:28:03,000 --> 00:28:05,000 Pues el cociente, ahora, 586 00:28:09,000 --> 00:28:11,000 lo dividíamos entre diez 587 00:28:11,000 --> 00:28:13,000 y el resto, 588 00:28:13,000 --> 00:28:15,000 327, resto, diez. 589 00:28:15,000 --> 00:28:17,000 Ese resto, 590 00:28:19,000 --> 00:28:21,000 siete, ya tengo la segunda cifra decimal. 591 00:28:21,000 --> 00:28:23,000 Una tercera vez, 592 00:28:23,000 --> 00:28:25,000 vuelvo a hacer lo mismo, 593 00:28:25,000 --> 00:28:27,000 que es una división y un resto. 594 00:28:27,000 --> 00:28:29,000 Pero cada vez usando 595 00:28:29,000 --> 00:28:31,000 el cociente anterior. 596 00:28:31,000 --> 00:28:33,000 Luego habrá una variable cociente que se vaya 597 00:28:33,000 --> 00:28:35,000 quedando pisada cada vez 598 00:28:35,000 --> 00:28:37,000 con los sucesivos cocientes. 599 00:28:37,000 --> 00:28:39,000 Aquí el cociente se ha quedado en treinta y dos. 600 00:28:39,000 --> 00:28:41,000 Pues el nuevo cociente va a ser 601 00:28:41,000 --> 00:28:43,000 treinta y dos entre diez 602 00:28:43,000 --> 00:28:45,000 y el nuevo resto va a ser 603 00:28:45,000 --> 00:28:47,000 treinta y dos por ciento diez. 604 00:28:47,000 --> 00:28:49,000 El nuevo resto, dos. 605 00:28:49,000 --> 00:28:51,000 A la siguiente cifra decimal. 606 00:28:51,000 --> 00:28:53,000 Me falta una cuarta iteración. 607 00:28:53,000 --> 00:28:55,000 Cuarta iteración. 608 00:28:55,000 --> 00:28:57,000 El cociente de dividir, tres entre dos, 609 00:28:57,000 --> 00:28:59,000 que era tres, 610 00:28:59,000 --> 00:29:01,000 pues se vuelve a dividir entre diez. 611 00:29:01,000 --> 00:29:03,000 Y el resto me da tres por ciento diez. 612 00:29:03,000 --> 00:29:05,000 Vale. 613 00:29:05,000 --> 00:29:07,000 El resto que me sale, tres. 614 00:29:07,000 --> 00:29:09,000 La siguiente cifra decimal, ya las tengo todas. 615 00:29:09,000 --> 00:29:11,000 Cuatro, siete, dos, tres. 616 00:29:11,000 --> 00:29:13,000 Y este cociente ya queda cero. 617 00:29:15,000 --> 00:29:17,000 Pues ya tengo el bucle perfilado. 618 00:29:17,000 --> 00:29:19,000 Tengo que hacer un montón de veces. 619 00:29:21,000 --> 00:29:23,000 Obtener una variable c 620 00:29:23,000 --> 00:29:25,000 dividiendo el número entre diez. 621 00:29:25,000 --> 00:29:27,000 Y luego cojo el resto 622 00:29:27,000 --> 00:29:29,000 y ya tengo la primera cifra decimal. 623 00:29:29,000 --> 00:29:31,000 Esa variable c la vuelvo a dividir entre diez. 624 00:29:31,000 --> 00:29:33,000 Y el resto, 625 00:29:33,000 --> 00:29:35,000 me quedo con su resto. 626 00:29:35,000 --> 00:29:37,000 Esa misma variable c, 627 00:29:37,000 --> 00:29:39,000 que se ha quedado pisada, la vuelvo a dividir entre diez. 628 00:29:39,000 --> 00:29:41,000 Y me quedo con el resto. 629 00:29:41,000 --> 00:29:43,000 Entonces ya tengo que hacer un montón de veces esto. 630 00:29:43,000 --> 00:29:45,000 Un montón de veces esto. 631 00:29:45,000 --> 00:29:47,000 Dos operaciones, un montón de veces. 632 00:29:47,000 --> 00:29:49,000 Para que el bucle quede completo 633 00:29:49,000 --> 00:29:51,000 tengo que decir, ¿hasta cuándo? 634 00:29:51,000 --> 00:29:53,000 Pues hasta que esa variable c sea cero. 635 00:29:53,000 --> 00:29:55,000 Porque cuando esa variable c es cero, 636 00:29:55,000 --> 00:29:57,000 ya he terminado. 637 00:29:57,000 --> 00:29:59,000 Ya no sigo dividiendo. 638 00:29:59,000 --> 00:30:01,000 Pues tengo el bucle completo. 639 00:30:01,000 --> 00:30:03,000 Lo que tengo que hacer dentro 640 00:30:05,000 --> 00:30:07,000 y la condición de finalización. 641 00:30:07,000 --> 00:30:09,000 Pues una vez ya entendido esto, 642 00:30:09,000 --> 00:30:11,000 visualizado esto, 643 00:30:11,000 --> 00:30:13,000 uno ya se pone a 644 00:30:13,000 --> 00:30:15,000 programarlo y hacer sus pruebas 645 00:30:15,000 --> 00:30:17,000 a ver cómo les sale. 646 00:30:17,000 --> 00:30:19,000 ¿Vale? 647 00:30:21,000 --> 00:30:23,000 Vale. 648 00:30:23,000 --> 00:30:25,000 Pues vamos a intentar programar esto. 649 00:30:51,000 --> 00:30:53,000 Vale. 650 00:30:55,000 --> 00:30:57,000 Pues esto era once. 651 00:31:09,000 --> 00:31:11,000 A ver. 652 00:31:13,000 --> 00:31:15,000 Ejercicio once. 653 00:31:21,000 --> 00:31:23,000 Vale. 654 00:31:45,000 --> 00:31:47,000 Yo aquí con el copia y pega 655 00:31:47,000 --> 00:31:49,000 he debido hacer algo raro. 656 00:31:49,000 --> 00:31:51,000 A ver. 657 00:31:57,000 --> 00:31:59,000 Vale. Saque sus cifras. 658 00:32:15,000 --> 00:32:17,000 Vale. Bueno, pues entonces 659 00:32:17,000 --> 00:32:19,000 ¿cómo programaríamos esto? 660 00:32:19,000 --> 00:32:21,000 Vale, ya hemos visto qué necesitamos. 661 00:32:21,000 --> 00:32:23,000 Primero vamos a leer el número. 662 00:32:23,000 --> 00:32:25,000 Primero vamos a leer el número. 663 00:32:43,000 --> 00:32:45,000 Número entero. 664 00:32:47,000 --> 00:32:49,000 Vale. 665 00:32:49,000 --> 00:32:51,000 Pues este número suponer que se ha leído aquí. 666 00:32:59,000 --> 00:33:01,000 Vale. 667 00:33:01,000 --> 00:33:03,000 Y ahora ya es cuando tenemos que hacer 668 00:33:03,000 --> 00:33:05,000 toda esa sucesión de divisiones 669 00:33:05,000 --> 00:33:07,000 que nos vamos quedando. 670 00:33:07,000 --> 00:33:09,000 Cociente y resto, cociente y resto, cociente y resto. 671 00:33:09,000 --> 00:33:11,000 Vale, pues entonces 672 00:33:11,000 --> 00:33:13,000 vamos a necesitar una variable 673 00:33:13,000 --> 00:33:15,000 para guardar el cociente 674 00:33:15,000 --> 00:33:17,000 y para guardar el resto. 675 00:33:17,000 --> 00:33:19,000 Porque una variable ya me va a dar 676 00:33:19,000 --> 00:33:21,000 la cifra 677 00:33:21,000 --> 00:33:23,000 y otra variable, cociente, es la que necesito 678 00:33:23,000 --> 00:33:25,000 para que en la siguiente iteración 679 00:33:25,000 --> 00:33:27,000 pueda yo volver a hacer la división y el resto. 680 00:33:27,000 --> 00:33:29,000 Entonces esta variable cociente 681 00:33:29,000 --> 00:33:31,000 es la que de una iteración a otra 682 00:33:31,000 --> 00:33:33,000 voy actualizando 683 00:33:33,000 --> 00:33:35,000 ¿verdad? Voy actualizando 684 00:33:35,000 --> 00:33:37,000 de una división a otra. 685 00:33:37,000 --> 00:33:39,000 La voy actualizando cada vez. 686 00:33:39,000 --> 00:33:41,000 Primero es esta, que es el número inicial. 687 00:33:41,000 --> 00:33:43,000 La siguiente vez ya es esta. 688 00:33:43,000 --> 00:33:45,000 La siguiente es esta y la siguiente es tres. 689 00:33:45,000 --> 00:33:47,000 O sea, de una iteración a otra 690 00:33:47,000 --> 00:33:49,000 la voy actualizando, partiendo del número inicial. 691 00:33:49,000 --> 00:33:51,000 Esa variable cociente. 692 00:33:51,000 --> 00:33:53,000 Bueno, vamos a suponer que, para ser claros, 693 00:33:53,000 --> 00:33:55,000 que lo ponemos así. 694 00:33:55,000 --> 00:33:57,000 Una variable va a ser el cociente 695 00:33:57,000 --> 00:33:59,000 que la inicializo con el número que me han dado 696 00:33:59,000 --> 00:34:01,000 y otra variable va a ser el resto. 697 00:34:01,000 --> 00:34:03,000 Que es la primera, 698 00:34:03,000 --> 00:34:05,000 que irá siendo las cifras decimales 699 00:34:05,000 --> 00:34:07,000 que todavía no he sacado. 700 00:34:13,000 --> 00:34:15,000 ¿Qué he hecho yo aquí mal? 701 00:34:19,000 --> 00:34:21,000 Ah, que he puesto a quinto otra vez. 702 00:34:21,000 --> 00:34:23,000 Estaba volviendo de loca. 703 00:34:23,000 --> 00:34:25,000 Vale, ya está. 704 00:34:25,000 --> 00:34:27,000 Venga, pues ahora ya es el bucle 705 00:34:27,000 --> 00:34:29,000 que hemos dicho. 706 00:34:29,000 --> 00:34:31,000 Un bucle que está todo el rato. 707 00:34:31,000 --> 00:34:33,000 ¿Que está todo el rato haciendo qué? 708 00:34:35,000 --> 00:34:37,000 Vale, pues podemos sacar 709 00:34:37,000 --> 00:34:39,000 primero la cifra decimal, 710 00:34:39,000 --> 00:34:41,000 que era el resto. 711 00:34:41,000 --> 00:34:43,000 Sacamos 712 00:34:43,000 --> 00:34:45,000 cifra decimal. 713 00:34:47,000 --> 00:34:49,000 Que es resto 714 00:34:49,000 --> 00:34:51,000 igual a 715 00:34:51,000 --> 00:34:53,000 cociente 716 00:34:53,000 --> 00:34:55,000 resto 10. 717 00:34:55,000 --> 00:34:57,000 Esa ya es una cifra decimal. 718 00:34:59,000 --> 00:35:01,000 ¿Que vamos a mostrarla? 719 00:35:01,000 --> 00:35:03,000 Pues venga, la mostramos. Como dicen líneas separadas, 720 00:35:03,000 --> 00:35:05,000 pues por eso pongo el println. 721 00:35:05,000 --> 00:35:07,000 Resto. 722 00:35:07,000 --> 00:35:09,000 Y ahora, con esa ya saco el resto. 723 00:35:11,000 --> 00:35:13,000 Ya tengo el resto. 724 00:35:13,000 --> 00:35:15,000 Y ahora actualizo la variable cociente, 725 00:35:15,000 --> 00:35:17,000 porque en la siguiente iteración 726 00:35:17,000 --> 00:35:19,000 tengo que usar 727 00:35:19,000 --> 00:35:21,000 el cociente de birlo entre 10. 728 00:35:21,000 --> 00:35:23,000 Pues venga, 729 00:35:23,000 --> 00:35:25,000 cociente igual 730 00:35:29,000 --> 00:35:31,000 cociente entre 10. 731 00:35:35,000 --> 00:35:37,000 Y ya está. 732 00:35:37,000 --> 00:35:39,000 En la siguiente iteración, 733 00:35:39,000 --> 00:35:41,000 ese cociente que se ha quedado 734 00:35:41,000 --> 00:35:43,000 entre 10, al sacarle 735 00:35:43,000 --> 00:35:45,000 el resto tendré la siguiente cifra. 736 00:35:47,000 --> 00:35:49,000 Y lo vuelvo a actualizar 737 00:35:49,000 --> 00:35:51,000 para que se quede entre 10. 738 00:35:51,000 --> 00:35:53,000 Hemos quedado que, 739 00:35:53,000 --> 00:35:55,000 ¿vamos haciendo eso hasta cuándo? 740 00:35:55,000 --> 00:35:57,000 Hemos dicho hasta que cociente sea 0. 741 00:35:59,000 --> 00:36:01,000 ¿Vale? 742 00:36:01,000 --> 00:36:03,000 Cuando cociente ya es 0, 743 00:36:03,000 --> 00:36:05,000 ya no tengo que hacer una quinta iteración. 744 00:36:05,000 --> 00:36:07,000 Ya no tengo que hacer una quinta. 745 00:36:07,000 --> 00:36:09,000 Cuando cociente es 0 es porque ya he sacado 746 00:36:09,000 --> 00:36:11,000 la última cifra decimal. 747 00:36:11,000 --> 00:36:13,000 Cuando me dé 0 es que ya saqué la última. 748 00:36:13,000 --> 00:36:15,000 Bueno, pues entonces la condición 749 00:36:15,000 --> 00:36:17,000 de finalización ya la tenemos. 750 00:36:17,000 --> 00:36:19,000 Mientras cociente sea 751 00:36:19,000 --> 00:36:21,000 mayor o igual que 0. 752 00:36:23,000 --> 00:36:25,000 Y ya está, ya tengo ahí sacadas 753 00:36:25,000 --> 00:36:27,000 todas las cifras. 754 00:36:31,000 --> 00:36:33,000 Si ejecutamos esto, 755 00:36:37,000 --> 00:36:39,000 ¡Hola! 756 00:36:41,000 --> 00:36:43,000 Porque he puesto mayor o igual. 757 00:36:43,000 --> 00:36:45,000 Quería poner menor o igual. 758 00:36:45,000 --> 00:36:47,000 Espera, espera, espera. 759 00:36:47,000 --> 00:36:49,000 ¡Para! A ver, ¿qué he hecho aquí? 760 00:36:57,000 --> 00:36:59,000 ¿Qué ha fallado aquí? 761 00:37:01,000 --> 00:37:03,000 Mientras cociente sea... 762 00:37:03,000 --> 00:37:05,000 ¡Así! 763 00:37:05,000 --> 00:37:07,000 Me vuelvo loca. 764 00:37:07,000 --> 00:37:09,000 Mientras sea mayor que 0. 765 00:37:09,000 --> 00:37:11,000 He puesto mayor o igual, entonces cuando llega a 0 766 00:37:11,000 --> 00:37:13,000 se está ahí toda la vida, claro, cuando sea mayor que 0. 767 00:37:13,000 --> 00:37:15,000 Error tonto. 768 00:37:15,000 --> 00:37:17,000 Vale. 769 00:37:19,000 --> 00:37:21,000 Venga, pues este. 770 00:37:21,000 --> 00:37:23,000 Pues ya están las cifras. 771 00:37:23,000 --> 00:37:25,000 3, 5, 6, 9 y 8. 772 00:37:29,000 --> 00:37:31,000 ¿Vale? 773 00:37:31,000 --> 00:37:33,000 Bueno, es el procedente estándar 774 00:37:33,000 --> 00:37:35,000 con el que uno puede sacar 775 00:37:35,000 --> 00:37:37,000 cifras decimales de un número entero, 776 00:37:37,000 --> 00:37:39,000 de una variable entera. 777 00:37:39,000 --> 00:37:41,000 ¿Vale? 778 00:37:45,000 --> 00:37:47,000 Es programar lo que hemos visto. 779 00:37:47,000 --> 00:37:49,000 Vamos haciendo 780 00:37:49,000 --> 00:37:51,000 sucesivos restos 781 00:37:51,000 --> 00:37:53,000 a partir de los sucesivos 782 00:37:53,000 --> 00:37:55,000 cocientes. 783 00:37:59,000 --> 00:38:01,000 Esta sentencia de aquí me va a quedar 784 00:38:01,000 --> 00:38:03,000 mucho más bonita 785 00:38:03,000 --> 00:38:05,000 si la hago así. 786 00:38:07,000 --> 00:38:09,000 Esta sí mucho mejor. 787 00:38:11,000 --> 00:38:13,000 Así más bonita. 788 00:38:13,000 --> 00:38:15,000 Cociente entre 10 789 00:38:15,000 --> 00:38:17,000 y el resultado se lo asigno a cociente. 790 00:38:19,000 --> 00:38:21,000 ¿Vale? 791 00:38:31,000 --> 00:38:33,000 Vale. 792 00:38:41,000 --> 00:38:43,000 Vale. 793 00:38:49,000 --> 00:38:51,000 Vale, vámonos 794 00:38:53,000 --> 00:38:55,000 aquí. 795 00:38:55,000 --> 00:38:57,000 Que este nos sirve 796 00:38:57,000 --> 00:38:59,000 para introducir el bucle Ford. 797 00:38:59,000 --> 00:39:01,000 Que va a ser más cómodo. 798 00:39:01,000 --> 00:39:03,000 ¿Vale? 799 00:39:07,000 --> 00:39:09,000 Bueno, ¿dudas o preguntas? 800 00:39:15,000 --> 00:39:17,000 Se podría, 801 00:39:17,000 --> 00:39:19,000 pero 802 00:39:19,000 --> 00:39:21,000 A, recursivamente, 803 00:39:21,000 --> 00:39:23,000 que no sabemos hacerlo. 804 00:39:23,000 --> 00:39:25,000 B, metiendo las variables en una array, 805 00:39:25,000 --> 00:39:27,000 que tampoco sabemos hacerlo. 806 00:39:27,000 --> 00:39:29,000 Es que nos falta por saber 807 00:39:29,000 --> 00:39:31,000 como el 99,9% 808 00:39:31,000 --> 00:39:33,000 de lo que tendríamos que saber. 809 00:39:33,000 --> 00:39:35,000 Pero esto, una vez entendido esto, 810 00:39:35,000 --> 00:39:37,000 lo demás es incorporar 811 00:39:37,000 --> 00:39:39,000 datos, entre comillas. 812 00:39:39,000 --> 00:39:41,000 Es incorporar datos. 813 00:39:41,000 --> 00:39:43,000 Pero esto no es incorporar datos, 814 00:39:43,000 --> 00:39:45,000 esto es incorporar formas de pensar. 815 00:39:49,000 --> 00:39:51,000 Sí, lo harías con un while, 816 00:39:51,000 --> 00:39:53,000 pero 817 00:39:53,000 --> 00:39:55,000 el problema es que el ejercicio así 818 00:39:55,000 --> 00:39:57,000 tú vas mostrando las cifras 819 00:39:57,000 --> 00:39:59,000 según se van saliendo. 820 00:39:59,000 --> 00:40:01,000 Y te van saliendo en ese orden, 821 00:40:01,000 --> 00:40:03,000 no lo puedes hacer de otra manera, 822 00:40:03,000 --> 00:40:05,000 porque tú no sabes cuánto tamaño tiene, 823 00:40:05,000 --> 00:40:07,000 entonces tienes que empezar siempre 824 00:40:07,000 --> 00:40:09,000 por las unidades. 825 00:40:09,000 --> 00:40:11,000 Entonces, como te van saliendo así, 826 00:40:11,000 --> 00:40:13,000 las vas mostrando así. 827 00:40:13,000 --> 00:40:15,000 Y no hay alternativa. 828 00:40:15,000 --> 00:40:17,000 Que tú quieres mostrarlas en otro orden, 829 00:40:17,000 --> 00:40:19,000 podrías, en lugar de irlas mostrando 830 00:40:19,000 --> 00:40:21,000 según te salen, 831 00:40:21,000 --> 00:40:23,000 irlas metiendo en una cajita 832 00:40:23,000 --> 00:40:25,000 pero esa cajita es un array 833 00:40:25,000 --> 00:40:27,000 que todavía no sabemos manejar. 834 00:40:27,000 --> 00:40:29,000 Eso, o hacerlo de forma 835 00:40:29,000 --> 00:40:31,000 recursiva, pero de eso por ahora 836 00:40:31,000 --> 00:40:33,000 olvidate que es muy complicado. 837 00:40:33,000 --> 00:40:35,000 Vale, ahora mismo, 838 00:40:35,000 --> 00:40:37,000 con lo que sabemos, 839 00:40:37,000 --> 00:40:39,000 como tienes que tirar de las unidades 840 00:40:39,000 --> 00:40:41,000 porque no puedes tirar 841 00:40:41,000 --> 00:40:43,000 de la otra parte, 842 00:40:43,000 --> 00:40:45,000 pero no sabes cuánto es, 843 00:40:45,000 --> 00:40:47,000 tienes que tirar de las unidades. 844 00:40:47,000 --> 00:40:49,000 Y tal y como te van saliendo las tienes que mostrar, 845 00:40:49,000 --> 00:40:51,000 porque no conocemos una estructura 846 00:40:51,000 --> 00:40:53,000 que puedas tener ahí temporalmente 847 00:40:53,000 --> 00:40:55,000 hasta que ya tengas todas. 848 00:40:55,000 --> 00:40:57,000 No la conocemos todavía. 849 00:40:57,000 --> 00:40:59,000 Con lo que sabemos no hay otra forma. 850 00:40:59,000 --> 00:41:01,000 Pero en cualquier caso tendrías que hacerlo con un while. 851 00:41:01,000 --> 00:41:03,000 Incluso aunque usaras esa estructura temporal, 852 00:41:03,000 --> 00:41:05,000 un bucle tienes que hacer siempre. 853 00:41:05,000 --> 00:41:07,000 Porque tienes que hacer 854 00:41:07,000 --> 00:41:09,000 varias veces sacar una cifra. 855 00:41:09,000 --> 00:41:11,000 Entonces un bucle siempre lo vas a tener que hacer. 856 00:41:11,000 --> 00:41:13,000 ¿Eh? 857 00:41:13,000 --> 00:41:15,000 La misma, la misma. 858 00:41:15,000 --> 00:41:17,000 La misma, claro, 859 00:41:17,000 --> 00:41:19,000 porque la operación siempre tiene que ser 860 00:41:19,000 --> 00:41:21,000 igual que ir haciendo divisiones, restos, 861 00:41:21,000 --> 00:41:23,000 divisiones, restos, hasta que el cuente sea cero. 862 00:41:23,000 --> 00:41:25,000 La misma. 863 00:41:25,000 --> 00:41:27,000 Lo que cambiaría es si esas cifras 864 00:41:27,000 --> 00:41:29,000 las vas mostrando 865 00:41:29,000 --> 00:41:31,000 o las vas guardando 866 00:41:31,000 --> 00:41:33,000 para mostrarlas luego. 867 00:41:33,000 --> 00:41:35,000 Es lo que cambiaría. 868 00:41:35,000 --> 00:41:37,000 Si las vas mostrando es que te van a salir en ese orden, 869 00:41:37,000 --> 00:41:39,000 no hay otra. 870 00:41:39,000 --> 00:41:41,000 Y si quieres mostrarlas en otro orden entonces las vas guardando 871 00:41:41,000 --> 00:41:43,000 y luego ya las muestras como te da la gana. 872 00:41:45,000 --> 00:41:47,000 Pero tendrías que irlas guardando. 873 00:41:47,000 --> 00:41:49,000 ¿Irlas guardando dónde? 874 00:41:49,000 --> 00:41:51,000 Pues no conocemos estructuras de datos 875 00:41:51,000 --> 00:41:53,000 que se adapten a eso aún. 876 00:41:57,000 --> 00:41:59,000 Vale, pues venga, a ver, 877 00:41:59,000 --> 00:42:01,000 este de aquí. 878 00:42:01,000 --> 00:42:03,000 Bueno, este es de nuevo para jugar otra vez 879 00:42:03,000 --> 00:42:05,000 con un bucle dentro de un bucle. 880 00:42:05,000 --> 00:42:07,000 Este, ¿quién lo ha hecho? 881 00:42:07,000 --> 00:42:09,000 Al doce. 882 00:42:09,000 --> 00:42:11,000 ¿No ha llegado nadie todavía? Vale. 883 00:42:13,000 --> 00:42:15,000 Vale. 884 00:42:15,000 --> 00:42:17,000 Lo importante es que todos los que hemos hecho 885 00:42:17,000 --> 00:42:19,000 todos los volváis a hacer 886 00:42:19,000 --> 00:42:21,000 vosotros solos. 887 00:42:21,000 --> 00:42:23,000 Poneos de cero 888 00:42:23,000 --> 00:42:25,000 directamente al cual anunciáis. 889 00:42:25,000 --> 00:42:27,000 Vosotros solos, otra vez lo voy a volver a hacer. 890 00:42:27,000 --> 00:42:29,000 Este mismo. 891 00:42:29,000 --> 00:42:31,000 Y si os veis sueltos, pues ya 892 00:42:31,000 --> 00:42:33,000 vais haciendo programas nuevos. 893 00:42:33,000 --> 00:42:35,000 Bueno, este de aquí. 894 00:42:35,000 --> 00:42:37,000 Este es, 895 00:42:37,000 --> 00:42:39,000 como es mostrar por pantalla, 896 00:42:39,000 --> 00:42:41,000 es hacer System.out.println. 897 00:42:41,000 --> 00:42:43,000 De eso se trata, de hacer System.out.println. 898 00:42:43,000 --> 00:42:45,000 ¿Cuántos? Muchos. 899 00:42:45,000 --> 00:42:47,000 Conclusión. 900 00:42:47,000 --> 00:42:49,000 Un bucle que tiene dentro System.out.println. 901 00:42:49,000 --> 00:42:51,000 Ese va a ser mi 902 00:42:51,000 --> 00:42:53,000 mi programa, ¿no? 903 00:42:53,000 --> 00:42:55,000 Un bucle que lo que tenga adentro 904 00:42:55,000 --> 00:42:57,000 es System.out.println. 905 00:42:57,000 --> 00:42:59,000 Eso es lo que, vale. 906 00:42:59,000 --> 00:43:01,000 Bueno, pues, 907 00:43:01,000 --> 00:43:03,000 cada System.out.println 908 00:43:03,000 --> 00:43:05,000 me puedo plantear, 909 00:43:05,000 --> 00:43:07,000 o cada iteración del bucle me puedo plantear 910 00:43:07,000 --> 00:43:09,000 que va a mostrar, la primera iteración va a mostrar esta línea. 911 00:43:09,000 --> 00:43:11,000 La segunda esta. 912 00:43:11,000 --> 00:43:13,000 La tercera esta. 913 00:43:13,000 --> 00:43:15,000 Y así hasta la enésima que me mostrará esta. 914 00:43:15,000 --> 00:43:17,000 Entonces me puedo plantear mi programa 915 00:43:17,000 --> 00:43:19,000 como un bucle 916 00:43:19,000 --> 00:43:21,000 que en cada iteración me muestra una línea, ¿verdad? 917 00:43:21,000 --> 00:43:23,000 Porque lo que nosotros 918 00:43:23,000 --> 00:43:25,000 sí que vemos es que en función 919 00:43:25,000 --> 00:43:27,000 de este numerito n, 920 00:43:27,000 --> 00:43:29,000 ese triángulo es más pequeño o más grande. 921 00:43:29,000 --> 00:43:31,000 Luego las iteraciones son por línea. 922 00:43:31,000 --> 00:43:33,000 ¿Que me meten un n que es 4? 923 00:43:33,000 --> 00:43:35,000 Pues ese bucle se va a ejecutar 924 00:43:35,000 --> 00:43:37,000 cuatro veces. 925 00:43:37,000 --> 00:43:39,000 ¿Que me meten un n que es 7? Pues ese bucle 926 00:43:39,000 --> 00:43:41,000 es 7 veces. Entonces va a ser un bucle 927 00:43:41,000 --> 00:43:43,000 que en cada iteración muestre una línea. 928 00:43:43,000 --> 00:43:45,000 ¿Vale? Eso va a ser. 929 00:43:45,000 --> 00:43:47,000 Bueno, pues entonces 930 00:43:47,000 --> 00:43:49,000 ya uno podría empezar ya 931 00:43:49,000 --> 00:43:51,000 a poner esa estructura. 932 00:43:51,000 --> 00:43:53,000 Este es el 12. 933 00:44:09,000 --> 00:44:11,000 Venga, ejercicio 12. 934 00:44:11,000 --> 00:44:13,000 A ver, no copie denunciado porque... 935 00:44:13,000 --> 00:44:15,000 Vale, pues hemos dicho. 936 00:44:15,000 --> 00:44:17,000 Bueno, habrá que leer el número lo primero. 937 00:44:17,000 --> 00:44:19,000 Pues venga, vamos a leer el número lo primero. 938 00:44:23,000 --> 00:44:25,000 Este. 939 00:44:25,000 --> 00:44:27,000 El número ya está leído. 940 00:44:27,000 --> 00:44:29,000 Lo vamos a llamar 941 00:44:29,000 --> 00:44:31,000 en mayúscula para que se llame igual que el ejercicio. 942 00:44:31,000 --> 00:44:33,000 Pero bueno, vale. 943 00:44:33,000 --> 00:44:35,000 Ya tengo el número leído. 944 00:44:35,000 --> 00:44:37,000 Y ahora, 945 00:44:37,000 --> 00:44:39,000 la idea es 946 00:44:39,000 --> 00:44:41,000 mostrar 947 00:44:41,000 --> 00:44:43,000 estas líneas. 948 00:44:43,000 --> 00:44:45,000 Pues un bucle 949 00:44:45,000 --> 00:44:47,000 que cada iteración me muestra 950 00:44:47,000 --> 00:44:49,000 la línea que le toque. 951 00:44:49,000 --> 00:44:51,000 Pues venga, entonces 952 00:44:51,000 --> 00:44:53,000 te lo podríamos plantear 953 00:44:53,000 --> 00:44:55,000 while no se cuantos. 954 00:44:57,000 --> 00:44:59,000 While no se cuantos. 955 00:44:59,000 --> 00:45:01,000 Aquí que tenemos que hacer. 956 00:45:01,000 --> 00:45:03,000 Mostrar 957 00:45:03,000 --> 00:45:05,000 línea 958 00:45:05,000 --> 00:45:07,000 Linea 959 00:45:07,000 --> 00:45:09,000 Mostrar una línea. 960 00:45:09,000 --> 00:45:11,000 Esa sería la estructura 961 00:45:11,000 --> 00:45:13,000 de mi programa, ¿verdad? 962 00:45:13,000 --> 00:45:15,000 Y ahora ya 963 00:45:15,000 --> 00:45:17,000 hay que empezar a pensarlo. 964 00:45:17,000 --> 00:45:19,000 Que la estructura es esa. Yo leo el numerito n. 965 00:45:19,000 --> 00:45:21,000 Y ahora tengo que hacer un bucle 966 00:45:21,000 --> 00:45:23,000 en el cual en la primera iteración muestro 967 00:45:23,000 --> 00:45:25,000 esta línea. En la segunda 968 00:45:25,000 --> 00:45:27,000 muestro esta. En la tercera muestro 969 00:45:27,000 --> 00:45:29,000 esta. Luego es un bucle en el que estoy todo el rato 970 00:45:29,000 --> 00:45:31,000 mostrando una línea. 971 00:45:31,000 --> 00:45:33,000 Vale. 972 00:45:35,000 --> 00:45:37,000 Bueno, aquí ya hay mucho que 973 00:45:37,000 --> 00:45:39,000 meter. 974 00:45:39,000 --> 00:45:41,000 Bueno, primero vamos a pensar 975 00:45:41,000 --> 00:45:43,000 en la línea que tengo que mostrar. Depende 976 00:45:43,000 --> 00:45:45,000 si estoy en la primera 977 00:45:45,000 --> 00:45:47,000 iteración 978 00:45:47,000 --> 00:45:49,000 tengo que mostrar 1. 979 00:45:49,000 --> 00:45:51,000 Si estoy en la segunda iteración 980 00:45:51,000 --> 00:45:53,000 tengo que mostrar 1 981 00:45:53,000 --> 00:45:55,000 espacio 2. 982 00:45:55,000 --> 00:45:57,000 Si estoy en la tercera iteración tengo que 983 00:45:57,000 --> 00:45:59,000 mostrar 1 espacio 2 984 00:45:59,000 --> 00:46:01,000 espacio 3. 985 00:46:01,000 --> 00:46:03,000 Luego, directamente de lo que estoy 986 00:46:03,000 --> 00:46:05,000 diciendo, ya 987 00:46:05,000 --> 00:46:07,000 extraemos que 988 00:46:07,000 --> 00:46:09,000 en función del número de iteración en la que 989 00:46:09,000 --> 00:46:11,000 yo estoy, si estoy en iteración 1 990 00:46:11,000 --> 00:46:13,000 en la 2, en la 3 991 00:46:13,000 --> 00:46:15,000 muestro cosas distintas. 992 00:46:15,000 --> 00:46:17,000 Luego conviene marcar la iteración en la 993 00:46:17,000 --> 00:46:19,000 que estoy. Conviene marcarla. 994 00:46:19,000 --> 00:46:21,000 De ahí ya me viene el contador. 995 00:46:21,000 --> 00:46:23,000 De ahí ya me viene la idea del contador. 996 00:46:23,000 --> 00:46:25,000 Vale, vamos a marcar un 997 00:46:25,000 --> 00:46:27,000 contador. 998 00:46:27,000 --> 00:46:29,000 Un contador, por ejemplo, que empiece 999 00:46:29,000 --> 00:46:31,000 valiendo 1. 1000 00:46:31,000 --> 00:46:33,000 Y ahora ya, ¿qué tengo que hacer? 1001 00:46:33,000 --> 00:46:35,000 El contador luego, cuando termine 1002 00:46:35,000 --> 00:46:37,000 la iteración, se incrementará. 1003 00:46:37,000 --> 00:46:39,000 Y ahora, ¿qué tengo 1004 00:46:39,000 --> 00:46:41,000 que hacer aquí? Mostrar una línea 1005 00:46:41,000 --> 00:46:43,000 que sea de 1 1006 00:46:43,000 --> 00:46:45,000 2, así hasta 1007 00:46:45,000 --> 00:46:47,000 con. Ahora ya empieza 1008 00:46:47,000 --> 00:46:49,000 a tomar esto un poco más de forma. 1009 00:46:49,000 --> 00:46:51,000 ¿Verdad? 1010 00:46:51,000 --> 00:46:53,000 Si estoy en la primera iteración mostraré 1011 00:46:53,000 --> 00:46:55,000 1 solo. Y con se quedará 1012 00:46:55,000 --> 00:46:57,000 incrementado. 1013 00:46:57,000 --> 00:46:59,000 No, no, no. 1014 00:46:59,000 --> 00:47:01,000 Hasta cont. Porque 1015 00:47:01,000 --> 00:47:03,000 aquí estoy en la línea de la iteración. 1016 00:47:03,000 --> 00:47:05,000 Y la primera línea es 1017 00:47:05,000 --> 00:47:07,000 hasta 1 solo. 1018 00:47:07,000 --> 00:47:09,000 Hasta n es solo la última. 1019 00:47:09,000 --> 00:47:11,000 Entonces, cont va variando. 1020 00:47:11,000 --> 00:47:13,000 En la primera iteración, cont es 1. 1021 00:47:13,000 --> 00:47:15,000 Por eso, de 1 hasta cont es 1 1022 00:47:15,000 --> 00:47:17,000 solo. En la segunda iteración 1023 00:47:17,000 --> 00:47:19,000 cont es 2, porque lo has dejado incrementado. 1024 00:47:19,000 --> 00:47:21,000 Pues mostrará de 1 a 2. 1025 00:47:21,000 --> 00:47:23,000 En la tercera, cont es 3. 1026 00:47:23,000 --> 00:47:25,000 Por eso hemos usado, se nos ha ocurrido 1027 00:47:25,000 --> 00:47:27,000 esa variable con a. Genial. 1028 00:47:27,000 --> 00:47:29,000 Porque así tengo una variable que me 1029 00:47:29,000 --> 00:47:31,000 dice en qué número de iteración estoy. 1030 00:47:31,000 --> 00:47:33,000 Y el número de iteración en la que estoy es relacionado 1031 00:47:33,000 --> 00:47:35,000 directamente con el numerito al que llevo. 1032 00:47:35,000 --> 00:47:37,000 Entonces ya 1033 00:47:37,000 --> 00:47:39,000 lo vamos perfilando un poco más. Tenemos aquí 1034 00:47:39,000 --> 00:47:41,000 un contador de iteraciones. 1035 00:47:41,000 --> 00:47:43,000 Por decirlo así. 1036 00:47:43,000 --> 00:47:45,000 Un contador de iteraciones. 1037 00:47:45,000 --> 00:47:47,000 La primera vez que entramos es 1. 1038 00:47:47,000 --> 00:47:49,000 Entonces tendría que mostrar la línea de 1 a 1, 1. 1039 00:47:49,000 --> 00:47:51,000 Y lo dejamos incrementado. 1040 00:47:51,000 --> 00:47:53,000 La siguiente vez 1041 00:47:53,000 --> 00:47:55,000 que entramos es 2. 1042 00:47:55,000 --> 00:47:57,000 Tendría que mostrar 1 con 1043 00:47:57,000 --> 00:47:59,000 que es 2. La siguiente vez que 1044 00:47:59,000 --> 00:48:01,000 entramos es 3. Pues tendríamos que mostrar 1045 00:48:01,000 --> 00:48:03,000 1, 2 hasta 3. En cualquier caso 1046 00:48:03,000 --> 00:48:05,000 hasta cont. Esto es lo que se nos 1047 00:48:05,000 --> 00:48:07,000 queda aquí ahora como caja negra. 1048 00:48:07,000 --> 00:48:09,000 Como mostramos esa línea. 1, 2 1049 00:48:09,000 --> 00:48:11,000 hasta cont. Que cont va variando. 1050 00:48:11,000 --> 00:48:13,000 Eso es una primera caja negra que hay que resolver. 1051 00:48:13,000 --> 00:48:15,000 Pero a cambio se nos ha 1052 00:48:15,000 --> 00:48:17,000 resuelto esta. 1053 00:48:17,000 --> 00:48:19,000 Porque esa ya me permite decir 1054 00:48:19,000 --> 00:48:21,000 cuándo acabo el bucle. Qué condición 1055 00:48:21,000 --> 00:48:23,000 pondríais ahí. 1056 00:48:23,000 --> 00:48:25,000 Fijaos que va valiendo. Aquí vale 1. 1057 00:48:25,000 --> 00:48:27,000 Aquí vale 2. Aquí vale 3. 1058 00:48:27,000 --> 00:48:29,000 Y así hasta ahí que vale n. 1059 00:48:29,000 --> 00:48:31,000 Luego qué condición 1060 00:48:31,000 --> 00:48:33,000 pondríais ahí. 1061 00:48:35,000 --> 00:48:37,000 Claro, mientras sea menor o igual 1062 00:48:37,000 --> 00:48:39,000 que n. Porque en la n también entramos. 1063 00:48:39,000 --> 00:48:41,000 ¿Vale? Pues esto 1064 00:48:41,000 --> 00:48:43,000 ya lo tenemos resuelto. 1065 00:48:43,000 --> 00:48:45,000 Esto ya lo tenemos resuelto. 1066 00:48:45,000 --> 00:48:47,000 Entonces ya solo se nos ha quedado esto. 1067 00:48:47,000 --> 00:48:49,000 ¿Cómo muestro yo ahí una línea 1068 00:48:49,000 --> 00:48:51,000 que sea la primera iteración 1? 1069 00:48:51,000 --> 00:48:53,000 O sea, hasta cont siempre. 1070 00:48:53,000 --> 00:48:55,000 Pues no es tan sencillo. 1071 00:48:55,000 --> 00:48:57,000 Porque de nuevo 1072 00:48:57,000 --> 00:48:59,000 esto a su vez va a tener que ser 1073 00:48:59,000 --> 00:49:01,000 otro bucle que se ejecute 1074 00:49:01,000 --> 00:49:03,000 cont veces. 1075 00:49:03,000 --> 00:49:05,000 Y en cada iteración 1076 00:49:05,000 --> 00:49:07,000 un bucle que se ejecute cont veces 1077 00:49:07,000 --> 00:49:09,000 y vaya mostrando los numeritos. 1, 2, 3 1078 00:49:09,000 --> 00:49:11,000 hasta cont. Ese será un bucle. 1079 00:49:11,000 --> 00:49:13,000 Para mostrar esta línea 1080 00:49:13,000 --> 00:49:15,000 tendremos que hacer un bucle 1081 00:49:15,000 --> 00:49:17,000 que vaya mostrando 1082 00:49:17,000 --> 00:49:19,000 todos los números comprendidos 1083 00:49:19,000 --> 00:49:21,000 entre 1 y cont. 1084 00:49:21,000 --> 00:49:23,000 ¿No? Para mostrar todos los números 1085 00:49:23,000 --> 00:49:25,000 comprendidos entre 1 y cont, pues un bucle 1086 00:49:25,000 --> 00:49:27,000 que se ejecute cont veces 1087 00:49:27,000 --> 00:49:29,000 y vaya mostrando todos entre 1 y cont. 1088 00:49:29,000 --> 00:49:31,000 Bueno, pues esto lo tendremos que hacer 1089 00:49:31,000 --> 00:49:33,000 con otro bucle, entonces. 1090 00:49:33,000 --> 00:49:35,000 ¿Vale? Pues lo podemos 1091 00:49:35,000 --> 00:49:37,000 hacer así. Venga, un bucle 1092 00:49:37,000 --> 00:49:39,000 bucle que 1093 00:49:39,000 --> 00:49:41,000 muestra 1094 00:49:41,000 --> 00:49:43,000 todos 1095 00:49:43,000 --> 00:49:45,000 los números desde 1096 00:49:45,000 --> 00:49:47,000 1 1097 00:49:47,000 --> 00:49:49,000 hasta cont. 1098 00:49:49,000 --> 00:49:51,000 Eso es lo que queremos, un bucle 1099 00:49:51,000 --> 00:49:53,000 que vamos mostrando todos desde 1 hasta cont. 1100 00:49:53,000 --> 00:49:55,000 ¿Vale? Pues bueno, podemos hacer 1101 00:49:55,000 --> 00:49:57,000 una variable auxiliar cualquiera 1102 00:49:59,000 --> 00:50:01,000 que empieza valiendo 1 1103 00:50:01,000 --> 00:50:03,000 y ahora ya 1104 00:50:03,000 --> 00:50:05,000 mientras 1105 00:50:05,000 --> 00:50:07,000 aux sea 1106 00:50:07,000 --> 00:50:09,000 menor o igual que cont 1107 00:50:09,000 --> 00:50:11,000 que es el último que quiero mostrar 1108 00:50:11,000 --> 00:50:13,000 menor o igual que cont que es el último 1109 00:50:13,000 --> 00:50:15,000 pues hacemos 1110 00:50:15,000 --> 00:50:17,000 a la corrección, hacemos 1111 00:50:17,000 --> 00:50:19,000 mostrar aux 1112 00:50:19,000 --> 00:50:21,000 concatenado con un espacio para que no nos quede 1113 00:50:21,000 --> 00:50:23,000 muy pegadito al otro 1114 00:50:23,000 --> 00:50:25,000 y luego incrementamos 1115 00:50:25,000 --> 00:50:27,000 aux 1116 00:50:35,000 --> 00:50:37,000 ¿Vale? O sea 1117 00:50:37,000 --> 00:50:39,000 todo este bucle de aquí 1118 00:50:39,000 --> 00:50:41,000 hace esto 1119 00:50:41,000 --> 00:50:43,000 primero te muestra 1 1120 00:50:43,000 --> 00:50:45,000 luego te muestra 2 1121 00:50:45,000 --> 00:50:47,000 luego 3 y así hasta cont 1122 00:50:47,000 --> 00:50:49,000 que es justo lo que queríamos, mostrar 1123 00:50:49,000 --> 00:50:51,000 todos los números 1, 2, 3 hasta cont 1124 00:50:51,000 --> 00:50:53,000 es justo lo que queríamos, esto hemos tenido que hacer en un 1125 00:50:53,000 --> 00:50:55,000 bucle, hemos tenido que hacerlo en un bucle 1126 00:50:55,000 --> 00:50:57,000 ¿Vale? Pues este bucle se ha quedado 1127 00:50:57,000 --> 00:50:59,000 dentro de esto. ¿Vale? Vamos siempre 1128 00:50:59,000 --> 00:51:01,000 por partes 1129 00:51:03,000 --> 00:51:05,000 Aquí lo único es que 1130 00:51:05,000 --> 00:51:07,000 el 1131 00:51:07,000 --> 00:51:09,000 println 1132 00:51:09,000 --> 00:51:11,000 me mete un salto de línea 1133 00:51:11,000 --> 00:51:13,000 entonces yo mostraría 1 y el 2 abajo 1134 00:51:13,000 --> 00:51:15,000 y el 3, no, yo quiero que estén en la misma línea 1135 00:51:15,000 --> 00:51:17,000 todos hasta cont 1136 00:51:17,000 --> 00:51:19,000 pero tenemos otra variante del system.out.println 1137 00:51:19,000 --> 00:51:21,000 que es el system.out.print 1138 00:51:21,000 --> 00:51:23,000 que no te mete el salto de línea 1139 00:51:23,000 --> 00:51:25,000 pues este ya si que se adapta más a lo que queremos 1140 00:51:25,000 --> 00:51:27,000 entonces este bucle que nos iría haciendo 1141 00:51:27,000 --> 00:51:29,000 primero muestra el 1 1142 00:51:31,000 --> 00:51:33,000 luego muestra el 2 1143 00:51:33,000 --> 00:51:35,000 luego muestra el 3, todos seguidos, luego muestra el 4 1144 00:51:35,000 --> 00:51:37,000 así hasta cont 1145 00:51:37,000 --> 00:51:39,000 así hasta cont 1146 00:51:39,000 --> 00:51:41,000 pues justo lo que queríamos, esto, justo eso 1147 00:51:41,000 --> 00:51:43,000 es lo que necesitábamos, justo eso 1148 00:51:45,000 --> 00:51:47,000 pues ya está, con esto 1149 00:51:47,000 --> 00:51:49,000 hemos conseguido esto 1150 00:51:49,000 --> 00:51:51,000 con este bucle de aquí 1151 00:51:51,000 --> 00:51:53,000 hemos conseguido mostrar 1152 00:51:53,000 --> 00:51:55,000 esa línea 1153 00:51:57,000 --> 00:51:59,000 que queremos que se quede más bonito 1154 00:51:59,000 --> 00:52:01,000 compacto una línea, vamos a hacer el postincremento 1155 00:52:01,000 --> 00:52:03,000 aquí, lo hacemos aquí 1156 00:52:03,000 --> 00:52:05,000 entonces me lo quito de aquí 1157 00:52:05,000 --> 00:52:07,000 lo elimino y ya está 1158 00:52:07,000 --> 00:52:09,000 y puedo quitar hasta las llaves y todo 1159 00:52:09,000 --> 00:52:11,000 pero eso ya es lo de menos 1160 00:52:11,000 --> 00:52:13,000 hacerlo justo aquí después de mostrar 1161 00:52:21,000 --> 00:52:23,000 porque println 1162 00:52:23,000 --> 00:52:25,000 te muestra lo que sea y te salta la línea 1163 00:52:25,000 --> 00:52:27,000 entonces 1164 00:52:27,000 --> 00:52:29,000 el 1, 2, 3, no te aparecerían en la misma línea 1165 00:52:29,000 --> 00:52:31,000 te aparecerían en 1166 00:52:31,000 --> 00:52:33,000 líneas separadas 1167 00:52:33,000 --> 00:52:35,000 yo creo que aparecerían en la mina 1168 00:52:35,000 --> 00:52:37,000 eso, vale 1169 00:52:41,000 --> 00:52:43,000 entonces 1170 00:52:45,000 --> 00:52:47,000 esto que tenemos aquí hecho 1171 00:52:47,000 --> 00:52:49,000 estaría entendido 1172 00:52:49,000 --> 00:52:51,000 hemos visto que es un bucle 1173 00:52:51,000 --> 00:52:53,000 que N mayúscula veces 1174 00:52:53,000 --> 00:52:55,000 está haciendo mostrar 1175 00:52:55,000 --> 00:52:57,000 una línea 1176 00:52:57,000 --> 00:52:59,000 y esa línea 1177 00:52:59,000 --> 00:53:01,000 que tengo que mostrar 1178 00:53:01,000 --> 00:53:03,000 depende del número de iteración 1179 00:53:03,000 --> 00:53:05,000 en la que estoy 1180 00:53:05,000 --> 00:53:07,000 por eso hemos metido el contador 1181 00:53:07,000 --> 00:53:09,000 cuando nos hemos dado cuenta de eso 1182 00:53:09,000 --> 00:53:11,000 de que lo que tengo que mostrar 1183 00:53:11,000 --> 00:53:13,000 depende de la línea en la que estoy 1184 00:53:13,000 --> 00:53:15,000 luego marquemos las líneas con un contador 1185 00:53:15,000 --> 00:53:17,000 la 1, la 2, la 3 1186 00:53:17,000 --> 00:53:19,000 le ponemos puesto el incremento 1187 00:53:21,000 --> 00:53:23,000 ejecutamos a ver que sale 1188 00:53:23,000 --> 00:53:25,000 vale 1189 00:53:27,000 --> 00:53:29,000 entonces uno se pone a hacer pruebas 1190 00:53:29,000 --> 00:53:31,000 venga, 3 1191 00:53:31,000 --> 00:53:33,000 para que no sea un triángulo muy grande 1192 00:53:33,000 --> 00:53:35,000 pues no ha salido 1193 00:53:35,000 --> 00:53:37,000 ha salido el triángulo 1194 00:53:37,000 --> 00:53:39,000 pero roto 1195 00:53:39,000 --> 00:53:41,000 o sea, ha puesto el 1 1196 00:53:41,000 --> 00:53:43,000 pero 1, 2 que tendría que ir abajo lo ha puesto ahí 1197 00:53:43,000 --> 00:53:45,000 y 1, 2, 3 que tendría que ir abajo 1198 00:53:45,000 --> 00:53:47,000 lo ha puesto ahí 1199 00:53:47,000 --> 00:53:49,000 era de esperar 1200 00:53:49,000 --> 00:53:51,000 porque claro, lo que nos falta es 1201 00:53:51,000 --> 00:53:53,000 lo que nos falta es 1202 00:53:53,000 --> 00:53:55,000 cuando ya hemos terminado la línea 1203 00:53:55,000 --> 00:53:57,000 antes de pasar a la siguiente 1204 00:53:57,000 --> 00:53:59,000 ahí sí que queremos bajar 1205 00:53:59,000 --> 00:54:01,000 ahí sí 1206 00:54:01,000 --> 00:54:03,000 entonces ¿cuándo hemos acabado una línea? aquí 1207 00:54:03,000 --> 00:54:05,000 aquí ya hemos acabado una línea 1208 00:54:05,000 --> 00:54:07,000 y ya vamos a pasar a la siguiente 1209 00:54:07,000 --> 00:54:09,000 pues ahí sí que queremos saltar 1210 00:54:09,000 --> 00:54:11,000 bueno, pues no pasa nada, forcemos un salto de línea 1211 00:54:11,000 --> 00:54:13,000 así 1212 00:54:13,000 --> 00:54:15,000 pasándole un println sin nada 1213 00:54:15,000 --> 00:54:17,000 entonces el println no ha mostrado nada 1214 00:54:17,000 --> 00:54:19,000 pero como es un ln 1215 00:54:19,000 --> 00:54:21,000 no ha mostrado nada abajo 1216 00:54:21,000 --> 00:54:23,000 entonces esto simplemente 1217 00:54:23,000 --> 00:54:25,000 metí un salto de línea y ya está 1218 00:54:27,000 --> 00:54:29,000 queda lo que necesitábamos 1219 00:54:29,000 --> 00:54:31,000 meter un salto de línea 1220 00:54:31,000 --> 00:54:33,000 entre cada una de las líneas 1221 00:54:33,000 --> 00:54:35,000 vale, entonces 1222 00:54:35,000 --> 00:54:37,000 volvemos a hacer la prueba 1223 00:54:37,000 --> 00:54:39,000 venga, le metemos 8 1224 00:54:39,000 --> 00:54:41,000 vale, este ya sí 1225 00:54:41,000 --> 00:54:43,000 vale 1226 00:54:50,000 --> 00:54:52,000 vale, pues otra vez como siempre 1227 00:54:54,000 --> 00:54:56,000 tenemos que resolver el problema por partes 1228 00:54:56,000 --> 00:54:58,000 identificar 1229 00:54:58,000 --> 00:55:00,000 ¿qué es este problema mío así en general que hace? 1230 00:55:00,000 --> 00:55:02,000 imprimir muchas líneas 1231 00:55:02,000 --> 00:55:04,000 pues un bucle 1232 00:55:04,000 --> 00:55:06,000 donde en cada iteración imprimo una 1233 00:55:06,000 --> 00:55:08,000 y ahora ya me planteo 1234 00:55:08,000 --> 00:55:10,000 ¿y cómo imprimo cada línea? 1235 00:55:10,000 --> 00:55:12,000 pues ahí ya me tienen que salir los recursos 1236 00:55:12,000 --> 00:55:14,000 y es ah, pues lo que imprimo depende del número de línea en la que estoy 1237 00:55:14,000 --> 00:55:16,000 vale, podría poner un contador 1238 00:55:16,000 --> 00:55:18,000 que se va incrementando, que me dice en qué línea estoy 1239 00:55:18,000 --> 00:55:20,000 a partir de ahí ya son los recursos 1240 00:55:20,000 --> 00:55:22,000 los recursos de programación que a uno se le van ocurriendo 1241 00:55:22,000 --> 00:55:24,000 en función de las cosas que ya hemos visto 1242 00:55:24,000 --> 00:55:26,000 y en las que nos podemos apoyar 1243 00:55:26,000 --> 00:55:28,000 vale, nos podemos apoyar 1244 00:55:28,000 --> 00:55:30,000 en contadores, en sumadores, en todo eso 1245 00:55:36,000 --> 00:55:38,000 vale 1246 00:55:38,000 --> 00:55:40,000 entonces lo único es que este programa 1247 00:55:40,000 --> 00:55:42,000 pues nada, si está bien hecho, ya lo hemos comprobado 1248 00:55:42,000 --> 00:55:44,000 pero hombre, por su naturaleza 1249 00:55:44,000 --> 00:55:46,000 queda más claro 1250 00:55:46,000 --> 00:55:48,000 si utilizamos la tercera sintaxis 1251 00:55:48,000 --> 00:55:50,000 que le permite java de un bucle 1252 00:55:50,000 --> 00:55:52,000 que es la sintaxis de for 1253 00:55:52,000 --> 00:55:54,000 conocemos la while 1254 00:55:54,000 --> 00:55:56,000 la de do while 1255 00:55:56,000 --> 00:55:58,000 y nos falta una 1256 00:55:58,000 --> 00:56:00,000 vale, bueno, nos falta una con matices 1257 00:56:00,000 --> 00:56:02,000 porque 1258 00:56:02,000 --> 00:56:04,000 vale, bueno, pues vamos a parar aquí 1259 00:56:04,000 --> 00:56:06,000 un momentito 1260 00:56:06,000 --> 00:56:08,000 y 1261 00:56:08,000 --> 00:56:10,000 y ya lo encontramos