Pregunta 1.a · Prácticas de programación UOC 2021
Tema: Especificación: precondiciones y postcondiciones · Del examen Examen de síntesis de Prácticas de programación (Convocatoria de enero 2021) (2021)
Enunciado
Tomando como base el modelo de administración de puestos de trabajo de un espacio colaborativo (coworking), disponemos de las definiciones de tipos y constantes especificadas a continuación:
const
MAX_SPACES: integer:= 50;
MAX_ANNEXES: integer:= 3;
PRICE_TABLEFLEX: real:= 50.00;
PRICE_TABLEFIX: real:= 80.00;
PRICE_OFFICEFIX: real:= 140.00;
end const
type
tRate = {tableFlex, tableFix, officeFix};
tWorkSpace = record
id: integer;
area: real;
rate: tRate;
end record
tPartner = record
id: integer;
name: string;
discount: integer;
end record
tContractAnnex = record
idWorkSpace: integer;
price: real;
end record
tContract = record
idPartner: integer;
month: integer;
year: integer;
annexesSet: vector[MAX_ANNEXES] of tContractAnnex;
numAnnex: integer;
end record
tCoworking = record
workSpaceSet: vector[MAX_SPACES] of tWorkSpace;
numWorkSpaces: integer;
partnersSet: pointer to tPartner;
numPartners: integer;
contractsSet: pointer to tContract;
numContracts: integer;
end record
end type
Se plantea el desarrollo de una acción/función con la signatura:
function first_partner(c: tCoworking): string
Su cometido reside en retornar el nombre del miembro asociado a la contratación más antigua registrada. Si aconteciera un empate temporal exacto entre varios acuerdos, se desempatará seleccionando aquel cuyo número de identificación de contrato sea estrictamente inferior.
a.
[10%] Detalla razonadamente en una o dos frases la precondición matemática o lógica requerida para first_partner, partiendo de la premisa de que la compañía alberga un mínimo de un asociado, un espacio físico y una vinculación contractual dada de alta.

Solución
Según los criterios oficiales de corrección
a. [10%] Detalla razonadamente en una o dos frases la precondición matemática o lógica requerida para first_partner, partiendo de la premisa de que la compañía alberga un mínimo de un asociado, un espacio físico y una vinculación contractual dada de alta.
Solución: Pre: { c = C y C.numPartners >= 1 y C.numWorkSpaces >= 1 y C.numContracts >= 1 }
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 · 2023 · Pregunta 1.a · 2021 ›