Algorithmique impérative/Exercices
Types, expressions et opérateurs
modifierQuestions théoriques
modifier- Citez des exemples de types
- Donnez un opérateur polymorphe
- Écrire un programme qui saisit trois nombres dans un ordre donné et les fait sortir dans l'ordre inverse d'entrée.
Solutions :
- booléen, entier, réel, caractère, chaîne de caractères
- + (polymorphe car fonctionne avec des entiers et des réels)
Types et valeurs
modifierDonner le type des expressions suivantes et leur valeur
- 0
- 1+2
- 0.0+1.0
- "a"
- "a"."b"="b"
- "a"."b"
Donner le type de a et de l'expression :
- a+1
- a."b"
- a=1.0
Solutions
modifier- entier : 0
- entier : 3
- réel : 1.0
- caractère : "a"
- booléen : FAUX
- chaîne de caractères : "ab"
Questions avec la variable a :
- entier ; a entier
- chaîne de caractères : a caractère ou chaîne de caractères
- booléen : a réel
Calcul booléen
modifierQuelle est la valeur de ces expressions booléennes ?
- non(VRAI)
- VRAI et FAUX
- FAUX ou FAUX
- VRAI et VRAI
- non(FAUX ou VRAI)
- FAUX et ((VRAI et VRAI) ou (VRAI et (FAUX ou (VRAI et FAUX)))))
- VRAI ou (VRAI et (FAUX ou ((FAUX et VRAI) ou VRAI)))
a
et b
sont des booléens, simplifier les expressions :
- non(non(a))
- non(non(non(b)))
- faux ou a
- faux et a
- vrai et a
- vrai ou a
- a et non(a)
- a ou non(a)
- non(a=b) et (a=b)
Solutions
modifier- FAUX
- FAUX
- FAUX
- VRAI
- FAUX
- Il suffit de lire "FAUX et ..." au début de l'expression pour savoir tout de suite le résultat. Quel que soit ce qu'il y avait après le
et
cela aurait été FAUX. - De même, il suffit de lire "VRAI ou ..." au début de l'expression pour savoir tout de suite le résultat : peu importe ce qu'il y a après le
ou
, cela aurait été VRAI - ...
Simplifications :
- a
- non(b)
- a
- faux
- a
- vrai
- faux
- vrai
- faux
Condition
modifierDonner un extrait d'algorithme équivalent à celui-ci sans utiliser de sinon
:
si condition alors instruction1 sinon instruction2
Solution
modifiersi condition alors instruction1 finsi si non(condition) alors instruction2 finsi
Boucles
modifier13 à 47
modifierDonner une boucle qui affiche les entiers de 13 à 47
Solution:
Pour i de 13 à 37 Afficher(i) FP
de 5 en 5
modifierDonner une boucle affichant les entiers de 5 en 5 et de 5 à 100
Solutions :
i←0 Répéter i←i+5 afficher(i) Jusqu'à i=100
i←5 Répéter afficher(i) i←i+5 Jusqu'à i=105
pour i de 5 à 100 si i mod 5 = 0 alors afficher i fp
pour i de 1 à 20 afficher(5*i) fp
Remarque : ces algorithmes fonctionnent tous mais certains sont plus efficaces que d'autres. Cette réflexion est laissée au lecteur.
Tableaux
modifierSelon la déclaration suivante
tab : tableau 0 à 10 de T
Combien le tableau a-t-il d'éléments ? 9, 10, 11 ?
Le tableau contient 11 éléments.
Procédures et fonctions
modifierÉcrire des fonctions en procédures, des procédures en fonctions.