Quiz
UT04_ETS
Create a free account to finish this quiz
Save your progress and see your final score.
Already have an account? Sign in
Questions in this quiz (63)
1Técnica que consiste en realizar pequeñas transformaciones en el código de un programa, para mejorar la estructura sin que cambie el comportamiento ni funcionalidad del mismo.
- ARefactorización
- BRenombrar
- CControl de versiones
- DDocumentación
2Señala cuales son los objetivos de la refactorización:
- AMejorar la estructura
- BMejorar legibilidad
- CMejorar eficiencia del código
- DMejorar tiempo de ejecución
3La refactorización cambia el comportamiento observable del software
- ATrue
- BFalse
4El concepto de refactorización de código se basa en la factorización de polinomios
- ATrue
- BFalse
5Solo los cambios hechos......son refactorización
- Apara hacer el código más fácil de entender
- Bpara hacer el código más rápidos en ejecución
- Cpara hacer el código más complejo
- Dpara hacer el código más práctico
6Selecciona cual es la sentencia correcta relacionada con optimización y refactorización
- ALa optimización persigue la mejora del rendimiento
- BAmbas persiguen la mejora del rendimiento
- CLa refactorización persigue la mejora del rendimiento
- DNinguna persigue la mejora del rendimiento
7Selecciona cuales son las limitaciones que puede presentar la refactorización
- ACambios en las interfaces
- BCambios en las bases de datos
- CCambios en el diseño
- DCambios en el proceso de creación de casos de prueba
8Las bases de datos presentan muchas dificultades para poder ser modificadas, dadas la gran cantidad de interdependencia que soportan. Cualquier modificación puede ser muy costosa
- ATrue
- BFalse
9La refactorización de una aplicación asociada a una base de datos no dependerá del diseño de la base de datos.
- ATrue
- BFalse
10Si renombramos un método no habrá que cambiar todas las referencias que se hacen a él
- ATrue
- BFalse
11Los cambios en el diseño no son recomendables de refactorizar
- ATrue
- BFalse
12La refactorización
- ASe utiliza como técnica complementaria a la realización de pruebas
- BGenerar un código más difícil de entender y mantener
- CUtiliza una serie de patrones, de aplicación sobre el código fuente
- DE
13Renombrar
- ACambiar el nombre de un paquete, clase, método o campo, por un nombre más significativo.
- BCrear métodos de asignación y de consulta (getters y setters) para los campos de la clase, que permitan un control sobre el acceso de estos campos, debiendo hacerse siempre mediante el uso de estos métodos.
- CEn ocasiones se observa que un bloque de código puede constituir el cuerpo de un método, dado que implementa una función por si mismo o aparece repetido en múltiples sitios. De esta forma, cada vez que queramos acceder a ese bloque de código, bastaría con invocar al método.
- DHacer un código más extenso si se gana en claridad o menos extenso sólo si con eso se gana eficiencia.
14Encapsular campos
- ACambiar el nombre de un paquete, clase, método o campo, por un nombre más significativo.
- BCrear métodos de asignación y de consulta (getters y setters) para los campos de la clase, que permitan un control sobre el acceso de estos campos, debiendo hacerse siempre mediante el uso de estos métodos.
- CEn ocasiones se observa que un bloque de código puede constituir el cuerpo de un método, dado que implementa una función por si mismo o aparece repetido en múltiples sitios. De esta forma, cada vez que queramos acceder a ese bloque de código, bastaría con invocar al método.
- DHacer un código más extenso si se gana en claridad o menos extenso sólo si con eso se gana eficiencia.
15Sustituir bloques de código por un método
- ACambiar el nombre de un paquete, clase, método o campo, por un nombre más significativo.
- BCrear métodos de asignación y de consulta (getters y setters) para los campos de la clase, que permitan un control sobre el acceso de estos campos, debiendo hacerse siempre mediante el uso de estos métodos.
- CEn ocasiones se observa que un bloque de código puede constituir el cuerpo de un método, dado que implementa una función por si mismo o aparece repetido en múltiples sitios. De esta forma, cada vez que queramos acceder a ese bloque de código, bastaría con invocar al método.
- DHacer un código más extenso si se gana en claridad o menos extenso sólo si con eso se gana eficiencia.
16Modificar la extensión del código
- ACambiar el nombre de un paquete, clase, método o campo, por un nombre más significativo.
- BCrear métodos de asignación y de consulta (getters y setters) para los campos de la clase, que permitan un control sobre el acceso de estos campos, debiendo hacerse siempre mediante el uso de estos métodos.
- CEn ocasiones se observa que un bloque de código puede constituir el cuerpo de un método, dado que implementa una función por si mismo o aparece repetido en múltiples sitios. De esta forma, cada vez que queramos acceder a ese bloque de código, bastaría con invocar al método.
- DHacer un código más extenso si se gana en claridad o menos extenso sólo si con eso se gana eficiencia.
17Patrón aplicable cuando existen varios if o condiciones anidadas o complejas.
- AReorganizar código condicional complejo
- BCrear código común
- CMover la clase
- DBorrado seguro
18(en una clase o método) para evitar el código repetido
- AReorganizar código condicional complejo
- BCrear código común
- CMover la clase
- DBorrador seguro
19Mover una clase de un paquete a otro, o de un proyecto a otro. Esto implica la actualización en todo el código fuente de las referencias a la clase en su nueva localización.
- AMover la clase
- BCrear código común
- CReorganizar código condicional complejo
- DBorrado seguro
20Garantizar que cuando un elemento del código ya no es necesario, se borran todas la referencias a él que había en cualquier parte del proyecto.
- ABorrado seguro
- BMover la clase
- CCambiar los parámetros del método
- DExtraer la interfaz
21Permite añadir/modificar/eliminar los parámetros en un método y cambiar los modificadores de acceso.
- ACambiar los parámetros del método
- BExtraer la interfaz
- CBorrado seguro
- DMover la clase
22Crea un nueva interfaz de los métodos public non-static seleccionados en una clase o interfaz.
- AExtraer la interfaz
- BCambiar los parámetros del método
- CBorrado seguro
- DMover la clase
23¿Cuál no es un patrón de refactorización?
- AEliminar parámetros de un método
- BRenombrado
- CSustitución de un bloque de sentencias por un método
- DMover clase
24Sistemas locales
- Ase trata del control de versiones donde la información se guarda en diferentes directorios en función de sus versiones. Toda la gestión recae sobre el responsable del proyecto y no se dispone de herramientas que automaticen el proceso. Es viable para pequeños proyectos donde el trabajo es desarrollado por un único programador.
- Bresponden a una arquitectura cliente-servidor. Un único equipo tiene todos los archivos en sus diferentes versiones, y los clientes replican esta información en sus entornos de trabajo locales. El principal inconveniente es que el servidor es un dispositivo crítico para el sistema ante posibles fallos.
- Cen este modelo cada sistema hace con una copia completa de los ficheros de trabajo y de todas sus versiones. El rol de todos los equipos es de igual a igual y los cambios se pueden sincronizar entre cada par de copias disponibles. Aunque técnicamente todos los repositorios tienen la posibilidad de actuar como punto de referencia; habitualmente funcionan siendo uno el repositorio principal y el resto asumiendo un papel de clientes sincronizando sus cambios con éste.
25Sistemas centralizados
- Ase trata del control de versiones donde la información se guarda en diferentes directorios en función de sus versiones. Toda la gestión recae sobre el responsable del proyecto y no se dispone de herramientas que automaticen el proceso. Es viable para pequeños proyectos donde el trabajo es desarrollado por un único programador.
- Bresponden a una arquitectura cliente-servidor. Un único equipo tiene todos los archivos en sus diferentes versiones, y los clientes replican esta información en sus entornos de trabajo locales. El principal inconveniente es que el servidor es un dispositivo crítico para el sistema ante posibles fallos.
- Cen este modelo cada sistema hace con una copia completa de los ficheros de trabajo y de todas sus versiones. El rol de todos los equipos es de igual a igual y los cambios se pueden sincronizar entre cada par de copias disponibles. Aunque técnicamente todos los repositorios tienen la posibilidad de actuar como punto de referencia; habitualmente funcionan siendo uno el repositorio principal y el resto asumiendo un papel de clientes sincronizando sus cambios con éste.
26Sistemas distribuidos
- Ase trata del control de versiones donde la información se guarda en diferentes directorios en función de sus versiones. Toda la gestión recae sobre el responsable del proyecto y no se dispone de herramientas que automaticen el proceso. Es viable para pequeños proyectos donde el trabajo es desarrollado por un único programador.
- Bresponden a una arquitectura cliente-servidor. Un único equipo tiene todos los archivos en sus diferentes versiones, y los clientes replican esta información en sus entornos de trabajo locales. El principal inconveniente es que el servidor es un dispositivo crítico para el sistema ante posibles fallos.
- Cen este modelo cada sistema hace con una copia completa de los ficheros de trabajo y de todas sus versiones. El rol de todos los equipos es de igual a igual y los cambios se pueden sincronizar entre cada par de copias disponibles. Aunque técnicamente todos los repositorios tienen la posibilidad de actuar como punto de referencia; habitualmente funcionan siendo uno el repositorio principal y el resto asumiendo un papel de clientes sincronizando sus cambios con éste.
27El componente de control de versiones repositorio
- Aes el lugar de almacenamiento de los datos de los proyectos. Suele ser un directorio en algún ordenador.
- Ben un directorio especifico del repositorio. Puede identificar una parte del proyecto o ser el proyecto por completo.
- Ces cada una de las versiones parciales o cambios en los archivos o repositorio completo. La evolución del sistema se mide en revisiones. Cada cambio se considera incremental.
- Dinformación textual que se añada a un conjunto de archivos o a un módulo completo para indicar alguna información importante.
28El componente de control de versiones modulo
- Aes el lugar de almacenamiento de los datos de los proyectos. Suele ser un directorio en algún ordenador.
- Ben un directorio especifico del repositorio. Puede identificar una parte del proyecto o ser el proyecto por completo.
- Ces cada una de las versiones parciales o cambios en los archivos o repositorio completo. La evolución del sistema se mide en revisiones. Cada cambio se considera incremental.
- Dinformación textual que se añada a un conjunto de archivos o a un módulo completo para indicar alguna información importante.
29El componente de control de versiones revisión
- Aes el lugar de almacenamiento de los datos de los proyectos. Suele ser un directorio en algún ordenador.
- Ben un directorio especifico del repositorio. Puede identificar una parte del proyecto o ser el proyecto por completo.
- Ces cada una de las versiones parciales o cambios en los archivos o repositorio completo. La evolución del sistema se mide en revisiones. Cada cambio se considera incremental.
- Dinformación textual que se añada a un conjunto de archivos o a un módulo completo para indicar alguna información importante.
30El componente de control de versiones etiqueta
- Aes el lugar de almacenamiento de los datos de los proyectos. Suele ser un directorio en algún ordenador.
- Ben un directorio especifico del repositorio. Puede identificar una parte del proyecto o ser el proyecto por completo.
- Ces cada una de las versiones parciales o cambios en los archivos o repositorio completo. La evolución del sistema se mide en revisiones. Cada cambio se considera incremental.
- Dinformación textual que se añada a un conjunto de archivos o a un módulo completo para indicar alguna información importante.
31El componente de control de versiones rama
- Aes el lugar de almacenamiento de los datos de los proyectos. Suele ser un directorio en algún ordenador.
- Brevisiones paralelas de un módulo para efectuar cambios sin tocar la evolución principal. Se suele emplear para pruebas o para mantener los cambios en versiones antiguas.
- Ces cada una de las versiones parciales o cambios en los archivos o repositorio completo. La evolución del sistema se mide en revisiones. Cada cambio se considera incremental.
- Dinformación textual que se añada a un conjunto de archivos o a un módulo completo para indicar alguna información importante.
32El servicio de control de versiones de creación de repositorios es
- ACreación del esqueleto de un repositorio sin información inicial del proyecto.
- BLa clonación crea un nuevo repositorio y vuelca la información de algún otro repositorio ya existente. Crea una réplica.
- CSincroniza la copia local con la información disponible en el repositorio principal.
- DEn ocasiones, los cambios que se desean consolidar en el repositorio principal entran en conflicto con otros cambios que hayan sido subidos por algún otro desarrollador. Cuando se da esta situación, las herramientas de control de versiones tratan de combinar automáticamente todos los cambios. Si no es posible sin pérdida de información, muestra al programador los conflictos acontecidos para que sea éste el que tome la decisión de como combinarlos.
33El servicio de control de versiones de clonación de repositorios es
- ACreación del esqueleto de un repositorio sin información inicial del proyecto.
- BLa clonación crea un nuevo repositorio y vuelca la información de algún otro repositorio ya existente. Crea una réplica.
- CSincroniza la copia local con la información disponible en el repositorio principal.
- DEn ocasiones, los cambios que se desean consolidar en el repositorio principal entran en conflicto con otros cambios que hayan sido subidos por algún otro desarrollador. Cuando se da esta situación, las herramientas de control de versiones tratan de combinar automáticamente todos los cambios. Si no es posible sin pérdida de información, muestra al programador los conflictos acontecidos para que sea éste el que tome la decisión de como combinarlos.
34El servicio de control de versiones de descarga de la información del repositorio principal al local es
- ACreación del esqueleto de un repositorio sin información inicial del proyecto.
- BLa clonación crea un nuevo repositorio y vuelca la información de algún otro repositorio ya existente. Crea una réplica.
- CSincroniza la copia local con la información disponible en el repositorio principal.
- DEn ocasiones, los cambios que se desean consolidar en el repositorio principal entran en conflicto con otros cambios que hayan sido subidos por algún otro desarrollador. Cuando se da esta situación, las herramientas de control de versiones tratan de combinar automáticamente todos los cambios. Si no es posible sin pérdida de información, muestra al programador los conflictos acontecidos para que sea éste el que tome la decisión de como combinarlos.
35El servicio de control de versiones de carga de información al repositorio principal desde el local
- ACreación del esqueleto de un repositorio sin información inicial del proyecto.
- BActualiza los cambios realizados en la copia local en el repositorio principal.
- CSincroniza la copia local con la información disponible en el repositorio principal.
- DEn ocasiones, los cambios que se desean consolidar en el repositorio principal entran en conflicto con otros cambios que hayan sido subidos por algún otro desarrollador. Cuando se da esta situación, las herramientas de control de versiones tratan de combinar automáticamente todos los cambios. Si no es posible sin pérdida de información, muestra al programador los conflictos acontecidos para que sea éste el que tome la decisión de como combinarlos.
36El servicio de control de versiones de gestión de conflictos
- ACreación del esqueleto de un repositorio sin información inicial del proyecto.
- BLa clonación crea un nuevo repositorio y vuelca la información de algún otro repositorio ya existente. Crea una réplica.
- CSincroniza la copia local con la información disponible en el repositorio principal.
- DEn ocasiones, los cambios que se desean consolidar en el repositorio principal entran en conflicto con otros cambios que hayan sido subidos por algún otro desarrollador. Cuando se da esta situación, las herramientas de control de versiones tratan de combinar automáticamente todos los cambios. Si no es posible sin pérdida de información, muestra al programador los conflictos acontecidos para que sea éste el que tome la decisión de como combinarlos.
37El servicio de control de versiones de gestión de ramas
- ACreación del esqueleto de un repositorio sin información inicial del proyecto.
- BLa clonación crea un nuevo repositorio y vuelca la información de algún otro repositorio ya existente. Crea una réplica.
- CSincroniza la copia local con la información disponible en el repositorio principal.
- DCreación, eliminación , integración de diferencias entre ramas, selección de la rama de trabajo.
38El servicio de control de versiones de comparativa de versiones
- ACreación del esqueleto de un repositorio sin información inicial del proyecto.
- BLa clonación crea un nuevo repositorio y vuelca la información de algún otro repositorio ya existente. Crea una réplica.
- CGenera información sobre las diferencias entre versiones del proyecto.
- DEn ocasiones, los cambios que se desean consolidar en el repositorio principal entran en conflicto con otros cambios que hayan sido subidos por algún otro desarrollador. Cuando se da esta situación, las herramientas de control de versiones tratan de combinar automáticamente todos los cambios. Si no es posible sin pérdida de información, muestra al programador los conflictos acontecidos para que sea éste el que tome la decisión de como combinarlos.
39checkout
- Aobtiene un copia del trabajo para poder trabajar con ella.
- Bactualiza la copia con cambios recientes en el repositorio.
- Calmacena la copia modificada en el repositorio.
- Dabandona los cambios en la copia de trabajo.
40update
- Aobtiene un copia del trabajo para poder trabajar con ella.
- Bactualiza la copia con cambios recientes en el repositorio.
- Calmacena la copia modificada en el repositorio.
- Dabandona los cambios en la copia de trabajo.
41commit
- Aobtiene un copia del trabajo para poder trabajar con ella.
- Bactualiza la copia con cambios recientes en el repositorio.
- Calmacena la copia modificada en el repositorio.
- Dabandona los cambios en la copia de trabajo.
42abort
- Aobtiene un copia del trabajo para poder trabajar con ella.
- Bactualiza la copia con cambios recientes en el repositorio.
- Calmacena la copia modificada en el repositorio.
- Dabandona los cambios en la copia de trabajo.
43¿Qué afirmación sobre control de versiones es correcta?
- ASolo puede existir una única versión de una clase
- BEl almacenamiento de versiones es local a cada máquina
- CEl repositorio centraliza el almacenamiento de los datos
44Las revisiones sucesivas de un componente dan lugar a una simple secuencia lineal. Esta evolución no presenta problemas en la organización del repositorio y las versiones se designan mediante números correlativos.
- AGrafo de evolución simple
- BVariantes
- CTronco
- DCabeza
45en este caso, existen varias versiones del componente. El grafo ya no es una secuencia lineal, si no que adopta la forma de un árbol. La numeración de las versiones requerirá dos niveles. El primer número designa la variante (línea de evolución) y el segundo la versión particular (revisión) a lo largo de dicha variante.
- AGrafo de evolución simple
- BVariantes
- CTronco
- DCabeza
46Con respecto a la terminologia usada para referirse a los elementos del grafo el/la ...... es la variante principal
- Atronco
- Bcabeza
- Cramas
- Ddelta
47Con respecto a la terminologia usada para referirse a los elementos del grafo el/la ...... es la última versión del tronco
- Avariantes
- Bcabeza
- Cramas
- Ddelta
48Con respecto a la terminologia usada para referirse a los elementos del grafo el/la ...... son las variantes secundarias
- Atronco
- Bcabeza
- Cramas
- Ddelta
49Con respecto a la terminologia usada para referirse a los elementos del grafo el/la ...... es el cambio de una revisión respecto a la anterior.
- Atronco
- Bcabeza
- Cramas
- Ddelta
50Propagación de cambios
- Acuando se tienen variantes que se desarrollan en paralelo, suele ser necesario aplicar un mismo cambio a varias variantes.
- Ben determinados momentos puede dejar de ser necesario mantener una rama independiente. En este caso se puede fundir con otra (MERGE).
- Ccomo en la mayoría de los casos, las distintas versiones tienen en común gran parte de su contenido, se organiza el almacenamiento para que no se desaproveche espacio repitiendo los datos en común de varias versiones.
- Den este caso, existen varias versiones del componente. El grafo ya no es una secuencia lineal, si no que adopta la forma de un árbol. La numeración de las versiones requerirá dos niveles. El primer número designa la variante (línea de evolución) y el segundo la versión particular (revisión) a lo largo de dicha variante.
51Fusión de variantes
- Acuando se tienen variantes que se desarrollan en paralelo, suele ser necesario aplicar un mismo cambio a varias variantes.
- Ben determinados momentos puede dejar de ser necesario mantener una rama independiente. En este caso se puede fundir con otra (MERGE).
- Ccomo en la mayoría de los casos, las distintas versiones tienen en común gran parte de su contenido, se organiza el almacenamiento para que no se desaproveche espacio repitiendo los datos en común de varias versiones.
- Den este caso, existen varias versiones del componente. El grafo ya no es una secuencia lineal, si no que adopta la forma de un árbol. La numeración de las versiones requerirá dos niveles. El primer número designa la variante (línea de evolución) y el segundo la versión particular (revisión) a lo largo de dicha variante.
52Técnicas de almacenamiento
- Acuando se tienen variantes que se desarrollan en paralelo, suele ser necesario aplicar un mismo cambio a varias variantes.
- Ben determinados momentos puede dejar de ser necesario mantener una rama independiente. En este caso se puede fundir con otra (MERGE).
- Ccomo en la mayoría de los casos, las distintas versiones tienen en común gran parte de su contenido, se organiza el almacenamiento para que no se desaproveche espacio repitiendo los datos en común de varias versiones.
- Den este caso, existen varias versiones del componente. El grafo ya no es una secuencia lineal, si no que adopta la forma de un árbol. La numeración de las versiones requerirá dos niveles. El primer número designa la variante (línea de evolución) y el segundo la versión particular (revisión) a lo largo de dicha variante.
53Deltas directos
- Ase almacena la primera versión completa, y luego los cambios mínimos necesarios para reconstruir cada nueva versión a partir de la anterior.
- Bse almacena completa la última versión del tronco y los cambios necesarios para reconstruir cada versión anterior a partir de la siguiente. En las ramas se mantiene el uso de los deltas directos.
- Cse almacena el texto refundido de todas las versiones como una secuencia lineal, marcando cada sección del conjunto con los números de versiones que corresponde.
54Deltas inversos
- Ase almacena la primera versión completa, y luego los cambios mínimos necesarios para reconstruir cada nueva versión a partir de la anterior.
- Bse almacena completa la última versión del tronco y los cambios necesarios para reconstruir cada versión anterior a partir de la siguiente. En las ramas se mantiene el uso de los deltas directos.
- Cse almacena el texto refundido de todas las versiones como una secuencia lineal, marcando cada sección del conjunto con los números de versiones que corresponde.
55Marcado selectivo
- Ase almacena la primera versión completa, y luego los cambios mínimos necesarios para reconstruir cada nueva versión a partir de la anterior.
- Bse almacena completa la última versión del tronco y los cambios necesarios para reconstruir cada versión anterior a partir de la siguiente. En las ramas se mantiene el uso de los deltas directos.
- Cse almacena el texto refundido de todas las versiones como una secuencia lineal, marcando cada sección del conjunto con los números de versiones que corresponde.
56¿Qué herramienta no es una herramienta de Control de Versiones?
- ASubversion
- BCVS
- CMercurial
- DPMD
57¿Qué cliente de Gestión de Versiones no incorpora Netbeans?
- AVS Team Foundation
- BCVS
- CMercurial
58La tarea básica de las gestión de configuraciones de software de identificación
- ASe trata de establecer estándares de documentación y un esquema de identificación de documentos.
- BConsiste en la evaluación y registro de todos los cambios que se hagan de la configuración software.
- CSirven, junto con las revisiones técnicas formales para garantizar que el cambio se ha implementado correctamente.
- DEl sistema software está compuesto por un conjunto de elementos, que evolucionan de manera individual, por consiguiente, se debe garantizar la consistencia del conjunto del sistema.
59La tarea básica de las gestión de configuraciones de software de control de cambios
- ASe trata de establecer estándares de documentación y un esquema de identificación de documentos.
- BConsiste en la evaluación y registro de todos los cambios que se hagan de la configuración software.
- CSirven, junto con las revisiones técnicas formales para garantizar que el cambio se ha implementado correctamente.
- DEl sistema software está compuesto por un conjunto de elementos, que evolucionan de manera individual, por consiguiente, se debe garantizar la consistencia del conjunto del sistema.
60La tarea básica de las gestión de configuraciones de software de auditoría de configuraciones
- ASe trata de establecer estándares de documentación y un esquema de identificación de documentos.
- BConsiste en la evaluación y registro de todos los cambios que se hagan de la configuración software.
- CSirven, junto con las revisiones técnicas formales para garantizar que el cambio se ha implementado correctamente.
- DEl sistema software está compuesto por un conjunto de elementos, que evolucionan de manera individual, por consiguiente, se debe garantizar la consistencia del conjunto del sistema.
61La tarea básica de las gestión de configuraciones de software de generación de informes
- ASe trata de establecer estándares de documentación y un esquema de identificación de documentos.
- BConsiste en la evaluación y registro de todos los cambios que se hagan de la configuración software.
- CSirven, junto con las revisiones técnicas formales para garantizar que el cambio se ha implementado correctamente.
- DEl sistema software está compuesto por un conjunto de elementos, que evolucionan de manera individual, por consiguiente, se debe garantizar la consistencia del conjunto del sistema.
62¿Cuál de las siguientes no es una tarea básica de la Gestión de Configuraciones del Software?
- AControl de cambios
- BGeneración de informes
- CAuditorias de configuraciones
- DGestión del repositorio
63Un comentario en formato JavaDoc
- AUtiliza los caracteres //
- BComienzan con /* y termina por */
- CComienza por /** y terminan por */
Information
- Description
- Quiz on UT04_ETS, created by Mar benitez quintero on 19/01/2022.
- Author
- Mar benitez quintero
- Language
- Español
- Views
- 0
- Tags
- Rating
- No ratings yet Rate this quiz