Aplicaciones Tda
1. Aplicación
Se le solicita un sistema para el manejo de dietas de los pacientes de un consultorio. Se tendrán un conjunto de alimentos de los cuales se conocerán sus características básicas (proteínas, calorías, colesterol, grasa total, vitaminas (a, b, etc.), nivel de fibra soluble, nivel de fibra no soluble). Por otro lado se encuentra un conjuntode pacientes los cuales cuentan con un historial que determina una dieta en particular, es decir, el historial del paciente puede indicar diabetes, insuficiencia de vitamina x, etc. Además se cuenta con un conjunto de recetas, cada una de las cuales utiliza un conjunto limitado de alimentos. A partir de esta información el sistema debe crear una dieta semanal tal que se cumplan lo requerimientosdel paciente y no se repitan las recetas utilizadas (sólo se puede realizar una receta una vez a la semana).
1. Defina el (los) TDA(s) necesarios involucrados en el problema. Justifique.
2. Defina las implementaciones a utilizar. Justifique.
3. Realice en pseudocódigo utilizando los TDA
a. El proceso de verificar si una dieta X cumple con los requerimientos de unpaciente Y.
1. Pacientes: TDA Lista, puesto que se puede atender a cualquier paciente en cualquier momento por lo que se requiere acceso a cualquier posición.
Características: TDA Lista, puede ser otro si se justifica una implementación tal que siempre se pueda seguir un orden de acceso, para no restringir dicho acceso y hacerlo aleatorio utilizo TDA Lista.
Alimentos: TDA Lista, puestoque se debe tener acceso a cualquier alimento, ya que las recetas no los contienen en orden.
Nombres_Alimentos: TDA Lista, idem Alimentos
Historial: TDA Lista, misma justificación que para Características.
Recetas: TDA Lista, se deben acceder a todas sin perder ninguna para encontrar las adecuadas para un paciente.
La dieta se representa con un TDA Recetas
2. Pacientes: Punteros,se desconoce la cantidad de pacientes potenciales. Datos: Nombre paciente, rut, Historial.
Historial: Punteros, el paciente puede tener diverso número de enfermedades que pueden variar con el tiempo. Datos: Enfermedad, Características
Alimentos: Punteros, se desconoce el número de alimentos con que se trabaja. Datos: nombre, Características
Características: Punteros, no se conoce cuantoscomplejos vitamínicos se están utilizando (se acepta arreglos si se restringe a la frase ”se conocerán sus características básicas” y se agrega alguna otra justificación válida). Datos: característica, cantidad.
Nombres_Alimentos: Punteros, al igual que alimentos
Recetas: Punteros, se desconoce la cantidad de recetas con que cuenta el consultorio. Datos: nombre Receta, Nombre_AlimentosDieta: punteros (se reutiliza a Recetas, por lo que aunque sean sólo 7 usamos punteros)
3. Verificar(Dieta X, Paciente Y, Alimentos Alim)
{
Historial auxiliar
Si(Verifica_Repeticion(X)==verdadero)
retornar falso //existe repetición
pos_dieta=Primero(X)
Mientras(pos_dieta!=Fin(X)) //recorro cada una de las recetas en la dietaN_Alimentos=Obtener_Alimentos(Recuperar(pos_dieta, X))
pos_alim=Primero(N_Alimentos)
Mientras(pos_alim!=Fin(N_Alimentos)) //recorro cada alimento de la receta
pos_alimento= Primero(Alim)
Mientras(pos_alimento!= Fin(Alim))Si(nombre(recuperar(pos_alim,N_Alimentos))==nombre(recuperar(pos_alimento,Alim)))
característica= Obtener_Caracter(Recuperar(pos_alimento,Alim))
pos_carac=Primero(caracteristica)
Mientras(pos_carac != Fin(caracteristica))...
Regístrate para leer el documento completo.