[{"data":1,"prerenderedAt":697},["ShallowReactive",2],{"navigation_docs":3,"-actividades-act-10":412,"-actividades-act-10-surround":692},[4,18,43,118,160,200,231,320,346],{"title":5,"path":6,"stem":7,"children":8,"icon":17},"Evaluación","\u002Fintroduction","1.introduction\u002F1.index",[9,12],{"title":10,"path":6,"stem":7,"icon":11},"Método de Evaluación","i-iconamoon-cheque-bold",{"title":13,"path":14,"stem":15,"icon":16},"Plataforma de Aprendizaje","\u002Fintroduction\u002Fplataforma","1.introduction\u002F2.plataforma","i-lucide-book-marked","i-lucide-house",{"title":19,"icon":20,"path":21,"stem":22,"children":23,"page":42},"Entorno de desarrollo","i-codicon-edit-code","\u002Fide","2.ide",[24,28,33,37],{"title":25,"path":26,"stem":27,"icon":20},"¿Qué es un IDE?","\u002Fide\u002Fentorno","2.ide\u002F1.entorno",{"title":29,"path":30,"stem":31,"icon":32},"Estructura de un Proyecto","\u002Fide\u002Festructura","2.ide\u002F2.estructura","i-clarity-tree-view-line",{"title":34,"path":35,"stem":36,"icon":20},"La compilación en un IDE","\u002Fide\u002Fcompilacion","2.ide\u002F3.compilacion",{"title":38,"path":39,"stem":40,"icon":41},"Depuración de Código","\u002Fide\u002Fdepurar","2.ide\u002F4.depurar","i-lucide-bug",false,{"title":44,"icon":45,"path":46,"stem":47,"children":48,"page":42},"Clases y Objetos","i-catppuccin-java-class","\u002Fclases-objetos","3.clases-objetos",[49,53,57,62,66,70,74,78,83,88,92,96,101,106,110,114],{"title":50,"path":51,"stem":52},"Repaso previo a Clases y Objetos","\u002Fclases-objetos\u002Fpreview","3.clases-objetos\u002F00.preview",{"title":54,"path":55,"stem":56,"icon":45},"¿Qué es la Programación Orientada a Objetos (POO)?","\u002Fclases-objetos\u002Fpoo","3.clases-objetos\u002F01.poo",{"title":58,"path":59,"stem":60,"icon":61},"Diagramas de Clases y Objetos","\u002Fclases-objetos\u002Fdiagramas","3.clases-objetos\u002F02.diagramas","i-devicon-uml",{"title":63,"path":64,"stem":65,"icon":45},"Las Clases","\u002Fclases-objetos\u002Fclases","3.clases-objetos\u002F03.clases",{"title":67,"path":68,"stem":69,"icon":45},"Ámbito y Visibilidad","\u002Fclases-objetos\u002Fambito","3.clases-objetos\u002F04.ambito",{"title":71,"path":72,"stem":73,"icon":45},"Declaración e Instanciación de Objetos","\u002Fclases-objetos\u002Fobjetos","3.clases-objetos\u002F05.objetos",{"title":75,"path":76,"stem":77,"icon":45},"Clases Predefinidas en Java","\u002Fclases-objetos\u002Fpredefinidas","3.clases-objetos\u002F06.predefinidas",{"title":79,"path":80,"stem":81,"icon":82},"Paquetes en Java","\u002Fclases-objetos\u002Fpaquetes","3.clases-objetos\u002F07.paquetes","i-material-icon-theme-folder-java-open",{"title":84,"path":85,"stem":86,"icon":87},"Las Excepciones","\u002Fclases-objetos\u002Fexcepciones","3.clases-objetos\u002F08.excepciones","i-catppuccin-java-exception",{"title":89,"path":90,"stem":91,"icon":45},"La clase JOptionPane","\u002Fclases-objetos\u002Fjoptionpane","3.clases-objetos\u002F09.joptionpane",{"title":93,"path":94,"stem":95,"icon":45},"Constructores y Accesores","\u002Fclases-objetos\u002Fconstructores","3.clases-objetos\u002F10.constructores",{"title":97,"path":98,"stem":99,"icon":100},"Tipos Enumerados (Enums)","\u002Fclases-objetos\u002Fenumerados","3.clases-objetos\u002F11.enumerados","i-catppuccin-java-enum",{"title":102,"path":103,"stem":104,"icon":105},"Modificadores de acceso static y final","\u002Fclases-objetos\u002Fmodificadores","3.clases-objetos\u002F12.modificadores","i-mdi-chart-box",{"title":107,"path":108,"stem":109,"icon":105},"El casting en Java","\u002Fclases-objetos\u002Fcasting","3.clases-objetos\u002F13.casting",{"title":111,"path":112,"stem":113},"Las Expresiones Regulares","\u002Fclases-objetos\u002Fexpresiones-regulares","3.clases-objetos\u002F14.expresiones-regulares",{"title":115,"path":116,"stem":117,"icon":105},"Clases Genéricas en Java","\u002Fclases-objetos\u002Fclases-genericas","3.clases-objetos\u002F15.clases-genericas",{"title":119,"icon":120,"path":121,"stem":122,"children":123,"page":42},"Funciones (Métodos)","i-material-symbols-function","\u002Fmetodos","4.metodos",[124,128,132,136,140,144,148,152,156],{"title":125,"path":126,"stem":127},"Funciones Genéricas","\u002Fmetodos\u002Ffuncion-generica","4.metodos\u002F01.funcion-generica",{"title":129,"path":130,"stem":131},"Métodos de Instancia y de Clase","\u002Fmetodos\u002Finstancia-clase","4.metodos\u002F02.instancia-clase",{"title":133,"path":134,"stem":135},"Sobrecarga de Funciones","\u002Fmetodos\u002Fsobrecarga","4.metodos\u002F03.sobrecarga",{"title":137,"path":138,"stem":139},"Alcance de Variables y Métodos","\u002Fmetodos\u002Falcance","4.metodos\u002F04.alcance",{"title":141,"path":142,"stem":143},"Recursividad","\u002Fmetodos\u002Frecursividad","4.metodos\u002F05.recursividad",{"title":145,"path":146,"stem":147},"Puntero this","\u002Fmetodos\u002Fthis","4.metodos\u002F06.this",{"title":149,"path":150,"stem":151},"Los argumentos variables (varargs)","\u002Fmetodos\u002Fvarargs","4.metodos\u002F07.varargs",{"title":153,"path":154,"stem":155},"La clase Arrays","\u002Fmetodos\u002Farrays","4.metodos\u002F08.arrays",{"title":157,"path":158,"stem":159},"Predicados Simples y Compuestos en Java","\u002Fmetodos\u002Fpredicados","4.metodos\u002F09.predicados",{"title":161,"path":162,"stem":163,"children":164,"icon":199},"Herencia","\u002Fherencia","5.herencia\u002F01.index",[165,167,171,175,179,183,187,191,195],{"title":166,"path":162,"stem":163},"¿Qué es la herencia?",{"title":168,"path":169,"stem":170},"Sobreescritura de métodos y uso de `super`","\u002Fherencia\u002Fsobeescritura","5.herencia\u002F02.sobeescritura",{"title":172,"path":173,"stem":174},"Tipos de herencia","\u002Fherencia\u002Ftipos-herencia","5.herencia\u002F03.tipos-herencia",{"title":176,"path":177,"stem":178},"La clase Object en Java","\u002Fherencia\u002Fobject","5.herencia\u002F04.object",{"title":180,"path":181,"stem":182},"Polimorfismo","\u002Fherencia\u002Fpolimorfismo","5.herencia\u002F05.polimorfismo",{"title":184,"path":185,"stem":186},"Clases y Funciones Abstractas","\u002Fherencia\u002Fabstract","5.herencia\u002F06.abstract",{"title":188,"path":189,"stem":190},"Interfaces","\u002Fherencia\u002Finterfaces","5.herencia\u002F07.interfaces",{"title":192,"path":193,"stem":194},"Funciones e Interfaces","\u002Fherencia\u002Ffunciones-interfaces","5.herencia\u002F08.funciones-interfaces",{"title":196,"path":197,"stem":198},"Interfaces y Funciones Lambda","\u002Fherencia\u002Flambda-interface","5.herencia\u002F09.lambda-interface","i-material-symbols-heritage",{"title":201,"path":202,"stem":203,"children":204,"icon":199},"Arreglos","\u002Farreglos","6.arreglos\u002F01.index",[205,207,211,215,219,223,227],{"title":206,"path":202,"stem":203},"Los arreglos en Java",{"title":208,"path":209,"stem":210},"Los arreglos","\u002Farreglos\u002Farray","6.arreglos\u002F02.array",{"title":212,"path":213,"stem":214},"Matrices","\u002Farreglos\u002Fmatrices","6.arreglos\u002F03.matrices",{"title":216,"path":217,"stem":218},"Comparadores","\u002Farreglos\u002Fcomparator","6.arreglos\u002F04.comparator",{"title":220,"path":221,"stem":222},"Arreglos dinámicos: ArrayList","\u002Farreglos\u002Farraylist","6.arreglos\u002F05.arraylist",{"title":224,"path":225,"stem":226},"Arreglos Relacionales: HashMap","\u002Farreglos\u002Fhashmap","6.arreglos\u002F06.hashmap",{"title":228,"path":229,"stem":230},"La clase Stream en Java","\u002Farreglos\u002Fstream","6.arreglos\u002F07.stream",{"title":232,"icon":199,"path":233,"stem":234,"children":235,"page":42},"Archivos e Interfaz de Usuario","\u002Farchivos-ui","7.archivos-ui",[236,240,244,248,252,256,260,264,268,272,276,280,284,288,292,296,300,304,308,312,316],{"title":237,"path":238,"stem":239},"El paquete Swing","\u002Farchivos-ui\u002Fswing","7.archivos-ui\u002F01.swing",{"title":241,"path":242,"stem":243},"La clase JFrame y el JPanel","\u002Farchivos-ui\u002Fjpanel","7.archivos-ui\u002F02.jpanel",{"title":245,"path":246,"stem":247},"Los Layouts en Swing","\u002Farchivos-ui\u002Flayout","7.archivos-ui\u002F03.layout",{"title":249,"path":250,"stem":251},"Iniciando con Swing","\u002Farchivos-ui\u002Finiciando","7.archivos-ui\u002F04.iniciando",{"title":253,"path":254,"stem":255},"Las clases Color y Font en Swing","\u002Farchivos-ui\u002Fcolor-font","7.archivos-ui\u002F05.color-font",{"title":257,"path":258,"stem":259},"Etiquetas en Swing","\u002Farchivos-ui\u002Fetiquetas","7.archivos-ui\u002F06.etiquetas",{"title":261,"path":262,"stem":263},"Personalizando la apariencia de los componentes en Swing","\u002Farchivos-ui\u002Fpersonalizando","7.archivos-ui\u002F07.personalizando",{"title":265,"path":266,"stem":267},"Sobrescribiendo el método drawComponent() en Swing","\u002Farchivos-ui\u002Fdraw","7.archivos-ui\u002F08.draw",{"title":269,"path":270,"stem":271},"Manejando eventos en Swing","\u002Farchivos-ui\u002Feventos","7.archivos-ui\u002F09.eventos",{"title":273,"path":274,"stem":275},"Personalización de Componentes mediante la Extensión de Clases en Swing","\u002Farchivos-ui\u002Fextends-component","7.archivos-ui\u002F10.extends-component",{"title":277,"path":278,"stem":279},"Gradientes","\u002Farchivos-ui\u002Fgradientes","7.archivos-ui\u002F11.gradientes",{"title":281,"path":282,"stem":283},"Botones en Swing","\u002Farchivos-ui\u002Fbotones","7.archivos-ui\u002F12.botones",{"title":285,"path":286,"stem":287},"Los delegadores en Swing","\u002Farchivos-ui\u002Fdelegadores","7.archivos-ui\u002F13.delegadores",{"title":289,"path":290,"stem":291},"UI para nuestro RPG: Parte 1","\u002Farchivos-ui\u002Frpg-ui-1","7.archivos-ui\u002F14.rpg-ui-1",{"title":293,"path":294,"stem":295},"UI para nuestro RPG: Parte 2","\u002Farchivos-ui\u002Frpg-ui-2","7.archivos-ui\u002F15.rpg-ui-2",{"title":297,"path":298,"stem":299},"Los Streams Entrada y Salida","\u002Farchivos-ui\u002Fstreams","7.archivos-ui\u002F16.streams",{"title":301,"path":302,"stem":303},"Archivo tipo Objeto","\u002Farchivos-ui\u002Farchivo-objeto","7.archivos-ui\u002F17.archivo-objeto",{"title":305,"path":306,"stem":307},"UI para nuestro RPG: Parte 3","\u002Farchivos-ui\u002Frpg-ui-3","7.archivos-ui\u002F18.rpg-ui-3",{"title":309,"path":310,"stem":311},"UI para nuestro RPG: Parte 4","\u002Farchivos-ui\u002Frpg-ui-4","7.archivos-ui\u002F19.rpg-ui-4",{"title":313,"path":314,"stem":315},"UI para nuestro RPG: Parte 5","\u002Farchivos-ui\u002Frpg-ui-5","7.archivos-ui\u002F20.rpg-ui-5",{"title":317,"path":318,"stem":319},"UI para nuestro RPG: Parte 6","\u002Farchivos-ui\u002Frpg-ui-6","7.archivos-ui\u002F21.rpg-ui-6",{"title":321,"icon":322,"path":323,"stem":324,"children":325,"page":42},"Ejemplos","i-check-circle","\u002Fejemplos","8.ejemplos",[326,330,334,338,342],{"title":327,"path":328,"stem":329,"icon":105},"Ejemplo 1: Validando entradas con JOptionPane","\u002Fejemplos\u002Fejemplo-01","8.ejemplos\u002F01.ejemplo-01",{"title":331,"path":332,"stem":333},"Ejemplo 02: Uso de clases genéricas en Java","\u002Fejemplos\u002Fejemplo-02","8.ejemplos\u002F02.ejemplo-02",{"title":335,"path":336,"stem":337},"Ejemplo 03: Uso de Enum, Excepciones en Java","\u002Fejemplos\u002Fejemplo-03","8.ejemplos\u002F03.ejemplo-03",{"title":339,"path":340,"stem":341},"Ejemplo 4: Clase con funciones genéricas de validación","\u002Fejemplos\u002Fejemplo-04","8.ejemplos\u002F04.ejemplo-04",{"title":343,"path":344,"stem":345},"Ejemplo 5: Sistema de Gestión de Empleados","\u002Fejemplos\u002Fejemplo-05","8.ejemplos\u002F05.ejemplo-05",{"title":347,"icon":322,"path":348,"stem":349,"children":350,"page":42},"Actividades","\u002Factividades","9.actividades",[351,355,360,364,368,372,376,380,384,388,392,396,400,404,408],{"title":352,"path":353,"stem":354,"icon":105},"Actividad 1: Infografía sobre el proceso de compilación","\u002Factividades\u002Fact-01","9.actividades\u002F01.act-01",{"title":356,"path":357,"stem":358,"icon":359},"Actividad 2: Modelando Diagramas de Clases UML","\u002Factividades\u002Fact-02","9.actividades\u002F02.act-02","i-material-icon-theme-uml",{"title":361,"path":362,"stem":363,"icon":45},"Actividad 3: Creando Clases y Objetos en Java","\u002Factividades\u002Fact-03","9.actividades\u002F03.act-03",{"title":365,"path":366,"stem":367},"Actividad 4: Validando entradas de datos","\u002Factividades\u002Fact-04","9.actividades\u002F04.act-04",{"title":369,"path":370,"stem":371,"icon":105},"Actividad 5: Implementando una clase genérica","\u002Factividades\u002Fact-05","9.actividades\u002F05.act-05",{"title":373,"path":374,"stem":375,"icon":105},"Actividad 6: Expandiendo InputValidator con Predicados y Function","\u002Factividades\u002Fact-06","9.actividades\u002F06.act-06",{"title":377,"path":378,"stem":379,"icon":105},"Actividad 7: Gestor de Biblioteca con InputValidator","\u002Factividades\u002Fact-07","9.actividades\u002F07.act-07",{"title":381,"path":382,"stem":383,"icon":105},"Actividad 8: Calculadora de Figuras Geométricas","\u002Factividades\u002Fact-08","9.actividades\u002F08.act-08",{"title":385,"path":386,"stem":387,"icon":105},"Actividad 9: gestión de una empresa agroalimentaria","\u002Factividades\u002Fact-09","9.actividades\u002F09.act-09",{"title":389,"path":390,"stem":391,"icon":105},"Actividad 10: Sistema de gestión de clínicas veterinarias","\u002Factividades\u002Fact-10","9.actividades\u002F10.act-10",{"title":393,"path":394,"stem":395},"Definición de Proyecto Evolutivo","\u002Factividades\u002Frpg","9.actividades\u002F11.rpg",{"title":397,"path":398,"stem":399},"Actividad 11: Creación de Personajes","\u002Factividades\u002Fact-11","9.actividades\u002F12.act-11",{"title":401,"path":402,"stem":403},"Actividad 12: El Inventario y los Objetos","\u002Factividades\u002Fact-12","9.actividades\u002F13.act-12",{"title":405,"path":406,"stem":407},"Actividad 13: El combate por turnos","\u002Factividades\u002Fact-13","9.actividades\u002F14.act-13",{"title":409,"path":410,"stem":411},"Actividad 14: Guardando y Cargando","\u002Factividades\u002Fact-14","9.actividades\u002F15.act-14",{"id":413,"title":389,"body":414,"description":685,"extension":686,"links":687,"meta":688,"navigation":689,"path":390,"seo":690,"stem":391,"__hash__":691},"docs\u002F9.actividades\u002F10.act-10.md",{"type":415,"value":416,"toc":675},"minimark",[417,422,431,442,446,449,455,461,465,510,514,557,561,564,584,587,590,664,667],[418,419,421],"h2",{"id":420},"objetivo","Objetivo",[423,424,425,426,430],"p",{},"El objetivo de esta actividad es desarrollar un sistema de gestión para una clínica veterinaria que permita a los usuarios gestionar la información de los pacientes (mascotas), sus propietarios, las citas médicas y los tratamientos. Utilizarás la clase ",[427,428,429],"code",{},"InputValidator"," para validar las entradas del usuario, asegurándote de que sean válidas antes de almacenar o procesar la información.",[423,432,433,434,437,438,441],{},"Recuerda que puedes hacer uso de clases abstractas y concretas, así como de la herencia para manejar la variabilidad en la información de los pacientes según el tipo de mascota. Además, es importante que manejes adecuadamente las excepciones que puedan surgir durante la validación de entradas, mostrando mensajes de error claros y específicos utilizando los mensajes definidos en el ",[427,435,436],{},"Enum"," ",[427,439,440],{},"Messages"," que creaste en la actividad anterior.",[418,443,445],{"id":444},"descripción-del-problema","Descripción del Problema",[423,447,448],{},"Eres un desarrollador de software encargado de crear un sistema de gestión para una clínica veterinaria. El sistema debe permitir a los usuarios gestionar la información de los pacientes (mascotas), sus propietarios, las citas médicas y los tratamientos.",[423,450,451,452,454],{},"Para garantizar que las entradas del usuario sean válidas, utilizarás la clase ",[427,453,429],{}," que has desarrollado en actividades anteriores.",[423,456,457,458,460],{},"El sistema debe permitir a los usuarios ingresar la información necesaria para cada entidad (por ejemplo, nombre, edad, tipo de mascota para pacientes; nombre, dirección, número de contacto para propietarios; fecha y hora para citas; descripción y costo para tratamientos) y debe validar estas entradas utilizando la clase ",[427,459,429],{}," antes de almacenar o procesar la información.",[418,462,464],{"id":463},"requisitos","Requisitos",[466,467,468,472,475,478,484,494,501,507],"ul",{},[469,470,471],"li",{},"Existen al menos 4 entidades principales: Paciente (mascota), Propietario, Cita Médica y Tratamiento.",[469,473,474],{},"Cada entidad debe tener atributos relevantes (por ejemplo, Paciente podría tener nombre, edad, tipo de mascota; Propietario podría tener nombre, dirección, número de contacto; Cita Médica podría tener fecha, hora, paciente asociado; Tratamiento podría tener descripción, costo, paciente asociado).",[469,476,477],{},"Dependiente del tipo de mascota, el paciente podría tener atributos específicos (por ejemplo, para perros podría haber una raza, para gatos podría haber una raza y un atributo de si es de interior o exterior). Deberás manejar esta variabilidad en la información de los pacientes utilizando herencia.",[469,479,480,481,483],{},"Utiliza la clase ",[427,482,429],{}," para validar las entradas del usuario antes de almacenar o procesar la información. Asegúrate de que los datos ingresados sean válidos y estén en el formato correcto.",[469,485,486,487,490,491,493],{},"Crea una clase con el método ",[427,488,489],{},"main"," que permita a los usuarios interactuar con el sistema, permitiéndoles agregar, modificar y eliminar información de pacientes, propietarios, citas médicas y tratamientos. Utiliza la clase ",[427,492,429],{}," para validar las entradas del usuario en este proceso.",[469,495,496,497,437,499,441],{},"Asegúrate de manejar adecuadamente las excepciones que puedan surgir durante la validación de entradas, mostrando mensajes de error claros y específicos utilizando los mensajes definidos en el ",[427,498,436],{},[427,500,440],{},[469,502,503,504,506],{},"Agrega comentarios en el código para explicar la funcionalidad de cada parte y cómo se utiliza la clase ",[427,505,429],{}," para validar las entradas del usuario en el contexto del sistema de gestión de clínicas veterinarias.",[469,508,509],{},"Maneja la interacción del usuario con un menú que permita seleccionar las diferentes opciones para gestionar la información de pacientes, propietarios, citas médicas y tratamientos.",[418,511,513],{"id":512},"instrucciones","Instrucciones",[515,516,517,520,523,528,535,541,545,548,551],"ol",{},[469,518,519],{},"Crea las clases necesarias para representar las entidades principales: Paciente (mascota), Propietario, Cita Médica y Tratamiento. Asegúrate de incluir los atributos relevantes para cada entidad.",[469,521,522],{},"Utiliza la herencia para manejar la variabilidad en la información de los pacientes según el tipo de mascota.",[469,524,525,526,483],{},"Implementa la clase ",[427,527,429],{},[469,529,486,530,532,533,493],{},[427,531,489],{}," que permita a los usuarios interactuar con el sistema, permitiéndoles agregar, modificar y eliminar información de pacientes (mascotas), propietarios, citas médicas y tratamientos. Utiliza la clase ",[427,534,429],{},[469,536,496,537,437,539,441],{},[427,538,436],{},[427,540,440],{},[469,542,503,543,506],{},[427,544,429],{},[469,546,547],{},"Maneja la interacción del usuario con un menú que permita seleccionar las diferentes opciones para gestionar la información de pacientes, propietarios (cuando se ingrese un nuevo paciente, se debe asociar a un propietario existente), citas médicas (cuando se programe una nueva cita, se debe asociar a un paciente existente) y tratamientos (cuando se registre un nuevo tratamiento, se debe asociar a un paciente existente).",[469,549,550],{},"Compila y ejecuta tu programa para asegurarte de que todas las funcionalidades funcionen correctamente. Toma capturas de pantalla de la ejecución del programa mostrando el uso de las funciones para gestionar la información de pacientes, propietarios, citas médicas y tratamientos, así como los mensajes de error personalizados cuando se ingresan entradas no válidas.",[469,552,553,554,556],{},"Para efectos de evaluación, crea una presentación en donde expliquen el proceso de desarrollo del programa, las decisiones de diseño que tomaron, cómo utilizaron la clase ",[427,555,429],{}," para validar las entradas del usuario y cómo manejaron las excepciones. Así mismo durante la presentación, muestren la ejecución del programa y expliquen cómo se utilizan las diferentes funciones para gestionar la empresa agroalimentaria.",[418,558,560],{"id":559},"entrega","Entrega",[423,562,563],{},"Para la entrega deberás incluir el código fuente completo y debidamente comentado, así como un unico documento PDF que contenga los siguientes elementos:",[466,565,566,569,575,578],{},[469,567,568],{},"Portada con el título de la actividad, la lista de integrantes del equipo y el nombre del curso.",[469,570,571,572,574],{},"Código fuente completo de las clases necesarias para representar las entidades principales (Paciente, Propietario, Cita Médica y Tratamiento), la clase ",[427,573,429],{}," y el resto de las clases que hayas creado para manejar la lógica del sistema de gestión de clínicas veterinarias.",[469,576,577],{},"Capturas de pantalla de la ejecución del programa mostrando el uso de las funciones para gestionar la información de pacientes, propietarios, citas médicas y tratamientos, así como los mensajes de error personalizados cuando se ingresan entradas no válidas.",[469,579,580,581,583],{},"Una breve explicación de cómo se utiliza la clase ",[427,582,429],{}," para validar las entradas del usuario en el contexto del sistema de gestión de clínicas veterinarias y cómo se manejan las diferentes entidades y sus relaciones (por ejemplo, cómo se asocian los pacientes con sus propietarios, cómo se programan las citas médicas para los pacientes, cómo se registran los tratamientos para los pacientes, etc.).",[418,585,5],{"id":586},"evaluación",[423,588,589],{},"La evaluación se basará en los siguientes criterios:",[591,592,593,606],"table",{},[594,595,596],"thead",{},[597,598,599,603],"tr",{},[600,601,602],"th",{},"Criterio",[600,604,605],{},"Puntos",[607,608,609,618,625,636,643,650,657],"tbody",{},[597,610,611,615],{},[612,613,614],"td",{},"Implementación de las clases para representar las entidades principales (Paciente, Propietario, Cita Médica y Tratamiento)",[612,616,617],{},"20%",[597,619,620,623],{},[612,621,622],{},"Uso de la herencia para manejar la variabilidad en la información de los pacientes según el tipo de mascota",[612,624,617],{},[597,626,627,633],{},[612,628,629,630,632],{},"Implementación de la clase ",[427,631,429],{}," para validar las entradas del usuario",[612,634,635],{},"10%",[597,637,638,641],{},[612,639,640],{},"Funcionalidad del sistema para gestionar la información de pacientes, propietarios, citas médicas y tratamientos",[612,642,617],{},[597,644,645,648],{},[612,646,647],{},"Manejo adecuado de excepciones y mensajes de error claros y específicos",[612,649,635],{},[597,651,652,655],{},[612,653,654],{},"Calidad del código (comentarios, organización, legibilidad)",[612,656,635],{},[597,658,659,662],{},[612,660,661],{},"Presentación del proceso de desarrollo, decisiones de diseño y demostración del programa",[612,663,635],{},[423,665,666],{},"Toma en consideración que la evaluación se basará en la calidad y funcionalidad del programa, así como en la claridad de la presentación. Por ende es importante que todos los integrantes del equipo participen activamente en el desarrollo del programa y en la defensa del mismo durante la presentación. Además, se valorará la creatividad y la originalidad en el diseño del programa, siempre y cuando se cumplan los requisitos establecidos en las instrucciones.",[423,668,669,670,674],{},"Por último, ",[671,672,673],"strong",{},"es indispensable la presentación del programa para la evaluación",", por lo que se recomienda practicar la presentación con anticipación para asegurarse de que todos los integrantes del equipo estén familiarizados con el programa y puedan explicar claramente su funcionamiento durante la presentación, ya que la ausencia del equipo o parte de este durante la presentación resultará en una calificación de cero (0) para esta actividad, sin importar la calidad del programa y la documentación entregada, para los integrantes que no asistan a la presentación.",{"title":676,"searchDepth":677,"depth":677,"links":678},"",2,[679,680,681,682,683,684],{"id":420,"depth":677,"text":421},{"id":444,"depth":677,"text":445},{"id":463,"depth":677,"text":464},{"id":512,"depth":677,"text":513},{"id":559,"depth":677,"text":560},{"id":586,"depth":677,"text":5},"Desarrolla un sistema de gestión para una clínica veterinaria que permita a los usuarios gestionar la información de los pacientes (mascotas), sus propietarios, las citas médicas y los tratamientos. Utiliza la clase InputValidator para validar las entradas del usuario.","md",null,{"editButton":42},{"icon":105},{"title":389,"description":685},"fOBRrAova75UYh8knPT9zTnfWhnIFnYmne-1Da1tSSc",[693,695],{"title":385,"path":386,"stem":387,"description":694,"icon":105,"children":-1},"Desarrolla un programa para gestionar una empresa agroalimentaria que permita a los usuarios ingresar información sobre los productos, como el nombre, la cantidad, el precio y la fecha de vencimiento. Utiliza la clase InputValidator para validar las entradas del usuario y asegúrate de manejar adecuadamente las excepciones que puedan surgir durante la validación.",{"title":393,"path":394,"stem":395,"description":696,"children":-1},"Definir un proyecto evolutivo utilizando la metodología de desarrollo incremental en POO.",1779479578232]