Ejercicio 2.a · Fundamentos de Programación UOC Juny 2022
Tema: Comprensión de algoritmos: describir qué hace un fragmento · Del examen Juny (2022)
Enunciado
A partir de la definición de tipos y la acción que se presentan a continuación:
const
MAX_SALES: integer = 20;
end const
type
tSale = record
sellPrice: real; { importe de venta en euros }
costPrice: real; { importe de coste en euros }
end record
tSaleTable = record
nSales: integer; { total de ventas registradas }
salesSummary: vector[MAX_SALES] of tSale; { lista de ventas }
end record
end type
action mysteryAction(in sales: tSaleTable, out res1: integer, out res2: real)
var
i: integer;
end var
res1:= 0;
res2:= 0.0;
for i:= 1 to sales.nSales do
if sales.salesSummary[i].sellPrice < sales.salesSummary[i].costPrice then
res1:= res1 + 1;
res2:= res2 + (sales.salesSummary[i].costPrice - sales.salesSummary[i].sellPrice);
end if
end for
end action
a. Explicad detalladamente qué tarea realiza la acción mysteryAction, especificando qué información almacenan los parámetros de salida res1 y res2.

Solución
Según los criterios oficiales de corrección
a. Explicad detalladamente qué tarea realiza la acción mysteryAction, especificando qué información almacenan los parámetros de salida res1 y res2.
Solución: La acción recorre los registros de operaciones almacenados en sales. Cada vez que detecta una transacción con pérdidas (es decir, en la que el importe de venta resulta estrictamente menor que el coste de adquisición), incrementa el contador res1 (número de ventas deficitarias) y acumula en res2 el total monetario de las pérdidas producidas por dichas operaciones.
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.
‹ Ejercicio 2.a - Comprensión de algoritmos · Juny 2022 · Ejercicio 2.a - Comprensión de algoritmos · Juny 2022 ›