Page MenuHomePhabricator

La structure conditionnelle
Updated 55 Days AgoPublic

Les alternatives

Il est possible de spécifier à l'ordinateur des séries d’instructions à effectuer selon que la situation se présente d’une manière ou d’une autre. Cette structure d'alternative logique correspond aux conditions. Cette condition est évaluée à l'aide d'une expression qui résulte par un booléen. Le code à l'intérieur de l'alternative ne sera exécuté que SI la condition d'entrée est remplie, dans le cas contraire il est possible de spécifier une structure SINON. Ces expressions peuvent être fournies par l'utilisateur, par une autre expression mathématique, ou encore par un ensemble d'expressions booléennes.

DÉBUT
VARIABLE a: BOOLÉEN
a<-VRAI

SI a EST VRAI:
    ECRIRE "L'alternative est vraie"
SINON
    ECRIRE "L'alternative est fausse"
FIN SI
FIN
Par convention, on ajoute un espacement, appelé indentation, à l'intérieur d'un bloc de l'alternative. Cela permet d'augmenter la lisibilité des programmes.

Les expressions booléennes

Il existe trois opérateurs booléens élémentaires. L'opérateur ET renvoi vrai si l'expression de gauche et que l'expression de droite sont également vraie. L'opérateur OU renvoi vrai si l'une des deux expressions de gauche ou de droite est vraie. Le dernier opérateur élémentaire est PAS, ce dernier renvoi vrai si l'expression est fausse et inversement. Ces expressions peuvent être rassemblées sous la forme de table de vérité. Ces tables permettent d'afficher toutes les possibilités d'une expression booléenne. Cette forme est particulièrement utile lorsque l'on souhaite évaluer le fonctionnement d'expressions plus complexe. Il est également possible d'utiliser des parenthèses pour forcer éventuellement les priorités dans l'évaluation de l'expression.

ABA ET B
VVV
VFF
FVF
FFF
ABA OU B
VVV
VFV
FVV
FFF
APAS A
VF
FV

Exercices

  • Écrivez la table de vérité de la combinaison de 3 opérateurs : A ET B ET C
  • Écrivez la table de vérité de la négation d'une expression : PAS (A ET B)
  • Écrivez la table de vérité d'un OU exclusif : (A OU B) ET PAS (A ET B)
  • Écrivez la table de vérité de l'opérateur IMPLIQUE : (PAS A) OU B

Les expressions mathématiques

Certains opérateurs mathématiques ont comme résultat une valeur booléenne. C'est par exemple le cas de l'opérateur d'égalité (== ou !=), il est possible de combiner son utilisation avec une variable pour obtenir des structures alternatives plus intéressantes. Il est également possible d'utiliser les opérateurs plus grands que (>, >=) et plus petit que (<, <=).

DÉBUT
VARIABLE age: ENTIER
age<-21

SI age >= 18:
    ECRIRE "Vous êtes majeurs"
SINON
    ECRIRE "Vous êtes mineur"
FIN SI
FIN

Exercices

  • Écrivez un algorithme qui effectue la division entièrement uniquement si le dénominateur n'est pas zéro. Dans le cas contraire, affichez une erreur.
division entière
DÉBUT
VARIABLE num, den: ENTIER
LIRE "Quel est le numérateur?", num
LIRE "Quel est le dénominateur?", den

SI den == 0:
    ECRIRE "Impossible d'effectuer la division, car le dénominateur vaut zéro."
SINON
    ECRIRE "Le résultat vaut: ", num/den
FIN SI
FIN
  • Écrivez un algorithme qui affiche la valeur absolue d'un nombre entier.
valeur absolue
DÉBUT
VARIABLE val: ENTIER
LIRE "Quelle est la valeur?", val

SI val < 0:
    val <- val * -1
FIN SI

ECRIRE "La valeur vaut: ", val
FIN
  • Écrivez un algorithme qui détermine si la série de trois nombres entrés par l'utilisateur est croissante ou pas.
La série est-elle croissante
DÉBUT
VARIABLE a, b, c: ENTIER
LIRE "Quelle est la valeur de a?", a
LIRE "Quelle est la valeur de b?", b
LIRE "Quelle est la valeur de c?", c

SI a <= b ET b <= c:
    ECRIRE "La série est croissante."
SINON
    ECRIRE "Las série n'est pas croissante"
FIN SI
FIN
  • Écrivez un algorithme qui affiche le signe du résultat d'une soustraction entre deux nombres.
Signe dune soustraction
DÉBUT
VARIABLE a, b: ENTIER
LIRE "Quelle est la valeur de a?", a
LIRE "Quelle est la valeur de b?", b

SI a - b >= 0:
    ECRIRE "a-b est positif."
SINON
    ECRIRE "a-b est négatif."
FIN SI
FIN
  • Écrivez un algorithme qui détermine si les deux nombres entrés par l'utilisateur sont multiples de l'un ou de l'autre.
Est multiple
DÉBUT
VARIABLE a, b: ENTIER
LIRE "Quelle est la valeur de a?", a
LIRE "Quelle est la valeur de b?", b

SI (a % b == 0) OU (b % a == 0):
    ECRIRE "a et b sont multiples."
SINON
    ECRIRE "a et b ne sont pas multiple."
FIN SI
FIN
  • Écrivez un algorithme qui détermine si une année est bissextile. (divisible par 4, mais pas par 100, divisible par 400.)
Est bissextile
DÉBUT
VARIABLE a: ENTIER
LIRE "Quelle est la valeur de l'année?", a

SI (a% 4 == 0 ET a % 100 != 0) OU (a % 400 == 0):
    ECRIRE "L'année est bissextile."
SINON
    ECRIRE "L'année n'est pas bissextile."
FIN SI
FIN
Last Author
Steve
Last Edited
Aug 25 2020, 11:26 AM

Document Hierarchy

Event Timeline

Steve created this object.Aug 11 2020, 4:59 PM
Steve edited the content of this document. (Show Details)Aug 11 2020, 5:05 PM
Steve edited the content of this document. (Show Details)Aug 15 2020, 10:42 AM
Steve edited the content of this document. (Show Details)
Steve edited the content of this document. (Show Details)Aug 15 2020, 11:23 AM
Steve changed the title from Conditions to La structure conditionnelle.Aug 15 2020, 11:56 AM
Steve edited the content of this document. (Show Details)
Steve edited the content of this document. (Show Details)Aug 15 2020, 12:15 PM
Steve edited the content of this document. (Show Details)Aug 15 2020, 12:28 PM
Steve edited the content of this document. (Show Details)Aug 15 2020, 1:43 PM
Steve edited the content of this document. (Show Details)Aug 15 2020, 3:34 PM
Steve edited the content of this document. (Show Details)Aug 15 2020, 3:44 PM
Steve edited the content of this document. (Show Details)
Steve edited the content of this document. (Show Details)Aug 16 2020, 10:07 AM
Steve edited the content of this document. (Show Details)Aug 16 2020, 3:32 PM
Steve edited the content of this document. (Show Details)Aug 25 2020, 11:26 AM