Saltar navegación

Activa JavaScript para disfrutar de los vídeos de la Mediateca.

Clase 10-11-23 - 4 - Contenido educativo

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 13 de noviembre de 2023 por Raquel G.

4 visualizaciones

Descargar la transcripción

Vale, bueno pues entonces hasta aquí, vale ¿no?, así declaramos una variable que sea 00:00:00
muchos de algo, antes de empezar a usarla, es decir, con usarla me refiero a meterle 00:00:11
cosas para luego usar esas cosas para asignarlas a otros lados, antes de empezar a usarla hay 00:00:17
que comprometerse y decir cuántas casillas va a tener, eso es impeccible, lo comprometemos 00:00:23
de esta manera y una vez que eso ya está hecho, que eso ya está hecho, ahora ya podemos 00:00:30
empezar a usarla como hemos dicho, yo me refiero ahora ya a cada posición con su número 00:00:34
de posición como si fuera cualquier variable. Vale, entonces la pregunta que os surgiría 00:00:41
a vosotros es, Jolines, vale, muy bien, ahora en el caso de que yo quiero 100 enteros, a 00:00:47
la hora de declarar espacio para 100 enteros, esto me ha venido muy bien, en una línea, 00:00:54
en una línea he declarado espacio para 100, cuando antes si no teníamos array hubiéramos 00:01:00
tenido que hacer int n1, int n2, int n3, así hasta 100, algo ya hemos hecho, nos hemos 00:01:06
declarado de golpe espacio para 100 enteros, lo hemos declarado de golpe sin tener que 00:01:13
declarar 100 variables una a una, vale, eso está bien, pero claro, aquí sobre todo se 00:01:18
trata de ahora ya ser operativos usando esto, entonces por ejemplo, ahora nos surge el problema, 00:01:24
vamos a rellenar todas estas variables que son 100, vamos a rellenarlas con unos, por 00:01:31
ejemplo, porque quiero yo ponerlo todo a 1, todo el array lo quiero poner a 1, vale, 00:01:39
porque forma parte de mi inicialización concreta todo a 1, claro, pues entonces si uno se planteara 00:01:43
hacer esto, quiero ponerlas todos a 1, pues hombre, pues no parecemos haber ganado mucho 00:01:50
tampoco, si nos ponemos a hacer números 0 igual a 1, ala, ya tengo la primera, un 1, 00:01:58
ala, tengo que iniciar a 1 la segunda, números 1 igual a 1, ala, ya tengo la segunda, pero 00:02:07
es que como tenga que hacer eso con las 100, números 2, números 3, pues no he ganado 00:02:15
nada respecto a declarar variables sueltas, hombre, he ganado la de línea de declaración, 00:02:22
pero la de asignación, como tengo que ir con ellas sueltas por libre, que he ganado 00:02:28
con un array, no he ganado nada si lo hago así, claro, pero de que nos podemos aprovechar, 00:02:32
de que el índice es lo único que va cambiando en esta expresión, verdad, esta de abajo 00:02:40
es la misma de arriba, pero con la posición a 1, y esta de aquí es lo mismo que lo de 00:02:47
arriba, pero con la posición a 2, la posición de una raíz es lo que se le suele llamar 00:02:56
índice, a la posición es lo que se le suele llamar índice, entonces el índice 0, índice 00:03:02
1, índice 2, que se refiere a la posición 0, posición 1, posición 2, entonces cada 00:03:10
una de esas expresiones es la de arriba, pero cambiando este índice o esta posición, hombre, 00:03:16
pues voy a meterlo en un for, es que para eso, me viene fenomenal, voy a meter esto 00:03:21
en un bucle, voy a meter esto en un bucle, donde lo que va cambiando es esta posición, 00:03:26
entonces en lugar de escribir 100 veces números 0, números 1, números 2, escribo esto en 00:03:32
un bucle, y en ese bucle lo que voy cambiando es esto, le pongo i por ejemplo, y este i, 00:03:38
que en la primera iteración sea 0, y en la siguiente sea 1, y en la siguiente sea 2, 00:03:45
pues ya lo tengo, un bucle que se ejecuta 100 veces, y 100 veces que me hace, números 00:03:50
de i igual a 1, y esto lo quiero hacer 100 veces, pero la primera vez lo quiero hacer 00:03:59
con i igual a 0, y la segunda vez lo quiero hacer con i igual a 2, a 1, y la tercera vez 00:04:04
lo quiero hacer con i igual a 2, eso es lo que yo quiero hacer, quiero hacer esto 100 00:04:11
veces, pero con i variando, pues hombre, como lo quiero hacer 100 veces, meterlo en 00:04:15
un bucle, vale, meterlo en un bucle, y ahora este bucle, que vaya iterando, y en cada iteración 00:04:20
que este i vaya cambiando, bueno hombre, claro, lo podríamos hacer con un while, obviamente 00:04:27
¿no?, pues venga, lo voy a meter en un while, mientras i sea menor o igual que 100, por 00:04:34
ejemplo, lo meto ahí en mi while, inicializando i a 0, y aquí incrementando i, vale, así 00:04:42
lo podríamos hacer, me hago un bucle, para que esto se ejecute 100 veces, perdón, i 00:04:51
menor o igual que 100, no, i menor que 100, porque tengo que llegar hasta 99, ¿verdad?, 00:04:56
parto de un índice de posición i igual a 0, mientras no haya llegado a la 100, te 00:05:04
haces esta asignación e incrementas i para la siguiente, pues esa sí es la ventaja 00:05:09
de los arrays, que yo puedo recorrer sus posiciones, simplemente cambiando este índice de aquí, 00:05:14
pues hombre, lo metes en un bucle, y ese bucle que te vaya cambiando este índice, y ya está, 00:05:23
en este único bucle tienes todas las 100 asignaciones, números 0, números 1, números 00:05:30
2, números 3, solamente ahí ya tienes escritas las 100 asignaciones, gracias a el funcionamiento 00:05:36
del array, que según vas cambiando tú este i, vas avanzando de posición, vale, pues 00:05:43
con ese while podríamos hacer eso, pero claro, si pensamos y nos acordamos, anda, es que 00:05:48
esto es el for, esto lo puedo hacer en un for, pongo esto como la primera sentencia 00:05:53
que se hace, esto la condición, y esta la que se hace en cada iteración, es un for, 00:05:58
me va a quedar más bonito en un for, ¿verdad?, pues esto mucho más bonito si lo escribo así, 00:06:04
esta es la primera sentencia que hago, mientras que, mientras i sea menor que 100, condición, 00:06:11
hago aquí lo que tenga que hacer, y después de cada iteración, esto se tiene que hacer, 00:06:19
después de cada iteración, pues eso iba aquí en el for, ¿verdad?, lo que se pone 00:06:26
aquí se hace después de cada iteración, ¿y ahora qué hago dentro del for?, pues 00:06:30
esto en particular, vale, o sea, esto y eso es lo mismo, normalmente pondremos esto, 00:06:33
queda mucho más claro, uy, estoy aquí, no estoy grabando la pizarra, vale, o sea, esto 00:06:46
y esto es lo mismo, normalmente pondremos eso, queda mucho más claro ese for ahí, 00:06:58
pues aquí sí que está ya la utilidad de los arrays, que mediante bucles yo puedo acceder 00:07:08
a todas las posiciones, y me ahorro hacer número 0 igual a 1, número 1 igual a 1, lo que yo quiera, 00:07:17
bueno, pues así es como se suelen recorrer, este es el bucle típico de recorrida de arrays, 00:07:24
el bucle típico es un for, donde usamos una variable i, que se la suele llamar índice, 00:07:33
y viene de índice, precisamente, porque se suele aplicar el for arrays, y esto es el índice, 00:07:37
donde una variable la inicializo con la primera posición, ¿hasta cuándo?, pues hasta mientras 00:07:45
sea menor que el tamaño del array, si el tamaño es 100, me queda en 99, claro, el tamaño es 100, 00:07:56
me quedo en 99, porque empiezo en 0, por eso pongo menor, no pongo menor igual, para que ese bucle 00:08:02
vaya de 0, 1, 2, hasta 99, y ahora, ¿qué hago en cada iteración?, después de esto que hay aquí 00:08:08
dentro, implementarlo, claro, para pasar a la siguiente, ¿vale?, es el bucle típico de recorrida 00:08:14
de un array, y ahora ya toda esta información, que es la única, que necesitamos, uno ya la combina 00:08:20
para hacer lo que quiera con arrays, ¿vale?, por ejemplo, a ver, vamos a hacer ejemplos sueltos de 00:08:30
arrays, vale, voy a hacer esto ya en un proyecto aparte, que se llame ejemplos de arrays, 00:09:00
para cuando se suba a la ola virtual, 00:09:10
venga, ejemplo 1, por ejemplo, vale, pues vamos a hacer esto mismo que hemos hecho ahí, y luego planteamos 00:09:30
pequeñas variaciones para trabajar con arrays, para que vayáis haciendo, pues venga, vamos a declarar un array 00:09:42
para que guarde 100 numeritos, pues lo llamo que a mí me dé la gana, y si quiero que tenga 100 numeritos, 00:09:51
tengo que hacer esto, ala, ya tengo ahí en memoria, espacio para 100 números enteros, ya están ahí en memoria, 00:10:00
ahora, ¿qué quiero hacer con ese espacio para 100 números enteros?, bueno, vamos a hacer eso mismo que hemos hecho 00:10:09
en la pizarra, vamos a inicializarlos todos esos espacios a 1, ala, ya están todos, el número 0, número 1, número 2, 00:10:13
ya están todos inicializados a 1, todos tienen dentro 1, vamos a comprobarlo, vamos a hacer otro bucle ahora, 00:10:38
que recorra el array, pero esta vez no para recibir un valor, sino para mostrarlo por consola, para asegurarnos 00:10:46
de que tiene unos, pues venga, otro bucle para recorrer todas y cada una de las posiciones, una por una, y ahora con cada posición 00:10:55
número sí, en este caso, ¿qué quiero hacer?, en este caso no quiero asignarle 1 a la posición, en este caso lo que quiero es mostrarla por consola, 00:11:18
bueno, pues nada, se lo damos a este, que es el que muestra por consola, se lo damos a este, ¿vale?, cada número sí del recorrido, 00:11:28
números 0, números 1, números 2, cada uno de ellos, se lo paso a este, para que lo muestre por consola, luego el resultado de este programa será mostrar 100 unos, 00:11:38
claro, entonces si lo ejecutamos, bueno, pues ahí los 100 unos que ha tenido que mostrar, entonces si hubiéramos tenido que usar 100 variables enteras por separado, 00:11:50
las 100, darles el valor 1, y las 100 mostrarlas, tendríamos que haber declarado 100 variables, haber hecho esta asignación 100 veces, luego haber hecho 100 System.out.println, 00:12:12
hubiera sido impranteable, ¿no?, 100 declaraciones, 100 asignaciones y 100 System.out. de cada una de las variables, si lo hacemos con un array, recorriéndolo y cambiando el índice, ya lo tengo todo, dime. 00:12:25
¿Pero el print no se puede poner directamente en el otro bucle de arriba? 00:12:38
A ver, sí, hombre, sí, pero vamos, que yo aquí estaba separando los recorridos, para dejar claro que uno recorre y luego hace dentro lo que quiera, en el primero hemos recorrido por asignar, ahora en este vamos a recorrer para mostrar, 00:12:42
ahora, por ejemplo, vamos a cambiar el código para que ahora este array, ahora se va a rellenar con valores que yo lea por teclado, para probarlo cambiaremos el 100, voy a meter 100 números, 00:12:56
vamos a olvidarnos, vamos a pisarlos y los unos que tiene y vamos a rellenarlo por consola, por teclado, vale, pues entonces, vamos a rellenar todo el array, habrá que recorrerlo otra vez, pues venga, vamos a recorrerlo, 00:13:12
y ahora, ¿qué hay que hacer con cada posición números de i? Pues en este caso, con cada posición números de i, le queremos asignar un número entero que vamos a leer del teclado, pues entonces, el escáner, perdón, lo tengo que poner aquí, si lo quiero usar, 00:13:42
vale, pues entonces, ¿qué queremos hacer aquí con cada números de i? Pues aquí con cada números de i, queremos recibir un número de teclado y asignárselo, pues lo que queramos hacer en cada momento, vale, ¿qué ahora quiero mostrar otra vez lo que tiene? 00:14:12
Vamos a volver a hacer el bucle de mostrar para ver lo que tiene esta vez, pues nada, aquí mostraríamos los valores que tiene, que son los que le hemos metido, y así, cada uno hace lo que quiera y necesite, vamos a probarlo, pero en lugar de meter 100 números que es mucho, vamos a probarlo con un array de 10 solo, 00:14:41
estoy cambiando los 100 a 10 para que solo tenga 10 posiciones, para que cuando me pida aquí, solo me pida hasta 10 números, pues venga, vamos a ejecutarlo, primero me muestra los 10 unos, y ahora se me ha quedado ahí esperando un número, pues venga, le he ponido 3, 1, 5, este, 6, 3, 5, 9, pues ya está, me ha mostrado efectivamente todos los números, 00:15:08
yo le he metido 3, 1, 4, 5, 6, 7, 9, y es lo que me ha mostrado, 3, 1, 4, 5, 6, bueno, me salta el 2, 2, 5, 6, 7, vale, 6, 7, 9, vale, uno ya recorre y hace con este array lo que necesite, por ejemplo, ¿qué podríamos querer hacer en este array? 00:15:35
vamos a hacer una cosa, vamos a hacer este mismo programa, pero que me los muestre, a ver si os ocurre, los números que yo he leído, que he leído 10, pues que a continuación me los muestre, pero no en el mismo orden en el que los leí, sino que me los muestre en orden inverso, ¿cómo haríais? 00:15:57
porque este for me muestra todos los números que yo acabo de asignar ahí, pero en el mismo orden en el que los introduje, me muestra primero la posición 0, luego la 1, luego la 2, imaginaos que el programa me dice, programa que lea 10 números y luego te los muestre en el orden inverso al que tú le introdujiste, ¿qué haríais? 00:16:17
claro, este for cambiarlo, en lugar de empezar en la 0, empezar en la 99, mientras sea mayor o igual que la 0, que sería la última, y en lugar de ir incrementando, ir decrementando, por ejemplo, o sea, uno ya entendiendo el funcionamiento, ya entendiendo cómo funcionan los for, los arrays, ya puede hacer lo que le dé la gana, entendiendo estas bases, que son las unidades que tenéis que entender, no hay más, pero ya hay que construirlo, por ejemplo, vamos a poner aquí 00:16:39
en orden inverso, pues para mostrar en orden inverso, haríamos, para la posición 99, que es la última, mientras sí sea mayor o igual que la 0, porque yo voy a ir bajando y decrementando de uno en uno, y decrementando de uno en uno, entonces primero era 99, luego era 98, luego era 97, pues entonces, ¿qué haremos? 00:17:09
mostrar, vale, pues efectivamente aquí me va a mostrar en orden inverso, primero me hace los 1, ahora se queda esperando los números, 1, 2, 3, 4, 5, 6, 7, 8, 9 y 10, vale 00:17:39
Ah, sí, me he pasado de, claro, me he pasado porque estoy en 9, le he bajado a 10, sería 9, vale, primero vemos a los 10 y 1, se le va a meter 10 números, 1, 2, 3, 4, 5, 6, 7, 8, 9 y le voy a meter el 10, ¿veis? 00:18:03
primero me lo ha mostrado en el orden correcto, en el orden de inserción, y en el segundo for, de recorrido, ya en el segundo, me ha mostrado el contenido, pero al revés, me ha mostrado el contenido al revés, vale, porque yo empecé en la 9 00:18:27
vale, pues entonces, ejemplitos sencillos para consolidar esto, por ejemplo, imaginaos que ahora os digo, pues, vamos a hacerlo en uno aparte, ejemplo 2 00:18:42
vale, pues aquí, imaginaos que queremos hacer, programa que lea, pongo 100, porque la utilidad de los arrays realmente, bueno, venga, vamos a poner 10, es cuando son muchos, pero bueno, vamos a poner 10 para que no lo tengáis que cambiar luego al ejecutar 00:19:12
que lea 10 números enteros y a continuación muestre la suma de todos los que han sido positivos y luego también la suma de todos los negativos 00:19:32
vale, los dos somas acumulativas, entonces, los números, pues aquí no haría falta un array porque uno puede, según va leyendo número, sumando y mostrándolo, pero vamos a hacerlo para que haga falta un array 00:20:02
entonces, para que haga falta un array, vamos a, y a continuación, muestra, vamos a poner, y a continuación, debe mostrar, finalmente, a modo de comprobación, que uno compruebe que lo ha hecho bien, todos los números que ha leído 00:20:22
ahora sí que no nos queda más remedio que hacerlo con un array, porque si yo uso una sola variable y en esa misma variable voy pisando el número anterior y voy incrementando la suma y luego me dice, muestra todos los que has leído, uy, es que los he perdido, estoy utilizando una misma variable para ir pisando el nuevo número, entonces, esto lo tenemos que hacer con un array de 10 enteros, no hay otra, y conservarlos ahí los 10 00:20:46
luego ya opero, hago la suma, lo que haya que hacer y cuando ya he hecho la suma acumulativa de todo, recorro el array para mostrarlo, los tengo ahí los 10 números, no los he perdido, porque estaban en un array 00:21:16
venga, pues a ver, como haríais esto, vale 00:21:25
Subido por:
Raquel G.
Licencia:
Todos los derechos reservados
Visualizaciones:
4
Fecha:
13 de noviembre de 2023 - 12:12
Visibilidad:
Público
Centro:
IES ROSA CHACEL
Relación de aspecto:
1.78:1
Resolución:
1280x720 píxeles
Tamaño:
410.25 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid