20241105 ProgrEstruct-Arrays-ejercicios_10 - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
La ratio de suspensos
00:00:00
Pues habréis hecho un contador
00:00:03
Ya está, punto pelota, un contador
00:00:04
Un contador que empieza valiendo 0
00:00:06
Como todos los contadores
00:00:09
Y ahora, ese contador que va a contar
00:00:10
Posiciones del array
00:00:13
Luego desde 0 hasta pos solamente
00:00:15
Que son las que nos cuentan
00:00:17
Posiciones del array que sean menores que 5
00:00:18
Ya está, es lo único que va a contar
00:00:21
Y ahora una vez que las tiene contadas
00:00:22
La ratio de suspensos
00:00:25
Será ese número entre el total
00:00:27
y listo, una vez que se acabó la cuenta
00:00:28
el número dentro del total y se acabó
00:00:31
y la media
00:00:33
pues lo mismo pero en lugar de
00:00:35
contar notas menores que 5
00:00:37
en lugar de contar
00:00:39
sumarlas, una suma acumulativa
00:00:40
empezamos siendo 0, vamos sumando
00:00:43
lo sumando son todas las notas
00:00:45
para todo el array y la nota media
00:00:48
la suma
00:00:52
que nos ha salido
00:00:54
entre el total de alumnos
00:00:55
y ya está
00:00:57
Bueno, pues esta aplicación
00:00:58
Ya estaría en su versión 1
00:01:10
Vamos a hacer la versión más bonita
00:01:12
Puedo poner el 6
00:01:15
Esto
00:01:17
Vale
00:01:18
Bueno, está claro
00:01:32
Hemos hecho lo de siempre, contar y sumar
00:01:43
Lo que pasa es que ahora lo que estamos contando
00:01:45
y sumando, nos va llegando
00:01:48
de posiciones de un array, nos va llegando
00:01:49
de ahí, en lugar de llegarnos pues del teclado
00:01:52
donde sea, nos va llegando de ahí, pero son los ejercicios
00:01:54
del principio
00:01:56
vale
00:01:57
bueno, pues esta aplicación nos gusta
00:01:59
está muy bien, mete las notas
00:02:02
hace las medias, podemos poner una nota
00:02:04
eliminar un alumno, mostrar un listado, etc
00:02:05
pero
00:02:08
pero
00:02:10
es un poco
00:02:11
feilla, por lo que ya hemos
00:02:14
dicho antes, que hemos tenido
00:02:16
que decir, mira, vamos a asumir
00:02:18
que como mucho hay 100
00:02:20
entonces ya hemos tenido
00:02:22
que hacer ya esa restricción de partida
00:02:24
y al igual
00:02:26
que hemos dicho antes, si me dicen, oye, cuidado
00:02:28
que a lo mejor esta misma aplicación la voy a
00:02:29
reutilizar en lugar de en mi academia, la voy a
00:02:32
reutilizar ahí en mi instituto de no sé
00:02:34
qué, y ahí puedo tener hasta mil alumnos
00:02:36
pues hay que entrar en el código
00:02:38
cambiar el código
00:02:40
y volver a ejecutarla
00:02:41
no es la idea, esta aplicación entonces
00:02:44
no es reutilizable de forma
00:02:47
sencilla, tengo que cambiar el código
00:02:49
si la quiero reutilizar en un escenario
00:02:51
distinto de muchos más alumnos
00:02:53
eso por un lado, primera pega que la hace fea
00:02:54
segunda
00:02:57
pega, quejolines
00:02:59
yo tengo ahí un array de mil
00:03:01
o de diez mil o de los que quiera, porque
00:03:03
podría decir, oye, para que sea reutilizable
00:03:05
incluso ahí en los confines del
00:03:07
universo, no pasa nada
00:03:09
yo me voy a hacer un array que quepan hasta
00:03:11
200.000 y luego tú ya
00:03:13
no, funciona
00:03:15
pero tengo ahí
00:03:17
200.000 espacios en memoria
00:03:18
habilitados ocupando la memoria RAM
00:03:21
cuando la mayoría
00:03:23
de las veces a lo mejor solo estoy usando 10
00:03:25
o 12, no es una solución
00:03:27
tampoco, entonces
00:03:29
¿cuál sería la solución bonita?
00:03:31
es decir, pues vamos a hacernos
00:03:33
un array en principio
00:03:35
de 0 posiciones
00:03:37
y según vayan llegando y saliendo
00:03:39
lo voy estirando y lo voy encogiendo
00:03:41
Efectivamente
00:03:43
Entonces vamos a hacer la versión 2
00:03:45
Que será una pequeña modificación de esta
00:03:48
Pero un poquito más bonita
00:03:50
A ver
00:03:51
Ejera raíz, donde está
00:03:53
Este ejercicio
00:03:55
Lo hemos llamado ejercicio 28
00:03:57
Pero ejercicio 28 tuneado
00:03:59
Porque no es exactamente el ejercicio 28
00:04:00
Entonces vamos a cambiarle de nombre
00:04:02
Eso, voy a poner ejercicio 28
00:04:05
Con un poco de tuning
00:04:08
tuning en mi época
00:04:11
era cuando sintonizabas la radio
00:04:15
ahora ya no, ¿verdad?
00:04:16
ya no se sintonizan
00:04:18
ya pasan radios
00:04:21
con una tele y un palillo
00:04:22
¿con una tele y un palillo?
00:04:24
eso no me lo sé
00:04:27
cuando se jodía la tele
00:04:28
las ruedas
00:04:32
ah, las ruedas de las teles viejas
00:04:34
esas teles no las conozco
00:04:36
Son teles del 60 para abajo
00:04:40
No hombre, pero entonces él no las conocería
00:04:43
Con una tele y un palillo
00:04:44
En mi casa debían estar muy modernizados
00:04:49
Ya que hemos juntado las batallitas
00:04:53
De ancianos
00:05:01
A ver, venga
00:05:02
Bueno, pues este es el tuneado
00:05:07
Ahora vamos a hacer
00:05:11
El 28 tuneado
00:05:13
Pero una versión más bonita
00:05:14
En que la RAI no tiene necesariamente
00:05:16
100, 200
00:05:18
Sino que se adapta a los alumnos que yo tengo en cada momento
00:05:19
Pues venga, ejercicio 28
00:05:22
Se quedaba el pelo así
00:05:25
Ah, y en las de ahora no pasa
00:05:36
Ah, claro, porque no tiene el tubo de rayos catódicos
00:05:37
Este, si no se pega el pelo
00:05:40
Ah, pues mira, eso no lo había comprobado nunca
00:05:41
Tiene sentido
00:05:42
Es verdad
00:05:44
Qué tiempos más bonitos
00:05:47
Sí
00:05:51
Claro, el otro día
00:05:56
Bueno, me llegan 200.000 chorradas
00:05:57
Por Instagram
00:06:02
Claro
00:06:04
Vale, versión 2
00:06:04
y me llegó
00:06:09
algunas cosas
00:06:12
venga, versión 2
00:06:14
vale
00:06:15
vale, he copiado
00:06:16
venga, a ver
00:06:20
he copiado
00:06:25
este ejercicio tal cual
00:06:27
en otra clase
00:06:30
lo he copiado tal cual en otra clase
00:06:31
y ahora vamos a hacer una modificación
00:06:34
para poder hacer lo siguiente
00:06:35
oye, vamos a cambiar
00:06:38
mi array de partida
00:06:39
no voy a asumir
00:06:41
un tamaño, no voy a asumir un tamaño porque
00:06:42
si yo asumo ahí un tamaño, ese array ya se
00:06:45
queda así siempre y es una pena
00:06:47
que a lo mejor a veces esté usando 3
00:06:49
a veces 4 y siempre va a tener 100
00:06:51
lleno de nada, de nul, de nul, de nul
00:06:53
vale, pues de partida así
00:06:55
de 0, dirijo un array
00:06:56
de 0 posiciones, ¿se puede declararlo?
00:06:59
si se puede
00:07:01
es decir, yo puedo hacer esto
00:07:02
¿cuál es la diferencia entre un array de 0
00:07:05
posiciones y no haberlo
00:07:07
declarado, es decir,
00:07:09
me podríais decir, bueno, ¿qué diferencia hay
00:07:11
entre
00:07:13
hacerlo
00:07:15
de arriba y hacerlo de abajo?
00:07:17
Sí que hay.
00:07:22
En este caso,
00:07:23
el objeto array, este es un
00:07:24
objeto...
00:07:26
¿Qué pasa?
00:07:27
Ah,
00:07:31
pensaba que no había bajado eso.
00:07:32
Vale, o sea,
00:07:37
me diréis, ¿y qué diferencia hay
00:07:38
entre hacer lo de arriba y lo de abajo
00:07:40
pues hay una diferencia enorme
00:07:42
en lo de arriba yo he declarado
00:07:44
el objeto alumnos, recordéis que
00:07:46
los arrays son un objeto, pero todavía
00:07:48
no he creado
00:07:50
el objeto en sí, lo único que estoy
00:07:51
diciendo es alumnos es la dirección de
00:07:54
memoria que apuntará al array
00:07:56
pero todavía no está creado
00:07:58
con lo cual aquí alumnos es un null que no
00:08:00
veas, y si yo aquí hiciera
00:08:02
por ejemplo esto, si yo
00:08:04
hago esto, alumnos
00:08:08
punto length
00:08:13
si yo hiciera esto de arriba
00:08:14
string alumnos y alumnos.length
00:08:16
si yo lo intento ejecutar
00:08:19
me va a decir aquí null pointer exception
00:08:20
¿vale?
00:08:23
me va a decir null pointer exception
00:08:25
porque alumnos
00:08:26
efectivamente no está
00:08:28
creada, bueno de hecho es que
00:08:30
ni siquiera me deja ahora mismo sacar
00:08:32
la esta porque ya
00:08:34
tiene justo arriba ¿vale?
00:08:36
no puedo, entonces
00:08:38
sin embargo esto de aquí
00:08:40
abajo es otra cosa distinta
00:08:45
aquí sí he creado
00:08:47
el objeto, aquí sí lo he creado
00:08:49
el objeto array, pero tiene cero
00:08:50
es decir, no cabe ningún
00:08:53
elemento, entonces yo aquí sí que podría hacer esto
00:08:55
aquí sí que podríamos
00:08:57
hacer si quisiéramos
00:08:59
alumnos.length
00:09:00
podría, y me devolvería
00:09:04
cero, tienes cero posiciones
00:09:07
en ese array, pero el objeto existe
00:09:09
lo que pasa es que sin posiciones
00:09:11
vale, pues entonces
00:09:13
ya teniendo claro que hay una diferencia
00:09:15
entre declararlo sin crearlo
00:09:17
y crearlo con cero posiciones
00:09:19
pues ahora ya vamos a hacer
00:09:21
esta versión nuestra
00:09:23
en el que decimos
00:09:25
oye, vamos a ver
00:09:26
mi array de alumnos
00:09:27
inicialmente tiene cero
00:09:30
con lo cual me voy a olvidar de post
00:09:31
y me voy a olvidar de todo
00:09:34
y ahora cada vez que me tallo un alumno
00:09:35
pues me crearé un array
00:09:38
con una posición más que el que tenía
00:09:40
copio el original
00:09:42
en el nuevo
00:09:44
y en la posición extra
00:09:46
copio el alumno adicional
00:09:48
y luego sustituyo
00:09:49
¿vale? esa sería la situación
00:09:52
ideal, pues venga, vamos a modificar
00:09:54
esas opciones, ¿vale? entonces repito
00:09:56
de partida mi array tiene cero posiciones
00:09:58
tiene cero, y ahora, vámonos a la opción
00:10:00
insertar alumno
00:10:02
opción insertar alumno, la vamos a borrar
00:10:03
enterita, bueno, lo de
00:10:06
introduzca nombre y poner el nombre lo dejamos
00:10:08
por eso lo vamos a utilizar
00:10:10
vale, lo que vamos a borrar es esto
00:10:11
¿vale?
00:10:13
Venga, ¿ahora qué tenemos que hacer para insertar el alumno?
00:10:16
Vamos a crear una array auxiliar con una posición más
00:10:18
que el que tiene en ese momento en la array alumnos,
00:10:22
la que tenga.
00:10:24
Pues venga, vamos a crearnos, claro,
00:10:25
una array de string aux, por ejemplo, aux alumnos,
00:10:28
con una posición más,
00:10:34
una posición más que el que tenga el de alumnos en ese momento.
00:10:39
justo que tiene
00:10:44
alumnos en ese momento, alumnos.led
00:10:46
pues este es el primer paso
00:10:49
un auxiliar con una
00:10:50
posición más para albergar ese extra
00:10:52
ahora, siguiente paso
00:10:54
copiamos alumnos
00:10:56
en aux alumnos
00:10:58
vale, un for que recorre
00:11:00
todo el array alumnos para
00:11:03
copiar ese en el otro
00:11:04
y luego la posición adicional
00:11:05
extra del aux con el nombre
00:11:08
nuevo y luego ya
00:11:10
sustituimos uno en el otro
00:11:12
entonces, ahora
00:11:13
vamos a recorrer
00:11:15
alumnos
00:11:18
vamos a recorrer alumnos
00:11:19
vale, ¿qué hacemos con alumnos?
00:11:25
copiarlo en auxalumnos
00:11:28
auxalumnos de i
00:11:29
igual a
00:11:33
alumnos de i
00:11:35
ala, ya están
00:11:37
copiadas, auxalumnos
00:11:39
todavía le sobra uno, porque le hemos hecho
00:11:41
con una posición más, todavía le sobra uno
00:11:43
vale, ahora ya que están copiados
00:11:44
la posición que le sobra
00:11:46
a auxalumnos, porque tiene una más
00:11:48
tiene una más
00:11:51
porque lo hemos creado de tamaño
00:11:53
una más que alumnos
00:11:54
pues la última que le sobra
00:11:56
la última que le sobra, claro
00:11:58
que esa será la última posición
00:12:00
de una raíz cualquiera, ¿cuál es?
00:12:03
siempre es la última posición de una raíz cualquiera
00:12:04
es su tamaño menos uno, ¿verdad?
00:12:07
esta es la última posición de una raíz cualquiera
00:12:10
bueno, pues su última posición
00:12:12
con nombre.
00:12:16
¿Vale? Entonces ya
00:12:21
auxalumnos ya es el array definitivo.
00:12:22
Claro.
00:12:25
Donde tiene los nombres
00:12:26
de alumnos que estaban alumnos copiados en él
00:12:28
y en la posición extra
00:12:30
que le hemos creado, el nuevo.
00:12:32
La posición extra es la última, que siempre
00:12:34
es el tamaño del array menos uno.
00:12:36
Y ahora, una vez que ya hemos
00:12:39
hecho esto, decimos, oye, el array original
00:12:40
sustituyelo
00:12:42
por auxalumnos.
00:12:44
Sustituido.
00:12:48
Y auxalumnos, como es local al switch,
00:12:51
pues este array auxalumnos ya va a desaparecer.
00:12:53
No nos importa, es un array local que está ahí,
00:12:57
que lo estamos usando cada vez que entramos en case 1.
00:13:00
Cada vez que entramos aquí, lo creamos y lo eliminamos.
00:13:04
En cada iteración, se crea, se elimina, se crea, se elimina.
00:13:09
Vale, un segundito.
00:13:14
Pero claro, con las notas lo mismo.
00:13:16
Recordad que alumnos y notas van en paralelo
00:13:18
Luego con notas
00:13:21
¿Qué tendremos que hacer?
00:13:23
Lo mismo, crear un array con una posición más
00:13:25
Copiar el original de notas
00:13:28
En el auxiliar de notas
00:13:29
Y ahora en la extra
00:13:31
En este caso ponerle un cero
00:13:33
Porque hemos dicho que cuando insertamos un alumno
00:13:34
Le ponemos nota cero
00:13:36
Entonces vamos a hacer lo mismo pero con notas
00:13:37
Pues lo mismo con array de notas
00:13:40
Sería un array de
00:13:46
Enteros
00:13:49
auxnotas que va a tener
00:13:50
cuánto
00:13:58
cuántas posiciones
00:14:02
pues las mismas de notas más uno
00:14:04
vale
00:14:06
y
00:14:07
aquí en notas lo mismo, perdón
00:14:09
que cuando he hecho, vale
00:14:12
cuando he creado el array de notas aquí
00:14:14
de cero posiciones también, como el de string
00:14:15
vale
00:14:18
pues volvemos aquí abajo
00:14:19
un auxiliar con una
00:14:22
posición más
00:14:28
Que el que tiene actualmente la raíz de notas
00:14:29
Ahora lo mismo
00:14:32
Copiamos
00:14:34
El original
00:14:35
Copiamos el original
00:14:37
En el nuevo
00:14:45
Aux de notas
00:14:47
De i
00:14:51
Igual a notas de i
00:14:52
Cuando este fuera terminado
00:14:55
Que es en ese punto
00:14:58
En el auxiliar tenemos las mismas notas
00:14:58
Que teníamos en el original
00:15:02
Y hay una posición libre
00:15:03
Que es la última
00:15:05
En esa posición libre
00:15:06
Que viene dada por aux de notas
00:15:08
Punto len
00:15:11
Menos uno, esa es la última
00:15:13
Pues le ponemos cero
00:15:15
Que es la nota que ponemos al que insertamos siempre
00:15:17
Y ahora sustituimos
00:15:19
Notas que se quede pisado
00:15:21
Con este auxiliar que es el definitivo
00:15:23
¿Vale?
00:15:25
¿Qué más cambia de esta aplicación?
00:15:36
En el caso dos
00:15:38
Lo que cambia ahora se nos queda todo más fácil
00:15:38
porque ya de pos pasamos
00:15:41
el caso 2 que es
00:15:43
bueno, que es el de eliminar
00:15:45
vale, vamos a el de eliminar
00:15:47
vamos a borrarlo enterito menos el nombre
00:15:48
de la...
00:15:51
claro, en el caso
00:15:52
de eliminar va a quedar más sencillo porque
00:15:55
tú creas uno con una posición menos
00:15:57
y copias el original en el nuevo
00:15:59
saltándote la que
00:16:01
hay que eliminar, se queda más sencillo en este caso
00:16:03
entonces el caso 2 que es eliminar
00:16:05
vamos a borrarlo todo
00:16:07
salvo el nombre del alumno a eliminar.
00:16:09
¿Vale?
00:16:16
El caso 2 era el nombre del alumno a eliminar.
00:16:16
A ver, ¿qué te desespera?
00:16:19
¿De aquí?
00:16:25
¿Estas?
00:16:26
Bueno, porque cuando insertas
00:16:31
un alumno hemos dicho que la nota que le ponemos
00:16:32
es cero en el momento de insertarle.
00:16:34
Vale, venga, eliminar alumno.
00:16:38
Esto es muy fácil. Eliminar alumno va a resultar
00:16:40
en un array de una posición menos.
00:16:42
¿Vale?
00:16:45
Luego eliminar alumno
00:16:47
Vamos a hacer el array auxiliar de alumnos
00:16:50
El array auxiliar ahora va a ser
00:16:56
El ausalumnos va a ser
00:17:02
Del tamaño de alumnos
00:17:05
Menos una posición
00:17:07
El array auxiliar ahora va a tener
00:17:08
Una posición menos que el original
00:17:11
¿Vale?
00:17:13
Porque vamos a sacar uno
00:17:14
Va a tener una posición menos
00:17:15
¿Y ahora qué tenemos que hacer?
00:17:17
Pues más fácil, copiar el alumnos original en el nuevo, en el auxiliar, saltándonos el alumno cuyo nombre coincide con este.
00:17:20
Pero ¿por qué suspiras tanto?
00:17:36
Ya, pero es todo el rato lo mismo en realidad, es todo el rato lo mismo.
00:17:41
Es poner en práctica todo el rato lo mismo.
00:17:44
Vale, vamos a recorrer alumnos.
00:17:46
Alumnos.led.
00:17:49
Recorremos alumnos.
00:17:50
Y ahora, mientras i menor que alumnos.le, vale, ya hemos creado el array auxiliar con una posición menos, vale, ahora vamos a recorrer nuestro array alumnos que hay que mover al otro, ¿qué hacemos con ese array alumnos?, bueno, pues si alumnos de i resulta que no es igual al que hay que eliminar, que el que hay que eliminar se llama nombre,
00:17:51
si no es igual
00:18:21
es decir, si no es igual
00:18:24
no es igual, entonces
00:18:26
alumnos de i lo tendré que asignar
00:18:29
a algún sitio
00:18:31
¿vale? es decir, si alumnos
00:18:33
de i, estoy recorriendo la raíz de alumnos
00:18:37
si alumnos de i
00:18:39
no es igual al nombre que
00:18:42
tengo que eliminar, pues alumnos
00:18:44
de i se va a la posición
00:18:46
de auxalumnos
00:18:48
pero ¿a cuál?
00:18:50
a la que te cree
00:18:52
tienes que crear otro contador
00:18:53
Claro, ¿a cuál?
00:18:55
Bueno, pues aquí tengo que crear efectivamente un contador para ese array que inicialmente es cero.
00:18:58
Y cada vez que le asignemos uno, se incrementa.
00:19:04
Esto ya lo hemos hecho también en otro ejercicio.
00:19:06
Vale, pues nos creamos aquí.
00:19:10
Vamos a poner un nombre largo para que se entienda.
00:19:16
Inicialmente es cero.
00:19:18
Entonces, el primero que copiamos, lo copiamos en post, aux, alumnos.
00:19:19
Y aprovechamos y lo dejamos incrementar.
00:19:26
Y ya está.
00:19:29
Y se acabó la copia.
00:19:30
¿Vale?
00:19:32
Entonces recorremos alumnos.
00:19:33
Si no coincide con el nombre,
00:19:35
si no coincide,
00:19:38
lo copiamos, pero ¿dónde?
00:19:39
En la que toque.
00:19:41
Inicialmente tocará en la cero
00:19:43
y lo dejamos incrementado en la que toque.
00:19:44
Cada vez que hacemos una copia,
00:19:46
cada vez que hacemos una copia
00:19:48
lo dejamos incrementado ahí.
00:19:49
¿Vale?
00:19:52
Ahora, cuando este for ya ha terminado,
00:19:54
que habrá terminado aquí,
00:19:56
Porque he hecho una llave
00:19:58
Cuando ese for ya ha terminado
00:19:59
Esta llave
00:20:03
Aquí está un poco de sobra
00:20:05
Sí, esta llave creo que está de sobra
00:20:07
Cuando ese for ya ha terminado, sustituyo
00:20:09
Alumnos
00:20:12
Se queda pisado
00:20:13
Por aux alumnos
00:20:15
Ahí se queda pisado
00:20:17
Claro, es que
00:20:19
Es la idea
00:20:32
El array aux alumnos se ha quedado ahí en esa dirección
00:20:33
Y este otro saca en esta dirección
00:20:36
Lo que tienes que hacer es a este puntero
00:20:38
Que empiece a apuntar a este
00:20:40
O sea, le cambias la dirección para que empiece a apuntar al otro
00:20:42
Este se ha quedado sin nadie que le apunte
00:20:44
Lo tirará a la basura, al recolector de basura
00:20:47
Entonces, efectivamente
00:20:49
Estas variables
00:20:50
Que estamos creando
00:20:52
Son variables para guardar direcciones
00:20:53
Que lo que hacemos es estarlas cambiando
00:20:55
Ahora apunta aquí, ahora apunta allí
00:20:57
Claro, cada vez que hacemos esto, lo que hacemos es cambiar
00:20:58
Una dirección que lleve de un lado a otro
00:21:01
Efectivamente
00:21:03
Sí, de hecho en C
00:21:05
hay una sentencia específica
00:21:14
para eliminar
00:21:16
tienes la
00:21:17
tienes una asignación de memoria
00:21:19
tienes que crear, con más yo creo que era
00:21:22
crear el espacio
00:21:24
y asociarlo al puntero
00:21:26
y luego tienes una específica para eliminar ese espacio
00:21:27
claro, ¿cuál es la ventaja?
00:21:30
que tienes mucho más control
00:21:32
a bajo nivel, con C
00:21:34
Obviamente tienes muchísimo más control a bajo nivel
00:21:36
Que tienes con un lenguaje de estos
00:21:38
Pero hacer una aplicación con C es una locura
00:21:39
Haces un sistema operativo, haces esas cosas
00:21:41
Pero no una aplicación de usuario
00:21:43
Vale, pero esto mismo
00:21:45
Que hemos hecho de los alumnos
00:21:47
Que hemos eliminado al alumno
00:21:49
Hay que eliminar su nota también
00:21:50
O sea, lo mismo con notas
00:21:52
Notas igual
00:21:54
Un array notas auxiliar
00:21:55
Se copia el original saltándote
00:21:57
Pues venga, haces lo mismo con notas
00:22:00
Aquí debajo
00:22:03
Y así os aseguráis
00:22:04
De que lo que hemos hecho
00:22:08
En esta funcionalidad 2
00:22:10
De eliminar está claro
00:22:11
¿Vale?
00:22:12
Eliminamos
00:22:18
Su nota
00:22:18
A ver, sí
00:22:20
Sí, sí, sí, no tienes razón
00:22:25
Claro, sí
00:22:27
Eliminar su nota
00:22:29
Tienes
00:22:32
Tenemos que marcar
00:22:33
¿Cuál es esta posición? Vamos a tener que marcarla
00:22:35
Claro, vale
00:22:38
A ver, para eliminar la nota
00:22:40
No es un for idéntico, porque claro
00:22:42
¿Qué nota tenemos que eliminar?
00:22:44
No, aquí teníamos claro
00:22:47
¿Qué nombre teníamos que eliminar?
00:22:49
El alumno, pero nota
00:22:51
Entonces aquí lo que tenemos es que usar
00:22:52
Este for para quedarnos con
00:22:55
La posición a eliminar
00:22:57
Y ahora ya esa posición en la array de notas
00:22:58
Entonces ya podemos poner aquí
00:23:01
Por ejemplo
00:23:03
poseliminar
00:23:04
igual a menos uno por ejemplo
00:23:10
y ahora, si en cuanto lo encontremos
00:23:12
en cuanto lo encontremos
00:23:15
no, un else no, en cuanto lo encontremos
00:23:16
aprovechamos
00:23:20
y esa posición y
00:23:21
que se pase a la posición
00:23:24
a eliminar
00:23:27
ahí
00:23:28
uy, perdón
00:23:31
Y ya está, ya la tendremos
00:23:34
Ah, perdón, perdón, perdón
00:23:38
Sí, sí, se me está
00:23:41
Se me está yendo la pinza
00:23:42
Entonces
00:23:44
Sí, si no es el nombre
00:23:45
Esa es la que toca eliminar
00:23:54
Efectivamente, que sí, que sí, que se me está yendo la cabeza
00:23:55
Vale
00:23:58
Efectivamente
00:24:05
vale, entonces este array
00:24:07
lo estamos aprovechando, aparte
00:24:12
de para ir haciendo
00:24:15
copia, este no es el de eliminar
00:24:15
lo copio, este no es el de eliminar, lo copio
00:24:18
este no es el de eliminar, lo copio, uy, este es el de eliminar
00:24:20
pues me quedo con su posición
00:24:22
para luego cuando
00:24:24
haga el recorrido
00:24:26
del array de notas, saber que posición
00:24:28
no tengo que copiar, pues venga
00:24:30
ahora sí, ya teniendo esta variable
00:24:32
que ya sabemos, esta variable
00:24:35
que va a tener la posición de la raíz de notas
00:24:36
a eliminar
00:24:39
pues ahora os hacéis un auxiliar con una posición menos
00:24:40
y vais copiando
00:24:43
original en auxiliar, original en auxiliar
00:24:45
salvo la posición a eliminar
00:24:47
salvo la posición, esa no
00:24:48
pues venga
00:24:50
- Materias:
- Programación
- Niveles educativos:
- ▼ Mostrar / ocultar niveles
- Formación Profesional
- Ciclo formativo de grado superior
- Primer Curso
- Subido por:
- Raquel G.
- Licencia:
- Todos los derechos reservados
- Visualizaciones:
- 2
- Fecha:
- 11 de noviembre de 2024 - 12:10
- Visibilidad:
- Clave
- Centro:
- IES ROSA CHACEL
- Duración:
- 24′ 57″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 110.24 MBytes