POO
|
|
Título del Test:
![]() POO Descripción: Examen de poo |



| Comentarios |
|---|
NO HAY REGISTROS |
|
Revisa el siguiente código y determina si existe algún error o no: Linea 12. Linea 9. Linea 6. El código esta correcto. ¿Qué representa el parámetro self en una clase de Python?. Una variable global del programa. Un atributo temporal. Ninguna de las opciones es correcta. Una referencia a la propia instancia del objeto. Analiza el código: ¿Cuál afirmación NO describe correctamente el error?. Línea 11 compara con tipo incompatible. Línea 11 genera error por comparar tipos distintos. Línea 11 compara dos elementos compatibles. Línea 8 asume que other tiene atributo sku. Observa la siguiente línea: ("create/", views.student_create, name="student_create") ¿Qué representa views.student_create dentro de esta ruta?. El nombre de la plantilla HTML que se va a renderizar. Una referencia a la función de vista que se ejecutará cuando se acceda a esa URL. El nombre del modelo que se usará en la base de datos. Un alias usado únicamente dentro de urls.py. Observa el siguiente código. El programa lanza un TypeError. ¿Por qué?. El método no tiene return. Ninguna de las opciones es correcta. Abrir requiere un parámetro self, pero se está llamando desde la clase sin instancia. Falta un constructor. Completa la clase para que la subclase implemente correctamente el método perimetro. def perimetro(): return base + altura. Ninguna de las opciones es correcta. def perimetro(self): pass. def perimetro(self): return 2 * (self.base + self.altura). ¿Cuál de las siguientes opciones NO corresponde a una funcionalidad del autocompletado en PyCharm?. Sugerir nombres de variables, métodos y funciones. Completar llamadas a métodos y atributos. Anticipar posibles instrucciones según el contexto. Ejecutar el programa sin usar “Run”. Observa el siguiente código: class StudentForm(forms.ModelForm): class Meta: model = Student fields = ["nombre", "correo", "carrera"] ¿Para qué sirve la clase Meta dentro del formulario?. Para indicar con qué modelo trabaja el formulario y qué campos usará. Para registrar el formulario dentro del admin. Para crear la tabla Student en la base de datos. Para definir las validaciones personalizadas. ¿Cuál de los siguientes tipos de relación UML NO corresponde a la relación entre Jefe y Vendedor?. Relación 1..*. Asociación uno a muchos. Vínculo asociativo supervisor–subordinado. Dependencia. Observa la siguiente vista: def student_list(request): students = Student.objects.all() return render(request, "students/student_list.html", {"students": students}) Qué hace exactamente la función render en esta vista?. Redirige a otra URL usando el nombre de la vista. Devuelve una respuesta HTTP combinando la plantilla indicada con el contexto proporcionado. Convierte el queryset en JSON y lo devuelve como respuesta. Ejecuta la consulta y guarda automáticamente los cambios en la base de datos. ¿Cuál opción NO describe correctamente la función de @abstractmethod?. Evita que una clase se instancie si no se implementa. Obliga a implementar en subclases. Hace obligatorio el método. Evita que el método reciba parámetros. ¿Cuál de las siguientes opciones NO representa una función del depurador en PyCharm?. Optimizar automáticamente el rendimiento. Colocar puntos de interrupción. Inspeccionar valores de variables. Permitir ejecución paso a paso. Una universidad administra varios cursos. Cada curso puede tener varios estudiantes inscritos, y cada estudiante puede estar en varios cursos. ¿Qué tipo de relación corresponde?. Asociación muchos a muchos (n..m). Composición, porque los cursos desaparecen si el estudiante se retira. Agregación, porque la universidad contiene cursos. Ninguna de las anteriores. En el modelo Student existe el método: def __str__(self): return f"{self.nombre} ({self.correo})" ¿Dónde se usa principalmente este valor?. Para formatear el valor de correo antes de guardarlo. Para definir la clave primaria del modelo. Para validar automáticamente la estructura del objeto. Para mostrar una representación legible del objeto en interfaces como Django Admin y selects de formularios. Supón la siguiente configuración: class StudentAdmin(admin.ModelAdmin): list_display = ("nombre", "correo") search_fields = ("nombre", "correo"). Django ignora search_fields si list_display está definido. Django realiza búsquedas parciales (contains) sobre los campos definidos en search_fields. Django no permite usar búsquedas si hay más de 100 registros. Django busca únicamente coincidencias exactas (igualdad estricta). En un sistema de gestion de pedidos, el ClienteCorporativo puede tener varios contactos vigentes con diferentes condiciones de pago. Que relacion refleja mejor esta situacion?. ninguna de las anteriores. Asociacion de uno a varios (1..*), porque un ClienteCorporativo puede tener multiples contratos. Dependencia, porque el contrato usa al cliente. Generalizacion, porque los contratos heredan de ClienteCorporativo. Que ocurre si se crea un objeto de la clase Circulo. Ninguna de las opciones es correcta. Python lanza un error porque Circulo no implementa el metodo area. Se ejecuta correctamente. El metodo area esta implementado correctamen, y devuelve un valor. observa el siguiente codigo: Cual es la diferencia mas importante si el objeto no existe?. Student.objects.get lanza una excepcion DoesNotExit, mientras que get_object_or_404 responde con una pagina 404 automaticamente. Studen.objects.get siempre crea el objeto si no existe. ambas lineas lanzan exactamente el mismo tipo de excepcion. get_object_or_404 devuelve None silenciosamente si encuentra el objeto. Observa las siguientes rutas: create no recibe parametros, mientras que update recibe un entero (pk) para identificar que registro actualizar. create se usa solo para borrar registros y update solo para crearlos. ambas hacen exactamente lo mismo, solo cambia el nombre. update no puede usarse con formularios. Completa el metodo descripcion. Que linea debe ir dentro de descripcion ?. print(nombre,carrera). return nombre + carrera. Ninguna de las opciones es correcta. return f"{self.nombre} - {self.carrera}. Analiza el codigo: Cual opcion NO describe correctamente lo que sucede?. Linea 12 instacia correctamente la clase. Linea 13 imprime el valor retornado. Da error porque el metodo abstracto no fue implementado. Linea 9 implementa correctamente el metodo abstracto. Cual opcion NO describe correctamente la diferencia entre agregacion y composicion?. La composición implica dependencia fuerte. En composicion la vida del objeto depende del todo. La agregacion obliga a que los objetos NO puedan existir sin el contenedor. La agregacion permite existencia independiente. considera el metodo clean_nombre: Si el usuario envia "A" que ocurrira cuando se ejecute is_valid()?. Sera validoporque el valor tiene 3 caracteres contando espacios. Sera invalido porque tras strip() queda 'A', con solo 1 caracter. Sera valido, pero se guardara con espacios. Sera valido porque clean_nombre no modifica nada. Observa la siguiente vista: Que hace exactamente la funcion render en esta vista?. Ejecuta la consulta y guarda automaticamente los cambios en base de datos. Redirige a otra URL usando el nombre de la vista. Devuelve una respuesta HTTP combinando la plantilla indicada con el contexto proporcionado. Convierte el queryset en JSON y lo devuelve como respuesta. Que funsion se usa para convertir una cadena JSON a un diccionario en Python. Ninguna de las opciones es correcta. json.dump(). json.loads(). json.load(). Cual de las siguientes opciones No representa una funcion del depurador en Pycharm?. Permitir ejecucion paso a paso. Colocar puntos de interrupcion. Optimizar automáticamente el rendimiento. Inspeccionar valores de variables. Revisa el siguiente codigo y determina si existe un error o no: Linea 4. Linea 11. El codigo esta correcto. Linea 8. Cual de las siguientes opciones si corresponde a la definicion correcta de una clase en POO?. un molde que solo define datos sin especificar acciones. un conjunto de valores que permite definir metodos asociados. un esquema que combina atributos y comportamientos para crear objetos. una instancia concreta generada a partir de un modelo. Analiza el codigo: Cual afirmación NO describe correctamente el error?. Linea 11 genera error por comprar tipos distintos. Linea 8 asume que other tiene atributos sku. Linea 11 compra con tipo incompatible. Linea 11 comprar dos elementos compatibles. En el modelo Student: creando_en = models.DateTimeField(auto_now_new=True) Que hace exactamente auto_now_add=True?. Establece automaticamente la fecha sola la primera vez que se crea el registro. Actualiza la fecha cada vez que el registro se edita. Guarda la fecha como texto en lugar de datetime. Obliga a ingresar manualmente una fecha valida. Cual opcion NO representa la relacion de realizacion en UML. una clase asume operaciones declaradas en una interfaz. dos clases compraten atributos sin requerir una interfaz. una implementación proporciona el comportamiento especificado. una clase concreta cumple el contrato de una interfaz. Cual de las siguientes opciones si corresponde a la definicion correcta de una clase en POO?. un molde que solo define datos sin especificar acciones. una instancia concreta generada a partir de un modelo. un esquema que combina atributos y comportamientos para crear objetos. un conjunto de valores que no permite definir metodos asociados. Revisa el siguiente codigo y determina si exite algun error o no ?. Linea 11. El codigo esta correcto. Linea 9. Linea 5. Como se accede a un elemento dentro de una lista en Python?. Mediante el índice correspondiente. Por el nombre de la variable. usando llaves {}. Ninguna de las opciones es correcta. Supón la siguiente confuracion: class StudentAdmin(admin.ModelAdmin): search_fields=("nombre") Que efecto tiene dejar solo el campo nombre dentro de search_fields?. Django mostrara error porque se necesita mas de un campo. La busqueda en admin se desactiva. Solo se podra realizar busquedas por coincidencias en el nombre. La busqueda funcionara solo si el nombre esta en mayuscula. Analiza el codigo: Cual afirmacion No describe correctamente el error presente. Linea 7 usa variables correctamente declaradas en el constructor. Linea 7 accede a variables fuera del alcance. Linea 7 usa nombres que no pertenecen al objeto. Linea 7 no usa atributos definidos. En el modelo Student: correo = models.EmailField(unique=True) Que ocurre si se integran guardar dos objetos Student con el mismo correo?. Django ignora el valor duplicado y lo reemplaza por uno vacio. Ambos registros se guardan normalmente, pero admin marca un error visual. Se produce un error de integridad en la base de datos al guardar el segundo registro. Django actualiza el registro existente automaticamente. Observa la siguiente ruta path("delete/<int:pk>/", views.student_delete, name="student_delete") si el usuario accede a /delete/10/, que valor recibe la vista en el pk?. El valor de 10 convertido a entero. Ningun valor, porque pk no esta definido. Un valor aleatorio generado por Django. el valor '10' como texto. |




