1 00:00:00,000 --> 00:00:04,000 A ver, seguimos. 2 00:00:08,000 --> 00:00:13,000 Bueno, pues este programa de aquí está bien hecho, hemos comprobado que funciona. 3 00:00:13,000 --> 00:00:17,000 A ver, no hemos hecho mil pruebas, pero bueno, con lo que hace, 4 00:00:17,000 --> 00:00:21,000 con una prueba ya nos ha bastado para ver que funciona. 5 00:00:21,000 --> 00:00:24,000 Venga, seguimos. 6 00:00:24,000 --> 00:00:28,000 Bueno, vale, ya está, y así se podía quedar. 7 00:00:28,000 --> 00:00:38,000 Vale, pues, este es un ejemplo de programa, de bucle. 8 00:00:38,000 --> 00:00:42,000 Venga, hacedme caso. 9 00:00:50,000 --> 00:00:53,000 Bueno, este es un ejemplo de bucle, 10 00:00:53,000 --> 00:00:57,000 en el cual, ya de partida, 11 00:00:57,000 --> 00:01:01,000 según hemos introducido los datos de entrada ya en el inicio, 12 00:01:01,000 --> 00:01:05,000 ya sabemos la cantidad de veces que se va a ejecutar. 13 00:01:05,000 --> 00:01:09,000 Ya lo sabemos, sabemos que se va a ejecutar n mayúsculas veces, ya lo sabemos. 14 00:01:09,000 --> 00:01:13,000 Hay otros programas que hemos hecho, otros ejemplos de bucle que no lo sabíamos. 15 00:01:13,000 --> 00:01:19,000 Como por ejemplo, este no, pero este sí. 16 00:01:19,000 --> 00:01:24,000 Por ejemplo, este bucle, no sabemos las veces que se va a ejecutar. 17 00:01:24,000 --> 00:01:29,000 Si el tío se está metiendo sí 27 veces, o 27 veces. 18 00:01:29,000 --> 00:01:32,000 Si el tío metenó a la primera. 19 00:01:32,000 --> 00:01:37,000 Es decir, antes de entrar en él, es imposible prever cuántas veces se va a ejecutar. 20 00:01:37,000 --> 00:01:41,000 Antes de entrar en él es imposible, porque se va decidiendo en cada ejecución, 21 00:01:41,000 --> 00:01:44,000 si hay una más, y si hay otra, y si hay otra. 22 00:01:44,000 --> 00:01:46,000 Se va decidiendo en cada ejecución. 23 00:01:46,000 --> 00:01:51,000 Luego, antes de entrar en él, en este punto, es imposible saber las veces que se va a ejecutar. 24 00:01:51,000 --> 00:01:55,000 No se puede, en el momento de entrar en él no se puede. 25 00:01:55,000 --> 00:02:02,000 Sin embargo, este otro, antes de entrar en él, ya sabemos las veces que se va a ejecutar seguro. 26 00:02:02,000 --> 00:02:07,000 Porque depende de un dato que ya me ha dado, que es el número n. 27 00:02:07,000 --> 00:02:12,000 Entonces sé que ese bucle se va a ejecutar n mayúsculas veces. 28 00:02:12,000 --> 00:02:15,000 Y para eso hemos puesto un contador que empieza variando 1, se va incrementando, 29 00:02:15,000 --> 00:02:20,000 y cuando llega a n, luego efectivamente se ejecuta n mayúsculas veces. 30 00:02:20,000 --> 00:02:25,000 Luego hay situaciones en las cuales hay un bucle que en el momento de entrar en él 31 00:02:25,000 --> 00:02:28,000 ya sabemos las veces que se va a ejecutar. 32 00:02:28,000 --> 00:02:32,000 7, 15, n mayúsculas más 3, las que sean. 33 00:02:32,000 --> 00:02:36,000 En este caso lo sabíamos, sabemos que se va a ejecutar n mayúsculas veces. 34 00:02:37,000 --> 00:02:41,000 Bueno, pues cuando en un bucle sabemos, en el momento de entrar en él, 35 00:02:41,000 --> 00:02:46,000 ya las veces que se va a ejecutar, porque ya tenemos todos los datos para saberlo, 36 00:02:46,000 --> 00:02:51,000 podemos hacer una sintaxis que, aparte de dejarlo más claro, 37 00:02:51,000 --> 00:02:56,000 nos facilita algunas cosas, que es la sintaxis for. 38 00:02:58,000 --> 00:03:03,000 Vamos a hacerlo aquí, por ejemplo. 39 00:03:03,000 --> 00:03:09,000 Vamos a hacer este mismo bucle de aquí, este mismo bucle que me mostraba el triangulito. 40 00:03:09,000 --> 00:03:14,000 Ese mismo bucle lo vamos a hacer, pero con otra sintaxis de bucle. 41 00:03:20,000 --> 00:03:31,000 Pues lo mismo de arriba lo vamos a hacer con otra sintaxis de bucles. 42 00:03:33,000 --> 00:03:36,000 Que es el bucle for. 43 00:03:38,000 --> 00:03:41,000 Vale, pues vamos a ver. 44 00:03:42,000 --> 00:03:45,000 ¿Cómo es la sintaxis del bucle for? 45 00:03:45,000 --> 00:03:52,000 La sintaxis del bucle for es, primero la palabra for, como era fácil de... 46 00:03:53,000 --> 00:04:03,000 Aquí unos paréntesis que ahora completamos, y aquí lo que se va a repetir, 47 00:04:03,000 --> 00:04:06,000 lo que se va a repetir, como en todos los bucles. 48 00:04:10,000 --> 00:04:15,000 Sentencias que se van a repetir. 49 00:04:18,000 --> 00:04:21,000 Vale, pues ¿qué ponemos aquí dentro del for? 50 00:04:21,000 --> 00:04:26,000 Cuando era un while poníamos la condición que si se cumple entramos dentro. 51 00:04:26,000 --> 00:04:29,000 En el for no se pone eso, en el for se ponen tres cosas. 52 00:04:29,000 --> 00:04:32,000 Tres cosas separadas por punto y coma. 53 00:04:33,000 --> 00:04:35,000 Tres cosas distintas se ponen. 54 00:04:36,000 --> 00:04:38,000 Tres cosas. 55 00:04:39,000 --> 00:04:44,000 A ver, alguna de ellas se puede quedar vacía si no la necesito, 56 00:04:44,000 --> 00:04:50,000 pero que tienen que estar los puntos y comas separando las tres zonas, eso es inamovible. 57 00:04:51,000 --> 00:04:52,000 ¿Vale? 58 00:04:52,000 --> 00:04:59,000 La sintaxis del for tiene aquí tres espacios para tres cosas separadas por punto y coma. 59 00:04:59,000 --> 00:05:03,000 Que algún espacio lo dejo sin rellenar porque no necesito esa parte, lo dejo sin rellenar. 60 00:05:03,000 --> 00:05:05,000 Pero tiene que estar ahí. 61 00:05:05,000 --> 00:05:09,000 Vale, ahora la pregunta es, ¿qué ponemos en este espacio? 62 00:05:09,000 --> 00:05:11,000 ¿Qué ponemos en los espacios? 63 00:05:11,000 --> 00:05:15,000 Bueno, el espacio de dentro es el más fácil de entender. 64 00:05:15,000 --> 00:05:18,000 En el espacio de dentro ponemos una condición, 65 00:05:18,000 --> 00:05:23,000 que es la condición que si se cumple yo vuelvo a entrar en el bucle. 66 00:05:23,000 --> 00:05:25,000 Es lo que ponemos ahí. 67 00:05:25,000 --> 00:05:26,000 ¿Vale? 68 00:05:26,000 --> 00:05:31,000 Aquí pondríamos la condición que si se cumple volveríamos a entrar. 69 00:05:31,000 --> 00:05:34,000 La condición que iría en el while. 70 00:05:34,000 --> 00:05:36,000 Esta condición. 71 00:05:36,000 --> 00:05:38,000 La condición que iría en el while. 72 00:05:38,000 --> 00:05:44,000 Entonces, si yo dejo un bucle for así, es lo mismo que hacer esto. 73 00:05:44,000 --> 00:05:46,000 Es exactamente lo mismo. 74 00:05:50,000 --> 00:05:53,000 Es decir, si esto lo dejo en blanco y esto lo dejo en blanco, 75 00:05:53,000 --> 00:05:56,000 no uso esos espacios, no los uso. 76 00:05:56,000 --> 00:05:59,000 Esto y esto son lo mismo. 77 00:05:59,000 --> 00:06:00,000 Son lo mismo. 78 00:06:00,000 --> 00:06:04,000 Entonces yo no uso un bucle for si quiero ignorar esto. 79 00:06:04,000 --> 00:06:07,000 Porque para eso uso un while que me queda más bonito. 80 00:06:07,000 --> 00:06:08,000 ¿Vale? 81 00:06:08,000 --> 00:06:13,000 Uso un bucle for si además quiero usar estas prestaciones adicionales que tiene el bucle for. 82 00:06:13,000 --> 00:06:14,000 ¿Vale? 83 00:06:14,000 --> 00:06:17,000 Porque el bucle for es un while con... 84 00:06:17,000 --> 00:06:19,000 Tranquilo, lo vamos a aplicar ahora. 85 00:06:19,000 --> 00:06:23,000 El bucle for es un bucle while con prestaciones adicionales. 86 00:06:23,000 --> 00:06:25,000 Y esas prestaciones se ponen aquí. 87 00:06:25,000 --> 00:06:27,000 ¿Vale? 88 00:06:27,000 --> 00:06:29,000 Si no las pones, repito, es igual que esto. 89 00:06:29,000 --> 00:06:32,000 Pero hombre, ya que haces un for es para usar esas prestaciones. 90 00:06:32,000 --> 00:06:33,000 ¿Vale? 91 00:06:33,000 --> 00:06:35,000 Pues esas prestaciones, ¿qué son? 92 00:06:35,000 --> 00:06:37,000 ¿Qué son esas prestaciones? 93 00:06:37,000 --> 00:06:39,000 Vale, lo que va en el primer espacio. 94 00:06:39,000 --> 00:06:44,000 Ahí va una o más sentencias que tú quieres que se hagan 95 00:06:44,000 --> 00:06:46,000 la primera vez que entras. 96 00:06:46,000 --> 00:06:48,000 Y solo la primera vez. 97 00:06:48,000 --> 00:06:50,000 Es lo que se llama... 98 00:06:50,000 --> 00:06:53,000 No, un do, todo lo debe... 99 00:06:53,000 --> 00:06:54,000 Una sentencia... 100 00:06:54,000 --> 00:06:56,000 Una que se haga sí o sí. 101 00:06:56,000 --> 00:06:57,000 Sí, pero no están dentro del bucle. 102 00:06:57,000 --> 00:06:58,000 Se hacen solo la primera vez. 103 00:06:58,000 --> 00:07:00,000 Nunca se vuelven a hacer jamás. 104 00:07:00,000 --> 00:07:04,000 Son lo que se llaman sentencias de inicialización del bucle. 105 00:07:04,000 --> 00:07:06,000 Es decir, sería el equivalente al... 106 00:07:06,000 --> 00:07:08,000 Imagínate que tú tienes un while 107 00:07:08,000 --> 00:07:10,000 y tú pones aquí esta sentencia. 108 00:07:10,000 --> 00:07:12,000 In n igual a cero. 109 00:07:14,000 --> 00:07:16,000 Imagínate que quieras hacer esto. 110 00:07:16,000 --> 00:07:19,000 Bueno, pues el bucle for te permite 111 00:07:19,000 --> 00:07:22,000 esa sentencia que tú quieres que se haga justo antes de entrar 112 00:07:22,000 --> 00:07:24,000 que tú quieres que se haga justo antes 113 00:07:24,000 --> 00:07:26,000 te permite ponerla aquí dentro. 114 00:07:26,000 --> 00:07:28,000 Ya está, simplemente. 115 00:07:28,000 --> 00:07:30,000 Entonces queda en línea, queda más bonito. 116 00:07:30,000 --> 00:07:32,000 Te permite ponerla ahí si tú quieres. 117 00:07:32,000 --> 00:07:34,000 Entonces, lo que tú pones aquí 118 00:07:34,000 --> 00:07:36,000 entonces es... 119 00:07:36,000 --> 00:07:37,000 Normalmente una sentencia... 120 00:07:37,000 --> 00:07:39,000 Podrían ser varias, separadas por comas. 121 00:07:39,000 --> 00:07:41,000 Podrían ser varias, separadas por comas. 122 00:07:41,000 --> 00:07:43,000 Pero lo que tú pones ahí, normalmente, 123 00:07:43,000 --> 00:07:45,000 el uso habitual es una sentencia 124 00:07:45,000 --> 00:07:47,000 que se hace al entrar en el bucle 125 00:07:47,000 --> 00:07:49,000 y solo esa vez. 126 00:07:49,000 --> 00:07:50,000 Solo esa. 127 00:07:50,000 --> 00:07:52,000 ¿Vale? Solo esa. 128 00:07:53,000 --> 00:07:55,000 Esta sentencia se ejecuta 129 00:07:55,000 --> 00:07:57,000 justo antes de 130 00:07:59,000 --> 00:08:01,000 entrar en el bucle. 131 00:08:02,000 --> 00:08:04,000 Es que ni siquiera necesita entrar. 132 00:08:04,000 --> 00:08:06,000 Se ejecuta justo antes de entrar. 133 00:08:06,000 --> 00:08:07,000 No es como lo del do while, 134 00:08:07,000 --> 00:08:09,000 que lo que hay dentro se ejecuta al entrar. 135 00:08:09,000 --> 00:08:11,000 Se ejecuta antes de entrar. 136 00:08:12,000 --> 00:08:14,000 Y solo se ejecuta una vez. 137 00:08:14,000 --> 00:08:16,000 Ya está, solo una vez. 138 00:08:16,000 --> 00:08:17,000 ¿Vale? 139 00:08:17,000 --> 00:08:18,000 Entonces, 140 00:08:19,000 --> 00:08:21,000 Y solo se ejecuta una vez. 141 00:08:21,000 --> 00:08:23,000 Ya está, solo una vez. 142 00:08:23,000 --> 00:08:24,000 Es este efecto. 143 00:08:24,000 --> 00:08:25,000 Es este efecto. 144 00:08:25,000 --> 00:08:26,000 Es este mismo efecto. 145 00:08:26,000 --> 00:08:28,000 Esto se ejecuta 146 00:08:28,000 --> 00:08:30,000 justo antes de entrar 147 00:08:30,000 --> 00:08:32,000 y solo una vez porque está fuera del bucle. 148 00:08:32,000 --> 00:08:34,000 Pues es lo mismo. 149 00:08:34,000 --> 00:08:36,000 Pero el for me permite ponerlo aquí. 150 00:08:37,000 --> 00:08:39,000 ¿Vale? 151 00:08:39,000 --> 00:08:41,000 Entonces, en este caso, en el bucle while, 152 00:08:41,000 --> 00:08:43,000 pues mira, es justo lo que yo tenía. 153 00:08:43,000 --> 00:08:45,000 Quiero que esta sentencia se ejecute 154 00:08:45,000 --> 00:08:47,000 justo antes de entrar 155 00:08:47,000 --> 00:08:49,000 pero solo una vez, aquí dentro ya no. 156 00:08:49,000 --> 00:08:51,000 Aquí dentro no. 157 00:08:51,000 --> 00:08:53,000 Justo antes de entrar y solo una vez. 158 00:08:53,000 --> 00:08:55,000 Ah, vale, pues venga. 159 00:08:55,000 --> 00:08:57,000 Si estamos haciendo esto de arriba con un for, 160 00:08:57,000 --> 00:08:59,000 pondría yo aquí 161 00:08:59,000 --> 00:09:01,000 int count 162 00:09:01,000 --> 00:09:03,000 igual a cero. 163 00:09:05,000 --> 00:09:07,000 ¿Vale? 164 00:09:07,000 --> 00:09:09,000 Aquí es lo que hemos dicho que ponemos. 165 00:09:09,000 --> 00:09:11,000 Ponemos la condición 166 00:09:11,000 --> 00:09:13,000 que mientras se cumpla, entro. 167 00:09:13,000 --> 00:09:15,000 Si queremos hacer lo mismo que arriba, 168 00:09:15,000 --> 00:09:17,000 pues, por ejemplo, podría poner esto. 169 00:09:19,000 --> 00:09:21,000 ¿Vale? 170 00:09:21,000 --> 00:09:23,000 Se me pone en rojo porque es que ya tengo 171 00:09:23,000 --> 00:09:25,000 count declarado. 172 00:09:25,000 --> 00:09:27,000 Entonces lo voy a comentar para que no se me vuelva loco. 173 00:09:31,000 --> 00:09:33,000 Así, vale. 174 00:09:33,000 --> 00:09:35,000 Y ahora, ¿este espacio 175 00:09:35,000 --> 00:09:37,000 para qué sirve? 176 00:09:37,000 --> 00:09:39,000 Si uno lo quiere usar, repito, si uno lo quiere usar. 177 00:09:39,000 --> 00:09:41,000 Si no, no. 178 00:09:41,000 --> 00:09:43,000 Si no lo dejas en blanco. 179 00:09:43,000 --> 00:09:45,000 Lo que uno ponga ahí, 180 00:09:45,000 --> 00:09:47,000 que puede ser una o muchas sentencias 181 00:09:47,000 --> 00:09:49,000 separadas por comas, 182 00:09:49,000 --> 00:09:51,000 no por punto y coma esta vez, 183 00:09:51,000 --> 00:09:53,000 porque el punto y coma es para separar las tres zonas. 184 00:09:53,000 --> 00:09:55,000 Para separar las tres zonas. 185 00:09:55,000 --> 00:09:57,000 Pues lo que pongamos ahí es una o más sentencias 186 00:09:57,000 --> 00:09:59,000 que se van a ejecutar 187 00:09:59,000 --> 00:10:01,000 en cada iteración 188 00:10:01,000 --> 00:10:03,000 y justo al final de las que hay dentro. 189 00:10:03,000 --> 00:10:05,000 ¿Vale? 190 00:10:05,000 --> 00:10:07,000 Lo que uno ponga ahí se ejecuta 191 00:10:07,000 --> 00:10:09,000 en cada iteración y justo al final de lo que hay dentro. 192 00:10:09,000 --> 00:10:11,000 Imaginaos que yo metiera ahí, 193 00:10:11,000 --> 00:10:13,000 por ejemplo, esto. 194 00:10:17,000 --> 00:10:19,000 Porque la quiero inicializar 195 00:10:19,000 --> 00:10:21,000 a cero o a... 196 00:10:21,000 --> 00:10:23,000 a la que lo quiero inicializar, me da igual, a uno en este caso. 197 00:10:23,000 --> 00:10:25,000 Esto, vale. 198 00:10:25,000 --> 00:10:27,000 A lo que importa 199 00:10:27,000 --> 00:10:29,000 es que esa sentencia se hace 200 00:10:29,000 --> 00:10:31,000 antes de entrar, justo antes, 201 00:10:31,000 --> 00:10:33,000 y solo esa vez, nunca más se vuelve a hacer. 202 00:10:35,000 --> 00:10:37,000 ¿Vale? 203 00:10:37,000 --> 00:10:39,000 Imaginaos que yo aquí pongo 204 00:10:39,000 --> 00:10:41,000 esto, por ejemplo. 205 00:10:41,000 --> 00:10:43,000 Bueno, pues es una sentencia 206 00:10:43,000 --> 00:10:45,000 perfectamente válida que puedo poner ahí. 207 00:10:45,000 --> 00:10:47,000 Esa sentencia 208 00:10:47,000 --> 00:10:49,000 se va a ejecutar 209 00:10:49,000 --> 00:10:51,000 en cada iteración, no es como esta. 210 00:10:51,000 --> 00:10:53,000 Que esta no, esta se ejecuta 211 00:10:53,000 --> 00:10:55,000 solo una vez y al entrar. 212 00:10:55,000 --> 00:10:57,000 Pues esta se va a ejecutar en cada iteración 213 00:10:57,000 --> 00:10:59,000 y después de que se hayan hecho las anteriores. 214 00:10:59,000 --> 00:11:01,000 Después de que se hayan hecho las anteriores. 215 00:11:01,000 --> 00:11:03,000 Entonces esto que yo he puesto aquí 216 00:11:03,000 --> 00:11:05,000 sería como 217 00:11:05,000 --> 00:11:07,000 si yo dejara esto en blanco 218 00:11:07,000 --> 00:11:09,000 y lo pusiera aquí, 219 00:11:09,000 --> 00:11:11,000 por ejemplo. Bueno, esto precisamente no. 220 00:11:11,000 --> 00:11:13,000 ¿Vale? 221 00:11:13,000 --> 00:11:15,000 Tendría el mismo 222 00:11:15,000 --> 00:11:17,000 efecto. 223 00:11:17,000 --> 00:11:19,000 ¿Vale? 224 00:11:19,000 --> 00:11:21,000 Lo que pasa es que aquí, si lo pongo aquí, 225 00:11:21,000 --> 00:11:23,000 pues me evito ponerlo aquí. 226 00:11:23,000 --> 00:11:25,000 Bueno, pues en este ejemplo que yo estoy haciendo arriba, 227 00:11:25,000 --> 00:11:27,000 en este ejemplo del 228 00:11:27,000 --> 00:11:29,000 bucle, esta sentencia 229 00:11:29,000 --> 00:11:31,000 cont++ 230 00:11:31,000 --> 00:11:33,000 se está haciendo 231 00:11:33,000 --> 00:11:35,000 todo el rato 232 00:11:35,000 --> 00:11:37,000 después de todo lo que hay dentro. 233 00:11:37,000 --> 00:11:39,000 Todo el rato al final. 234 00:11:39,000 --> 00:11:41,000 Pues podría meterlo aquí. 235 00:11:43,000 --> 00:11:45,000 Podría meterlo aquí. 236 00:11:47,000 --> 00:11:49,000 ¿Vale? Podría meterlo ahí. 237 00:11:49,000 --> 00:11:51,000 Y ahora ya, ¿qué me 238 00:11:51,000 --> 00:11:53,000 queda por meter dentro del bucle? Pues 239 00:11:53,000 --> 00:11:55,000 todo lo demás, esto. 240 00:11:55,000 --> 00:11:57,000 ¿Vale? 241 00:12:01,000 --> 00:12:03,000 Bueno, pues por eso 242 00:12:03,000 --> 00:12:05,000 normalmente uno 243 00:12:05,000 --> 00:12:07,000 cuando ve 244 00:12:07,000 --> 00:12:09,000 la sintaxis del for, la suele ver así. 245 00:12:09,000 --> 00:12:11,000 No porque sea obligatorio poner esto, 246 00:12:11,000 --> 00:12:13,000 sino porque es el uso habitual. 247 00:12:13,000 --> 00:12:15,000 ¿Vale? Pero a ver, vamos a recopilar. 248 00:12:15,000 --> 00:12:17,000 El bucle for es un bucle 249 00:12:17,000 --> 00:12:19,000 que igual que cualquier otro bucle 250 00:12:19,000 --> 00:12:21,000 repite 251 00:12:21,000 --> 00:12:23,000 un montón de veces lo que hay aquí dentro. 252 00:12:23,000 --> 00:12:25,000 Eso está claro. Como cualquier otro 253 00:12:25,000 --> 00:12:27,000 bucle, el bucle for lo que hace es 254 00:12:27,000 --> 00:12:29,000 hacer muchas veces esto. 255 00:12:29,000 --> 00:12:31,000 ¿Cuál es la condición 256 00:12:31,000 --> 00:12:33,000 que hace que yo vuelva a entrar 257 00:12:33,000 --> 00:12:35,000 y vuelva a entrar y vuelva a entrar? 258 00:12:35,000 --> 00:12:37,000 La condición es la que está ahí en medio. 259 00:12:37,000 --> 00:12:39,000 Esa. Como si fuera 260 00:12:39,000 --> 00:12:41,000 el while. Esa es la condición que hace que yo vuelva a entrar 261 00:12:41,000 --> 00:12:43,000 y yo vuelva a entrar. Ya está. 262 00:12:43,000 --> 00:12:45,000 No hay ninguna diferencia con el while. 263 00:12:45,000 --> 00:12:47,000 Pero el for además me permite meter 264 00:12:47,000 --> 00:12:49,000 una cosa aquí y otra aquí si es que 265 00:12:49,000 --> 00:12:51,000 me interesa y me viene bien. 266 00:12:51,000 --> 00:12:53,000 ¿Qué tiene ese significado? 267 00:12:53,000 --> 00:12:55,000 Lo que yo meto aquí es una sentencia 268 00:12:55,000 --> 00:12:57,000 que quiero que se haga justo antes 269 00:12:57,000 --> 00:12:59,000 y solo se va a hacer una vez. 270 00:12:59,000 --> 00:13:01,000 Entonces suele ser cuando 271 00:13:01,000 --> 00:13:03,000 un bucle necesita ser inicializado 272 00:13:03,000 --> 00:13:05,000 con algunas variables, pues la sentencia de inicialización 273 00:13:05,000 --> 00:13:07,000 pues me viene bien meterlas ahí. 274 00:13:07,000 --> 00:13:09,000 Y las tengo ahí ya compactadas. 275 00:13:09,000 --> 00:13:11,000 Y ya ve muy claro el que lo vea que eso va asociado al bucle. 276 00:13:11,000 --> 00:13:13,000 Y luego si en ese bucle 277 00:13:13,000 --> 00:13:15,000 veo que hay una sentencia 278 00:13:15,000 --> 00:13:17,000 que se hace siempre 279 00:13:17,000 --> 00:13:19,000 al final de la iteración, 280 00:13:19,000 --> 00:13:21,000 siempre al final, 281 00:13:21,000 --> 00:13:23,000 pues en lugar de ponerla aquí, la meto ahí. 282 00:13:23,000 --> 00:13:25,000 Porque la sentencia 283 00:13:25,000 --> 00:13:27,000 que yo meta ahí 284 00:13:27,000 --> 00:13:29,000 se va a hacer siempre 285 00:13:29,000 --> 00:13:31,000 en cada iteración 286 00:13:31,000 --> 00:13:33,000 y cuando termine lo que hay aquí 287 00:13:33,000 --> 00:13:35,000 al final 288 00:13:35,000 --> 00:13:37,000 no entre medias, al final. 289 00:13:39,000 --> 00:13:41,000 Entonces para este programa en particular 290 00:13:41,000 --> 00:13:43,000 el for me queda más bonito y más compacto. 291 00:13:43,000 --> 00:13:45,000 Porque yo ahí en la primera línea 292 00:13:45,000 --> 00:13:47,000 ya empiezo a ver 293 00:13:47,000 --> 00:13:49,000 desde que cont sea igual a 1 294 00:13:49,000 --> 00:13:51,000 mientras sea menor o igual que n 295 00:13:51,000 --> 00:13:53,000 e incrementándolo una vez cada vez, hace esto. 296 00:13:53,000 --> 00:13:55,000 Entonces como que 297 00:13:55,000 --> 00:13:57,000 esa sintaxis parece que queda más 298 00:13:57,000 --> 00:13:59,000 clara. 299 00:13:59,000 --> 00:14:01,000 Y me ha evitado la línea de arriba 300 00:14:01,000 --> 00:14:03,000 y la línea de cont más más de abajo. 301 00:14:11,000 --> 00:14:13,000 Entonces el for, aunque suele ser 302 00:14:13,000 --> 00:14:15,000 es el aspecto que suele tener 303 00:14:15,000 --> 00:14:17,000 que suele usarse para 304 00:14:17,000 --> 00:14:19,000 aquí inicializar una variable, 305 00:14:19,000 --> 00:14:21,000 aquí mientras la variable no llegue a una condición 306 00:14:21,000 --> 00:14:23,000 y aquí incrementando la variable, aunque suele ser 307 00:14:23,000 --> 00:14:25,000 el uso, el for se le puede meter ahí 308 00:14:25,000 --> 00:14:27,000 lo que a uno le dé la gana. 309 00:14:27,000 --> 00:14:29,000 Aquí se puede poner cualquier cosa que sea 310 00:14:29,000 --> 00:14:31,000 una condición, cualquiera. 311 00:14:31,000 --> 00:14:33,000 Aquí se puede poner cualquier conjunto 312 00:14:33,000 --> 00:14:35,000 de sentencias, cualquiera, separadas por comas. 313 00:14:35,000 --> 00:14:37,000 Y aquí también 314 00:14:37,000 --> 00:14:39,000 se pueden poner muchas sentencias separadas por comas. 315 00:14:39,000 --> 00:14:41,000 Pero claro, para qué quiero yo un for 316 00:14:41,000 --> 00:14:43,000 así, una línea de for de arriba 317 00:14:43,000 --> 00:14:45,000 enorme, para no entender el programa? 318 00:14:45,000 --> 00:14:47,000 Pues no. 319 00:14:47,000 --> 00:14:49,000 De hecho es que todo esto, si yo lo escribo 320 00:14:49,000 --> 00:14:51,000 seguidito, lo podría meter ahí dentro. 321 00:14:51,000 --> 00:14:53,000 Porque todo esto 322 00:14:53,000 --> 00:14:55,000 se hace una vez por iteración 323 00:14:55,000 --> 00:14:57,000 y al final de la nada. 324 00:14:57,000 --> 00:14:59,000 Pues lo puedo todo ahí metido 325 00:14:59,000 --> 00:15:01,000 seguido. 326 00:15:01,000 --> 00:15:03,000 Pues vale, sí, pero vaya 327 00:15:03,000 --> 00:15:05,000 programa asfaltan horrible. 328 00:15:05,000 --> 00:15:07,000 La idea cuando uno hace un código es que quede claro 329 00:15:07,000 --> 00:15:09,000 y se vea bien. 330 00:15:09,000 --> 00:15:11,000 Bueno pues entonces 331 00:15:11,000 --> 00:15:13,000 estas prestaciones del for que como digo 332 00:15:13,000 --> 00:15:15,000 se pueden generalizar y poner uno 333 00:15:15,000 --> 00:15:17,000 aquí lo que le dé la gana siempre y cuando sean sentencias 334 00:15:17,000 --> 00:15:19,000 de Java, aquí lo que le dé la gana siempre 335 00:15:19,000 --> 00:15:21,000 y cuando sea una condición y aquí lo que le dé 336 00:15:21,000 --> 00:15:23,000 la gana siempre y cuando sean sentencias de Java 337 00:15:23,000 --> 00:15:25,000 el for, el uso 338 00:15:25,000 --> 00:15:27,000 que se le suele dar es un uso 339 00:15:27,000 --> 00:15:29,000 concreto porque para ese 340 00:15:29,000 --> 00:15:31,000 uso es muy práctico. 341 00:15:31,000 --> 00:15:33,000 Y es cuando uno de partida 342 00:15:33,000 --> 00:15:35,000 sabe que hay algo que se va a ejecutar 343 00:15:35,000 --> 00:15:37,000 un número concreto de veces. 344 00:15:37,000 --> 00:15:39,000 Por ejemplo 345 00:15:39,000 --> 00:15:41,000 vamos a hacer aquí 346 00:15:41,000 --> 00:15:43,000 una clase 347 00:15:43,000 --> 00:15:45,000 que sea ejemplo form 348 00:15:45,000 --> 00:15:47,000 para que sea específico 349 00:15:47,000 --> 00:15:49,000 del form. 350 00:15:57,000 --> 00:15:59,000 Pues venga, imaginaos 351 00:15:59,000 --> 00:16:01,000 que aquí hacemos 352 00:16:01,000 --> 00:16:03,000 un código que sea 353 00:16:03,000 --> 00:16:05,000 programa 354 00:16:09,000 --> 00:16:11,000 que dado un número 355 00:16:11,000 --> 00:16:13,000 N mayúscula 356 00:16:17,000 --> 00:16:19,000 solicite 357 00:16:19,000 --> 00:16:21,000 tantas cadenas 358 00:16:23,000 --> 00:16:25,000 como número 359 00:16:25,000 --> 00:16:27,000 se haya introducido 360 00:16:27,000 --> 00:16:29,000 y 361 00:16:29,000 --> 00:16:31,000 para cada 362 00:16:31,000 --> 00:16:33,000 cadena 363 00:16:33,000 --> 00:16:35,000 para recordar el charlat ese que mencionamos 364 00:16:35,000 --> 00:16:37,000 y 365 00:16:39,000 --> 00:16:41,000 y para cada 366 00:16:41,000 --> 00:16:43,000 cadena 367 00:16:43,000 --> 00:16:45,000 muestre 368 00:16:45,000 --> 00:16:47,000 la inicial 369 00:16:47,000 --> 00:16:49,000 en mayúscula 370 00:16:49,000 --> 00:16:51,000 por ejemplo, yo que se 371 00:16:51,000 --> 00:16:53,000 por hacer algo que no sea demasiado tonto. 372 00:16:53,000 --> 00:16:55,000 ¿Vale? 373 00:16:55,000 --> 00:16:57,000 Entonces lo primero que hace el programa es pedir un número 374 00:16:57,000 --> 00:16:59,000 N. 375 00:16:59,000 --> 00:17:01,000 Pues entonces cuando va a pedir un número vamos a ponerle 376 00:17:01,000 --> 00:17:03,000 un escáner. 377 00:17:05,000 --> 00:17:07,000 Venga, introduce 378 00:17:07,000 --> 00:17:09,000 un número entero, esta parte ya está hecha. 379 00:17:09,000 --> 00:17:11,000 Y ahora ya es cuando 380 00:17:11,000 --> 00:17:13,000 decimos, vale, ahora 381 00:17:13,000 --> 00:17:15,000 tiene que hacer N mayúscula 382 00:17:15,000 --> 00:17:17,000 a veces, solicitar 383 00:17:17,000 --> 00:17:19,000 nombre, 384 00:17:19,000 --> 00:17:21,000 poner inicial en mayúscula, mostrar inicial en mayúscula 385 00:17:21,000 --> 00:17:23,000 entonces ya es un bucle 386 00:17:23,000 --> 00:17:25,000 que de partida 387 00:17:25,000 --> 00:17:27,000 antes de arrancar sabemos las veces que se va a hacer 388 00:17:27,000 --> 00:17:29,000 que es N mayúscula a veces 389 00:17:29,000 --> 00:17:31,000 ya lo sabemos de partida. 390 00:17:31,000 --> 00:17:33,000 Pues cuando estamos en esa situación 391 00:17:33,000 --> 00:17:35,000 que ya sabemos que hay un bucle que de partida 392 00:17:35,000 --> 00:17:37,000 se va a hacer N mayúscula a veces 393 00:17:37,000 --> 00:17:39,000 el bucle for nos viene 394 00:17:39,000 --> 00:17:41,000 estupendamente porque podemos hacer 395 00:17:41,000 --> 00:17:43,000 esta sintaxis que es la habitual, la que lo vais 396 00:17:43,000 --> 00:17:45,000 a encontrar en todas partes 397 00:17:45,000 --> 00:17:47,000 que es esta. 398 00:17:47,000 --> 00:17:49,000 Primero me declaro una variable i 399 00:17:49,000 --> 00:17:51,000 que se la suele llamar i 400 00:17:51,000 --> 00:17:53,000 por lo de índex o índice 401 00:17:53,000 --> 00:17:55,000 se le llama el índice del bucle. 402 00:17:55,000 --> 00:17:57,000 Mientras esa variable i sea 403 00:17:57,000 --> 00:17:59,000 menor que N mayúscula 404 00:17:59,000 --> 00:18:01,000 e incrementando N 405 00:18:01,000 --> 00:18:03,000 después de cada iteración, bla bla bla 406 00:18:05,000 --> 00:18:07,000 N mayúscula no, no. 407 00:18:09,000 --> 00:18:11,000 Esta es la sintaxis 408 00:18:11,000 --> 00:18:13,000 que vais a ver en todas partes del bucle for 409 00:18:13,000 --> 00:18:15,000 porque tiene que ser así, obligatoria, no 410 00:18:15,000 --> 00:18:17,000 uno pone aquí lo que le dé 411 00:18:17,000 --> 00:18:19,000 la gana, pero claro 412 00:18:19,000 --> 00:18:21,000 lo que le dé la gana, que haga lo que él quiere 413 00:18:21,000 --> 00:18:23,000 y esto es muy práctico 414 00:18:23,000 --> 00:18:25,000 porque esto recoge la situación de 415 00:18:25,000 --> 00:18:27,000 un bucle for 416 00:18:27,000 --> 00:18:29,000 que se ejecuta cuantas veces 417 00:18:29,000 --> 00:18:31,000 N mayúscula 418 00:18:31,000 --> 00:18:33,000 porque para la primera i es 0 419 00:18:33,000 --> 00:18:35,000 para la segunda es 1 porque se va incrementando 420 00:18:35,000 --> 00:18:37,000 para la siguiente es 2, para la siguiente es 3 421 00:18:37,000 --> 00:18:39,000 cuando ya 422 00:18:39,000 --> 00:18:41,000 sea N ya no va a entrar 423 00:18:41,000 --> 00:18:43,000 entra para la 0, para la 1, para la 2 424 00:18:43,000 --> 00:18:45,000 entonces este bucle 425 00:18:45,000 --> 00:18:47,000 me declara una variable, empieza abriendo 0 426 00:18:47,000 --> 00:18:49,000 la incrementa una vez 427 00:18:49,000 --> 00:18:51,000 en cada iteración 428 00:18:51,000 --> 00:18:53,000 y mientras no sea N 429 00:18:53,000 --> 00:18:55,000 no termina 430 00:18:55,000 --> 00:18:57,000 luego este es un bucle que lo que yo 431 00:18:57,000 --> 00:18:59,000 meta aquí se va a hacer 432 00:18:59,000 --> 00:19:01,000 exactamente N veces 433 00:19:01,000 --> 00:19:03,000 bueno, pues para la situación 434 00:19:03,000 --> 00:19:05,000 esa, situación en la cual 435 00:19:05,000 --> 00:19:07,000 sabemos que lo que queremos repetir 436 00:19:07,000 --> 00:19:09,000 sabemos ya de partida las veces 437 00:19:09,000 --> 00:19:11,000 que se va a hacer, pues cascamos 438 00:19:11,000 --> 00:19:13,000 esto y ya está 439 00:19:13,000 --> 00:19:15,000 me olvido de condiciones de while y de todo 440 00:19:15,000 --> 00:19:17,000 me olvido de todo 441 00:19:17,000 --> 00:19:19,000 porque esto es un bucle que se va a hacer 442 00:19:19,000 --> 00:19:21,000 exactamente N veces 443 00:19:21,000 --> 00:19:23,000 por el uso que he hecho de la i 444 00:19:23,000 --> 00:19:25,000 por el uso que he hecho de la i 445 00:19:25,000 --> 00:19:27,000 y el bucle for se suele usar sobre todo para eso 446 00:19:27,000 --> 00:19:29,000 se usa para esto, por eso que siempre lo veis así 447 00:19:29,000 --> 00:19:31,000 pero claro, uno lo puede 448 00:19:31,000 --> 00:19:33,000 usar para lo que le dé la gana 449 00:19:33,000 --> 00:19:35,000 cambiando estas cosas, para lo que le dé la gana 450 00:19:35,000 --> 00:19:37,000 pero sobre todo se usa 451 00:19:37,000 --> 00:19:39,000 para plantarlo 452 00:19:39,000 --> 00:19:41,000 cuando queremos que algo se haga un número 453 00:19:41,000 --> 00:19:43,000 de veces que ya conozco de partida 454 00:19:43,000 --> 00:19:45,000 que ya conozco de partida 455 00:19:45,000 --> 00:19:47,000 y que no depende de lo que luego el usuario vaya metiendo 456 00:19:47,000 --> 00:19:49,000 por dentro 457 00:19:49,000 --> 00:19:51,000 vale, y la variable i 458 00:19:51,000 --> 00:19:53,000 es la que se la suele llamar el índice del bucle 459 00:19:53,000 --> 00:19:55,000 porque es una variable que la primera vez vale 0 460 00:19:55,000 --> 00:19:57,000 la siguiente vale 1 461 00:19:57,000 --> 00:19:59,000 la siguiente vale 2, claro que se va incrementando 462 00:19:59,000 --> 00:20:01,000 vale, entonces puedo usar 463 00:20:01,000 --> 00:20:03,000 esa variable i si quiero 464 00:20:03,000 --> 00:20:05,000 por ejemplo, vamos a irla mostrando aquí 465 00:20:05,000 --> 00:20:07,000 índice del bucle 466 00:20:07,000 --> 00:20:09,000 índice del bucle 467 00:20:09,000 --> 00:20:11,000 índice del bucle 468 00:20:11,000 --> 00:20:13,000 para ir viendo por qué valores va pasando 469 00:20:17,000 --> 00:20:19,000 la podemos ir mostrando aquí 470 00:20:19,000 --> 00:20:21,000 esa variable la puedo usar yo aquí dentro 471 00:20:21,000 --> 00:20:23,000 la puedo usar yo aquí dentro para hacer lo que me dé la gana 472 00:20:23,000 --> 00:20:25,000 esta variable i empieza haciendo 0 y se va incrementando 473 00:20:25,000 --> 00:20:27,000 la puedo usar para lo que quiera 474 00:20:27,000 --> 00:20:29,000 vale 475 00:20:29,000 --> 00:20:31,000 pues bueno, ¿qué queríamos hacer dentro de este bucle? 476 00:20:31,000 --> 00:20:33,000 ¿qué queríamos hacer num veces? 477 00:20:33,000 --> 00:20:35,000 pues lo que queríamos hacer num veces 478 00:20:35,000 --> 00:20:37,000 era solicitar un nombre 479 00:20:45,000 --> 00:20:47,000 introduzca nombre 480 00:20:49,000 --> 00:20:51,000 cadena, nombre, lo que queráis 481 00:20:51,000 --> 00:20:53,000 lo leemos 482 00:20:53,000 --> 00:20:55,000 como es un stream 483 00:21:03,000 --> 00:21:05,000 vale 484 00:21:05,000 --> 00:21:07,000 entonces vamos a recordar esto 485 00:21:07,000 --> 00:21:09,000 para usar esto 486 00:21:11,000 --> 00:21:13,000 vamos a utilizarlo para recordar 487 00:21:13,000 --> 00:21:15,000 lo poquito que hemos mencionado 488 00:21:15,000 --> 00:21:17,000 de las variables stream 489 00:21:17,000 --> 00:21:19,000 que es que al ser variables objetos son diferentes 490 00:21:19,000 --> 00:21:21,000 a las numéricas 491 00:21:21,000 --> 00:21:23,000 y pueden hacer cosas 492 00:21:23,000 --> 00:21:25,000 como por ejemplo 493 00:21:25,000 --> 00:21:27,000 por ejemplo 494 00:21:27,000 --> 00:21:29,000 si yo llamo 495 00:21:29,000 --> 00:21:31,000 a esto charAt y le doy una posición 496 00:21:31,000 --> 00:21:33,000 me devuelve el carácter 497 00:21:33,000 --> 00:21:35,000 en esta posición 498 00:21:35,000 --> 00:21:37,000 entonces si yo 499 00:21:37,000 --> 00:21:39,000 muestro esto 500 00:21:55,000 --> 00:21:57,000 claro, como tengo error de compilación 501 00:21:57,000 --> 00:21:59,000 ya no me coge 502 00:21:59,000 --> 00:22:01,000 el este 503 00:22:01,000 --> 00:22:03,000 vamos a quitarlo 504 00:22:05,000 --> 00:22:07,000 bueno, pues nada 505 00:22:07,000 --> 00:22:09,000 ya está tonto 506 00:22:29,000 --> 00:22:31,000 vale, pues de una variable stream 507 00:22:31,000 --> 00:22:33,000 si llamábamos a esto 508 00:22:33,000 --> 00:22:35,000 me devolvía el carácter 509 00:22:35,000 --> 00:22:37,000 en la posición que yo le dejara aquí 510 00:22:37,000 --> 00:22:39,000 asumiendo que la primera 511 00:22:39,000 --> 00:22:41,000 es la cero 512 00:22:41,000 --> 00:22:43,000 entonces 513 00:22:53,000 --> 00:22:55,000 devuelvo carácter 514 00:22:55,000 --> 00:22:57,000 en posición 515 00:22:57,000 --> 00:22:59,000 cero 516 00:22:59,000 --> 00:23:01,000 pero me han dicho que el carácter en posición 517 00:23:01,000 --> 00:23:03,000 cero directamente no 518 00:23:03,000 --> 00:23:05,000 sino la mayúscula, pero bueno 519 00:23:05,000 --> 00:23:07,000 en el código ASCII hay una diferencia relativa 520 00:23:07,000 --> 00:23:09,000 entre las mayúsculas y las mayúsculas, se lo sumo y ya está 521 00:23:09,000 --> 00:23:11,000 a ver 522 00:23:13,000 --> 00:23:15,000 la tabla ASCII 523 00:23:19,000 --> 00:23:21,000 en el código 524 00:23:21,000 --> 00:23:23,000 ASCII este 525 00:23:27,000 --> 00:23:29,000 aquí por ejemplo 526 00:23:29,000 --> 00:23:31,000 si la minúscula 527 00:23:31,000 --> 00:23:33,000 A es 97 528 00:23:33,000 --> 00:23:35,000 y la mayúscula 529 00:23:35,000 --> 00:23:37,000 está antes, hay que restar 530 00:23:37,000 --> 00:23:39,000 65 531 00:23:39,000 --> 00:23:41,000 pues de 65 a 97 532 00:23:41,000 --> 00:23:43,000 van 32 533 00:23:43,000 --> 00:23:45,000 entonces tendríamos que restarle 32 534 00:23:45,000 --> 00:23:47,000 si es que he calculado mal 535 00:23:47,000 --> 00:23:49,000 porque si le restamos 32 a 98 536 00:23:49,000 --> 00:23:51,000 me sale 66 que es la B 537 00:23:51,000 --> 00:23:53,000 etc 538 00:23:53,000 --> 00:23:55,000 vale, pues entonces 539 00:23:55,000 --> 00:23:57,000 unidad 540 00:23:57,000 --> 00:23:59,000 menos 32 541 00:23:59,000 --> 00:24:01,000 hemos dicho 542 00:24:03,000 --> 00:24:05,000 y para asegurarnos 543 00:24:05,000 --> 00:24:07,000 porque esto al hacer un menos 544 00:24:07,000 --> 00:24:09,000 con un numerito 545 00:24:09,000 --> 00:24:11,000 va a interpretarlo como que ya es 546 00:24:11,000 --> 00:24:13,000 número entero, entonces para que haga el casting a char 547 00:24:13,000 --> 00:24:15,000 yo creo que va a haber que hacer el casting a char 548 00:24:15,000 --> 00:24:17,000 vamos a probarlo así y ya está 549 00:24:19,000 --> 00:24:21,000 a ver, pero volvemos a lo que nos importa 550 00:24:21,000 --> 00:24:23,000 lo que nos importa es 551 00:24:23,000 --> 00:24:25,000 que estamos en un bucle 552 00:24:25,000 --> 00:24:27,000 que ya sabemos de partida las veces que se va a ejecutar 553 00:24:27,000 --> 00:24:29,000 se va a ejecutar estas veces 554 00:24:29,000 --> 00:24:31,000 lo sé de partida antes de empezar 555 00:24:31,000 --> 00:24:33,000 pues si lo sé de partida antes de empezar las veces que se va a ejecutar 556 00:24:33,000 --> 00:24:35,000 puedo cascar esto directamente 557 00:24:35,000 --> 00:24:37,000 entendiendo lo que estoy 558 00:24:37,000 --> 00:24:39,000 haciendo obviamente 559 00:24:41,000 --> 00:24:43,000 y luego además esta variable i 560 00:24:43,000 --> 00:24:45,000 si quiero utilizarla dentro para hacer cosas 561 00:24:45,000 --> 00:24:47,000 pues la utilizo, si la quiero utilizar 562 00:24:47,000 --> 00:24:49,000 sé que es una variable que empieza variando 0 563 00:24:49,000 --> 00:24:51,000 y luego ya es 1 564 00:24:51,000 --> 00:24:53,000 cuando pasa la primera iteración 565 00:24:53,000 --> 00:24:55,000 si la quiero usar, la uso 566 00:24:55,000 --> 00:24:57,000 en el ejercicio de aquí 567 00:24:57,000 --> 00:24:59,000 por ejemplo 568 00:24:59,000 --> 00:25:01,000 si yo hago esto con un for 569 00:25:01,000 --> 00:25:03,000 si yo hago esto con un for 570 00:25:03,000 --> 00:25:05,000 este cont 571 00:25:05,000 --> 00:25:07,000 que hace el papel de la i, lo estoy usando aquí dentro 572 00:25:07,000 --> 00:25:09,000 no pasa nada, lo uso aquí 573 00:25:09,000 --> 00:25:11,000 he hecho esto mismo con un for 574 00:25:11,000 --> 00:25:13,000 lo que pasa es que en lugar de i 575 00:25:13,000 --> 00:25:15,000 lo he llamado cont 576 00:25:15,000 --> 00:25:17,000 pero es lo mismo 577 00:25:17,000 --> 00:25:19,000 vale, entonces 578 00:25:19,000 --> 00:25:21,000 vamos a ejecutar esto para ver si hay que 579 00:25:21,000 --> 00:25:23,000 hacer el casting a char, pero yo creo que sí 580 00:25:25,000 --> 00:25:27,000 vamos a decirle que lo ejecute 581 00:25:27,000 --> 00:25:29,000 3 veces para que no sea muy largo 582 00:25:29,000 --> 00:25:31,000 venga, número entero 583 00:25:31,000 --> 00:25:33,000 3 veces 584 00:25:33,000 --> 00:25:35,000 ya hemos liado 585 00:25:35,000 --> 00:25:37,000 vale 586 00:25:39,000 --> 00:25:41,000 vale 587 00:25:43,000 --> 00:25:45,000 me he salido del string 588 00:25:45,000 --> 00:25:47,000 porque no me ha pedido 589 00:25:47,000 --> 00:25:49,000 el error de que después de un next int 590 00:25:49,000 --> 00:25:51,000 me hace un next line 591 00:25:51,000 --> 00:25:53,000 y no lo he limpiado, verdad 592 00:25:53,000 --> 00:25:55,000 después del next int, del numerito 593 00:25:55,000 --> 00:25:57,000 me viene un next line 594 00:25:57,000 --> 00:25:59,000 entonces se queda con el salto de línea 595 00:25:59,000 --> 00:26:01,000 como si fuera el nombre, cuando se queda con el carácter de posición 0 596 00:26:01,000 --> 00:26:03,000 no hay posición 0 597 00:26:03,000 --> 00:26:05,000 porque se ha quedado con el salto de línea 598 00:26:05,000 --> 00:26:07,000 entonces 599 00:26:11,000 --> 00:26:13,000 tengo que limpiar 600 00:26:13,000 --> 00:26:15,000 esto 601 00:26:17,000 --> 00:26:19,000 agrandar un poco 602 00:26:19,000 --> 00:26:21,000 sí 603 00:26:23,000 --> 00:26:25,000 vale 604 00:26:25,000 --> 00:26:27,000 vale, o sea, leo el numerito 605 00:26:27,000 --> 00:26:29,000 limpio el salto de línea 606 00:26:29,000 --> 00:26:31,000 porque es que luego voy a acelerar una línea 607 00:26:31,000 --> 00:26:33,000 entonces cuidado porque si no 608 00:26:33,000 --> 00:26:35,000 esta se va a quedar con el salto de línea 609 00:26:35,000 --> 00:26:37,000 y ahora ya, bucle que se ejecuta 610 00:26:37,000 --> 00:26:39,000 none veces exactamente 611 00:26:41,000 --> 00:26:43,000 vale, porque para eso 612 00:26:43,000 --> 00:26:45,000 he definido el for de esta manera, una variable que empieza 613 00:26:45,000 --> 00:26:47,000 valiendo 0 614 00:26:47,000 --> 00:26:49,000 la voy a ir incrementando en cada iteración 615 00:26:49,000 --> 00:26:51,000 y mientras no llegue a none 616 00:26:51,000 --> 00:26:53,000 entro, luego este bucle 617 00:26:53,000 --> 00:26:55,000 se va a ejecutar none veces, que es lo que quería 618 00:26:55,000 --> 00:26:57,000 es este bucle, primero va a mostrar el índice 619 00:26:57,000 --> 00:26:59,000 luego me va a pedir el nombre 620 00:26:59,000 --> 00:27:01,000 y luego ya 621 00:27:01,000 --> 00:27:03,000 se va a quedar con el carácter 622 00:27:03,000 --> 00:27:05,000 en posición 0 y le va a restar 32 623 00:27:05,000 --> 00:27:07,000 vamos a ver ahora que nos hace 624 00:27:09,000 --> 00:27:11,000 venga 625 00:27:11,000 --> 00:27:13,000 introduzca número entero, 3 626 00:27:13,000 --> 00:27:15,000 vale 627 00:27:15,000 --> 00:27:17,000 índice del bucle, esa es la primera iteración 628 00:27:17,000 --> 00:27:19,000 índice del bucle 0 629 00:27:19,000 --> 00:27:21,000 estamos en la primera iteración y es igual a 0 630 00:27:21,000 --> 00:27:23,000 nombre 631 00:27:23,000 --> 00:27:25,000 pepe, vale, me ha mostrado 632 00:27:25,000 --> 00:27:27,000 80, que es el número 633 00:27:27,000 --> 00:27:29,000 entero que codifica la P mayúscula 634 00:27:29,000 --> 00:27:31,000 entonces le tengo que hacer el casting a chat 635 00:27:31,000 --> 00:27:33,000 y a pañao 636 00:27:43,000 --> 00:27:45,000 vamos a volver a ejecutarlo 637 00:27:49,000 --> 00:27:51,000 venga, dos veces 638 00:27:51,000 --> 00:27:53,000 índice del bucle 0, primera vez que entramos 639 00:27:53,000 --> 00:27:55,000 nombre, vale 640 00:27:55,000 --> 00:27:57,000 muy bien, siguiente vez 641 00:27:57,000 --> 00:27:59,000 que entramos, índice del bucle 1 642 00:27:59,000 --> 00:28:01,000 ahora ahí se ha incrementado 643 00:28:01,000 --> 00:28:03,000 y se ha incrementado, entonces ahora estamos 644 00:28:03,000 --> 00:28:05,000 índice del bucle 1, introduzca nombre 645 00:28:05,000 --> 00:28:07,000 vale 646 00:28:07,000 --> 00:28:09,000 y ya está, se acabó, porque le he dicho 647 00:28:09,000 --> 00:28:11,000 dos veces 648 00:28:11,000 --> 00:28:13,000 vale 649 00:28:17,000 --> 00:28:19,000 vale, pues este 650 00:28:19,000 --> 00:28:21,000 es el uso habitual del bucle 651 00:28:21,000 --> 00:28:23,000 for, el uso habitual, pero 652 00:28:23,000 --> 00:28:25,000 quedaos con que aquí 653 00:28:25,000 --> 00:28:27,000 podemos poner lo que queramos y hay veces 654 00:28:27,000 --> 00:28:29,000 que es muy práctico y muy útil 655 00:28:29,000 --> 00:28:31,000 usar el bucle for poniendo aquí 656 00:28:31,000 --> 00:28:33,000 más condiciones, aquí más sentencias 657 00:28:33,000 --> 00:28:35,000 otra condición más compleja 658 00:28:35,000 --> 00:28:37,000 lo que sea, pero bueno, este es un uso muy 659 00:28:37,000 --> 00:28:39,000 habitual, para forzar 660 00:28:39,000 --> 00:28:41,000 que un bucle se ejecute exactamente 661 00:28:41,000 --> 00:28:43,000 el número de veces que yo le ponga 662 00:28:43,000 --> 00:28:45,000 aquí 663 00:28:47,000 --> 00:28:49,000 vale 664 00:28:49,000 --> 00:28:51,000 y aprovechad también 665 00:28:51,000 --> 00:28:53,000 este ejercicio para recordar 666 00:28:53,000 --> 00:28:55,000 que de una cadena se puede sacar el carácter 667 00:28:55,000 --> 00:28:57,000 en cualquier posición, lo puedo sacar 668 00:28:57,000 --> 00:28:59,000 si lo necesito 669 00:28:59,000 --> 00:29:01,000 a través de esto 670 00:29:05,000 --> 00:29:07,000 vale 671 00:29:07,000 --> 00:29:09,000 pues con el ejercicio que estábamos antes entonces 672 00:29:09,000 --> 00:29:11,000 efectivamente que yo había hecho con un while 673 00:29:11,000 --> 00:29:13,000 es un bucle que sé 674 00:29:13,000 --> 00:29:15,000 que se va a ejecutar en la mayúscula veces 675 00:29:15,000 --> 00:29:17,000 pues tengo 676 00:29:17,000 --> 00:29:19,000 esta sintaxis 677 00:29:19,000 --> 00:29:21,000 me da igual 678 00:29:21,000 --> 00:29:23,000 que lo llaméis in, que conto 679 00:29:37,000 --> 00:29:39,000 vale 680 00:29:43,000 --> 00:29:45,000 bueno, los ejercicios 681 00:29:45,000 --> 00:29:47,000 que vienen ahora no son fáciles 682 00:29:47,000 --> 00:29:49,000 no son fáciles 683 00:29:49,000 --> 00:29:51,000 pero 684 00:29:55,000 --> 00:29:57,000 arrancada 685 00:29:57,000 --> 00:29:59,000 a intentarlos 686 00:29:59,000 --> 00:30:01,000 tenemos 687 00:30:01,000 --> 00:30:03,000 todo lo que necesitamos, todos los recursos que necesitamos 688 00:30:03,000 --> 00:30:05,000 para poder hacerlos, los tenemos todos 689 00:30:05,000 --> 00:30:07,000 ahora se trata de 690 00:30:07,000 --> 00:30:09,000 de componerlo