Leçon 4 sur 20

Chapitre 4 — Opérateurs et expressions

Calculer, comparer et construire des conditions logiques

 

Fiche pédagogique du chapitre

Objectifs d’apprentissage

À la fin de ce chapitre, l’étudiant devra être capable de :

  • identifier et utiliser les opérateurs arithmétiques usuels ;
  • distinguer la division réelle de la division entière ;
  • utiliser le modulo pour étudier la divisibilité et les restes ;
  • construire des comparaisons à l’aide des opérateurs relationnels ;
  • combiner des conditions avec les opérateurs logiques ET, OU et NON ;
  • établir et exploiter des tables de vérité ;
  • écrire et évaluer une expression arithmétique ou logique ;
  • respecter les règles de priorité des opérateurs ;
  • utiliser des parenthèses pour rendre une expression non ambiguë ;
  • concevoir des algorithmes simples mettant en œuvre calculs et conditions.

Prérequis

  • connaître les variables, les constantes et les types simples ;
  • savoir utiliser la lecture, l’écriture et l’affectation ;
  • maîtriser les opérations mathématiques élémentaires ;
  • comprendre la notion de valeur booléenne.

Plan du chapitre

4.1 Opérateurs arithmétiques

4.2 Opérateurs relationnels

4.3 Opérateurs logiques

4.4 Expressions

Applications, synthèse, exercices et corrigé indicatif

Organisation pédagogique indicative

Activité

Durée indicative

Objectif principal

Cours3 hPrésenter les opérateurs, les expressions et leurs priorités.
Travaux dirigés2 hÉvaluer des expressions et construire des conditions correctes.
Travaux pratiques2 hMettre en œuvre les calculs et les tests dans un langage.

 

Idée directrice du chapitre

Les opérateurs transforment ou comparent des valeurs. Une expression combine des données et des opérateurs afin de produire un résultat numérique, textuel ou booléen.


 

 

4.1 Opérateurs arithmétiques

4.1.1 Définition générale

Un opérateur arithmétique permet d’effectuer un calcul sur une ou plusieurs valeurs numériques appelées opérandes. Le résultat obtenu est lui-même une valeur numérique. Le type du résultat dépend des opérandes et de l’opérateur utilisé.

Opérateur

Notation en pseudo-code

Exemple

Résultat

Addition+7 + 310
Soustraction-7 - 34
Multiplication× ou *7 × 321
Division réelle/7 / 23,5
Division entièreDIV7 DIV 23
ModuloMOD7 MOD 21
Puissance^ ou **2 ^ 38

 

Vocabulaire

Dans l’expression 12 + 5, les nombres 12 et 5 sont les opérandes, le signe + est l’opérateur et 17 est le résultat.

4.1.2 Addition

L’addition calcule la somme de deux valeurs. Elle est notée par le symbole +. Elle s’applique aux entiers et aux réels. Dans certains langages, le même symbole sert aussi à concaténer des chaînes de caractères, mais cette utilisation doit être distinguée du calcul numérique.

Exemples d’addition

somme ← 15 + 8
total ← prix1 + prix2
nouveau_solde ← ancien_solde + versement

Expression

Type des opérandes

Résultat

5 + 4Entiers9
5,5 + 4,2Réels9,7
5 + 4,2Entier et réel9,2, généralement de type réel

 

4.1.3 Soustraction

La soustraction calcule la différence entre deux valeurs. Elle est notée par le symbole -. L’ordre des opérandes est important : a - b n’est généralement pas égal à b - a.

reste_a_payer ← montant_total - montant_verse
ecart ← valeur_finale - valeur_initiale
temperature_variation ← temperature_jour - temperature_nuit

Attention au signe

Une soustraction peut produire une valeur négative. Le type choisi doit donc permettre de représenter cette valeur.

4.1.4 Multiplication

La multiplication calcule le produit de deux valeurs. Elle est notée × dans les mathématiques et souvent * dans les langages de programmation. Elle est utilisée pour calculer une surface, un prix total, une conversion ou une répétition quantitative.

