Cita:  Es una pregunta del examen que se hizo en el año pasado, por mucho que mire la teoria no consigo entenderlo.
    NO hay mucha teoría en eso. Es algoritmia básica. SImplemente sigues la lógica y verificas que valores va a adoptando.  
 Cita:  En particular, no entiendo porqué, en la línea 7 escribe RETORNO, si no devuelve nada
    ¿En serio?
¿Notaste que la variable 
c, que es parámetro de entrada, es la que se usa dentro del body del algoritmo para realizar cambios en su valor?
Bueno, algunos lenguajes (no todos) devuelven valores por su nombre, y otros devuelven valores por parámetro. 
En cualquier caso, es irrelevante, porque no estás programando, estás haciendo 
pseudocódigo, y un pseudocódigo no tiene reglas de sintaxis.
Es para determinar la 
lógica del algoritmo a usar.