Exercice 1 - Free

Exercices Algorithmique 1 ... Exercice 1.1 ..... Cette version de corrigé n'est pas
très optimisée car on peut constater qu'on effectue 2 fois le même calcul : temps ...

Part of the document


Exercices Algorithmique



Exos :Variables

Exercice 1.1
Quelles seront les valeurs des variables A et B après exécution des
instructions suivantes ?


Var A, B : Entier
Début
A < 1
B < A + 3
A < 3
Fin
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


[pic]
Exercice 1.2
Quelles seront les valeurs des variables A, B et C après exécution des
instructions suivantes ?


Var A, B, C : Entier
Début
A < 5
B < 3
C < A + B
A < 2
C < B - A
Fin
Exercice 1.2
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


Exercice 1.3
Quelles seront les valeurs des variables A et B après exécution des
instructions suivantes ?


Var A, B : Entier
Début
A < 5
B < A + 4
A < A + 1
B < A - 4
Fin


Exercice 1.3
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




Exercice 1.4
Quelles seront les valeurs des variables A, B et C après exécution des
instructions suivantes ?


Var A, B, C : Entier
Début
A < 3
B < 10
C < A + B
B < A + B
A < C
Fin

Exercice 1.4
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



Exercice 1.5
Quelles seront les valeurs des variables A et B après exécution des
instructions suivantes ?


Var A, B : Entier
Début
A < 5
B < 2
A < B
B < A
Fin


Moralité : les deux dernières instructions permettent-elles d'échanger
les deux valeurs de B et A ? Si l'on inverse les deux dernières
instructions, cela change-t-il quelque chose ?
Exercice 1.5
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.



Exercice 1.6
Plus difficile, mais c'est un classique absolu, qu'il faut absolument
maîtriser : écrire un algorithme permettant d'échanger les valeurs de
deux variables A et B, et ce quel que soit leur contenu préalable.
Exercice 1.6
Début
...
C < A
A < B
B < C
Fin


On est obligé de passer par une variable dite temporaire (la variable
C).
[pic]
Exercice 1.7
Une variante du précédent : on dispose de trois variables A, B et C.
Ecrivez un algorithme transférant à B la valeur de A, à C la valeur de
B et à A la valeur de C (toujours quels que soient les contenus
préalables de ces variables).

Exercice 1.7
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...

Exo : Expressions et opérateurs

Exercice 1.8
Que produit l'algorithme suivant ?
Var A, B, C : Chaîne


Début
A < "423"
B < "12"
C < A + B
Fin
Exercice 1.8
Il ne peut produire qu'une erreur d'exécution, puisqu'on ne peut pas
additionner des caractères.

[pic]
Exercice 1.9
Que produit l'algorithme suivant ?
Var A, B : Chaîne


Début
A < "423"
B < "12"
C < A & B
Fin
Exercice 1.9
En revanche, on peut les concaténer. A la fin de l'algorithme, C
vaudra donc "42312".


Exos : Instructions d'écriture et de lecture


Exercice 2.1
Quel résultat produit le programme suivant ?


Var val, double : numériques
Début
Val < 231
Double = Val * 2
Ecrire Val
Ecrire Double
Fin
Exercice 2.1
On verra apparaître à l'écran 231, puis 462 (qui vaut 231 * 2)


[pic]
Exercice 2.2
Ecrire un programme qui demande un nombre à l'utilisateur, puis qui
calcule et affiche le carré de ce nombre.
Exercice 2.2
Var nb, carr : Entier
Début
Ecrire "Entrez un nombre :"
Lire nb
carr < nb*nb
Ecrire "Son carré est : ", carr
Fin
En fait, on pourrait tout aussi bien économiser la variable carr en
remplaçant les deux avant-dernières lignes par :
Ecrire "Son carré est : ", nb*nb
C'est une question de style ; dans un cas, on privilégie la lisibilité
de l'algorithme, dans l'autre, on privilégie l'économie d'une
variable.



Exercice 2.3
Lire 2 nombres a et b. Calculer et afficher leur moyenne.

Exercice 2.3
Var
a,b : Entier
moy : Réel
Ecrire "Saisir a"
Lire a
Ecrire " Saisir b"
Lire b
moy ( (a + b) / 2
Ecrire "Moyenne=", moy

Exercice 2.3b
Ecrire un programme qui lit le prix HT d'un article, le nombre
d'articles et le taux de TVA, et qui fournit le prix total TTC
correspondant. Faire en sorte que des libellés apparaissent
clairement.


Exercice 2.3b
Var pht, ttva, pttc : Réel
Var nb : Entier
Début
Ecrire "Entrez le prix hors taxes :"
Lire pht
Ecrire "Entrez le nombre d'articles :"
Lire nb
Ecrire "Entrez le taux de TVA :"
Lire ttva
pttc < nb * pht * (1 + ttva)
Ecrire "Le prix toutes taxes est : ", pttc
Fin
Là aussi, on pourrait squeezer une variable et une ligne en écrivant
directement. :
Ecrire " Le prix toutes taxes est : ", nb * pht * (1 + ttva)
C'est plus rapide, plus léger en mémoire, mais plus difficile à relire
(et à écrire !)
Exercice 2.4
Ecrire un algorithme utilisant des variables de type chaîne de
caractères, et affichant quatre variantes possibles de la célèbre
« belle marquise, vos beaux yeux me font mourir d'amour ». On ne se
soucie pas de la ponctuation, ni des majuscules.
Exercice 2.4
Var t1, t2, t3, t4 : Caractère
Début
t1 < "belle Marquise"
t2 < "vos beaux yeux"
t3 < "me font mourir"
t4 < "d'amour"
Ecrire t1 & " " & t2 & " " & t3 & " " & t4
Ecrire t3 & " " & t2 & " " & t4 & " " & t1
Ecrire t2 & " " & t3 & " " & t1 & " " & t4
Ecrire t4 & " " & t1 & " " & t2 & " " & t3
Fin



Exercice 2.5

Trophée Lancôme


Tous les ans, au mois d'octobre, est organisé à Saint-Nom-la-Bretèche,
l'Open de golf "Trophée Lancôme". Les distances des parcours sont indiquées
en yard (1 yard = 0,91 mètre). Afin de rendre plus compréhensif pour le
spectateur les rudiments du golf, les organisateurs ont décidé d'utiliser
un convertisseur Yard/Mètre. Pour cela il vous demande de réaliser un
algorithme permettant d'afficher la distance d'un parcours en mètre en
saisissant sa longueur en yard.

Réalisez l'algorithme.

Exercice 2.5
Var DY, DM : RéeL
Début
Ecrire "Distance en Yard ?"
Lire DY
DM< DY * 0.91
Ecrire "Distance en mètres :", DM
Fin
Exercice 2.6
Ecrire un programme qui lit 4 notes d'un élève et qui calcule et
affiche sa moyenne.


Exercice 2.6
Var Note1, Note2, Note3, Note4 : Réel
Début
Ecrire "Entrez la première note :"
Lire Note1
Ecrire "Entrez la deuxième note :"
Lire Note2
Ecrire "Entrez la troisième note :"
Lire Note3
Ecrire "Entrez la quatrième note :"
Lire Note4
Ecrire "Entrez la première note :"
Lire Note1
Ecrire "La moyenne des 4 notes est : ",
(note1+note2+note3+note4)/4
Fin


Exercice 2.7


Ecrire un algorithme qui calcule le salaire brut et le salaire net d'un
fonctionnaire dont l'indice en nombre de points est saisi et qui affiche
ensuite un résultat semblable à l'exemple suivant :

Indice = 500
Prix du point =10.5
Taux de retenue = 0.1
Salaire brut = 5250
Salaire net = 4725


et sachant que la valeur d'un point est 10,50E et les retenues représentent
1/10 du salaire brut.

La règle de calcul du salaire net est la suivante

salaire net = (indice * valeur du point) * (1 - taux de retenue).
Ici, 1- taux de retenue a pour valeur 0.9.




Exercice 2.7
Faire plusieurs fois le même calcul qui utilise les mêmes valeurs est un
défaut car cela sollicite plusieurs fois le processeur pour rien. Ce qu'il
faut faire : c'est effectuer une seule fois le calcul et ranger son
résultat dans une variab