surface ← longueur * largeur
prix_total ← quantite * prix_unitaire
distance ← vitesse * duree


 

 

4.1.5 Division réelle

La division réelle calcule le quotient exact ou approché de deux nombres. Elle est notée /. Lorsque la division n’est pas exacte, le résultat comporte une partie décimale. Le résultat est généralement de type réel.

Expression

Résultat

Commentaire

10 / 25,0Quotient exact, mais souvent représenté comme réel.
7 / 23,5La partie décimale est conservée.
1 / 40,25Résultat inférieur à 1.

 

Division par zéro

Une division par zéro est impossible. L’algorithme doit vérifier que le diviseur est différent de zéro avant d’effectuer le calcul.

Contrôle du diviseur

Si diviseur ≠ 0 Alors
    quotient ← dividende / diviseur
Sinon
    Écrire("Division impossible")
FinSi

4.1.6 Division entière

La division entière ne conserve que la partie entière du quotient. Elle est souvent notée DIV. Elle est particulièrement utile lorsque l’on souhaite former des groupes complets ou convertir une quantité en unités plus grandes.

Expression

Résultat avec DIV

Interprétation

17 DIV 53Trois groupes complets de cinq.
120 DIV 602Deux minutes complètes.
59 DIV 600Aucune minute complète.
365 DIV 1230Trente périodes complètes de douze, reste 5.

 

Différence essentielle

7 / 2 donne 3,5, tandis que 7 DIV 2 donne 3. La division réelle conserve la partie décimale ; la division entière la supprime.

4.1.7 Modulo

Le modulo fournit le reste d’une division entière. Il est noté MOD. Si a DIV b donne le nombre de groupes complets, a MOD b donne ce qui reste après la formation de ces groupes.

Calcul

Quotient entier

Reste

17 DIV 5 et 17 MOD 532
20 DIV 4 et 20 MOD 450
125 DIV 60 et 125 MOD 6025

 

Pour des entiers positifs a et b avec b > 0, on a la relation :

Relation fondamentale

a = (a DIV b) × b + (a MOD b)

  • tester si un nombre est pair : nombre MOD 2 = 0 ;
  • tester la divisibilité par un entier k : nombre MOD k = 0 ;
  • extraire le dernier chiffre d’un entier positif : nombre MOD 10 ;
  • convertir une durée en unités : secondes MOD 60 donne les secondes restantes ;
  • réaliser un fonctionnement cyclique : indice MOD taille.

4.1.8 Puissance

La puissance élève une base à un exposant. Elle peut être notée ^ en pseudo-code et ** dans plusieurs langages. Par exemple, 2^3 signifie 2 × 2 × 2 et vaut 8.

Expression

Lecture

Résultat

2 ^ 3Deux puissance trois8
5 ^ 2Cinq au carré25
10 ^ 0Dix puissance zéro1
4 ^ 0,5Racine carrée de quatre2, selon le langage

 

Traduction en langage

Le symbole de puissance varie selon le langage. Il faut vérifier la syntaxe : dans certains langages, ^ représente une opération binaire et non une puissance.

4.1.9 Opérateur unaire

Le signe moins peut aussi être utilisé comme opérateur unaire : il agit sur une seule valeur pour changer son signe. Ainsi, -temperature représente l’opposé de la valeur de temperature. Cette utilisation diffère de la soustraction, qui nécessite deux opérandes.


 

 

4.2 Opérateurs relationnels

4.2.1 Principe

Un opérateur relationnel compare deux valeurs. Le résultat d’une comparaison est toujours une valeur booléenne : Vrai ou Faux. Les comparaisons sont utilisées pour construire les conditions des structures Si, TantQue et Répéter.

Relation

Notation

Exemple

Résultat si age = 20

Égalité= ou ==age = 20Vrai
Différence≠ ou !=age ≠ 20Faux
Supérieur>age > 18Vrai
Inférieur<age < 18Faux
Supérieur ou égal>= ou ≥age >= 20Vrai
Inférieur ou égal<= ou ≤age <= 20Vrai

 

