Exercice — dans l'esprit des sujets d'informatique
On donne un programme « Inconnu » avec les procédures Inconnu1(@Ta, @X), Inconnu2(@V, X) et Affiche(T, X).
- Pour
@TadansInconnu1, s'agit-il d'un paramètre passé par valeur ou par référence ? Pourquoi le@? Inconnu1lit puis, pour , lit et faitTa[i]←z ; Ta[i+1]←Ta[i]. Quel est le rôle de cette procédure sur le tableau ?- Pourquoi
Affiche(T, X)peut-elle recevoir par valeur alors queInconnu2modifie via@V?
Voir la correction commentéeAprès avoir posé votre démarche
1. @Ta : paramètre passé par référence — la procédure peut modifier le tableau effectif du programme principal.
2. Inconnu1 remplit le tableau par paires d'éléments égaux (chaque valeur lue est dupliquée sur deux cases consécutives) après contrôle de . Rôle : saisie structurée / initialisation particulière du tableau.
3. Affiche ne modifie pas : passage par valeur suffit. Inconnu2 doit altérer : passage par référence obligatoire (@V).