Pregunta 1.a · Prácticas de programación UOC 2021
Tema: Especificación: precondiciones y postcondiciones · Del examen Prueba de síntesis enero 2021 (2021)
Enunciado
Partiendo del modelo de datos de la gestión de espacios de trabajo compartido (coworking), se definen las siguientes constantes y tipos:
const
MAX_ANNEXES: integer:= 3;
end const
type
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
partnersSet: pointer to tPartner;
numPartners: integer;
contractsSet: pointer to tContract;
numContracts: integer;
end record
end type
Se plantea la especificación de la siguiente función:
function top_clients (c: tCoworking; x: integer): integer
Dicha función computa y retorna la cantidad de socios ( partners) que cuentan con más de contratos que posean el número máximo permitido de anexos.
a. Indica las precondiciones formales requeridas por la función top_clients considerando que la empresa dispone como mínimo de un socio y que el valor de es estrictamente mayor que cero. Justifica la formulación en una o dos líneas.

Solución
Según los criterios oficiales de corrección
a. Indica las precondiciones formales requeridas por la función top_clients
Solución: {Pre: c.numPartners >= 1 and c.numContracts >= 0 and x > 0 and c.partnersSet <> nil}
Justifica la formulación en una o dos líneas.
Solución: Se requiere garantizar que exista al menos un socio en la estructura (numPartners >= 1) con su memoria correctamente referenciada, y que el umbral comparativo x sea estrictamente positivo (x > 0), conforme a la especificación del enunciado.
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 · 2021 · Pregunta 1.a · 2021 ›