Résultat booléen

Une comparaison ne produit pas un nombre, mais Vrai ou Faux. Par exemple, 12 > 5 vaut Vrai, tandis que 12 = 5 vaut Faux.

4.2.2 Égalité

L’égalité vérifie si deux valeurs sont identiques. En pseudo-code, elle est souvent notée =. Dans de nombreux langages, l’opérateur de comparaison est == afin de le distinguer de l’affectation.

est_majeur_exactement ← (age = 18)
mot_correct ← (mot_saisi = mot_attendu)
est_nul ← (nombre = 0)

Ne pas confondre

L’affectation modifie une variable : x ← 5. La comparaison vérifie une relation : x = 5. Les deux opérations n’ont pas le même rôle.

4.2.3 Différence

L’opérateur de différence vérifie que deux valeurs ne sont pas égales. Il est noté ≠ en mathématiques et souvent != dans les langages de programmation.

Si diviseur ≠ 0 Alors
    resultat ← nombre / diviseur
FinSi

4.2.4 Supérieur et inférieur

Les opérateurs > et < comparent l’ordre de deux valeurs. Ils sont stricts : les valeurs égales ne satisfont pas la condition.

Condition

Valeur testée

Résultat

Explication

note > 10note = 10FauxL’égalité n’est pas acceptée.
note < 10note = 10FauxL’égalité n’est pas acceptée.
note > 10note = 11Vrai11 est strictement supérieur à 10.
note < 10note = 9Vrai9 est strictement inférieur à 10.

 

4.2.5 Supérieur ou égal et inférieur ou égal

Les opérateurs >= et <= incluent l’égalité. Ils servent notamment à vérifier une borne minimale ou maximale.

admis ← (moyenne >= 10)
age_valide ← (age >= 18)
note_valide ← (note <= 20)

4.2.6 Comparaison selon le type

Type

Comparaisons usuelles

Remarque

Entier ou réel=, ≠, <, >, <=, >=Comparer les valeurs numériques.
Booléen=, ≠Comparer Vrai et Faux ; souvent une comparaison explicite est inutile.
Caractère=, ≠, parfois ordreL’ordre dépend du codage utilisé.
Chaîne=, ≠, parfois ordre lexicographiqueLa casse et les accents peuvent influencer le résultat.

 

Comparaison de réels

Les calculs réels peuvent produire de petites erreurs d’arrondi. Dans un programme, tester directement resultat = 0,1 peut être risqué ; on utilise parfois une tolérance.


 

 

4.3 Opérateurs logiques

4.3.1 Principe

Les opérateurs logiques agissent sur des valeurs ou expressions booléennes. Ils permettent de combiner plusieurs conditions afin de représenter une règle plus complexe. Les trois opérateurs fondamentaux sont ET, OU et NON.

Opérateur

Rôle

Exemple

ETVrai uniquement si toutes les conditions sont vraies.(age >= 18) ET (age <= 65)
OUVrai si au moins une condition est vraie.(jour = "samedi") OU (jour = "dimanche")
NONInverse la valeur logique d’une condition.NON(est_absent)

 

4.3.2 Opérateur ET

L’opérateur ET exprime la simultanéité. Une expression A ET B est vraie uniquement lorsque A est vraie et B est vraie. Dès qu’une condition est fausse, le résultat global est faux.

A

B

A ET B

FauxFauxFaux
FauxVraiFaux
VraiFauxFaux
VraiVraiVrai

 

age_valide ← (age >= 18) ET (age <= 65)
connexion_autorisee ← identifiant_correct ET mot_de_passe_correct

Interprétation

Pour appartenir à un intervalle fermé [minimum, maximum], une valeur doit respecter simultanément les deux bornes : valeur >= minimum ET valeur <= maximum.

4.3.3 Opérateur OU

L’opérateur OU exprime une alternative. Une expression A OU B est vraie lorsque A est vraie, B est vraie ou les deux sont vraies. Le OU logique est généralement inclusif.

