Algorithmique impérative/Exercices

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

Questions théoriques modifier

  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

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

  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

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

  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

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

si condition
  alors instruction1
  sinon instruction2

Solution modifier

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

Boucles modifier

13 à 47 modifier

Donner une boucle qui affiche les entiers de 13 à 47

Solution:

Pour i de 13 à 37
  Afficher(i)
FP

de 5 en 5 modifier

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

Selon la déclaration suivante

tab : tableau 0 à 10 de T

Procédures et fonctions modifier

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