Ejercicio 2.a - Comprensión de algoritmos · Fundamentos de Programación UOC Juny 2022
Tema: Comprensión de algoritmos: describir qué hace un fragmento · Del examen Juny (2022)
Enunciado
Ejercicio 2 (20% del total). Lectura y diseño de algoritmos sobre tablas y registros
Se dispone de las siguientes estructuras de datos y de la definición del subprograma mysteryAction:
const
MAX_VIDEOGAMES: integer = 100;
end const
type
tAgeCategories = {AGE3, AGE12, AGE18}
{ Rangos: AGE3 (3 a 11 años), AGE12 (12 a 17 años) y AGE18 (18 o más años) }
tVideoGame = record
title: string;
price: real; { importe en euros }
recommendedAge: tAgeCategories;
end record
tVideoGamesTable = record
nVideoGames: integer;
vGamesSummary: vector[MAX_VIDEOGAMES] of tVideoGame;
end record
end type
action mysteryAction(in games: tVideoGamesTable,
out res1: integer, out res2: integer, out res3: integer)
var
i: integer;
end var
res1:= 0;
res2:= 0;
res3:= 0;
for i:= 1 to games.nVideoGames do
if games.vGamesSummary[i].recommendedAge = AGE3 then
res1:= res1 + 1;
else
if games.vGamesSummary[i].recommendedAge = AGE12 then
res2:= res2 + 1;
else
res3:= res3 + 1;
end if;
end if;
end for
end action
a.
Describe con claridad la finalidad y el comportamiento funcional que desempeña la acción mysteryAction.

Solución
Según los criterios oficiales de corrección
a. Describe con claridad la finalidad y el comportamiento funcional que desempeña la acción mysteryAction.
Solución: La acción recorre secuencialmente las posiciones ocupadas de la estructura games (desde la primera casilla hasta la indicada por el contador nVideoGames) para contabilizar cuántos títulos pertenecen a cada franja etaria. Asigna en los parámetros de salida los totales correspondientes: res1 recopila la cantidad de títulos para edades de 3 a 11 años (AGE3), res2 para edades de 12 a 17 años (AGE12) y res3 para mayores de edad (AGE18).
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.