A

B

A OU B

FauxFauxFaux
FauxVraiVrai
VraiFauxVrai
VraiVraiVrai

 

jour_repos ← (jour = "samedi") OU (jour = "dimanche")
valeur_hors_intervalle ← (valeur < minimum) OU (valeur > maximum)

OU inclusif

Dans la logique usuelle, A OU B reste vrai lorsque A et B sont toutes les deux vraies. Un « ou exclusif » demanderait une règle supplémentaire.

4.3.4 Opérateur NON

L’opérateur NON inverse une valeur booléenne. Il est unaire : il s’applique à une seule condition. NON(Vrai) vaut Faux et NON(Faux) vaut Vrai.

A

NON A

FauxVrai
VraiFaux

 

est_present ← NON(est_absent)
mot_de_passe_incorrect ← NON(mot_de_passe_correct)

4.3.5 Combinaison de plusieurs opérateurs

Une condition peut combiner plusieurs opérateurs relationnels et logiques. Les parenthèses sont fortement recommandées afin de rendre la règle explicite.

eligible ← (age >= 18) ET (age <= 30) ET NON(dossier_incomplet)
acces ← est_administrateur OU (est_membre ET abonnement_actif)

Dans la deuxième expression, l’accès est accordé à un administrateur, ou à une personne qui est à la fois membre et possède un abonnement actif.

4.3.6 Lois logiques utiles

Transformation

Équivalence

Négation d’une égalitéNON(x = y) équivaut à x ≠ y
Négation d’une supériorité stricteNON(x > y) équivaut à x <= y
Négation d’une infériorité stricteNON(x < y) équivaut à x >= y
Loi de De MorganNON(A ET B) équivaut à NON(A) OU NON(B)
Loi de De MorganNON(A OU B) équivaut à NON(A) ET NON(B)

 

Utilité

Les lois de De Morgan permettent de simplifier ou de reformuler les conditions, notamment lors de la validation des données.


 

 

4.4 Expressions

4.4.1 Définition

Une expression est une combinaison de constantes, de variables, d’appels de fonctions et d’opérateurs qui produit une valeur. Cette valeur peut être numérique, booléenne, textuelle ou d’un autre type selon le contexte.

Expression

Type du résultat

Exemple de résultat

prix_unitaire * quantiteNumérique149,50
age >= 18BooléenVrai
prenom + " " + nomChaîne"Sara Amrani"
nombre MOD 2Entier0 ou 1 pour un entier positif

 

4.4.2 Expressions arithmétiques

Une expression arithmétique combine des valeurs numériques et des opérateurs arithmétiques. Son évaluation suit les règles de priorité. Elle peut être utilisée dans une affectation, un affichage, une comparaison ou comme paramètre d’une fonction.

moyenne ← (note1 + note2 + note3) / 3
surface ← PI * rayon ^ 2
prix_ttc ← prix_ht * (1 + taux_tva)

Lorsqu’une expression est affectée à une variable, son type doit être compatible avec le type de la variable de destination. Par exemple, une moyenne contenant des décimales doit être stockée dans une variable réelle.

4.4.3 Expressions logiques

Une expression logique produit Vrai ou Faux. Elle résulte souvent d’une comparaison ou d’une combinaison de comparaisons. Elle peut être affectée à une variable booléenne ou utilisée directement comme condition.

est_pair ← (nombre MOD 2 = 0)
age_valide ← (age >= 18) ET (age <= 65)
annee_bissextile ← (annee MOD 400 = 0) OU
                     ((annee MOD 4 = 0) ET (annee MOD 100 ≠ 0))

4.4.4 Priorité des opérateurs

Lorsque plusieurs opérateurs apparaissent dans une même expression, ils ne sont pas tous évalués dans l’ordre d’écriture. Les règles de priorité déterminent l’ordre des calculs. À priorité égale, l’évaluation se fait généralement de gauche à droite, sauf certains opérateurs comme la puissance selon le langage.

Niveau indicatif

Opérateurs

Exemples

1 — priorité la plus élevéeParenthèses ( )(a + b) * c
2Puissancea ^ b
3Opérateurs unaires : NON, signe -NON(A), -x
4Multiplication, division, DIV, MODa * b, a / b, a MOD b
5Addition, soustractiona + b, a - b
6Relations : =, ≠, <, >, <=, >=age >= 18
7ETA ET B
8 — priorité la plus faibleOUA OU B

 

Prudence

Les priorités exactes peuvent varier selon le langage. Dans un algorithme pédagogique, les parenthèses permettent d’exprimer clairement l’intention et d’éviter une dépendance inutile aux règles implicites.

4.4.5 Exemples d’évaluation

Expression

Étapes principales

Résultat

2 + 3 * 43 * 4 = 12, puis 2 + 1214
(2 + 3) * 42 + 3 = 5, puis 5 * 420
17 DIV 5 + 217 DIV 5 = 3, puis 3 + 25
17 MOD 5 = 217 MOD 5 = 2, puis 2 = 2Vrai
NON(4 > 1)4 > 1 vaut Vrai, puis NON(Vrai)Faux

 

4.4.6 Utilisation des parenthèses

Les parenthèses ont deux fonctions : elles imposent un ordre d’évaluation et rendent l’expression plus facile à comprendre. Elles doivent être équilibrées et entourer des sous-expressions cohérentes.

Sans parenthèses ou peu clair

Forme recommandée

Interprétation

a + b / ca + (b / c)La division est effectuée avant l’addition.
age >= 18 ET age <= 65(age >= 18) ET (age <= 65)Les deux comparaisons sont clairement séparées.
A OU B ET CA OU (B ET C)B ET C est évalué ensemble.
NON x = 0NON(x = 0) ou x ≠ 0La portée de la négation est explicite.

 

4.4.7 Erreurs fréquentes

  • confondre l’affectation et la comparaison ;
  • oublier de vérifier le diviseur avant une division ;
  • utiliser / alors que l’on souhaite une division entière ;
  • oublier les parenthèses dans le calcul d’une moyenne ;
  • employer OU à la place de ET pour vérifier l’appartenance à un intervalle ;
  • écrire une condition impossible, par exemple age < 18 ET age > 65 ;
  • comparer des données de types incompatibles ;
  • supposer que les priorités sont identiques dans tous les langages.


 

 

Applications guidées

Application 1 — Tester si un nombre est pair

Un entier est pair lorsqu’il est divisible par 2, c’est-à-dire lorsque le reste de sa division entière par 2 est nul.

Élément

Description

EntréeUn entier nombre.
TraitementCalculer nombre MOD 2 et comparer le résultat à 0.
SortieUn message indiquant si le nombre est pair ou impair.

 

Algorithme Tester_Parite
Variables
    nombre : Entier
Début
    Écrire("Saisir un entier : ")
    Lire(nombre)
    Si nombre MOD 2 = 0 Alors
        Écrire(nombre, " est pair")
    Sinon
        Écrire(nombre, " est impair")
    FinSi
Fin

nombre

nombre MOD 2

Résultat

80Pair
131Impair
00Pair
-60Pair

 


 

 

Application 2 — Vérifier si un âge appartient à un intervalle

On souhaite vérifier qu’un âge est compris entre 18 et 65 ans inclus. Les deux contraintes doivent être satisfaites simultanément ; l’opérateur ET est donc nécessaire.

Algorithme Verifier_Age
Variables
    age : Entier
Début
    Écrire("Saisir un âge : ")
    Lire(age)
    Si (age >= 18) ET (age <= 65) Alors
        Écrire("Âge compris dans l’intervalle")
    Sinon
        Écrire("Âge hors de l’intervalle")
    FinSi
Fin

age

age >= 18

age <= 65

Condition globale

17FauxVraiFaux
18VraiVraiVrai
40VraiVraiVrai
65VraiVraiVrai
66VraiFauxFaux

 

Erreur classique

La condition (age >= 18) OU (age <= 65) est presque toujours vraie. Par exemple, 10 <= 65 est vrai et 80 >= 18 est vrai. Pour être dans l’intervalle, il faut ET.


 

 

Application 3 — Vérifier si une année est bissextile

Une année est bissextile lorsqu’elle est divisible par 400, ou lorsqu’elle est divisible par 4 sans être divisible par 100. Cette règle montre l’importance des parenthèses et de la combinaison des opérateurs ET et OU.

Règle

Bissextile = divisible par 400 OU (divisible par 4 ET non divisible par 100).

Algorithme Annee_Bissextile
Variables
    annee : Entier
    bissextile : Booléen
Début
    Écrire("Saisir une année : ")
    Lire(annee)

    bissextile ← (annee MOD 400 = 0) OU
                  ((annee MOD 4 = 0) ET (annee MOD 100 ≠ 0))

    Si bissextile Alors
        Écrire(annee, " est bissextile")
    Sinon
        Écrire(annee, " n’est pas bissextile")
    FinSi
Fin

Année

Divisible par 4

Divisible par 100

Divisible par 400

Bissextile ?

2024OuiNonNonOui
2025NonNonNonNon
1900OuiOuiNonNon
2000OuiOuiOuiOui
2100OuiOuiNonNon

 

Application 4 — Calculer la moyenne de plusieurs notes

On souhaite calculer la moyenne arithmétique de quatre notes. La somme doit être calculée avant la division. Les parenthèses rendent cette intention explicite.

Élément

Description

EntréesQuatre notes réelles note1, note2, note3 et note4.
TraitementAdditionner les quatre notes, puis diviser la somme par 4.
SortieLa moyenne réelle.

 

Algorithme Moyenne_Quatre_Notes
Variables
    note1, note2, note3, note4, moyenne : Réels
Début
    Écrire("Saisir les quatre notes : ")
    Lire(note1, note2, note3, note4)
    moyenne ← (note1 + note2 + note3 + note4) / 4
    Écrire("Moyenne = ", moyenne)
Fin

Pourquoi les parenthèses ?

Sans parenthèses, l’expression note1 + note2 + note3 + note4 / 4 divise seulement note4 par 4, puis ajoute les autres notes. Le résultat serait incorrect.

Notes

Somme

Moyenne

12 ; 14 ; 10 ; 165213
8,5 ; 11 ; 13,5 ; 154812
20 ; 20 ; 20 ; 208020

 


 

 

Synthèse du chapitre

Famille

Rôle

Résultat typique

Exemple

ArithmétiqueEffectuer un calcul numérique.Entier ou réel(a + b) / 2
RelationnelleComparer deux valeurs.Booléenage >= 18
LogiqueCombiner ou nier des conditions.BooléenA ET NON(B)
ExpressionAssembler valeurs et opérateurs.Dépend de l’expression(prix * qte) > budget

 

À retenir

  • la division réelle et la division entière ne produisent pas le même résultat ;
  • MOD fournit le reste d’une division entière ;
  • une comparaison produit toujours Vrai ou Faux ;
  • ET exige que toutes les conditions soient vraies ;
  • OU exige qu’au moins une condition soit vraie ;
  • NON inverse une valeur booléenne ;
  • les parenthèses rendent l’ordre des opérations explicite ;
  • une expression doit respecter les types de ses opérandes et de son résultat.

Méthode pour construire une expression

1. Identifier le résultat recherché et son type.

2. Repérer les données nécessaires.

3. Choisir les opérateurs adaptés.

4. Écrire les sous-expressions séparément.

5. Ajouter des parenthèses pour matérialiser les priorités.

6. Tester l’expression avec des valeurs normales et des cas limites.

7. Vérifier les risques : division par zéro, type incompatible, arrondi ou condition toujours vraie.


 

 

Correspondances fréquentes avec des langages

Concept

Pseudo-code

Python

C / Java

