Saltar navegación

20251212 POO-Ejer_5 - 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 14 de diciembre de 2025 por Raquel G.

3 visualizaciones

Descargar la transcripción

Venga, quince. 00:00:00
Quince. 00:00:01
Trabaja con esta clase, que se caracteriza por un autor, un instrumento y una velocidad, 00:00:02
en la que se interpreta la partitura. 00:00:10
Constructor y los métodos. 00:00:14
Vamos a ver. 00:00:17
Una única clase con métodos. 00:00:19
Pues ya está. 00:00:21
Vamos a ver. 00:00:23
Ejercicio quince, que es esto. 00:00:24
Ah no, esto es el paquete 00:00:27
Que me estoy liando 00:00:40
Venga, Ejer 15 00:00:41
Una clase 00:00:48
Partitura 00:00:52
Partitura 00:00:56
Vale 00:00:58
Se caracteriza 00:00:58
Por un autor 00:01:01
Un instrumento 00:01:05
¿Qué más cosas me dice? 00:01:09
Un tempo 00:01:12
Asumimos que 00:01:13
Un entero 00:01:15
Y ya está 00:01:16
Nada más 00:01:19
Vale, pues con esto 00:01:20
Get, set y constructores 00:01:28
Constructor que use los parámetros 00:01:30
Y get y set 00:01:34
Ahora, ya está 00:01:40
Y ahora, con las partituras 00:01:43
Se pueden hacer cosas 00:01:45
¿Qué cosas? Las que me piden aquí 00:01:46
Aumentar 00:01:48
Pues venga 00:01:50
Este método no me devuelve nada 00:01:52
Porque el efecto 00:01:56
Se queda registrado en la propiedad 00:01:57
Aumentar el tempo en esto 00:02:00
Pues entonces 00:02:02
Dis.tempo 00:02:07
Más igual 00:02:10
Tempo, ala 00:02:11
Ya tenemos ese método, ¿correcto? 00:02:12
Venga, siguiente 00:02:16
Reducirlo 00:02:17
Ah, perdón, aumentar es en 10 00:02:20
Yo le he pasado un parámetro 00:02:23
Yo le he pasado un parámetro y aquí decía 10 00:02:24
vale, pues hombre 00:02:26
sería más fácil todavía, sería quitar 00:02:29
el parámetro 00:02:31
y sumarle 10 00:02:32
disminuir 00:02:35
lo mismo pero al revés, esto es más fácil 00:02:37
que lo que hemos hecho 00:02:39
disminuye 00:02:40
disminuye 00:02:45
pues lo mismo 00:02:47
pero menos igual 00:02:50
ambos devuelven void porque no hace 00:02:51
falta devolver nada, el efecto ya se queda 00:02:54
en la propiedad del objeto 00:02:56
vale, ¿qué más hay que hacer? 00:02:57
una 00:03:00
un método 00:03:01
venga 00:03:02
si te vas no te despidas 00:03:05
y si no te quedas, hasta luego 00:03:07
vale, un método 00:03:09
tu string que devuelve un string que 00:03:11
representa esa partitura, el formato string se refiere 00:03:13
que te cuenta 00:03:15
ya está, entonces este método 00:03:16
public string 00:03:18
vaya, fíjate que puñetera 00:03:22
casualidad 00:03:26
tu string no recibe nada 00:03:27
como parámetro, vale, no recibe 00:03:30
nada, y ahora ya nosotros aquí ya 00:03:32
construimos lo que queramos 00:03:34
retun, pues 00:03:35
autor 00:03:37
venga, pues 00:03:39
autor, el autor 00:03:42
no hace falta que ponga dis, porque 00:03:44
aquí tampoco hubiera hecho falta 00:03:46
desde el momento de que quite el parámetro 00:03:48
autor 00:03:50
más 00:03:51
pues concateno con 00:03:53
instrumento 00:03:56
instrumento 00:03:57
pues el instrumento 00:04:00
más 00:04:02
el tempo al que lo vamos a tocar 00:04:05
pues va a ser 00:04:08
este 00:04:10
y este sería el método 00:04:11
toString que me dicen 00:04:14
fijaos que aquí ha aparecido algo 00:04:16
que no ha aparecido 00:04:18
en los otros métodos que hemos hecho 00:04:20
¿veis algo diferente entre este método de arriba? 00:04:21
El triangulito verde, ese no ha aparecido arriba. 00:04:29
¿Qué significa el triangulito verde? 00:04:36
A ver, ahora mismo significa algo que todavía no podemos entender, porque es la herencia. 00:04:39
Significa que ese es un método, quedémonos por ahora con la palabra demasiado estándar, o sea, muy estándar. 00:04:44
Un método que normalmente se usa en muchas clases. 00:04:52
es decir, el método aumentar 00:04:57
tiempo, disminuir tiempo 00:04:59
no lo usa en el resto de clases del universo 00:05:00
no lo usa la clase punto, no lo usa 00:05:03
la clase vehículo, porque en ellas aumentar 00:05:05
tiempo, disminuir tiempo no tiene ningún sentido 00:05:07
pero el método toString 00:05:09
que es, dame una explicación en 00:05:11
formato string, ese vale 00:05:13
para cualquiera, vehículo, dame 00:05:15
una explicación de tu vehículo en formato string 00:05:17
punto, dame una explicación de tu punto en formato 00:05:19
string, entonces esos métodos 00:05:21
que en principio tienen 00:05:23
interés para cualquier clase 00:05:25
tiene interés para cualquiera 00:05:27
son métodos que se llaman 00:05:28
sobreescritos, que ya lo entenderemos 00:05:31
cuando veamos la herencia, y como este 00:05:33
es ese, me ha puesto un triangulito 00:05:35
verde, vale 00:05:37
de hecho, el método 00:05:39
toString es tan estándar 00:05:41
como método para 00:05:43
devolver una explicación sobre 00:05:45
de qué va eso, es tan 00:05:47
estándar, que también el eclipse 00:05:49
me lo genera automáticamente 00:05:51
si a mí me da la gana, igual que 00:05:53
me generaba el get, el set y el constructor 00:05:55
igual que me generaba eso 00:05:57
si dais 00:05:59
al botón derecho 00:06:01
en source, pues tenéis 00:06:02
un generate to string 00:06:08
vamos a 00:06:09
eliminar el que hemos hecho 00:06:11
a ver como es el que me genera este entorno 00:06:13
de desarrollo, te dice 00:06:15
oye, que parámetros quieres, perdón 00:06:19
que propiedades quieres incluir en la descripción 00:06:21
quiero incluir las tres propiedades 00:06:23
en la descripción, venga 00:06:25
pues 00:06:27
fijaos lo que me ha hecho, me ha construido 00:06:29
un string 00:06:31
con la descripción 00:06:32
que nos gusta este formato 00:06:34
magnífico 00:06:37
nos lo quedamos así 00:06:39
que no nos gusta 00:06:41
lo retocamos aquí dentro 00:06:42
¿vale? 00:06:44
y además del triangulito verde me ha metido esto 00:06:47
que significa 00:06:49
precisamente lo que he dicho antes 00:06:52
sobre escrito 00:06:53
esa traducción es eterna 00:06:54
ahora mismo repito, no sabemos 00:06:56
qué significa sobre escrito, pero 00:06:59
quedémonos con que son 00:07:01
métodos que 00:07:03
aplicables 00:07:05
para cualquier entidad, me da igual lo que 00:07:07
signifique, cualquier entidad puede 00:07:09
necesitar mostrar una descripción 00:07:11
cualquiera 00:07:13
¿vale? otros métodos son demasiado 00:07:14
específicos, estos dos son demasiado 00:07:17
específicos, este 00:07:19
no, este cae bien en cualquier 00:07:21
clase, cae bien, un dame 00:07:23
descripción, en cualquiera cae bien 00:07:25
¿vale? 00:07:27
bueno, pues esta clase en particular 00:07:29
me han dicho, dame un toString 00:07:31
pues venga, lo puedo generar así si quiero 00:07:33
o me lo hago malo, lo que me dé la gana 00:07:35
dime 00:07:37
Es decir, a los que os da error 00:07:38
es porque no habéis respetado 00:08:17
exactamente esta cabecera 00:08:20
por ejemplo, no poniendo el público 00:08:23
¿vale? 00:08:25
porque este sería ese método 00:08:27
estándar 00:08:29
aplicable a cualquier tipo de entidad 00:08:31
porque todas pueden necesitar 00:08:33
mostrar su contenido 00:08:35
para informar, para informar solamente 00:08:36
pero claro, lo que me dice 00:08:39
el compilador me dice 00:08:41
oye, si tú quieres usar ese método 00:08:42
aplicable a cualquier entidad 00:08:45
o me parece perfecto que lo uses 00:08:47
juega bien las reglas 00:08:49
respeta las reglas 00:08:51
para que todos nos entendamos 00:08:53
pues respetar las reglas 00:08:55
implica respetar exactamente 00:08:58
la cabecera 00:09:00
¿vale? porque si no 00:09:01
estás es un quiero y no puedo 00:09:04
estás tratando de decir 00:09:06
oye que yo me apunto 00:09:08
me subo al carro de este método que muestra descripción 00:09:10
me subo al carro de él 00:09:12
¿vale? pero no respeto 00:09:13
exactamente la cabecera 00:09:16
¿vale? entonces ahí se genera 00:09:17
una ambigüedad, una confusión 00:09:20
a ver, que nosotros 00:09:22
podríamos pasar de este método y llamarlo 00:09:25
descríbeme el objeto 00:09:27
vale, no pasa nada 00:09:29
pero respetando esta cabecera 00:09:31
y respetando el nombre 00:09:34
y todo eso, facilitamos la vida 00:09:35
a los demás, porque si jugamos 00:09:38
bien las reglas del juego y jugarlas 00:09:40
significa respetar la cabecera tal cual 00:09:42
en cuanto a dar acceso público 00:09:44
llamarlo tu stream 00:09:46
si las jugamos bien 00:09:47
cualquier otro asume 00:09:48
que si necesita describir mi objeto 00:09:51
puede llamar a tu stream 00:09:54
porque tú has hecho un método que se llama así. 00:09:55
Entonces, 00:09:58
si jugamos bien las reglas 00:09:59
y alguien llama a mi tu stream, 00:10:01
va a encontrar un resultado. 00:10:03
Porque yo me he adaptado al estándar. 00:10:04
Me he adaptado a ese estándar. 00:10:06
Si cambio las reglas, 00:10:08
lo cambio a la cabecera, 00:10:10
lo llamo a otra manera, 00:10:11
pues muy bien. 00:10:12
Pero voy a tener que informar 00:10:13
porque he cambiado el nombre. 00:10:15
Los demás no van a dar por sentado, 00:10:17
no lo van a dar por sentado 00:10:19
que yo tengo uno 00:10:21
que se llama así 00:10:21
¿vale? 00:10:22
entonces esto de aquí arriba 00:10:25
que se llama anotación 00:10:27
como no sabemos 00:10:28
lo que significa 00:10:30
lo podéis quitar 00:10:31
y no pasa nada 00:10:32
da exactamente igual 00:10:33
que esté 00:10:35
que no esté 00:10:35
eso es una especie 00:10:35
de validación 00:10:37
que ya entenderemos 00:10:37
más adelante 00:10:38
esta validación 00:10:39
porque puede tener interés 00:10:40
¿vale? 00:10:41
es una especie 00:10:42
de cosa para validar 00:10:43
que a mí no nos importa 00:10:44
dime 00:10:45
nada 00:10:45
te voy a preguntar 00:10:46
si es un comentario 00:10:47
no, no, no 00:10:48
no es un comentario 00:10:49
es otra cosa 00:10:50
lo que empieza por arrobas 00:10:51
se llama anotación, no es un comentario. 00:10:52
Entonces, son cosas que son código también. 00:10:55
Es decir, la máquina virtual las interpreta 00:10:58
y las tiene en cuenta, no como los comentarios. 00:11:00
Los comentarios no existen. 00:11:03
Desde el momento en que el compilador entra, 00:11:04
el comentario está filtrado y desaparece. 00:11:06
Entonces, la máquina virtual las tiene en cuenta. 00:11:09
En este caso, ¿para qué la tendría en cuenta 00:11:12
si yo pongo verray del compilador? 00:11:15
La tiene en cuenta para validar 00:11:17
si has respetado la cabecera. 00:11:20
¿Vale? O sea, si yo 00:11:23
no pongo el override y aquí 00:11:24
me he equivocado y he puesto 00:11:26
dos Gs, al compilador 00:11:28
le parece estupendo. No pasa nada. 00:11:31
Porque él dice, 00:11:33
vale, has hecho un método que se llama 00:11:34
tu string. Y ya está, y estupendo. 00:11:36
Ya está. Sin embargo, 00:11:39
yo a este mismo método 00:11:41
le pongo override arriba. 00:11:42
Automáticamente me dice, 00:11:49
¿eh? ¿Me estás diciendo 00:11:50
que este método es uno de esos 00:11:52
estándares sobrescritos que tú quieres adherirte 00:11:54
a él, pues perdona, 00:11:57
no me casa, porque no encuentro ninguno 00:11:58
en ese catálogo de métodos. 00:12:00
No encuentro ninguno. 00:12:02
Entonces, valdría para hacer una validación. 00:12:04
Ahora mismo, esto se nos escapa 00:12:06
porque tiene que ver con la herencia. 00:12:09
Entonces, simplemente 00:12:12
lo comentamos porque, como en este 00:12:12
ejercicio ha salido lo del método toString, 00:12:14
¿vale? 00:12:17
Entonces, tiene interés 00:12:19
en cualquier clase que uno haga, 00:12:20
tiene interés hacer por defecto 00:12:22
este método 00:12:24
porque no cuesta nada hacerlo 00:12:25
se lo genera el entorno automáticamente 00:12:27
y todos 00:12:29
toda la comunidad desarrolladora de Java 00:12:32
asume 00:12:34
que si va a usar un objeto tuyo 00:12:35
y por la razón que sea 00:12:38
necesita una descripción 00:12:39
asume que va a poder llamar a un 3D 00:12:41
lo asume 00:12:43
si tú no lo has hecho 00:12:45
pues no va a funcionar 00:12:47
Bueno, todo esto tiene sus matices 00:12:50
Insisto, relacionados con la herencia 00:12:57
Los hemos apuntado 00:12:59
Solamente los hemos apuntado 00:13:01
Pero ya está 00:13:03
Bueno, pues este es el método 00:13:04
Este de aquí 00:13:08
El siguiente que me pedían 00:13:09
¿Qué más métodos me piden? 00:13:10
¿Cambiar? Pues ala 00:13:13
Dime 00:13:15
¿Cambiar no es como en set? 00:13:21
¿Perdón? 00:13:22
Sí, sería un set exactamente 00:13:24
Pero bueno, este enunciado 00:13:26
pues bueno, tiene sus limitaciones 00:13:28
cambiar instrumentos como el set 00:13:29
lo que pasa es que bueno 00:13:32
que si yo hago uno específico de cambiar instrumento 00:13:33
así, le paso 00:13:36
efectivamente el nuevo 00:13:44
y se queda igual que el set 00:13:45
pero algún matiz podemos añadir 00:13:50
vale, entonces 00:13:55
efectivamente el código así 00:14:00
diríamos, jo, tenemos dos métodos iguales 00:14:02
sí, pero puede tener su sentido 00:14:04
el set 00:14:07
está claro para lo que vale 00:14:08
para dar acceso de escritura 00:14:09
la propiedad y es estándar 00:14:11
que lo hagamos así y yo no cambio 00:14:15
su estructura 00:14:17
ni su cabecera ni su contenido 00:14:19
porque todos asumen 00:14:21
que para cambiar el valor de mi propiedad 00:14:23
van a llamar ese método, todos asumen que lo voy a tener 00:14:25
con ese nombre, pues lo tengo así 00:14:27
tal cual y no lo toco 00:14:29
pero luego puede ser 00:14:31
que esté ahí apuntando 00:14:33
una funcionalidad 00:14:34
futura de mi aplicación que es cambiar 00:14:37
el instrumento y que cambiarlo 00:14:39
tenga más implicaciones 00:14:41
que fijarlo sin más. 00:14:43
A lo mejor cambiar el instrumento 00:14:44
implica también 00:14:46
mandar una notificación por e-mail 00:14:48
de que he cambiado el instrumento 00:14:49
o cambiar la partitura. 00:14:51
Entonces, ahí sí tiene sentido 00:14:53
hacer un método aparte. 00:14:54
Porque cambiar instrumento 00:14:56
aparte de cambiar la propiedad, 00:14:58
en el futuro puede ser 00:15:01
que se necesiten más cosas. 00:15:02
Venga, lánzate. 00:15:11
Nada, es tímido. 00:15:13
Ahora. 00:15:15
Vale. 00:15:19
entonces, esto es más escalable 00:15:19
si en el futuro cambiar el instrumento 00:15:22
tiene implicaciones 00:15:25
yo las meto aquí 00:15:26
este sería su sitio 00:15:28
el set no lo tocaría, el set no lo puedo tocar 00:15:30
tiene una única función 00:15:33
una única función que es 00:15:34
darle valor a la propiedad 00:15:37
pero cambiar el instrumento puede ser 00:15:38
algo más amplio, más general 00:15:41
pues todo eso iría aquí metido 00:15:42
¿cuál es tu duda? 00:15:44
y lo añade en el campo instrumentos 00:15:48
sin sobreescribir los que había antes 00:16:03
es que este enunciado está muy feo 00:16:05
porque no queda muy claro 00:16:09
instrumento 00:16:10
entonces se supone que es un array 00:16:11
o como es 00:16:13
claro, es que no está muy claro 00:16:14
añade, ¿a qué añades? 00:16:16
es una cadena 00:16:19
indica para cuantos 00:16:21
es esta partitura 00:16:26
claro, es que esto no está 00:16:28
muy bien definido 00:16:29
este enunciado no está definido 00:16:32
porque tendría que decir, los instrumentos 00:16:33
estarían concatenados en el array 00:16:36
el instrumento musical asociado 00:16:38
con la partitura 00:16:40
la velocidad de impulsaciones por minuto 00:16:41
cambiar 00:16:44
y lo cambia en la partitura 00:16:46
del libro antiguo y añade un nuevo 00:16:48
y lo añade en el campo instrumentos 00:16:50
sin sobreescribirlos que había, concatenando 00:16:52
es lo único que podemos hacer 00:16:54
y cuenta, puedes hacer un split 00:16:55
con 00:16:58
sí, vamos a terminarlo 00:16:58
añade instrumentos, vamos a interpretarlo como vosotros 00:17:01
vale 00:17:04
claro, habría que ese string que tiene 00:17:04
muchos separados con espacios, pues contar cuánto 00:17:12
lo que pasa es que claro, si es el 00:17:14
oboe de amor, por ejemplo 00:17:15
es una versión del OE 00:17:17
pues ahí tengo dos espacios 00:17:20
y un solo instrumento 00:17:26
a ver, que está muy mal 00:17:27
este enunciado 00:17:29
yo lo he cortado con comas 00:17:39
yo he cortado las comas 00:17:43
ah, pues con comas sería mejor que con espacios 00:17:45
efectivamente 00:17:47
pero sí, aquí esto 00:17:48
instrumento 00:17:50
claro, pues aquí 00:17:51
claro, a ver, pues tu duda 00:17:53
viene de que el enunciado 00:18:00
está mal planteado, está ambiguo 00:18:02
entonces pues claro, hay que tomar una decisión 00:18:04
¿cómo lo hacemos? 00:18:06
si lo hacemos concatenando 00:18:07
que tiene su interés para ya ver 00:18:11
el método split que es muy útil 00:18:12
vale, pues vamos a suponer que 00:18:14
si añadimos un instrumento más, pues concatenamos 00:18:16
coma y el instrumento, y ya está 00:18:18
ahora, ahora, ahora, en el siguiente 00:18:20
entonces 00:18:24
instrumento 00:18:25
más igual coma 00:18:29
el instrumento que me han dado 00:18:32
perdón, this instrumento 00:18:34
vale, por ejemplo, os supone que cada vez que ponemos 00:18:36
un instrumento nuevo, pim, le añadimos 00:18:45
con coma 00:18:47
jolín, perdón 00:18:47
soy tonta, ¿vale? por ejemplo 00:18:52
vamos a asumir que 00:18:54
este convenio, que podría ser otro 00:18:56
podría ser como un array que tendría mucho más sentido 00:18:59
tendría mucho más sentido guardarlos en un array 00:19:01
que no separados por comas 00:19:03
pero bueno, ya que tenemos la oportunidad y así ya jugamos 00:19:05
luego con 00:19:07
métodos de stream, vale, añadir instrumento 00:19:08
y ya está, con cambiar 00:19:11
con esto directamente 00:19:13
cambio 00:19:15
este instrumento 00:19:17
por lo que haya 00:19:19
vale 00:19:20
y aquí podemos poner incluso 00:19:22
añadiendo 00:19:25
añadiendo 00:19:27
vale, vamos a hacer el último 00:19:28
y nos vamos 00:19:30
pues venga, el último es 00:19:32
cuenta 00:19:35
contar, ya sí que me devuelve un valor 00:19:36
el número de instrumentos 00:19:41
¿necesita algún parámetro? 00:19:42
no, porque sus datos 00:19:49
de trabajo, sus datos 00:19:51
son estos, es este string 00:19:53
estos son sus datos de trabajo 00:19:54
vale 00:19:58
pues ahora 00:19:59
con este convenio 00:20:01
podríamos contar las comas 00:20:03
que hay 00:20:06
y instrumentos va a ser el número de comas más uno 00:20:06
¿verdad? 00:20:09
sí, vale 00:20:14
pero vamos a aprovechar para meter un método 00:20:15
que es muy útil, a ver, yo tengo 00:20:17
instrumento 00:20:19
que es un objeto string 00:20:21
y al ser un objeto puede llamar 00:20:23
a un montón de métodos y a un montón de cosas, ¿verdad? 00:20:25
Bueno, pues hay un método muy útil 00:20:29
que es el método split 00:20:31
que si tú le das un carácter 00:20:32
como en nuestro caso la coma 00:20:36
le doy un carácter 00:20:39
te separa ese string en substring 00:20:40
los que quedan separados precisamente 00:20:45
por ese separador, por esa coma 00:20:48
y te los mete todos en un array. 00:20:50
Es decir, este método 00:20:53
me devolvería 00:20:54
un array de string 00:20:55
con todos los instrumentos 00:20:57
que hay ahí, que los tengo 00:21:00
separados por espacios, pues cambio eso 00:21:04
por un espacio, que los tengo separados 00:21:06
por dos puntos, cambio eso por dos puntos 00:21:08
¿vale? entonces la clase 00:21:10
string, como cualquier otra clase 00:21:12
tiene un montón 00:21:13
de métodos para hacer cosas 00:21:16
entonces siempre está bien aprovechar 00:21:17
un despliegue para decir 00:21:20
oye, voy a ver que en lugar de hacer algo yo a mano 00:21:21
voy a ver si hay algún método que me lo haga 00:21:24
bueno, pues este 00:21:26
me separa 00:21:28
todo el string en subcadenas 00:21:30
que se hayan 00:21:32
precisamente separadas 00:21:34
por este separador que yo he puesto aquí 00:21:36
entonces en este caso 00:21:38
el número de instrumentos sería el tamaño 00:21:40
del string, ¿verdad? 00:21:42
pero vamos a aprovechar y vamos a mostrar los instrumentos 00:21:44
vamos a mostrar los instrumentos 00:21:46
que hay y luego ya devolvemos la cantidad 00:21:48
ya que estamos 00:21:50
pues entonces podríamos hacerlo así 00:21:51
instrumentos 00:21:56
inst, no int 00:21:58
vale, y ya de paso 00:22:03
voy a devolver ahora ya el tamaño 00:22:09
que es instrumentos 00:22:11
punto len 00:22:13
vale, entonces este método es muy cómodo 00:22:14
y muy útil para trabajar con string 00:22:17
pues ya, como lo hemos hecho una vez, ya se nos 00:22:19
queda ahí la idea de que está 00:22:21
vale, entonces, pues de que 00:22:22
otra manera se puede hacer, pues claro 00:22:25
depende de que me lo detallen un poquito 00:22:27
más, vale 00:22:29
no, porque es el tamaño 00:22:30
del array lo que estoy devolviendo 00:22:36
la cantidad de subcadenas 00:22:37
que hay separadas por comas 00:22:40
si contara las comas 00:22:41
entonces sí, tendría que sumarle uno 00:22:43
vale, pues bueno 00:22:45
haced un mail y lo probáis 00:22:51
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:
3
Fecha:
14 de diciembre de 2025 - 19:10
Visibilidad:
Clave
Centro:
IES ROSA CHACEL
Duración:
22′ 56″
Relación de aspecto:
1.78:1
Resolución:
1920x1080 píxeles
Tamaño:
94.38 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid