PARTIE 1
Corrigés des Exercices
Exercice 1.1
Après La valeur des variables est :
A ← 1 A = 1 B = ?
B ← A + 3 A = 1 B = 4
A ← 3 A = 3 B = 4
Après La valeur des variables est :
A ← 5 A = 5 B = ? C = ?
B ← 3 A = 5 B = 3 C = ?
C ← A + B A = 5 B = 3 C = 8
A ← 2 A = 2 B = 3 C = 8
C ← B – A A = 2
B = 3 C = 1
Après La valeur des variables est :
A ← 5 A = 5 B = ?
B ← A + 4 A = 5 B = 9
A ← A + 1 A = 6 B = 9
B ← A – 4 A = 6
B = 2
Après La valeur des variables est :
A ← 3 A = 3 B = ? C = ?
B ← 10 A = 3 B = 10 C = ?
C ← A + B A = 3 B = 10 C = 13
B ← A + B A = 3 B = 13 C = 13
A ← C A = 13
B = 13 C = 13
Après La valeur des variables est :
A ← 5 A = 5 B = ?
B ← 2 A = 5 B = 2
A ← B A = 2 B = 2
B ← A A = 2
B = 2
Les deux
dernières instructions ne permettent donc pas d’échanger les deux
valeurs de B et A, puisque l’une des deux valeurs (celle de A) est ici
écrasée.
Si l’on inverse les deux dernières instructions, cela ne
changera rien du tout, hormis le fait que cette fois c’est la valeur de
B qui sera écrasée.
Début
…
C ← A
A ← B
B ← C
Fin
Il existe différentes solutions possibles (comme toujours), mais le plus simple est de passer par une variable dite temporaire (la variable C).
Début
…
D ← C
C ← B
B ← A
A ← D
Fin
En fait, quel que soit le nombre de variables, une seule variable temporaire suffit…
Il ne peut produire qu’une erreur d’exécution, puisqu’on ne peut pas additionner
des caractères.
…En revanche, on peut les concaténer. A la fin de l’algorithme, C vaudra donc "42312".
|