1 00:00:00,500 --> 00:00:11,199 El ejercicio 16 es un ejemplo de la necesidad, utilidad de reutilizar código 2 00:00:11,199 --> 00:00:14,500 y de que en programación unas cosas van dentro de otras. 3 00:00:14,619 --> 00:00:17,280 Las cosas se resuelven a cachos, ¿vale? 4 00:00:18,280 --> 00:00:29,280 Entonces, a ver, ya hemos hecho un ejercicio en el cual todo lo que hemos hecho aquí 5 00:00:29,280 --> 00:00:32,159 vale, que lo que hemos hecho es esto 6 00:00:32,159 --> 00:00:32,479 ¿verdad? 7 00:00:35,159 --> 00:00:37,560 aquí, o sea este código 8 00:00:37,560 --> 00:00:38,240 que hemos hecho 9 00:00:38,240 --> 00:00:40,439 claro 10 00:00:40,439 --> 00:00:43,600 estas cuatro líneas 11 00:00:43,600 --> 00:00:45,179 de aquí, que hemos hecho 12 00:00:45,179 --> 00:00:47,579 ya sabemos que qué hacen, estas cuatro 13 00:00:47,579 --> 00:00:49,340 líneas, dado un array 14 00:00:49,340 --> 00:00:51,820 números, lo rotan circularmente 15 00:00:51,820 --> 00:00:52,359 una posición 16 00:00:52,359 --> 00:00:55,119 entonces el paso siguiente sería 17 00:00:55,119 --> 00:00:57,579 meter esto en una función de librería 18 00:00:57,579 --> 00:00:59,359 todavía no sabemos hacerlo 19 00:00:59,359 --> 00:01:01,280 y si yo lo meto en una función de librería 20 00:01:01,280 --> 00:01:03,439 y le doy un nombrecito, cada vez que 21 00:01:03,439 --> 00:01:04,640 quiera en un array 22 00:01:04,640 --> 00:01:07,379 rotar una posición, llamaría a esa 23 00:01:07,379 --> 00:01:08,799 función de librería, ¿vale? 24 00:01:08,900 --> 00:01:10,459 Pero a lo que estamos ahora es 25 00:01:10,459 --> 00:01:13,500 que este código que hemos hecho lo podemos ver como un código 26 00:01:13,500 --> 00:01:14,700 ya independiente 27 00:01:14,700 --> 00:01:17,540 que dado un array números 28 00:01:17,540 --> 00:01:18,959 dado un array números 29 00:01:18,959 --> 00:01:20,799 estas cuatro líneas 30 00:01:20,799 --> 00:01:22,180 lo rotan una posición 31 00:01:22,180 --> 00:01:25,239 Vale, pues entonces, ejercicio 16 32 00:01:25,239 --> 00:01:26,920 dado un array 33 00:01:26,920 --> 00:01:28,920 rótalo n posiciones 34 00:01:28,920 --> 00:01:30,280 pues todo esto 35 00:01:30,280 --> 00:01:32,500 en un for que se ejecute n veces 36 00:01:32,500 --> 00:01:34,480 y ya está, porque si esto 37 00:01:34,480 --> 00:01:36,579 rota una posición, si hago 38 00:01:36,579 --> 00:01:38,659 eso n veces, habré rotado 39 00:01:38,659 --> 00:01:39,379 n posiciones 40 00:01:39,379 --> 00:01:42,719 luego el ejercicio 16 efectivamente 41 00:01:42,719 --> 00:01:44,959 es esto, meterlo 42 00:01:44,959 --> 00:01:49,590 ahí dentro 43 00:01:49,590 --> 00:01:53,030 claro 44 00:01:53,030 --> 00:02:01,640 claro, es decir 45 00:02:01,640 --> 00:02:03,659 por ejemplo aquí 46 00:02:03,659 --> 00:02:05,280 que forma ha quedado 47 00:02:05,280 --> 00:02:23,819 es decir, este código 48 00:02:23,819 --> 00:02:25,860 es el de antes, este mismo 49 00:02:25,860 --> 00:02:27,819 código, entonces, por ejemplo 50 00:02:27,819 --> 00:02:29,759 si yo quiero este array de aquí 51 00:02:29,759 --> 00:02:31,680 rotarlo tres veces 52 00:02:31,680 --> 00:02:33,979 pues este código lo hago tres veces 53 00:02:33,979 --> 00:02:35,840 luego lo meto en un for 54 00:02:35,840 --> 00:02:37,840 que se hace tres veces, en este for 55 00:02:37,840 --> 00:02:39,740 he puesto la variable j, porque claro 56 00:02:39,740 --> 00:02:41,379 en el de abajo ya tenía puesta la i 57 00:02:41,379 --> 00:02:42,960 entonces 58 00:02:42,960 --> 00:02:45,919 este código de aquí si lo ejecuto 59 00:02:45,919 --> 00:02:46,939 este array 60 00:02:46,939 --> 00:02:48,780 lo va a rotar tres veces 61 00:02:48,780 --> 00:02:51,979 si pongo aquí 4, pues 4, 5, 5, la que sea 62 00:02:51,979 --> 00:02:52,879 da igual 63 00:02:52,879 --> 00:02:55,740 si ejecutamos este código 64 00:02:55,740 --> 00:02:57,680 efectivamente 65 00:02:57,680 --> 00:02:59,199 pues lo ha rotado 66 00:02:59,199 --> 00:03:01,099 tres posiciones 67 00:03:01,099 --> 00:03:03,479 el 4, 6, 1 se ha ido tres posiciones 68 00:03:03,479 --> 00:03:05,719 y 5, 3 y 12 ha entrado circular 69 00:03:05,719 --> 00:03:06,500 por arriba 70 00:03:06,500 --> 00:03:13,080 luego nuestros códigos 71 00:03:13,080 --> 00:03:15,240 se componen así, se componen con ladrillos 72 00:03:15,240 --> 00:03:16,240 que vamos encajando 73 00:03:16,240 --> 00:03:18,900 y cada ladrillo resuelve una tarea 74 00:03:18,900 --> 00:03:19,560 concreta 75 00:03:19,560 --> 00:03:22,740 entonces este ladrillo resuelve la tarea 76 00:03:22,740 --> 00:03:24,439 concreta de desplazar una posición 77 00:03:24,439 --> 00:03:26,900 pues si lo metemos 78 00:03:26,900 --> 00:03:28,400 en un for que se ejecute tres veces 79 00:03:28,400 --> 00:03:30,039 pues desplazaremos tres posiciones 80 00:03:30,039 --> 00:03:33,500 ¿vale? 81 00:03:44,300 --> 00:03:45,580 ¿dudas? ¿problemas? 82 00:03:46,539 --> 00:03:47,099 ninguno 83 00:03:47,099 --> 00:03:53,539 pues tenemos el 15 84 00:03:53,539 --> 00:03:54,439 el 16 85 00:03:54,439 --> 00:04:06,479 vale, entonces 86 00:04:06,479 --> 00:04:08,180 vamos a saltarnos 87 00:04:08,180 --> 00:04:10,120 este, lo podemos hacer luego 88 00:04:10,120 --> 00:04:12,060 para hacer ahora el 18 89 00:04:12,060 --> 00:04:13,500 porque el 18 es lo mismo 90 00:04:13,500 --> 00:04:16,379 tiene que ver con lo mismo, con desplazar 91 00:04:16,379 --> 00:04:17,120 las posiciones 92 00:04:17,120 --> 00:04:28,040 entonces este en lugar de insertar uno 93 00:04:28,040 --> 00:04:29,120 desplazando los demás 94 00:04:29,120 --> 00:04:31,459 es lo que hay una posición 95 00:04:31,459 --> 00:04:34,240 eliminarlo y los demás se mueven 96 00:04:34,240 --> 00:04:35,879 Hasta que 97 00:04:35,879 --> 00:04:38,480 Lo pisan, ¿verdad? 98 00:04:42,579 --> 00:04:44,379 Pues vamos a hacer el 18 99 00:04:44,379 --> 00:05:10,579 Bueno, os veis con ganas de hacer el 18 100 00:05:10,579 --> 00:05:11,680 Solos, ¿verdad? 101 00:05:19,980 --> 00:05:21,860 El 18 es 102 00:05:21,860 --> 00:05:23,740 Tenemos 103 00:05:23,740 --> 00:05:25,980 Un array como este 104 00:05:25,980 --> 00:05:28,800 Y te dan una posición, la que sea 105 00:05:28,800 --> 00:05:31,300 Y te dicen 106 00:05:31,300 --> 00:05:35,379 Elimina esta posición 107 00:05:35,379 --> 00:05:36,699 Sin dejar huecos 108 00:05:36,699 --> 00:05:39,459 Claro, porque los huecos no existen 109 00:05:39,459 --> 00:05:41,000 En el ordenador 110 00:05:41,000 --> 00:05:42,879 Entonces, ¿qué vamos a hacer para este ejercicio? 111 00:05:42,939 --> 00:05:43,720 ¿Cómo lo vamos a interpretar? 112 00:05:44,579 --> 00:05:46,680 Pues, todos los que están abajo 113 00:05:46,680 --> 00:05:49,040 Que se desplacen, una hacia arriba 114 00:05:49,040 --> 00:05:50,300 Una hacia arriba 115 00:05:50,300 --> 00:05:53,160 Entonces, la última posición ya se va a quedar 116 00:05:53,160 --> 00:05:55,560 Sobrante, ya va a dar igual lo que tenga ahí 117 00:05:55,560 --> 00:05:58,079 Entonces se da una posición 118 00:05:58,079 --> 00:06:01,699 Y se desplazan todos los que están después 119 00:06:01,699 --> 00:06:02,860 Una hacia arriba 120 00:06:02,860 --> 00:06:06,600 Y es como si se hubiera eliminado ese 121 00:06:06,600 --> 00:06:07,759 Como si se hubiera eliminado 122 00:06:07,759 --> 00:06:10,579 Nos va a quedar la posición del final 123 00:06:10,579 --> 00:06:12,720 Pues que no vale para nada 124 00:06:12,720 --> 00:06:16,000 ¿Vale? Pues venga 125 00:06:16,000 --> 00:06:17,079 Haced el 18 126 00:06:17,079 --> 00:06:17,980 A ver 127 00:06:17,980 --> 00:06:22,230 Haced el 1 y lo desplazan