Ejercicio 12 - b (Wikipedia)

Ejercicio 12 - b (Wikipedia)

de Alexis Sokorov Vargas -
Número de respuestas: 1

Buenas, hay algo que no me cierra sobre la solución de este ejercicio:


En el for cuando estás comparando los idiomas de los artículos, ¿por qué es esa la invocación de la función de la parte (a)? Es decir, no entiendo cómo se está invocando a la función esPosterior con wiki[j].ultima_act, art.ultima_act cuando éste retornaba un boolean. Además no me queda claro esos parámetros que se usan al momento de invocar a esPosterior

En respuesta a Alexis Sokorov Vargas

Re: Ejercicio 12 - b (Wikipedia)

de Felipe Miranda Torres De La Llosa -
Hola Alexis, ¿cómo andas?

Vos estás buscando el artículo más reciente de cierto idioma, entonces iteras por los artículos de la wiki (en el for) y si tiene el idioma buscado (wiki[j].idioma = idioma), lo comparas con el más reciente hasta el momento. Esto último lo haces con la función de la parte 1, pasando como primer parámetro la fecha del artículo en el que estás parado dentro de la iteración (el artículo j) a la que accedes como "wiki[j].ultima_act" (podés ver la definición de tipos para ver que esto es de tipo TFecha), y como segundo parámetro la fecha del artículo más reciente que has encontrado hasta el momento (art.ultima_act).
Ahora, si la función devuelve true, el artículo de la posición j es tu nuevo más reciente, la condición del if se cumple, y actualizas art (parámetro por referencia donde guardo el más reciente) con la instrucción art := wiki[j].
Por las dudas, la invocación a la función de "esPosterior" es parte de la condición del if.

Saludos,
Felipe