Affectationx ← 5x = 5x = 5;
Égalitéx = 5x == 5x == 5
Différencex ≠ 5x != 5x != 5
ETA ET BA and BA && B
OUA OU BA or BA || B
NONNON(A)not A!A
Division entièrea DIV ba // ba / b pour des entiers
Moduloa MOD ba % ba % b
Puissancea ^ ba ** bfonction dédiée, selon le langage

 

Important

Ces correspondances sont indicatives. La syntaxe, les types et le comportement de la division dépendent du langage choisi.


 

 

Travaux dirigés — Exercices

Exercice 1 — Évaluer des expressions arithmétiques

Calculer la valeur de chaque expression en respectant les priorités :

  • A = 5 + 3 × 2 ;
  • B = (5 + 3) × 2 ;
  • C = 17 DIV 4 ;
  • D = 17 MOD 4 ;
  • E = 2 ^ 3 + 4 ;
  • F = 20 / (2 + 3).

Exercice 2 — Traduire une formule

Écrire les expressions algorithmiques correspondant aux calculs suivants :

  • le périmètre d’un rectangle ;
  • la surface d’un disque ;
  • le prix toutes taxes comprises ;
  • la moyenne pondérée de deux notes avec les coefficients 2 et 3 ;
  • la distance parcourue à vitesse constante.

Exercice 3 — Comparaisons

Pour x = 8 et y = 12, déterminer la valeur de vérité de :

  • x = y ;
  • x ≠ y ;
  • x < y ;
  • x >= 8 ;
  • y <= 10 ;
  • (x + 4) = y.

Exercice 4 — Tables de vérité

Compléter les tables de vérité de : A ET B, A OU B, NON(A), puis calculer NON(A ET B) et NON(A) OU NON(B). Comparer les deux dernières colonnes.

Exercice 5 — Construire des conditions

Écrire une expression logique qui vérifie chacune des situations suivantes :

  • une note est comprise entre 0 et 20 inclus ;
  • un nombre est positif et pair ;
  • une personne est mineure ou âgée d’au moins 65 ans ;
  • un caractère est égal à « O » ou à « o » ;
  • un diviseur est valide ;
  • un nombre n’appartient pas à l’intervalle [10, 100].

Exercice 6 — Corriger les expressions

Repérer et corriger les erreurs ou ambiguïtés :

moyenne ← note1 + note2 + note3 / 3
dans_intervalle ← age >= 18 OU age <= 65
pair ← nombre / 2 = 0
division ← a / b
acces ← administrateur OU membre ET abonnement_actif

Pour la quatrième expression, proposer une vérification préalable. Pour la cinquième, ajouter les parenthèses correspondant à l’intention suivante : un administrateur a toujours accès ; un membre n’a accès que si son abonnement est actif.

Exercice 7 — Durée

Écrire un algorithme qui lit un nombre total de secondes et affiche le nombre d’heures complètes, de minutes restantes et de secondes restantes. Utiliser DIV et MOD.

Exercice 8 — Tarif conditionnel

Une réduction est accordée lorsqu’un client a moins de 18 ans ou au moins 60 ans. Écrire l’expression logique correspondante, puis un algorithme affichant « Tarif réduit » ou « Tarif normal ».


 

 

Corrigé indicatif des travaux dirigés

Corrigé de l’exercice 1

Expression

Évaluation

Résultat

A = 5 + 3 × 25 + 611
B = (5 + 3) × 28 × 216
C = 17 DIV 4Quotient entier4
D = 17 MOD 4Reste de la division1
E = 2 ^ 3 + 48 + 412
F = 20 / (2 + 3)20 / 54

 

Corrigé de l’exercice 2

perimetre ← 2 * (longueur + largeur)
surface_disque ← PI * rayon ^ 2
prix_ttc ← prix_ht * (1 + taux_tva)
moyenne_ponderee ← (2 * note1 + 3 * note2) / (2 + 3)
distance ← vitesse * duree

Corrigé de l’exercice 3

Expression

Résultat

x = yFaux
x ≠ yVrai
x < yVrai
x >= 8Vrai
y <= 10Faux
(x + 4) = yVrai

 

