1 00:00:00,180 --> 00:00:05,700 Vale, bueno, pues ahora ya 2 00:00:05,700 --> 00:00:21,899 ¿Quiere la pizarra? 3 00:00:25,350 --> 00:00:27,649 Sí, muy bonito, pero yo no quiero esto 4 00:00:27,649 --> 00:00:30,609 Ahora, esto 5 00:00:30,609 --> 00:00:32,450 Ahora sí, vale 6 00:00:32,450 --> 00:00:36,130 El roto de pizarra 7 00:00:36,130 --> 00:00:43,670 Dime 8 00:00:43,670 --> 00:00:48,789 Vamos a empezar 9 00:00:48,789 --> 00:00:51,070 programación estructurada, sí, un stream en particular 10 00:00:51,070 --> 00:00:52,590 ahora no, ¿vale? 11 00:00:52,990 --> 00:00:57,789 Sí, bueno pues entonces 12 00:00:57,789 --> 00:01:05,090 Bueno, pues ahora ya sí que estamos 13 00:01:05,090 --> 00:01:07,129 contextualizados 14 00:01:07,129 --> 00:01:09,329 dentro de lo que es la 15 00:01:09,329 --> 00:01:10,569 tarea del desarrollo 16 00:01:10,569 --> 00:01:13,469 de software, que para nosotros 17 00:01:13,469 --> 00:01:14,870 ahora mismo va a ser 18 00:01:14,870 --> 00:01:18,590 hacer programas sencillos, eso va a ser 19 00:01:18,590 --> 00:01:22,469 bueno, pues entonces para eso tenemos que seleccionar 20 00:01:22,469 --> 00:01:24,810 primero una metodología de programación 21 00:01:24,810 --> 00:01:29,310 en realidad no hay una única forma de programar 22 00:01:29,310 --> 00:01:31,390 no hay una única metodología de programación 23 00:01:31,390 --> 00:01:35,489 hay varias, pero en cuanto a metodología 24 00:01:35,489 --> 00:01:37,890 de programación de propósito general 25 00:01:37,890 --> 00:01:41,189 para resolver cualquier tipo de problemas 26 00:01:41,189 --> 00:01:43,129 aplicaciones comerciales, etcétera 27 00:01:43,129 --> 00:02:19,639 La metodología de programación que se usa es la programación estructural, entonces cuando se empezaron a desarrollar los primeros programas, sobre todo desde el momento en que ya se definió la arquitectura de Von Neumann famosa, pues en los 40, 50 o por ahí, 28 00:02:19,639 --> 00:02:27,599 que no es más que un microprocesador que es capaz de leer sentencias de una memoria RAM, 29 00:02:28,340 --> 00:02:35,900 hacer operaciones con ella y darme resultados a unos registros que a su vez se pueden mandar por buses a dispositivos. 30 00:02:36,979 --> 00:02:45,379 Pues desde que se vio que ese modelo sobre el papel se podía ya implementar en un hardware como este, 31 00:02:45,379 --> 00:02:46,780 dijo pues ahora ya 32 00:02:46,780 --> 00:02:50,020 llega el momento de empezar a definir 33 00:02:50,020 --> 00:02:51,500 posibles sentencias 34 00:02:51,500 --> 00:02:53,659 pues había empezado lenguajes de pronunciación 35 00:02:53,659 --> 00:02:55,300 a tutiplén, sentencias de todo tipo 36 00:02:55,300 --> 00:02:57,039 cosas rarísimas, extrañísimas 37 00:02:57,039 --> 00:02:59,560 pues desde los primeros lenguajes 38 00:02:59,560 --> 00:03:01,780 hasta el basic, hasta no sé qué 39 00:03:01,780 --> 00:03:03,719 entonces era un galimatía de lenguajes 40 00:03:03,719 --> 00:03:05,539 un desastre, ahí nadie entendía nada 41 00:03:05,539 --> 00:03:07,659 y los programas eran súper 42 00:03:07,659 --> 00:03:09,819 rarísimos, un montón de líneas 43 00:03:09,819 --> 00:03:11,319 que ahora de repente de aquí te ibas aquí 44 00:03:11,319 --> 00:03:12,400 porque cambiabas de idea 45 00:03:12,400 --> 00:03:15,580 eso no había manera de progresar 46 00:03:15,580 --> 00:03:16,199 por ese camino 47 00:03:16,199 --> 00:03:18,280 bueno 48 00:03:18,280 --> 00:03:21,599 como habéis descansado el rato que estábamos con ellos 49 00:03:21,599 --> 00:03:22,680 ¿os hace falta descansar? 50 00:03:24,639 --> 00:03:26,900 pues seguimos hasta las 2 y cuarto 51 00:03:26,900 --> 00:03:27,879 por ahí y ya está 52 00:03:27,879 --> 00:03:29,300 vale 53 00:03:29,300 --> 00:03:31,879 entonces ahí había que poner orden 54 00:03:31,879 --> 00:03:35,020 entonces todos los estudiosos 55 00:03:35,020 --> 00:03:35,740 de la materia 56 00:03:35,740 --> 00:03:37,680 matemáticos y todo eso 57 00:03:37,680 --> 00:03:40,280 que son efectivamente 58 00:03:40,280 --> 00:03:42,240 los que crearon 59 00:03:42,240 --> 00:03:51,580 todas las técnicas de programación, pues se dieron cuenta de una cosa que recogieron en el famoso teorema de la estructura. 60 00:04:00,180 --> 00:04:08,960 Entonces, el teorema de la estructura es un enunciado básico en programación, que lo podéis buscar en la Wikipedia, donde sea, 61 00:04:09,180 --> 00:04:18,360 y dice lo siguiente, dice, cualquier cosa que yo pretenda que un ordenador que responda a la arquitectura de Von Neumann, 62 00:04:18,360 --> 00:04:20,379 esta que os he dicho, o sea, un ordenador de toda 63 00:04:20,379 --> 00:04:22,300 la vida, que yo 64 00:04:22,300 --> 00:04:24,480 pretenda que un ordenador de toda la vida me resuelva 65 00:04:24,480 --> 00:04:26,379 cualquier cosa que yo pretenda que me resuelva, 66 00:04:28,339 --> 00:04:30,100 la puedo conseguir 67 00:04:30,100 --> 00:04:32,600 con una secuencia exclusivamente 68 00:04:32,600 --> 00:04:33,399 de tres 69 00:04:33,399 --> 00:04:36,399 tipos de estructuras. O sea, la puedo 70 00:04:36,399 --> 00:04:38,339 conseguir con una secuencia de 71 00:04:38,339 --> 00:04:40,540 sentencias de este tipo. Es decir, 72 00:04:41,220 --> 00:04:42,240 este teorema de la estructura 73 00:04:42,240 --> 00:04:43,899 diría, vale, 74 00:04:49,350 --> 00:04:50,829 bueno, da igual, todo fue 75 00:04:50,829 --> 00:04:52,930 más fácil. Este teorema de la 76 00:04:52,930 --> 00:05:02,800 estructura diría, cualquier 77 00:05:02,800 --> 00:05:04,800 problema que queramos que un ordenador 78 00:05:04,800 --> 00:05:27,240 nos resuelva, se puede 79 00:05:27,240 --> 00:05:29,040 resolver con 80 00:05:29,040 --> 00:05:30,879 programas que usan solamente 81 00:05:30,879 --> 00:05:33,139 tres cosas, que le decimos 82 00:05:33,139 --> 00:05:33,879 qué cosas son. 83 00:05:51,430 --> 00:05:53,730 Esto es lo que dice el tema de la estructura, lo que dice 84 00:05:53,730 --> 00:05:55,870 con mis palabras, para intentar 85 00:05:55,870 --> 00:05:57,829 que sea un poquito más comprensible 86 00:05:57,829 --> 00:05:59,769 pero bueno, lo podéis buscar en la Wikipedia, donde sea 87 00:05:59,769 --> 00:06:01,850 se puede resolver con programas 88 00:06:01,850 --> 00:06:07,050 que incluye tres cosas 89 00:06:07,050 --> 00:06:08,910 en realidad, tres conceptos, más 90 00:06:08,910 --> 00:06:10,490 que de tres cosas, las vamos a llamar 91 00:06:10,490 --> 00:06:12,709 tres conceptos 92 00:06:12,709 --> 00:06:23,000 o tres tipos 93 00:06:23,000 --> 00:06:23,920 de sentencias. 94 00:06:29,519 --> 00:06:30,740 Lo queremos llamar así. 95 00:06:37,670 --> 00:06:39,910 ¿Y cuáles son esos tres conceptos básicos 96 00:06:39,910 --> 00:06:41,290 o tres tipos de sentencias? 97 00:06:42,629 --> 00:06:44,149 Lo estoy tuneando un poquito. 98 00:06:44,430 --> 00:06:45,949 Lo digo porque si alguno lo busca por ahí, 99 00:06:46,009 --> 00:06:46,750 lo estoy tuneando un poquito. 100 00:06:47,850 --> 00:06:49,269 Pues la recogida 101 00:06:49,269 --> 00:06:51,810 y la devolución de los datos. 102 00:07:03,660 --> 00:07:05,240 ¿Lo hizo lo mismo Luma o no? 103 00:07:05,600 --> 00:07:06,160 No, no, no. 104 00:07:06,439 --> 00:07:10,060 La recogida y devolución de los datos. 105 00:07:10,060 --> 00:07:29,740 decisiones y bucles y todo eso puesto en secuencia que incluyen estaría mejor expresado si pusiéramos 106 00:07:29,740 --> 00:07:47,180 que combinan estaría mejor expresado si pusiéramos que combinan bueno es un poquito túnel pero qué 107 00:07:47,180 --> 00:07:53,699 significa significa yo tengo que resolver un problema pues calcula lees tres usuarios 108 00:07:53,699 --> 00:07:56,540 saca el mayor de los tres 109 00:07:56,540 --> 00:07:57,740 y el mayor de los tres 110 00:07:57,740 --> 00:08:00,079 pues calcula cuántos años le faltan 111 00:08:00,079 --> 00:08:02,639 para cumplir una edad 112 00:08:02,639 --> 00:08:04,240 igual que la de su tío 113 00:08:04,240 --> 00:08:06,040 yo qué sé, cualquier problema 114 00:08:06,040 --> 00:08:06,860 que tengo que resolver 115 00:08:06,860 --> 00:08:10,000 vale, pues yo ya me pongo a pensar en un algoritmo 116 00:08:10,000 --> 00:08:11,540 pues da igual el problema que sea 117 00:08:11,540 --> 00:08:13,079 da igual lo complicado que sea 118 00:08:13,079 --> 00:08:15,120 da igual las operaciones que involucre 119 00:08:15,120 --> 00:08:16,000 da igual lo que sea 120 00:08:16,000 --> 00:08:19,240 siempre va a existir un programa 121 00:08:19,240 --> 00:08:20,180 que lo resuelva 122 00:08:20,180 --> 00:08:23,160 que es una lista de sentencias 123 00:08:23,160 --> 00:08:24,980 una tras otra en secuencia 124 00:08:24,980 --> 00:08:26,660 eso es importante 125 00:08:26,660 --> 00:08:29,079 una lista de sentencias una tras otra 126 00:08:29,079 --> 00:08:29,699 en secuencia 127 00:08:29,699 --> 00:08:32,100 no hace ninguna falta 128 00:08:32,100 --> 00:08:34,899 que se haga nada en paralelo para resolver 129 00:08:34,899 --> 00:08:36,419 cualquier problema, no 130 00:08:36,419 --> 00:08:39,139 siempre se va a poder 131 00:08:39,139 --> 00:08:40,980 resolver con una lista de cosas 132 00:08:40,980 --> 00:08:41,779 en secuencia 133 00:08:41,779 --> 00:08:44,460 y que va a haber ahí en esa secuencia 134 00:08:44,460 --> 00:08:46,919 pues la combinación que nosotros 135 00:08:46,919 --> 00:08:48,720 veamos que funciona 136 00:08:48,720 --> 00:08:50,639 pero solamente de estas cosas 137 00:08:50,639 --> 00:08:52,639 recogida y devolución de los datos 138 00:08:52,639 --> 00:08:55,139 eso es básico, hay que recoger los datos y devolverlos 139 00:08:55,139 --> 00:08:56,500 pero bueno, eso no es nada 140 00:08:56,500 --> 00:08:58,379 lee, escribe, lee, escribe 141 00:08:58,379 --> 00:08:59,519 y luego 142 00:08:59,519 --> 00:09:02,399 tomar decisiones 143 00:09:02,399 --> 00:09:04,639 es decir, en función 144 00:09:04,639 --> 00:09:06,139 de los datos 145 00:09:06,139 --> 00:09:08,299 en función de una preguntita 146 00:09:08,299 --> 00:09:10,000 en función de una condición 147 00:09:10,000 --> 00:09:12,419 hago una cosa o hago la otra 148 00:09:12,419 --> 00:09:14,299 eso es una decisión 149 00:09:14,299 --> 00:09:16,840 en función de si una condición 150 00:09:16,840 --> 00:09:18,679 sobre esos datos 151 00:09:18,679 --> 00:09:20,059 ser mayor que cero 152 00:09:20,059 --> 00:09:21,519 ser múltiplo uno del otro 153 00:09:21,519 --> 00:09:43,820 En función de una condición, hacer una cosa o hacer otra, es decir, el programa se puede dividir por este camino o por esta en función de una condición. Eso es una decisión. Un bucle, ¿qué un bucle es? Yo tengo unas sentencias, pues mandarle al programa que las haga un montón de veces, que esté todo el rato haciéndolas. 154 00:09:43,820 --> 00:09:46,600 las haga y vuelve arriba, ya las has hecho 155 00:09:46,600 --> 00:09:48,580 pues vuelve arriba, ya las has hecho y vuelve 156 00:09:48,580 --> 00:09:50,220 arriba, ya las has hecho y vuelve arriba 157 00:09:50,220 --> 00:09:52,419 hasta que yo te diga, para, y entonces 158 00:09:52,419 --> 00:09:53,259 ya continúas 159 00:09:53,259 --> 00:09:56,639 entonces, la combinación 160 00:09:56,639 --> 00:09:58,539 de mover los datos de acá 161 00:09:58,539 --> 00:09:58,960 para allá 162 00:09:58,960 --> 00:10:01,240 y hombre 163 00:10:01,240 --> 00:10:04,460 a la vez que los mueves puedes 164 00:10:04,460 --> 00:10:06,320 operar con ellos, sumar, restar y 165 00:10:06,320 --> 00:10:08,100 veremos que operación, pero lo básico 166 00:10:08,100 --> 00:10:10,159 mover los datos de acá para allá 167 00:10:10,159 --> 00:10:12,480 decidir en función 168 00:10:12,480 --> 00:10:14,440 de una condición si haces esto o haces 169 00:10:14,440 --> 00:10:16,840 lo otro, eso es una decisión 170 00:10:16,840 --> 00:10:18,659 o un bucle 171 00:10:18,659 --> 00:10:20,500 que es, esto me interesa 172 00:10:20,500 --> 00:10:21,779 hacerlo 27 veces 173 00:10:21,779 --> 00:10:23,860 pues venga, ala 174 00:10:23,860 --> 00:10:26,299 27 veces, esto 175 00:10:26,299 --> 00:10:27,919 también es una sentencia 176 00:10:27,919 --> 00:10:30,159 la decisión 177 00:10:30,159 --> 00:10:32,279 es una sentencia, como ya veremos 178 00:10:32,279 --> 00:10:33,399 y el bucle 179 00:10:33,399 --> 00:10:36,419 es otra sentencia, como ya veremos, más compleja 180 00:10:36,419 --> 00:10:37,899 la sentencia 181 00:10:37,899 --> 00:10:39,840 n igual a 3 más 1 182 00:10:39,840 --> 00:10:41,139 es una sentencia 183 00:10:41,139 --> 00:10:44,580 la sentencia 184 00:10:44,580 --> 00:10:45,320 haz 185 00:10:45,320 --> 00:10:48,440 esto 27 veces 186 00:10:48,440 --> 00:10:50,139 también es una sentencia 187 00:10:50,139 --> 00:10:52,659 más compleja, pero también es una sentencia 188 00:10:52,659 --> 00:10:54,580 en este caso es una sentencia 189 00:10:54,580 --> 00:10:56,080 de bucle, porque es 190 00:10:56,080 --> 00:10:59,000 haz esto 27 veces, también es una sentencia 191 00:10:59,000 --> 00:11:02,720 otra sentencia posible, la decisión 192 00:11:02,720 --> 00:11:04,539 que decimos, que es 193 00:11:04,539 --> 00:11:06,799 si x es igual a 3 194 00:11:06,799 --> 00:11:07,840 haz esto 195 00:11:07,840 --> 00:11:10,980 eso también es una sentencia posible para el programa 196 00:11:10,980 --> 00:11:14,220 un poquito más compleja que la de n igual a 2 197 00:11:14,220 --> 00:11:15,419 porque implica 198 00:11:15,419 --> 00:11:17,159 si x es igual a 3 hace esto 199 00:11:17,159 --> 00:11:18,240 pero también es una sentencia 200 00:11:18,240 --> 00:11:22,019 pues ya está, no hacen falta más tipos de sentencias 201 00:11:22,019 --> 00:11:22,740 no hacen falta 202 00:11:22,740 --> 00:11:24,320 combinando 203 00:11:24,320 --> 00:11:26,940 y esa combinación dependerá 204 00:11:26,940 --> 00:11:29,019 lógicamente de nuestro pensamiento lógico 205 00:11:29,019 --> 00:11:30,799 que ha decidido cómo tiene que combinarlas 206 00:11:30,799 --> 00:11:33,299 combinándolas en secuencia 207 00:11:33,299 --> 00:11:35,259 tres decisiones 208 00:11:35,259 --> 00:11:37,200 ahora un bucle, ahora una lectura de datos 209 00:11:37,200 --> 00:11:39,620 ahora una decisión, ahora tres bucles 210 00:11:39,620 --> 00:11:41,639 combinándolas en secuencia 211 00:11:41,639 --> 00:11:44,039 tal y como nuestro pensamiento 212 00:11:44,039 --> 00:11:45,299 lógico haya decidido 213 00:11:45,299 --> 00:11:47,639 podemos resolver 214 00:11:47,639 --> 00:11:49,679 cualquier problema 215 00:11:49,679 --> 00:11:52,000 que pueda hacer una máquina de esas 216 00:11:52,000 --> 00:11:53,960 y eso 217 00:11:53,960 --> 00:11:55,860 no ha cambiado y eso sigue siendo así 218 00:11:55,860 --> 00:11:56,600 y eso es así 219 00:11:56,600 --> 00:11:58,580 una cuestión matemática 220 00:11:58,580 --> 00:12:01,799 no hace falta nada más 221 00:12:01,799 --> 00:12:03,980 nada más que combinar esas tres cosas 222 00:12:03,980 --> 00:12:05,539 entonces 223 00:12:05,539 --> 00:12:07,639 cuando ya por fin eso se 224 00:12:07,639 --> 00:12:10,039 y se comprobó que era así, 225 00:12:10,840 --> 00:12:12,820 empezaron a desaparecer los lenguajes 226 00:12:12,820 --> 00:12:15,100 que se inventaban sentencias que hacían cosas raras. 227 00:12:15,519 --> 00:12:19,879 Porque lo único que hacían era obtener programas muy complejos. 228 00:12:21,159 --> 00:12:23,379 Entonces, a partir de ese punto, 229 00:12:23,960 --> 00:12:28,039 empezaron a surgir los lenguajes de programación estructurados, 230 00:12:28,159 --> 00:12:28,720 que se llamaban. 231 00:12:29,460 --> 00:12:32,059 ¿Y cuáles son los lenguajes de programación estructurados? 232 00:12:32,659 --> 00:12:36,200 Lenguajes de programación que solo tienen estos tipos de sentencias. 233 00:12:36,200 --> 00:12:38,279 Y no tienen nada más 234 00:12:38,279 --> 00:12:40,480 ¿Por qué? Porque no les hace falta nada más 235 00:12:40,480 --> 00:12:42,039 No les hace falta nada más 236 00:12:42,039 --> 00:12:44,600 Contener eso es suficiente 237 00:12:44,600 --> 00:12:51,179 Ya está 238 00:12:51,179 --> 00:12:54,519 Y todos los lenguajes 239 00:12:54,519 --> 00:12:55,860 Que manejamos ahora mismo 240 00:12:55,860 --> 00:12:58,259 Salvo los específicos para a lo mejor 241 00:12:58,259 --> 00:13:00,320 Pues para 242 00:13:00,320 --> 00:13:02,500 De programación funcional 243 00:13:02,500 --> 00:13:03,559 Para matemáticas 244 00:13:03,559 --> 00:13:06,460 que son programación funcional 245 00:13:06,460 --> 00:13:07,580 pero son cosas muy concretas 246 00:13:07,580 --> 00:13:09,080 todos son estructurados 247 00:13:09,080 --> 00:13:12,659 ¿qué es lo que han ido aportando? 248 00:13:13,480 --> 00:13:15,039 la forma de organizar 249 00:13:15,039 --> 00:13:15,539 el código 250 00:13:15,539 --> 00:13:17,919 el código es estructurado siempre 251 00:13:17,919 --> 00:13:20,139 pero ¿qué han aportado? 252 00:13:20,279 --> 00:13:21,440 pues Java en particular 253 00:13:21,440 --> 00:13:22,960 lo que fue pionera es 254 00:13:22,960 --> 00:13:26,759 vamos a organizarlo en cachos diferentes 255 00:13:26,759 --> 00:13:27,919 lo que os decía el primer día 256 00:13:27,919 --> 00:13:30,379 porque si yo puedo hacerme 257 00:13:30,379 --> 00:13:32,179 un programa estructurado solamente 258 00:13:32,179 --> 00:13:34,360 con estos tres tipos 259 00:13:34,360 --> 00:13:36,139 de cosas, me resuelve todo. 260 00:13:36,539 --> 00:13:38,019 Pero me han salido 10.000 líneas. 261 00:13:38,659 --> 00:13:40,480 Pues voy a dividirlo en tres cachitos 262 00:13:40,480 --> 00:13:42,179 y cada cachito 263 00:13:42,179 --> 00:13:44,360 una clase. Ya está, pero lo que hay 264 00:13:44,360 --> 00:13:46,340 en cada clase es estructurado, es que no hay otra. 265 00:13:46,879 --> 00:13:48,399 ¿Vale? Luego, la programación 266 00:13:48,399 --> 00:13:50,440 de entrada de objetos no es que sea una alternativa 267 00:13:50,440 --> 00:13:51,820 a la estructurada. No. 268 00:13:52,440 --> 00:13:53,620 La programación de entrada de objetos 269 00:13:53,620 --> 00:13:55,720 incluye la estructurada 270 00:13:55,720 --> 00:13:58,360 y cambia la forma de organizar 271 00:13:59,159 --> 00:14:00,299 esos trozos 272 00:14:00,299 --> 00:14:02,740 estructurados para facilitar la reutilización 273 00:14:02,740 --> 00:14:04,340 nada más, pero todo 274 00:14:04,340 --> 00:14:05,480 es estructurado dentro 275 00:14:05,480 --> 00:14:10,000 bueno, pues entonces lo primero 276 00:14:10,000 --> 00:14:12,419 que hay que aprender, cuando uno tiene que aprender a programar 277 00:14:12,419 --> 00:14:14,139 que es lo más importante porque es lo que 278 00:14:14,139 --> 00:14:15,360 te da el pensamiento lógico 279 00:14:15,360 --> 00:14:17,500 es la programación estructurada 280 00:14:17,500 --> 00:14:20,360 que es como con tu lenguaje de programación 281 00:14:20,360 --> 00:14:21,980 puedes utilizar 282 00:14:21,980 --> 00:14:23,879 estos tres tipos de sentencias, ver que sintaxis 283 00:14:23,879 --> 00:14:26,039 tienen, etcétera, para construir tus códigos 284 00:14:26,039 --> 00:14:27,139 y ya está 285 00:14:27,139 --> 00:14:28,559 ¿vale? 286 00:14:28,559 --> 00:14:31,419 bueno, pues por eso este tema 287 00:14:31,419 --> 00:14:33,159 es programación estructurada 288 00:14:33,159 --> 00:14:51,440 bueno, los que ya habéis programado alguna vez 289 00:14:51,440 --> 00:14:53,340 aunque sea con Scratch, en tercero de la ESO 290 00:14:53,340 --> 00:14:55,480 la decisión y el bucle 291 00:14:55,480 --> 00:14:57,259 os suena, aunque sea por un muñeco 292 00:14:57,259 --> 00:14:59,100 que daba muchas volteretas 293 00:14:59,100 --> 00:15:00,980 o se iba por un camino o se iba por otro 294 00:15:00,980 --> 00:15:02,820 pues es eso, es lo mismo 295 00:15:02,820 --> 00:15:09,570 se podría aprender programación estructurada 296 00:15:09,570 --> 00:15:11,250 sin aplicar a ningún lenguaje 297 00:15:11,250 --> 00:15:12,450 no hace falta 298 00:15:12,450 --> 00:15:15,610 podemos incluso escribir en lenguaje 299 00:15:15,610 --> 00:15:17,070 natural un programa 300 00:15:17,070 --> 00:15:24,750 Por ejemplo, programa que me lea dos números y me diga el mayor de los dos 301 00:15:24,750 --> 00:15:28,769 Por ejemplo, eso es un problema que a lo mejor yo quiero resolver con un ordenador 302 00:15:28,769 --> 00:15:32,090 Te doy dos números y tu ordenador dime cuál es el mayor 303 00:15:32,090 --> 00:15:35,470 Porque es que yo estoy un poco lento para eso 304 00:15:35,470 --> 00:15:42,450 Pues eso sería, por ejemplo, un primer problema que queremos resolver 305 00:15:42,450 --> 00:15:49,320 programa que recibe 306 00:15:49,320 --> 00:15:50,879 dos números 307 00:15:50,879 --> 00:15:58,330 y muestra 308 00:15:58,330 --> 00:16:00,309 el mayor. 309 00:16:03,590 --> 00:16:04,769 Claro, esto es como si fuera 310 00:16:04,769 --> 00:16:07,509 en términos nuestros un ejercicio, 311 00:16:07,690 --> 00:16:09,029 pero en términos generales 312 00:16:09,029 --> 00:16:11,169 un problema que tú te has encontrado 313 00:16:11,169 --> 00:16:13,490 que es, yo tengo dos números 314 00:16:13,490 --> 00:16:14,809 y quiero saber cuál es el mayor. 315 00:16:15,490 --> 00:16:17,149 Hombre, ese lo vas a saber resolver por ti mismo. 316 00:16:17,789 --> 00:16:19,570 Pero imagínate que se lo quieres 317 00:16:19,570 --> 00:16:20,649 dar a una máquina, ¿por qué? 318 00:16:21,570 --> 00:16:23,029 Porque quieres hacer eso 319 00:16:23,029 --> 00:16:24,690 200.000 veces. 320 00:16:25,350 --> 00:16:35,450 Entonces, si lo tienes que hacer tú, dos números, el mayor es este, dos números, el mayor es este, dos números, el mayor es este, hasta que lo hagas 200.000 veces, te vas a estar un rato. 321 00:16:35,870 --> 00:16:53,350 Entonces, a ver, espérate, voy a hacer esto en un ordenador, porque el ordenador, los números, a toda velocidad, los puede ir leyendo de donde sea, de un fichero, de donde sea, y a toda velocidad me va a dar los resultados, mucho más rápido de lo que yo lo haría. 322 00:16:53,350 --> 00:16:55,990 que es para lo que en la mayoría 323 00:16:55,990 --> 00:16:57,250 de los casos sabemos las cosas 324 00:16:57,250 --> 00:16:59,029 porque lo hacen rápido 325 00:16:59,029 --> 00:17:01,309 ¿vale? entonces 326 00:17:01,309 --> 00:17:04,009 pues entonces es un problema 327 00:17:04,009 --> 00:17:05,910 que nos hemos encontrado que por la razón 328 00:17:05,910 --> 00:17:07,369 que sea, que en este caso hemos dicho 329 00:17:07,369 --> 00:17:09,049 porque él es más rápido que nosotros 330 00:17:09,049 --> 00:17:11,549 y si lo quiero hacer 300 veces 331 00:17:11,549 --> 00:17:13,710 pues mucho mejor que lo haga él que no que lo haga yo 332 00:17:13,710 --> 00:17:15,569 con esta razón hemos decidido 333 00:17:15,569 --> 00:17:17,569 que queremos que lo haga ordenado 334 00:17:17,569 --> 00:17:19,869 ¿vale? pues aquí 335 00:17:19,869 --> 00:17:21,809 aquí no hay lenguaje de programación que valga 336 00:17:21,809 --> 00:17:22,730 ni hay nada que valga. 337 00:17:23,109 --> 00:17:25,849 Aquí lo primero que tenemos que pensar es un algoritmo. 338 00:17:27,609 --> 00:17:28,970 Es lo primero que pensamos. 339 00:17:29,549 --> 00:17:31,430 ¿Qué algoritmo seguir para esto? 340 00:17:36,240 --> 00:17:38,900 Todavía no he mencionado ningún lenguaje de programación ni nada. 341 00:17:39,500 --> 00:17:40,180 ¿Vale? 342 00:17:41,779 --> 00:17:43,019 ¿Algoritmo qué es? 343 00:17:43,279 --> 00:17:47,339 Lo mencionamos el primer día en cuanto a sinónimo, 344 00:17:47,740 --> 00:17:50,200 lo podíamos entender como sinónimo de programa. 345 00:17:50,200 --> 00:17:57,940 Un algoritmo es una secuencia ordenada y finita de pasos para resolver un problema. 346 00:17:58,660 --> 00:18:03,220 Eso es un algoritmo, secuencia ordenada y finita de pasos. 347 00:18:03,759 --> 00:18:11,079 Venga, pues vamos a pensar qué secuencia ordenada de pasos puedo seguir yo para resolver esto. 348 00:18:12,079 --> 00:18:16,180 Pues si vamos por orden, lo primero será leer los números. 349 00:18:17,319 --> 00:18:19,619 Entonces, no voy a leer dos números de golpe, no puedo. 350 00:18:20,200 --> 00:18:24,299 Al ordenador, el ordenador tiene sus limitaciones. 351 00:18:24,619 --> 00:18:27,220 Entre ellas es que las cosas hay que dárselas una por una. 352 00:18:28,059 --> 00:18:31,119 Vale, pues entonces, el algoritmo, ya tendríamos. 353 00:18:31,579 --> 00:18:38,109 Primer paso del algoritmo, leer el numerito 1. 354 00:18:39,630 --> 00:18:41,970 Ala, ya tengo el primer paso del algoritmo, bien. 355 00:18:42,970 --> 00:18:45,930 Siguiente paso de mi algoritmo, necesito otro número más. 356 00:18:46,549 --> 00:18:49,109 Pues venga, leer el segundo número. 357 00:18:54,819 --> 00:18:56,619 Vale, aquí ya se me complica la vida. 358 00:18:57,500 --> 00:18:59,319 para elaborar el algoritmo. 359 00:19:00,339 --> 00:19:02,119 Entonces, aquí lo primero que tenemos que pensar, 360 00:19:02,200 --> 00:19:03,420 una vez que hemos hecho la lectura de datos, 361 00:19:03,539 --> 00:19:04,339 que esa es la más fácil, 362 00:19:05,200 --> 00:19:06,200 ¿qué datos necesito? 363 00:19:06,420 --> 00:19:06,819 Estos. 364 00:19:07,400 --> 00:19:08,200 Leer, leer, leer. 365 00:19:08,839 --> 00:19:09,720 Ahí hay poco que pensar. 366 00:19:10,039 --> 00:19:10,599 Leer los datos. 367 00:19:10,859 --> 00:19:11,019 Vale. 368 00:19:11,839 --> 00:19:14,099 Ahora ya es cuando tenemos que pensar, 369 00:19:14,359 --> 00:19:16,420 vale, pero ¿qué operaciones tengo que hacer aquí? 370 00:19:16,759 --> 00:19:18,920 Porque si lo tengo que dar todo muy más caro y detallado. 371 00:19:18,920 --> 00:19:23,920 Desde luego, el siguiente paso no podría ser al ordenador 372 00:19:23,920 --> 00:19:27,309 decir el mayor. 373 00:19:28,809 --> 00:19:54,849 Este no es un paso válido para un algoritmo, porque el ordenador no sabe, no sabe, al ordenador hay que dárselo todo en términos de operaciones algebraicas que son las únicas que sabe hacer, algebraicas y lógicas, hemos dicho que un ordenador es una unidad aritmético-lógica que hace operaciones aritméticas, sumas, restas y lógicas, ah, Dios, y ya está, vamos a hacer más que eso, entonces el concepto de dime el mayor, ¿qué me estás contando? 374 00:19:54,849 --> 00:19:57,150 con lo cual esto como algoritmo no nos vale 375 00:19:57,150 --> 00:19:58,910 pues entonces 376 00:19:58,910 --> 00:20:00,269 uy no yo quería esto 377 00:20:00,269 --> 00:20:04,670 pues entonces como ya se nos ha complicado la cosa 378 00:20:04,670 --> 00:20:07,089 porque eso no nos vale como paso del algoritmo 379 00:20:07,089 --> 00:20:08,869 ni por tanto nos valdrá como paso 380 00:20:08,869 --> 00:20:10,250 del programa no nos valdrá 381 00:20:10,250 --> 00:20:12,849 para arrancar a pensar 382 00:20:12,849 --> 00:20:14,930 lo más fácil es que 383 00:20:14,930 --> 00:20:16,690 nos situemos al final siempre 384 00:20:16,690 --> 00:20:18,269 que es a donde quiero llegar 385 00:20:18,269 --> 00:20:20,029 a donde quiero llegar yo 386 00:20:20,029 --> 00:20:22,390 yo quiero llegar 387 00:20:22,390 --> 00:20:24,849 a un resultado 388 00:20:24,849 --> 00:20:26,849 final que tengo, que está 389 00:20:26,849 --> 00:20:29,109 entre dos opciones. Mi resultado 390 00:20:29,109 --> 00:20:30,609 final, que no sé qué paso será, 391 00:20:30,750 --> 00:20:32,130 el D, el E, el F, no lo sé. 392 00:20:33,430 --> 00:20:34,730 Mi resultado final 393 00:20:34,730 --> 00:20:37,250 yo sé que va a ser 394 00:20:37,250 --> 00:20:39,109 muestra num1 395 00:20:39,109 --> 00:20:40,849 o muestra num2. 396 00:20:41,809 --> 00:20:42,849 Eso el ordenador sí que sabe. 397 00:20:43,990 --> 00:20:44,470 Mostrar 398 00:20:44,470 --> 00:20:46,250 y leer sí sabe. 399 00:20:47,269 --> 00:20:48,789 Vale, pues entonces yo sé que hay 400 00:20:48,789 --> 00:20:49,690 al final 401 00:20:49,690 --> 00:20:51,990 el algoritmo 402 00:20:51,990 --> 00:20:53,549 tiene que hacer 403 00:20:53,549 --> 00:20:56,170 una de dos cosas 404 00:20:56,170 --> 00:20:57,690 y no más 405 00:20:57,690 --> 00:21:00,470 al final mi algoritmo va a hacer 406 00:21:00,470 --> 00:21:02,809 o mostrar 407 00:21:02,809 --> 00:21:04,690 num1 408 00:21:04,690 --> 00:21:07,650 vamos a suponer que no le damos números iguales 409 00:21:07,650 --> 00:21:10,670 porque si no simplemente lo que cambiaría 410 00:21:10,670 --> 00:21:12,230 sería que puede mostrar tres cosas 411 00:21:12,230 --> 00:21:14,549 mostrar num1, mostrar num2 412 00:21:14,549 --> 00:21:17,730 o mostrar el mensaje son iguales 413 00:21:17,730 --> 00:21:19,710 ni siquiera, vamos a dejarlo en dos posibilidades 414 00:21:19,710 --> 00:21:21,529 asumimos que siempre le vamos a dar 415 00:21:21,529 --> 00:21:22,670 números distintos 416 00:21:23,549 --> 00:21:28,210 Pues entonces, para seguir pensando el resto del algoritmo, repito, 417 00:21:28,710 --> 00:21:31,369 lo más fácil es que yo me vaya al final y diga, pero vamos a ver, 418 00:21:31,390 --> 00:21:32,910 ¿yo qué espero del programa? ¿Qué espero? 419 00:21:33,990 --> 00:21:37,049 Pues espero que al final pase una de estas dos cosas. 420 00:21:38,190 --> 00:21:41,150 O mostrarme un 1 o mostrarme un 2. 421 00:21:42,930 --> 00:21:45,730 Vale, pero claro, ¿cuál de las dos es? 422 00:21:46,289 --> 00:21:48,789 Porque un programa no puede hacer dos cosas, 423 00:21:49,130 --> 00:21:52,390 tiene que hacer una secuencia de pasos definida. 424 00:21:52,670 --> 00:22:00,980 Pues entonces, aquí es donde decimos, vale, ¿qué decía la programación estructurada? 425 00:22:01,460 --> 00:22:05,359 Que tú puedes incluir decisiones o bucles. 426 00:22:05,599 --> 00:22:13,359 Una decisión que es hacer una cosa o hacer otra en función de una condición. 427 00:22:14,259 --> 00:22:16,240 Ah, vale, vale, eso encaja con lo que yo quiero. 428 00:22:16,779 --> 00:22:20,680 Porque mi programa o bien va a hacer esto o bien va a hacer esto otro, 429 00:22:20,680 --> 00:22:23,460 en función de si 430 00:22:23,460 --> 00:22:25,559 NUM1 es mayor que NUM2 431 00:22:25,559 --> 00:22:27,740 o si NUM2 es mayor 432 00:22:27,740 --> 00:22:29,740 que NUM1. Eso ya es 433 00:22:29,740 --> 00:22:31,740 estructural, porque eso 434 00:22:31,740 --> 00:22:33,140 ya es una decisión, que es 435 00:22:33,140 --> 00:22:35,900 si esto pasa, hace esta cosa 436 00:22:35,900 --> 00:22:37,759 que lo que no sabe hacer, que es mostrar 437 00:22:37,759 --> 00:22:40,000 y si no pasa, hace esta otra. 438 00:22:41,000 --> 00:22:41,799 Eso ya si es 439 00:22:41,799 --> 00:22:43,640 algo de población estructurada, que podemos poner 440 00:22:43,640 --> 00:22:45,900 en nuestro algoritmo. Pues magnífico, 441 00:22:46,259 --> 00:22:47,799 lo podríamos poner como nuestro tercer 442 00:22:47,799 --> 00:22:49,940 paso. ¿Vale? Lo estoy poniendo 443 00:22:49,940 --> 00:22:52,539 como ejemplo, ahora mismo no estamos viendo 444 00:22:52,539 --> 00:22:57,910 sentencias de decisión ni de nada, entonces mi algoritmo 445 00:22:57,910 --> 00:23:02,690 podría seguir ahora ya así, oye 446 00:23:02,690 --> 00:23:05,910 si resulta 447 00:23:05,910 --> 00:23:09,269 que num1 es mayor que num2 448 00:23:09,269 --> 00:23:13,349 si resulta esto 449 00:23:13,349 --> 00:23:17,309 pues entonces muestra 450 00:23:17,309 --> 00:23:18,849 el num1 451 00:23:18,849 --> 00:23:21,529 por ejemplo 452 00:23:21,529 --> 00:23:25,009 y podría escribir aquí 453 00:23:25,009 --> 00:23:32,049 Si num2 es mayor que num1 454 00:23:32,049 --> 00:23:38,789 Muestra num2 455 00:23:38,789 --> 00:23:41,690 Y mi programa habría terminado 456 00:23:41,690 --> 00:23:42,410 Fin 457 00:23:42,410 --> 00:23:47,029 Vale, con esto es lo único que quiero decir 458 00:23:47,029 --> 00:23:47,690 Varias cosas 459 00:23:47,690 --> 00:23:48,269 Primera 460 00:23:48,269 --> 00:23:51,829 Que para aprender a programar en programación estructurada 461 00:23:51,829 --> 00:23:54,410 Yo no necesito ningún lenguaje de programación 462 00:23:54,410 --> 00:23:55,890 ¿Vale? 463 00:23:55,990 --> 00:23:58,309 Porque programar es elaborar algoritmos 464 00:23:58,309 --> 00:24:00,490 La traducción de esto 465 00:24:00,490 --> 00:24:02,589 A Java, Python, ASEA 466 00:24:02,589 --> 00:24:08,730 lo que a mí me dé la gana ya es inmediato. Lo difícil es hacer la secuencia de pasos 467 00:24:08,730 --> 00:24:15,750 que resuelven el problema. Y esa secuencia de pasos solo puede involucrar sentencias 468 00:24:15,750 --> 00:24:22,009 de aprobación estructurada, que serían leer y mostrar datos, como en este caso esto que 469 00:24:22,009 --> 00:24:30,680 es leer datos y aquí que estamos devolviendo, decisiones, lo que hemos hecho aquí, aunque 470 00:24:30,680 --> 00:24:32,460 Eso ya lo veremos más en detalle, cómo funciona 471 00:24:32,460 --> 00:24:34,500 una decisión. Si pasa 472 00:24:34,500 --> 00:24:35,779 esto, haz una cosa. 473 00:24:36,440 --> 00:24:38,460 Eso es una decisión, pues la puedo incluir en mi 474 00:24:38,460 --> 00:24:40,400 algoritmo. Y bucles 475 00:24:40,400 --> 00:24:42,380 que aquí no nos han hecho falta. No nos han hecho falta 476 00:24:42,380 --> 00:24:43,180 pero nos pueden haber hecho. 477 00:24:44,039 --> 00:24:45,440 Esto ya es un algoritmo 478 00:24:45,440 --> 00:24:48,619 de programación estructurada, perfecto 479 00:24:48,619 --> 00:24:49,720 porque solo involucra eso. 480 00:24:50,420 --> 00:24:52,359 Y yo lo puedo pasar a un 481 00:24:52,359 --> 00:24:54,339 lenguaje de programación estructurada y tengo el programa hecho. 482 00:24:54,339 --> 00:24:56,420 Lo que pasa es que nosotros, desde el principio 483 00:24:56,420 --> 00:24:58,359 ya vamos a trabajar con un 484 00:24:58,359 --> 00:24:59,200 lenguaje de programación 485 00:24:59,200 --> 00:25:01,779 pues para facilitar 486 00:25:01,779 --> 00:25:04,140 la ejecución, la comprobación 487 00:25:04,140 --> 00:25:06,099 de si está bien, está mal y por optimizar 488 00:25:06,099 --> 00:25:07,079 y por ir más rápido 489 00:25:07,079 --> 00:25:10,220 pero podríamos trabajar en esto 490 00:25:10,220 --> 00:25:12,059 que se podría llamar 491 00:25:12,059 --> 00:25:13,480 pseudocódigo 492 00:25:13,480 --> 00:25:15,660 ¿qué es un pseudocódigo? 493 00:25:16,380 --> 00:25:18,099 un lenguaje parecido 494 00:25:18,099 --> 00:25:18,740 al natural 495 00:25:18,740 --> 00:25:21,980 en el que tú escribes programas 496 00:25:21,980 --> 00:25:24,019 que no se corresponden con ningún lenguaje 497 00:25:24,019 --> 00:25:26,000 de programación y que por tanto ni ejecuta 498 00:25:26,000 --> 00:25:27,720 ni nada, porque no se corresponden con ningún 499 00:25:27,720 --> 00:25:28,960 lenguaje 500 00:25:28,960 --> 00:25:30,839 esto podría ser una especie 501 00:25:30,839 --> 00:25:31,980 de pseudocódigo 502 00:25:31,980 --> 00:25:33,440 dime 503 00:25:33,440 --> 00:25:42,220 si, claro, a ver 504 00:25:42,220 --> 00:25:45,160 lo que no sabes entender, dime cuál es mayor 505 00:25:45,160 --> 00:25:46,940 pero los operadores 506 00:25:46,940 --> 00:25:48,960 los entiende, el más, el menos 507 00:25:48,960 --> 00:25:50,500 los operadores aritméticos 508 00:25:50,500 --> 00:25:52,819 y los relacionales los entiende 509 00:25:52,819 --> 00:25:54,380 que son los que vamos a ver, entonces 510 00:25:54,380 --> 00:25:56,720 el operador este es un operador relacional 511 00:25:56,720 --> 00:25:58,279 mayor que, lo entiende 512 00:25:58,279 --> 00:26:00,880 si tú le dices 3 mayor que 2 513 00:26:00,880 --> 00:26:02,599 él te va a decir, ¿verdad? 514 00:26:03,279 --> 00:26:04,420 si le dices 3 515 00:26:04,420 --> 00:26:06,759 mayor que 7, él te va a decir, mentira 516 00:26:06,759 --> 00:26:08,539 o sea, los operadores estos 517 00:26:08,539 --> 00:26:10,640 los conoce, lo que no 518 00:26:10,640 --> 00:26:12,680 entiende es una sentencia del tipo 519 00:26:12,680 --> 00:26:14,460 dime cuál es mayor de los dos 520 00:26:14,460 --> 00:26:16,500 no, pero si tú le das 521 00:26:16,500 --> 00:26:18,460 una sentencia de decisión en la que le dices 522 00:26:18,460 --> 00:26:20,420 la operación que tiene que hacer 523 00:26:20,420 --> 00:26:22,619 él no sabe, que para saber si uno es mayor 524 00:26:22,619 --> 00:26:24,500 que otro, él no sabe que tiene que usar 525 00:26:24,500 --> 00:26:26,559 este operador, él no lo sabe 526 00:26:26,559 --> 00:26:28,599 tú se lo tienes que decir, le dices 527 00:26:28,599 --> 00:26:30,579 este operador 528 00:26:30,579 --> 00:26:31,640 si es mayor 529 00:26:31,640 --> 00:26:34,839 si esto es 530 00:26:34,839 --> 00:26:37,079 verdad, me devuelves esto 531 00:26:37,079 --> 00:26:38,759 ¿vale? pero bueno, todo esto 532 00:26:38,759 --> 00:26:41,059 precisamente es lo que tenemos que ir desarrollando 533 00:26:41,059 --> 00:26:43,059 esto lo ponía como ejemplo 534 00:26:43,059 --> 00:26:44,559 de que 535 00:26:44,559 --> 00:26:46,960 programar es elaborar algoritmos 536 00:26:46,960 --> 00:26:49,019 que usando sentencias de parámetro estructurada 537 00:26:49,019 --> 00:26:51,019 resuelven el problema que sea 538 00:26:51,019 --> 00:26:55,099 desde partida vamos a usar 539 00:26:55,099 --> 00:26:56,039 Java nosotros 540 00:26:56,039 --> 00:26:57,859 ¿Vale? Y traducir esto a Java 541 00:26:57,859 --> 00:26:58,740 Pues sería inmediato 542 00:26:58,740 --> 00:27:02,119 Pero podríamos aprender a programar 543 00:27:02,119 --> 00:27:03,559 Sin usar ningún lenguaje de programación 544 00:27:03,559 --> 00:27:04,859 Sí 545 00:27:04,859 --> 00:27:06,940 Pero bueno, vamos a empezar 546 00:27:06,940 --> 00:27:09,519 Usando este 547 00:27:09,519 --> 00:27:13,460 Para que sea un poquito más 548 00:27:13,460 --> 00:27:15,000 Más dinámico 549 00:27:15,000 --> 00:27:19,509 Vale, pues primeros conceptillos 550 00:27:19,509 --> 00:27:20,769 Que vamos a ir introduciendo 551 00:27:20,769 --> 00:27:23,690 Para que podamos empezar a ir haciendo las primeras cosas 552 00:27:23,690 --> 00:27:24,869 Aunque sean sencillas 553 00:27:24,869 --> 00:27:27,289 Primera cosa 554 00:27:27,289 --> 00:27:29,150 Importantísima, importantísima 555 00:27:29,150 --> 00:27:33,509 importantísima. Los programas 556 00:27:33,509 --> 00:27:34,650 trabajan con datos. 557 00:27:35,329 --> 00:27:36,549 Si no, no valen para nada. 558 00:27:37,269 --> 00:27:39,170 ¿Verdad? Si un programa no tiene 559 00:27:39,170 --> 00:27:40,829 datos con los que trabajar... 560 00:27:40,829 --> 00:27:45,000 Pero esto es aparte de lo de antes, ¿no? 561 00:27:45,720 --> 00:27:47,180 Es como aplicarlo con Java. 562 00:27:47,859 --> 00:27:49,559 Sí, sí, sí. O sea, lo de antes 563 00:27:49,559 --> 00:27:51,759 era un ejemplo 564 00:27:51,759 --> 00:27:53,960 con el que los quería ilustrar 565 00:27:53,960 --> 00:27:55,759 que programar no es 566 00:27:55,759 --> 00:27:57,019 usar un lenguaje de programación. 567 00:27:57,579 --> 00:27:59,319 Programar es diseñar 568 00:27:59,319 --> 00:28:01,740 algoritmos para que resuelvan 569 00:28:01,740 --> 00:28:03,900 problemas. Es decir, es el pensamiento lógico 570 00:28:03,900 --> 00:28:05,359 que te lleva a ti 571 00:28:05,359 --> 00:28:08,019 a decidir qué pasos 572 00:28:08,019 --> 00:28:09,779 resuelven el problema. Pero eso 573 00:28:09,779 --> 00:28:11,220 es independiente de cualquier lenguaje de programación. 574 00:28:11,880 --> 00:28:13,259 Entonces, lo que hemos hecho antes nosotros 575 00:28:13,259 --> 00:28:15,700 es programar, pero no lo hemos aplicado 576 00:28:15,700 --> 00:28:17,680 a ningún lenguaje. Y ahora 577 00:28:17,680 --> 00:28:19,619 lo que os digo es, vamos 578 00:28:19,619 --> 00:28:21,680 a programar, pero ya directamente 579 00:28:21,680 --> 00:28:24,019 usando el lenguaje 580 00:28:24,019 --> 00:28:25,960 para escribir ya directamente la sentencia. 581 00:28:26,960 --> 00:28:27,440 Exacto. 582 00:28:27,640 --> 00:28:28,000 Sí, bueno. 583 00:28:29,640 --> 00:28:30,859 Bueno, eso de antes no. 584 00:28:30,859 --> 00:28:32,640 ese programa en particular no 585 00:28:32,640 --> 00:28:35,059 bueno, pues entonces 586 00:28:35,059 --> 00:28:37,339 ahora ya sí que empezamos en Java 587 00:28:37,339 --> 00:28:38,200 empezamos con Java 588 00:28:38,200 --> 00:28:40,440 entonces 589 00:28:40,440 --> 00:28:42,799 primera cosa que tenemos que entender 590 00:28:42,799 --> 00:28:45,259 que yo creo que es evidente para todos, para empezar a introducir 591 00:28:45,259 --> 00:28:47,440 los primeros conceptos 592 00:28:47,440 --> 00:28:48,839 ¿cómo la batería se está agotando? 593 00:28:49,000 --> 00:28:51,319 ah, claro, es que no puede ser 594 00:28:51,319 --> 00:28:52,039 si esto está 595 00:28:52,039 --> 00:28:59,079 ¿cómo funciona este? 596 00:29:01,359 --> 00:29:02,619 a ver un momentito 597 00:29:02,619 --> 00:29:05,710 tú 598 00:29:05,710 --> 00:29:13,460 tienes, vale 599 00:29:13,460 --> 00:29:14,859 Bueno, pues a ver 600 00:29:14,859 --> 00:29:19,269 Bueno, pues 601 00:29:19,269 --> 00:29:22,329 Para introducir el primer concepto básico 602 00:29:22,329 --> 00:29:23,190 Que es el de variables 603 00:29:23,190 --> 00:29:25,009 Para introducir el primer concepto básico 604 00:29:25,009 --> 00:29:25,710 Que es el de variables 605 00:29:25,710 --> 00:29:28,549 Tenemos que entender que 606 00:29:28,549 --> 00:29:30,329 Cualquier programa 607 00:29:30,329 --> 00:29:34,059 Que utiliza datos 608 00:29:34,059 --> 00:29:42,000 Los programas necesitan 609 00:29:42,000 --> 00:29:43,779 Datos para trabajar, ¿verdad? 610 00:29:48,549 --> 00:29:50,369 El primer programita que hemos hecho nosotros 611 00:29:50,369 --> 00:29:51,269 El de saludar 612 00:29:51,269 --> 00:29:53,769 Ese no necesitaba ningún dato 613 00:29:53,769 --> 00:29:55,890 ese no, porque eso lo que hacía era 614 00:29:55,890 --> 00:29:56,769 hola, ya está 615 00:29:56,769 --> 00:29:59,569 si lo hubiéramos cambiado 616 00:29:59,569 --> 00:30:01,609 para que me saludara 617 00:30:01,609 --> 00:30:03,829 para que saludara a la persona 618 00:30:03,829 --> 00:30:05,589 que lo ejecuta 619 00:30:05,589 --> 00:30:07,349 vale, si lo hubiéramos hecho 620 00:30:07,349 --> 00:30:09,490 una primera modificación 621 00:30:09,490 --> 00:30:11,730 para conseguir un programita 622 00:30:11,730 --> 00:30:12,769 más sofisticado 623 00:30:12,769 --> 00:30:15,529 que saludara a la persona 624 00:30:15,529 --> 00:30:16,390 que lo ejecuta 625 00:30:16,390 --> 00:30:19,450 ahora ya si necesitaría un dato 626 00:30:19,450 --> 00:30:20,450 que es 627 00:30:20,450 --> 00:30:23,049 el dato de la persona que lo ejecuta 628 00:30:23,049 --> 00:30:27,130 Entonces, ese programa, lo primero que haría sería, ¿cómo te llamas? 629 00:30:27,470 --> 00:30:31,450 Tú le das ese dato y ahora ya el programa te saludaría. 630 00:30:31,670 --> 00:30:32,410 Hola, Pepito. 631 00:30:32,890 --> 00:30:33,089 ¿Vale? 632 00:30:33,609 --> 00:30:38,990 Entonces, en general, cualquier programa necesita datos para trabajar, 633 00:30:39,269 --> 00:30:41,269 salvo excepciones como el Hola Mundo de ayer. 634 00:30:41,450 --> 00:30:43,170 Claro, cualquier otro necesita datos para trabajar. 635 00:30:44,170 --> 00:30:44,789 Eso está claro. 636 00:30:45,490 --> 00:30:47,930 Pues, entonces, lo primero que tenemos que ver en Java, 637 00:30:47,930 --> 00:30:49,369 antes de poder hacer cualquier programa, 638 00:30:49,369 --> 00:30:53,849 es donde guardamos los datos 639 00:30:53,849 --> 00:30:56,410 con los que el programa tiene que trabajar. 640 00:30:56,890 --> 00:30:57,809 ¿Dónde los guardamos? 641 00:30:59,190 --> 00:31:01,930 Bueno, pues los datos de trabajo del programa 642 00:31:01,930 --> 00:31:16,849 tienen que estar sí o sí, 643 00:31:18,670 --> 00:31:20,329 para eso sí que no hay alternativa, 644 00:31:21,509 --> 00:31:22,210 en variables. 645 00:31:27,549 --> 00:31:30,369 Tienen que estar en una cosa o en muchas, 646 00:31:30,470 --> 00:31:31,430 si son muchos datos, 647 00:31:32,289 --> 00:31:34,710 que se llamen variables. 648 00:31:34,710 --> 00:31:42,920 Un programa no puede trabajar con nada que no esté en una variable. 649 00:31:42,920 --> 00:31:54,279 Entonces, lo primero que tenemos que hacer es desde nuestro programa, 650 00:31:54,279 --> 00:31:58,279 desde nuestros programas en Java, saber cómo crear esas variables 651 00:31:58,279 --> 00:32:02,279 para poder meter en ellas datos. 652 00:32:02,279 --> 00:32:03,279 Entonces, el primer concepto. 653 00:32:03,279 --> 00:32:06,279 El primer concepto es el concepto de variable básico en programación. 654 00:32:06,279 --> 00:32:09,279 Es el concepto más importante de la programación variable, 655 00:32:09,279 --> 00:32:14,559 variable porque todo aquel dato con el que el programa tenga que trabajar tiene que estar en 656 00:32:14,559 --> 00:32:24,789 una variable eso no tiene pero que valga bueno pues vamos a ver un poquito más que es una variable 657 00:32:24,789 --> 00:33:01,019 que es una variable una variable es una cajita para guardar un dato esto es una variable entonces 658 00:33:01,019 --> 00:33:11,119 El programa, nosotros le diremos cuáles son las cajitas en las que están sus datos 659 00:33:11,119 --> 00:33:14,619 y tendremos que aprender cómo llenar esas cajitas con los datos 660 00:33:14,619 --> 00:33:18,059 y cómo sacar esos datos de las cajitas, lógicamente. 661 00:33:18,720 --> 00:33:21,220 Una variable es eso, una caja para guardar un dato. 662 00:33:24,559 --> 00:33:27,480 Puedes guardar uno, lo que pasa es que ese dato puede ser un objeto 663 00:33:27,480 --> 00:33:31,460 y un objeto es una variable gorda con muchos datos dentro. 664 00:33:31,460 --> 00:33:44,000 Entonces, con el matiz de solo puedes guardar uno, sí, solo puedes guardar uno. Pero ese dato puede ser un objeto. Y un objeto puede tener a su vez millones de cosas dentro. Pero dejémoslo por ahora así, ¿vale? 665 00:33:44,000 --> 00:34:01,160 Entonces, la cajita, para que el programa, para poder decirle yo a qué cajita se refiere, porque un programa puede tener mil variables, mil cajitas con mil datos, pues para decirle al programa, oye, usa esta, usa la otra, usa esta otra. 666 00:34:01,160 --> 00:34:04,039 lo normal es que la cajita tenga su nombre 667 00:34:04,039 --> 00:34:05,960 entonces cada cajita 668 00:34:05,960 --> 00:34:07,299 recibe un nombre 669 00:34:07,299 --> 00:34:14,460 luego cada variable 670 00:34:14,460 --> 00:34:16,500 siendo variable el sinónimo de mi cajita 671 00:34:16,500 --> 00:34:19,219 cada variable tiene su propio nombre 672 00:34:19,219 --> 00:34:21,199 cada variable 673 00:34:21,199 --> 00:34:22,280 tiene su propio nombre 674 00:34:22,280 --> 00:34:26,349 entonces la variable involucra por tanto 675 00:34:26,349 --> 00:34:28,110 dos conceptos, dos ideas 676 00:34:28,110 --> 00:34:29,610 su nombre 677 00:34:29,610 --> 00:34:32,469 y el dato que tiene dentro 678 00:34:32,469 --> 00:34:34,210 que son dos cosas distintas 679 00:34:34,210 --> 00:34:36,309 por ejemplo esta variable 680 00:34:36,309 --> 00:34:38,750 se podría llamar a lo mejor 681 00:34:38,750 --> 00:34:40,809 números, y eso es 682 00:34:40,809 --> 00:34:41,889 el nombre de la variable 683 00:34:41,889 --> 00:34:44,489 yo lo decido, ahora veremos como 684 00:34:44,489 --> 00:34:46,769 desde código, creo una 685 00:34:46,769 --> 00:34:48,690 variable o una cajita y la 686 00:34:48,690 --> 00:34:50,630 llamo num, ahora lo haremos en código 687 00:34:50,630 --> 00:34:52,869 pero eso es lo primero que tenemos que hacer 688 00:34:52,869 --> 00:34:54,710 vale, pues 689 00:34:54,710 --> 00:34:56,630 esta variable o cajita se llama 690 00:34:56,630 --> 00:34:57,909 num, porque yo lo he decidido 691 00:34:57,909 --> 00:34:59,469 y a partir de ahí 692 00:34:59,469 --> 00:35:01,889 puede guardar 693 00:35:01,889 --> 00:35:04,429 el dato que a mi me dé la gana 694 00:35:04,429 --> 00:35:05,949 con las restricciones que ahora veremos 695 00:35:05,949 --> 00:35:09,030 qué dato guardará el que yo quiera 696 00:35:09,030 --> 00:35:10,289 siempre el mismo 697 00:35:10,289 --> 00:35:12,469 no, esa cajita puede ir cambiando 698 00:35:12,469 --> 00:35:15,230 a veces guarda un 3, a lo mejor luego guarda un 7 699 00:35:15,230 --> 00:35:16,489 va cambiando 700 00:35:16,489 --> 00:35:18,750 por eso se llama variable 701 00:35:18,750 --> 00:35:20,889 porque su contenido puede 702 00:35:20,889 --> 00:35:22,769 variar, su nombre no varía jamás 703 00:35:22,769 --> 00:35:24,170 su nombre es num 704 00:35:24,170 --> 00:35:26,630 no varía, yo soy la cajita num 705 00:35:26,630 --> 00:35:28,670 qué dato voy a tener dentro 706 00:35:28,670 --> 00:35:30,989 lo que me quieran meter 707 00:35:30,989 --> 00:35:32,530 cuando quieran en cada momento 708 00:35:32,530 --> 00:35:33,650 me da lo mismo 709 00:35:33,650 --> 00:35:39,530 dos variables distintas 710 00:35:39,530 --> 00:35:41,869 cada una tiene su dato distinto 711 00:35:41,869 --> 00:35:44,170 que a su vez puede ir variando si hiciera falta 712 00:35:44,170 --> 00:35:44,889 que no es el caso 713 00:35:44,889 --> 00:35:47,210 uno y dos serían variables 714 00:35:47,210 --> 00:35:50,210 no, eso serían datos contenidos en banco 715 00:35:50,210 --> 00:35:54,610 uno y dos serían 716 00:35:54,610 --> 00:35:55,809 nombres de dos variables 717 00:35:55,809 --> 00:35:56,630 efectivamente 718 00:35:56,630 --> 00:36:00,429 y dentro iría 719 00:36:00,429 --> 00:36:02,550 el dato que tú le das cuando ejecutas 720 00:36:02,550 --> 00:36:04,630 el programa, a lo mejor la primera vez 721 00:36:04,630 --> 00:36:05,670 le das 3 y 2 722 00:36:05,670 --> 00:36:08,170 y en ese momento la variable en un 1 723 00:36:08,170 --> 00:36:10,250 tiene dentro el 3 y la variable en un 2 724 00:36:10,250 --> 00:36:12,650 tiene dentro el 2, pero a lo mejor dentro de 2 horas 725 00:36:12,650 --> 00:36:13,829 haces otra ejecución 726 00:36:13,829 --> 00:36:16,389 entonces la variable en un 1 que se sigue 727 00:36:16,389 --> 00:36:18,409 grabando en un 1, ahora tiene el 7 728 00:36:18,409 --> 00:36:20,409 y la variable en un 2 que se sigue 729 00:36:20,409 --> 00:36:21,789 grabando en un 2, ahora tiene el 8 730 00:36:21,789 --> 00:36:23,929 luego la variable es 731 00:36:23,929 --> 00:36:26,269 una caja que tú creas cuando 732 00:36:26,269 --> 00:36:28,329 arranca el programa o en cualquier momento 733 00:36:28,329 --> 00:36:30,289 de repente sea cuando arranca, que está 734 00:36:30,289 --> 00:36:32,329 pensada para recibir 735 00:36:32,329 --> 00:36:32,969 un dato 736 00:36:32,969 --> 00:36:35,929 el dato puede ser cualquiera 737 00:36:35,929 --> 00:36:38,730 el que a ti te interese en cada momento 738 00:36:38,730 --> 00:36:39,789 ¿vale? 739 00:36:40,610 --> 00:36:42,449 pero la cajita una vez que ha recibido 740 00:36:42,449 --> 00:36:43,710 un nombre, ese es su nombre 741 00:36:43,710 --> 00:36:46,230 en el ejemplo anterior 742 00:36:46,230 --> 00:36:48,349 efectivamente, que habíamos mencionado un poco 743 00:36:48,349 --> 00:36:50,510 por encima, solamente para ver el lenguaje natural 744 00:36:50,510 --> 00:36:52,550 teníamos dos cajitas 745 00:36:52,550 --> 00:36:53,750 num1 y num2 746 00:36:53,750 --> 00:36:55,369 su contenido 747 00:36:55,369 --> 00:36:58,429 yo lo varío en función de los dos 748 00:36:58,429 --> 00:36:59,989 números que quiera comparar 749 00:36:59,989 --> 00:37:01,630 si quiero comparar el 3 y el 7 750 00:37:01,630 --> 00:37:03,769 num1 recibe el 3 y num2 751 00:37:03,769 --> 00:37:05,829 recibe el 7, que quiero comparar 752 00:37:05,829 --> 00:37:07,909 el 15 y el 23, num1 753 00:37:07,909 --> 00:37:10,110 recibe el 15 y num2 el 23 754 00:37:10,110 --> 00:37:12,150 num1, num2 755 00:37:12,150 --> 00:37:14,070 los nombres de las variables 756 00:37:14,070 --> 00:37:15,750 el dato 757 00:37:15,750 --> 00:37:18,050 el que me interese a mi en cada momento 758 00:37:18,050 --> 00:37:18,929 ¿vale? 759 00:37:19,389 --> 00:37:20,929 primera cosa distinguir 760 00:37:20,929 --> 00:37:22,769 nombre de variable 761 00:37:22,769 --> 00:37:25,909 dato que recibe dentro que es 762 00:37:25,909 --> 00:37:27,869 variable, que puede cambiar 763 00:37:27,869 --> 00:37:29,869 pues cuando uno 764 00:37:29,869 --> 00:37:31,489 hace un programa, pues 765 00:37:31,489 --> 00:37:33,090 primero tiene que hacer 766 00:37:33,090 --> 00:37:35,590 lo que se llama en el desarrollo de software 767 00:37:35,590 --> 00:37:36,849 la fase de análisis 768 00:37:36,849 --> 00:37:39,309 que es una fase importantísima 769 00:37:39,309 --> 00:37:41,170 que esa no tiene nada que ver ni con 770 00:37:41,170 --> 00:37:43,329 entornos de desarrollo, ni con programas, ni con 771 00:37:43,329 --> 00:37:45,550 código, eso tiene que ver con un cerebro 772 00:37:45,550 --> 00:37:47,090 un papel y un lápiz, que es 773 00:37:47,090 --> 00:37:48,969 ¿de qué va este programa? 774 00:37:49,849 --> 00:37:51,289 ¿cuántos datos va a manejar? 775 00:37:51,969 --> 00:37:52,849 ¿muchos, pocos? 776 00:37:53,130 --> 00:37:55,050 ¿cuántas variables me va a interesar que tenga? 777 00:37:55,409 --> 00:37:57,449 ¿de qué tipo van a ser? ¿son números, son letras? 778 00:37:57,449 --> 00:37:59,469 o sea, una especie de visión global 779 00:37:59,469 --> 00:38:00,289 de de qué va el rollo 780 00:38:00,289 --> 00:38:02,309 eso es lo que hace el analista 781 00:38:02,309 --> 00:38:04,929 se aproxima al problema a ver de que va 782 00:38:04,929 --> 00:38:07,030 y va ilustrando 783 00:38:07,030 --> 00:38:08,190 con pinceladas 784 00:38:08,190 --> 00:38:10,690 su posible solución 785 00:38:10,690 --> 00:38:12,670 y luego ya 786 00:38:12,670 --> 00:38:15,210 después de que ha acabado el analista 787 00:38:15,210 --> 00:38:16,869 que es al que le han pagado 788 00:38:16,869 --> 00:38:18,969 muchísimo más que a nadie 789 00:38:18,969 --> 00:38:20,989 pues ya llega el programador 790 00:38:20,989 --> 00:38:22,550 que ya hace la parte fácil 791 00:38:22,550 --> 00:38:24,110 que es con el lenguaje de programación que sea 792 00:38:24,110 --> 00:38:25,110 pues ya programa 793 00:38:25,110 --> 00:38:28,409 bueno pues entonces 794 00:38:28,409 --> 00:38:30,710 nosotros en nuestra pseudo fase 795 00:38:30,710 --> 00:38:32,590 de análisis, porque nuestros programas son sencillos 796 00:38:32,590 --> 00:38:34,949 pues en nuestra pseudo fase de análisis 797 00:38:34,949 --> 00:38:36,230 cuando nos dan un enunciado 798 00:38:36,230 --> 00:38:38,809 después de leerlo dos, tres, cuatro veces 799 00:38:38,809 --> 00:38:40,530 lo primero 800 00:38:40,530 --> 00:38:42,809 que nos ronda por la cabeza 801 00:38:42,809 --> 00:38:44,429 nos tiene que rondar por la cabeza es 802 00:38:44,429 --> 00:38:46,670 ¿cuántas variables yo necesitaría? 803 00:38:47,389 --> 00:38:48,469 en el programa anterior 804 00:38:48,469 --> 00:38:50,590 rápidamente diríamos, como el programa 805 00:38:50,590 --> 00:38:52,829 es, lee dos números 806 00:38:52,829 --> 00:38:54,050 y dime cuál es mayor 807 00:38:54,050 --> 00:38:55,989 voy a necesitar dos cajitas 808 00:38:55,989 --> 00:38:58,389 una cajita para el primero y otra para el segundo 809 00:38:58,389 --> 00:39:00,030 ¿Vale? Pero todo eso 810 00:39:00,030 --> 00:39:01,610 lo vamos pensando 811 00:39:01,610 --> 00:39:04,210 en sucesivas lecturas 812 00:39:04,210 --> 00:39:04,929 del enunciado 813 00:39:04,929 --> 00:39:08,230 y cuando ya tenemos un diseño, lo tenemos pensado 814 00:39:08,230 --> 00:39:09,829 en la cabeza, ya empezamos a escribir 815 00:39:09,829 --> 00:39:12,110 ¿Vale? Bueno, pues cuando 816 00:39:12,110 --> 00:39:13,710 uno ya ha llegado a la conclusión 817 00:39:13,710 --> 00:39:16,130 de que necesita una variable 818 00:39:16,130 --> 00:39:17,849 para un dato, por la razón que sea 819 00:39:17,849 --> 00:39:19,650 pues ahora ya puede 820 00:39:19,650 --> 00:39:22,150 en Java escribir 821 00:39:22,150 --> 00:39:24,429 la sentencia que te crea 822 00:39:24,429 --> 00:39:26,090 esa cajita, le da el valor 823 00:39:26,090 --> 00:39:26,989 lo que haga falta 824 00:39:26,989 --> 00:39:28,329 ¿Vale? 825 00:39:28,869 --> 00:39:30,789 Bueno, pues entonces, ¿está claro, no? 826 00:39:31,190 --> 00:39:37,369 Que una variable es un espacio, lo que yo digo cajita es un espacio en la memoria RAM, lógicamente. 827 00:39:37,909 --> 00:39:40,030 ¿Esta cajita físicamente dónde está? 828 00:39:40,909 --> 00:39:42,130 Pues en la memoria RAM. 829 00:39:44,489 --> 00:39:48,510 Luego la memoria RAM no solo va a tener el código que se va ejecutando, 830 00:39:48,590 --> 00:39:49,789 eso va a tener que estar ahí sí o sí. 831 00:39:50,610 --> 00:39:56,690 En la memoria RAM también habrá un cacho ahí reservado para las variables, 832 00:39:56,690 --> 00:40:00,889 Aunque eso a nosotros nos da igual, ni lo vemos ni nos importa. 833 00:40:01,670 --> 00:40:08,449 Pero bueno, es importante que sepamos que todas las variables que nosotros vamos a crear en nuestros códigos, 834 00:40:09,170 --> 00:40:14,429 todas ellas son cajitas o espacios de memoria que van a estar aquí en la RAM. 835 00:40:15,449 --> 00:40:18,449 Cada variable es un espacio de memoria en la RAM. 836 00:40:20,329 --> 00:40:23,269 Y ese espacio de memoria, ¿para qué está pensado? 837 00:40:23,329 --> 00:40:25,449 Para guardar un dato, un dato que irá cambiando. 838 00:40:25,449 --> 00:40:28,070 según el programa vaya necesitando 839 00:40:28,070 --> 00:40:32,099 bueno, pues ahora sí que vamos a ver 840 00:40:32,099 --> 00:40:34,119 en código, cómo poder 841 00:40:34,119 --> 00:40:35,639 crear esas 842 00:40:35,639 --> 00:40:48,269 variables, vale, vamos a suponer 843 00:40:48,269 --> 00:40:48,949 que yo ya tengo 844 00:40:48,949 --> 00:40:55,429 mi class bla bla bla 845 00:40:55,429 --> 00:40:57,329 y mi main bla bla bla 846 00:40:57,329 --> 00:40:58,909 o sea, me ahorro todo esto para no escribirlo 847 00:40:58,909 --> 00:41:00,750 todo el rato, vale, esto ya lo tengo 848 00:41:00,750 --> 00:41:03,030 escrito, me lo ahorro para no escribirlo todo el rato 849 00:41:03,030 --> 00:41:04,969 ahora ya me voy al bloque de código 850 00:41:04,969 --> 00:41:07,070 en el que voy a escribir cosas, ya me voy a ese bloque 851 00:41:07,070 --> 00:41:09,010 de código, vale, ahora 852 00:41:09,010 --> 00:41:10,690 lo hacemos y nos da tiempo en el eclipse 853 00:41:10,690 --> 00:41:13,030 vale, pues 854 00:41:13,030 --> 00:41:15,250 vamos a 855 00:41:15,250 --> 00:41:16,730 crear una variable 856 00:41:16,730 --> 00:41:19,070 vamos a crear la variable num1 857 00:41:19,070 --> 00:41:20,170 por ejemplo 858 00:41:20,170 --> 00:41:22,489 antes de crear una variable 859 00:41:22,489 --> 00:41:24,630 lo primero yo tengo que decidir el nombre 860 00:41:24,630 --> 00:41:25,409 de la variable 861 00:41:25,409 --> 00:41:28,889 entonces, esto es lo mismo que 862 00:41:28,889 --> 00:41:30,650 el nombre del programa este 863 00:41:30,650 --> 00:41:32,530 después del class que decíamos el otro día 864 00:41:32,530 --> 00:41:34,590 el nombre de variable 865 00:41:34,590 --> 00:41:36,849 que esté lo mejor elegido 866 00:41:36,849 --> 00:41:38,769 posible, porque eso va a hacer 867 00:41:38,769 --> 00:41:41,170 que nuestro programa sea lo más legible 868 00:41:41,170 --> 00:41:42,670 o entendible posible. 869 00:41:44,030 --> 00:41:45,409 Entonces, si yo tengo una variable 870 00:41:45,409 --> 00:41:48,789 para guardar la edad de un usuario, 871 00:41:49,969 --> 00:41:51,889 a esa variable la llamaré edad, 872 00:41:52,210 --> 00:41:53,150 no la llamaré x. 873 00:41:54,210 --> 00:41:55,449 Si la llamo x, 874 00:41:56,030 --> 00:41:57,469 lógicamente al compilador le da igual, 875 00:41:58,329 --> 00:42:00,389 pero ese programa está mal escrito. 876 00:42:01,130 --> 00:42:02,170 El que tenga que arreglarlo, 877 00:42:02,170 --> 00:42:02,769 el que lo abra, 878 00:42:02,989 --> 00:42:04,909 ¿qué sería x? 879 00:42:05,090 --> 00:42:06,170 Tendría que empezar a mirarlo. 880 00:42:06,869 --> 00:42:08,329 Pero si le llamas edad, 881 00:42:08,769 --> 00:42:10,409 ya empieza a entender un poquito más 882 00:42:10,409 --> 00:42:12,210 de qué van esas sentencias, ¿vale? 883 00:42:12,250 --> 00:42:14,969 Luego, nombres de variables, de nuevo, 884 00:42:16,090 --> 00:42:18,449 como pauta de programación, 885 00:42:19,349 --> 00:42:21,969 no como obligación del lenguaje, 886 00:42:22,670 --> 00:42:23,630 bien elegidos. 887 00:42:24,570 --> 00:42:26,590 Pues venga, por ejemplo, pues ya está, 888 00:42:26,969 --> 00:42:27,929 vamos a hacer una variable 889 00:42:27,929 --> 00:42:30,329 y le voy a dar yo el nombre de edad, 890 00:42:30,869 --> 00:42:33,110 porque en mi programa, a ver, os veo inquietos, 891 00:42:33,150 --> 00:42:33,889 ¿eso es porque es tarde? 892 00:42:34,190 --> 00:42:36,230 Eso ni cuánto, vale, no, nos vamos a ir ya. 893 00:42:36,230 --> 00:42:39,110 vale, vamos a crear una variable 894 00:42:39,110 --> 00:42:41,050 para guardar la edad 895 00:42:41,050 --> 00:42:43,269 de una persona, porque yo necesito 896 00:42:43,269 --> 00:42:45,090 un programa que trabaja con la edad de una 897 00:42:45,090 --> 00:42:46,909 persona, para ese es mayor de edad, lo que sea 898 00:42:46,909 --> 00:42:48,389 primero 899 00:42:48,389 --> 00:42:50,909 pienso el nombre 900 00:42:50,909 --> 00:42:52,329 nombre 901 00:42:52,329 --> 00:42:54,769 lo más descriptivo posible 902 00:42:54,769 --> 00:43:02,880 edad, vale 903 00:43:02,880 --> 00:43:04,800 pero no puedo poner edad sin más 904 00:43:04,800 --> 00:43:06,219 si hay la variable aparecido 905 00:43:06,219 --> 00:43:09,000 aquí ya estoy escribiendo código, esto es lo que iría 906 00:43:09,000 --> 00:43:11,000 dentro de ese mail famoso de esas llaves 907 00:43:11,000 --> 00:43:13,780 vale, ¿qué tengo que hacer? 908 00:43:14,000 --> 00:43:15,659 siguiente cosa que pienso 909 00:43:15,659 --> 00:43:18,320 oye, esta cajita 910 00:43:18,320 --> 00:43:20,199 edad que yo he creado 911 00:43:20,199 --> 00:43:21,519 aquí, esta cajita edad 912 00:43:21,519 --> 00:43:24,139 ¿qué tipo de dato va a 913 00:43:24,139 --> 00:43:26,000 contener? ¿va a contener 914 00:43:26,000 --> 00:43:28,219 números o va a contener caracteres? 915 00:43:29,039 --> 00:43:30,139 y en función 916 00:43:30,139 --> 00:43:30,800 de eso 917 00:43:30,800 --> 00:43:33,699 ponemos aquí, que ya vemos 918 00:43:33,699 --> 00:43:35,980 mañana o el jueves, el tipo 919 00:43:35,980 --> 00:43:37,300 de dato que va a contener 920 00:43:37,300 --> 00:43:39,440 que ya nos da tiempo 921 00:43:39,440 --> 00:43:41,860 terminamos con punto y coma 922 00:43:41,860 --> 00:43:43,079 y la cajita está creada 923 00:43:43,079 --> 00:43:44,000 ¿vale? 924 00:43:44,320 --> 00:43:45,480 pero vamos a dejarlo aquí 925 00:43:45,480 --> 00:43:48,179 ¿qué tenemos que ver ahora? 926 00:43:49,960 --> 00:43:52,059 me has dicho que tienes que poner ahí un tipo 927 00:43:52,059 --> 00:43:53,099 un tipo de dato 928 00:43:53,099 --> 00:43:55,219 pues ¿qué tipos de datos tengo? 929 00:43:55,719 --> 00:43:56,380 pues unos 4 930 00:43:56,380 --> 00:43:57,260 ¿vale? 931 00:43:58,059 --> 00:43:59,360 ya los vemos el próximo día 932 00:43:59,360 --> 00:44:01,639 para poder empezar a trabajar con las primeras variables 933 00:44:01,639 --> 00:44:02,920 ahora nos quedamos con esto 934 00:44:02,920 --> 00:44:04,139 y ya está 935 00:44:04,139 --> 00:44:04,900 ¿vale? 936 00:44:04,900 --> 00:44:08,110 pues 937 00:44:08,110 --> 00:44:09,110 Gracias.