Les Maths en Seconde

L'essentiel pour réussir!

Algorithmes

Exercice 1

Un premier exercice facile!
Les 4 premières questions s'adressent aux débutants. Les autres commenceront à la question 5.



1. On considère un programme associé à l'algorithme suivant:

Affecter à U la valeur 10
Lire A
Affecter à B la valeur A+U
Afficher B

Qu'affiche un programme associé à cet algorithme si A vaut 2 ?
Réécrire cet algorithme en utilisant le symbole ←

2. On considère un programme associé à l'algorithme suivant:

A ← 3
Saisir B
B ← A+B
Afficher B

Qu'affiche un programme associé à cet algorithme si B vaut 2 ?

3. On considère un programme associé à l'algorithme suivant:

Saisir B
U ← 10
Si B > U
Alors
Afficher "Trop grand"
Fin du Si
Afficher "Fin du programme"

Qu'affiche un programme associé à cet algorithme si B vaut 12 ?
Qu'affiche un programme associé à cet algorithme si B vaut 8 ?

4. On considère un programme associé à l'algorithme suivant:

Saisir B
Affecter à U la valeur 10
Si B > U
Alors
Afficher "Trop grand"
Sinon
Afficher "Trop petit ou égal"
Fin du Si
Afficher "Fin du programme"

Qu'affiche un programme associé à cet algorithme si B vaut 8 ?

5.a. La valeur saisie dans l'algorithme suivant est une note entre 0 et 20.
Compléter l'algorithme pour qu'il affiche:
"faible" si la note est strictement inférieure à 8,
"moyen" si la note est comprise entre 8 et 12,
"fort" si la note est strictement supérieure à 12.

Saisir A
Si A < 8
Alors
    Afficher ...
Sinon
   Si A > ...
   Alors
      Afficher ...
   Sinon
      Afficher ...
   Fin du Si
Fin du Si

Remarquer l'indentation (c'est à dire le décalage vers la droite) sur certaines lignes.
Cette indentation n'est pas obligatoire dans l'écriture d'un algorithme, mais elle en facilite la compréhension.


5.b. Le programme suivant (écrit en Python) devrait être conforme à l'algorithme proposé, mais il comporte 3 erreurs. Les trouver, et les corriger!
fig3

6. Compléter l'algorithme suivant pour qu'il affiche le plus grand des 3 nombres A, B et C:

Saisir A
Saisir B
Saisir C
Afficher "Le plus grand est: "
Si A > B
Alors
   Si A > C
   Alors
      Afficher ...
   Sinon
      Afficher ...
   Fin du Si
Sinon
   Si B > C
   Alors
      Afficher ...
   Sinon
      Afficher ...
   Fin du Si
Fin du Si

Détailler le fonctionnement de cet algorithme pour A=7, B=12, C=8, puis pour pour A=15, B=12, C=17.

Solution...

Corrigé

On note que l'instruction "Affecter à U la valeur 10" peut aussi s'écrire "U prend la valeur 10".
Elle peut aussi s'écrire "U ← 10".
On note que l'instruction "Lire A" peut aussi s'écrire "Saisir A".


1. programme
Affecter à U la valeur 10
Lire A
Affecter à B la valeur A+U
Afficher B

Fonctionnement du programme:
U=10
A=2
B=2+10=12
Il s'affiche 12

Réécriture du programme:
U ← 10
Lire A
B ← A+U
Afficher B

2. programme
A ← 3
Saisir B
B ← A+B
Afficher B

Fonctionnement du programme:
A=3
B=2
B=3+2=5
Il s'affiche 5

3. programme
Saisir B
U ← 10
Si B > U
Alors
Afficher "Trop grand"
Fin du Si
Afficher "Fin du programme"

On note qu'une instruction "Si" est toujours suivie par un "Alors",
et qu'elle se termine par un "Fin du Si".

Fonctionnement du programme pour B=12:

B=12
U=10
On a: B > U; il s'affiche "Trop grand"
Il s'affiche "Fin du programme"

Fonctionnement du programme pour B=8:

B=8
U=10
On n'a pas: B > U; on passe donc à l'instruction suivant la Fin du Si
Il s'affiche "Fin du programme"

4. programme
Saisir B
Affecter à U la valeur 10
Si B > U
Alors
Afficher "Trop grand"
Sinon
Afficher "Trop petit ou égal"
Fin du Si
Afficher "Fin du programme"

On note qu'une instruction "Si" est toujours suivie par un "Alors", qui peut être suivi par un "Sinon",
et qu'elle se termine toujours par un "Fin du Si".


Fonctionnement du programme:
B=8
U=10
On n'a pas: B > U; on passe donc à l'instruction suivant le Sinon
il s'affiche "Trop petit ou égal"
Puis on passe à l'instruction suivant la Fin du Si
Il s'affiche "Fin du programme"

5.a. L'algorithme affiche:
"faible" si la note est strictement inférieure à 8,
"moyen" si la note est comprise entre 8 et 12,
"fort" si la note est strictement supérieure à 12.

Saisir A
Si A < 8
Alors
    Afficher "faible"
Sinon
   Si A > 12
   Alors
      Afficher "fort"
   Sinon
      Afficher "moyen"
   Fin du Si
Fin du Si

5.b. Voici le programme correct.
fig1
Dans la ligne 1, la méthode int() transforme la chaîne saisie a en un entier a . Sans cela, le programme ne peut pas comparer la variable a à l'entier 8 dans la suite du programme.
Noter le
: en bout de la ligne 2.
Remarquer l'indentation (c'est à dire le décalage vers la droite) sur la ligne 6.
A retenir: les blocs de code (fonctions, instructions if, boucles for ou while ...etc...) sont définis par leur indentation.
L'indentation démarre le bloc et la désindendation le termine. Il n'y a pas d'accolades, de crochets ou de mots clés spécifiques (ainsi, il n'y a pas de end).
Cela signifie que les espaces blancs sont significatifs et qu'ils doivent être cohérents.


6. Voici l'algorithme complété; il affiche le plus grand des 3 nombres A, B et C.

Saisir A
Saisir B
Saisir C
Afficher "Le plus grand est: "
Si A > B
Alors
   Si A > C
   Alors
      Afficher A
   Sinon
      Afficher C
   Fin du Si
Sinon
   Si B > C
   Alors
      Afficher B
   Sinon
      Afficher C
   Fin du Si
Fin du Si

Le fonctionnement du programme est donné ci-dessous:

Par exemple, pour A=7, B=12, C=8
Les 3 valeurs sont saisies.
Puis il s'affiche "Le plus grand est: "
Comme on n'a pas: A > B, on passe au Sinon.
Comme: B > C, il s'affiche la valeur de B, c'est à dire 12.
Finalement, le programme aura affiché: "Le plus grand est: 12"

Recommençons par exemple, pour A=15, B=12, C=17
Les 3 valeurs sont saisies.
Puis il s'affiche "Le plus grand est: "
Comme on a: A > B, on passe au Alors qui suit.
Comme on n'a pas A > C, on passe au Sinon.
Il s'affiche la valeur de C, c'est à dire 17.
Finalement, le programme aura affiché: "Le plus grand est: 17"

Réduire...

Copyright 2016 - maths-2de.com - Toute reproduction interdite - Tous droits réservés.