Algorithmique impérative/Exercices

Un livre de Wikilivres.
Algorithmique impérative
PyQt
PyQt
Sommaire
Théorie de l'algorithmique impérative
  1. Qu'est ce qu'un algorithme impératif Fait à environ 50 %
  2. Les types, les opérateurs et les expressions Fait à environ 50 %
  3. Les constantes, les variables Fait à environ 50 %
  4. Les instructions, les blocs d'instructions Fait à environ 50 %
  5. L'assignation Fait à environ 50 %
  6. Les exécutions conditionnelles Fait à environ 50 %
  7. Les structures itératives Fait à environ 50 %
  8. Les tableaux Fait à environ 50 %
  9. Les procédures et les fonctions Ébauche
  10. Le type enregistrement Fait à environ 50 %
  11. L'algorithme au final : vue d'ensemble En cours
  12. Exercices En cours
Outils de travail
Problèmes posés, analysés, résolus et commentés
Annexes
Modifier ce modèle ce sommaire

Types, expressions et opérateurs[modifier | modifier le wikicode]

Questions théoriques[modifier | modifier le wikicode]

  1. Citez des exemples de types
  2. Donnez un opérateur polymorphe
  3. Écrire un programme qui saisit trois nombres dans un ordre donné et les fait sortir dans l'ordre inverse d'entrée.

Solutions :

  1. booléen, entier, réel, caractère, chaîne de caractères
  2. + (polymorphe car fonctionne avec des entiers et des réels)

Types et valeurs[modifier | modifier le wikicode]

Donner le type des expressions suivantes et leur valeur

  1. 0
  2. 1+2
  3. 0.0+1.0
  4. "a"
  5. "a"."b"="b"
  6. "a"."b"

Donner le type de a et de l'expression :

  1. a+1
  2. a."b"
  3. a=1.0

Solutions[modifier | modifier le wikicode]

  1. entier : 0
  2. entier : 3
  3. réel : 1.0
  4. caractère : "a"
  5. booléen : FAUX
  6. chaîne de caractères : "ab"

Questions avec la variable a :

  1. entier ; a entier
  2. chaîne de caractères : a caractère ou chaîne de caractères
  3. booléen : a réel

Calcul booléen[modifier | modifier le wikicode]

Quelle est la valeur de ces expressions booléennes ?

  1. non(VRAI)
  2. VRAI et FAUX
  3. FAUX ou FAUX
  4. VRAI et VRAI
  5. non(FAUX ou VRAI)
  6. FAUX et ((VRAI et VRAI) ou (VRAI et (FAUX ou (VRAI et FAUX)))))
  7. VRAI ou (VRAI et (FAUX ou ((FAUX et VRAI) ou VRAI)))

a et b sont des booléens, simplifier les expressions :

  1. non(non(a))
  2. non(non(non(b)))
  3. faux ou a
  4. faux et a
  5. vrai et a
  6. vrai ou a
  7. a et non(a)
  8. a ou non(a)
  9. non(a=b) et (a=b)

Solutions[modifier | modifier le wikicode]

  1. FAUX
  2. FAUX
  3. FAUX
  4. VRAI
  5. FAUX
  6. 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.
  7. 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
  8. ...

Simplifications :

  1. a
  2. non(b)
  3. a
  4. faux
  5. a
  6. vrai
  7. faux
  8. vrai
  9. faux

Condition[modifier | modifier le wikicode]

Donner un extrait d'algorithme équivalent à celui-ci sans utiliser de sinon :

si condition
  alors instruction1
  sinon instruction2

Solution[modifier | modifier le wikicode]

si condition
  alors instruction1
finsi
si non(condition)
  alors instruction2
finsi

Boucles[modifier | modifier le wikicode]

13 à 47[modifier | modifier le wikicode]

Donner une boucle qui affiche les entiers de 13 à 47

Solution:

Pour i de 13 à 37
  Afficher(i)
FP

de 5 en 5[modifier | modifier le wikicode]

Donner 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[modifier | modifier le wikicode]

Selon la déclaration suivante

tab : tableau 0 à 10 de T

Procédures et fonctions[modifier | modifier le wikicode]

Écrire des fonctions en procédures, des procédures en fonctions.