> il me semble que l'algorithme proposé par le corrigé peut ne rien
renvoyer si u est plus grand que taille(L)
> et v plus petit que
taille(L).
> Est-ce correct?
Non ce n'est pas correct : si i u est plus grand que taille(L) et v plus petit que
taille(L), alors c est mis à 0, la boucle for ne se fait pas (rappel (revoir si nécessaire le document « Comment bien écrire un algorithme ») : par convention, une boucle ne se fait pas si elle décrit l'ensemble vide) et donc on sort 0.
Cela devrait également répondre à votre deuxième question.
Ceci dit, ici c'est VOUS qui deviez écrire l'algorithme, donc vous pouvez tout à fait ajouter un « SI ... » si vous n'êtes pas à l'aise avec cette convention d'écriture sur les boucles. Cela ne sera bien sûr pas pénalisé (on ne vous a pas demandé l'algorithme le plus court, mais UN algorithme).