Pregunta 1.a · Prácticas de programación UOC 2023
Tema: Especificación: precondiciones y postcondiciones · Del examen Prueba de síntesis de Prácticas de programación (Enero de 2023) (2023)
Enunciado
Pregunta 1. Gestión de personal en campañas de una ONG
En el marco del sistema informático destinado a la administración de ONGs, se definen las siguientes constantes y estructuras de datos:
// Capacidad máxima permitida para los equipos de personal
const MAX_PEOPLE: integer = 100; end const;
// Ficha de una persona vinculada a la organización
type tPerson = record
document: string;
name: string;
surname: string;
email: string;
address: string;
city: string;
birthday: tDate;
end record;
// Conjunto de miembros que forman un equipo de trabajo
type tStaff = record
elems: vector [MAX_PEOPLE] of tPerson;
count: integer;
end record;
// Identificación y pertenencia de un proyecto
type tProject = record
code: string;
ongCode: string;
end record;
// Información relativa a una campaña concreta
type tCampaign = record
project: tProject;
detail: tProjectDetail;
staff: tStaff;
end record;
// Almacén dinámico con el registro de campañas
type tCampaignData = record
elems: pointer to tCampaign;
count: integer;
end record;
// Registro general representativo de la ONG
type tONG = record
code: string;
name: string;
projects: tProjectData;
staff: tStaff;
campaigns: tCampaignData;
staffAvailability: tAvailabilityData;
end record;
Se desea implementar la siguiente acción:
action delete_person_project(inout ong: tONG, in doc: string, in projCode: string)
Dicho subprograma debe dar de baja al voluntario o trabajador cuyo documento coincida con doc en todas aquellas campañas asociadas al código de proyecto projCode dentro de la ong indicada. Asimismo, cada vez que se suprima una persona del equipo de una campaña, el vector de personal correspondiente debe mantenerse debidamente compactado (sin huecos libres intermedios).
a.
[10%] Formula en lógica de predicados la precondición para esta acción. Debe asumirse que la ONG cuenta con al menos una campaña registrada y que no existen duplicidades de personal dentro de una misma campaña (ninguna persona está repetida en el equipo de la misma campaña). Añade una breve justificación en una o dos frases.

Solución
Según los criterios oficiales de corrección
Precondición formal en lógica de predicados:
Solución:
Justificación:
Solución: La primera condición estipula que el número de campañas activas debe superar a cero. La segunda cláusula cuantifica sobre cada campaña para asegurar que no coexistan dos integrantes distintos con el mismo documento identitario.
La explicación paso a paso, hecha con IA, es Premium. Premium
Resuélvelo aquí mismo: corrección automática, pistas y solución paso a paso.
‹ Pregunta 1.a - Especificación: precondiciones y p… · 2023 · Pregunta 1.a · 2021 ›