Corrigé de l’exercice 4

A

B

A ET B

A OU B

NON(A)

NON(A ET B)

NON(A) OU NON(B)

FauxFauxFauxFauxVraiVraiVrai
FauxVraiFauxVraiVraiVraiVrai
VraiFauxFauxVraiFauxVraiVrai
VraiVraiVraiVraiFauxFauxFaux

 

Les deux dernières colonnes sont identiques. Elles illustrent la loi de De Morgan : NON(A ET B) équivaut à NON(A) OU NON(B).

Corrigé de l’exercice 5

note_valide ← (note >= 0) ET (note <= 20)
positif_et_pair ← (nombre > 0) ET (nombre MOD 2 = 0)
tarif_special ← (age < 18) OU (age >= 65)
reponse_oui ← (caractere = "O") OU (caractere = "o")
diviseur_valide ← (diviseur ≠ 0)
hors_intervalle ← (nombre < 10) OU (nombre > 100)

Corrigé de l’exercice 6

moyenne ← (note1 + note2 + note3) / 3
dans_intervalle ← (age >= 18) ET (age <= 65)
pair ← (nombre MOD 2 = 0)
Si b ≠ 0 Alors
    division ← a / b
Sinon
    Écrire("Division impossible")
FinSi
acces ← administrateur OU (membre ET abonnement_actif)


 

 

Corrigé de l’exercice 7

Algorithme Convertir_Duree
Variables
    total_secondes, heures, minutes, secondes, reste : Entiers
Début
    Lire(total_secondes)
    heures ← total_secondes DIV 3600
    reste ← total_secondes MOD 3600
    minutes ← reste DIV 60
    secondes ← reste MOD 60
    Écrire(heures, " h ", minutes, " min ", secondes, " s")
Fin

Total

Heures

Minutes

Secondes

3725125
7200200
590059

 

Corrigé de l’exercice 8

reduction ← (age < 18) OU (age >= 60)

Si reduction Alors
    Écrire("Tarif réduit")
Sinon
    Écrire("Tarif normal")
FinSi

Activité de prolongement

Concevoir un algorithme de validation d’une note qui :

  • lit une note ;
  • vérifie qu’elle appartient à l’intervalle [0, 20] ;
  • affiche si elle est valide ;
  • indique, lorsqu’elle est valide, si elle est supérieure ou égale à 10 ;
  • utilise une variable booléenne pour chaque règle.

Conseil pédagogique

Demander aux étudiants d’évaluer manuellement chaque expression avant de l’exécuter dans un langage. La confrontation entre la prévision et le résultat du programme aide à comprendre les priorités et les types.

Glossaire

Terme

Définition

OpérandeValeur sur laquelle agit un opérateur.
OpérateurSymbole ou mot qui réalise une opération.
ExpressionCombinaison qui produit une valeur.
Quotient entierNombre de groupes complets obtenu par DIV.
ModuloReste d’une division entière.
RelationComparaison produisant Vrai ou Faux.
Table de véritéTable donnant le résultat d’une expression logique pour toutes les combinaisons possibles.
PrioritéRègle déterminant l’ordre d’évaluation des opérateurs.

 

Auto-évaluation

L’étudiant peut considérer le chapitre acquis s’il sait répondre positivement aux questions suivantes :

  • Puis-je expliquer la différence entre /, DIV et MOD ?
  • Puis-je construire une comparaison produisant Vrai ou Faux ?
  • Puis-je choisir correctement entre ET et OU ?
  • Puis-je compléter une table de vérité ?
  • Puis-je évaluer une expression en respectant les priorités ?
  • Puis-je utiliser les parenthèses pour rendre une expression explicite ?
  • Puis-je détecter une division par zéro ou une condition toujours vraie ?
  • Puis-je traduire une règle écrite en français en expression algorithmique ?

Conclusion

Les opérateurs et les expressions constituent le langage du calcul et de la décision. Leur maîtrise est indispensable avant d’aborder les structures conditionnelles et répétitives.