Leçon 2 sur 20

Chapitre 2 — Structure générale d’un algorithme

Comprendre l’organisation, les instructions élémentaires et l’ordre d’exécution

 

Fiche pédagogique du chapitre

Objectifs d’apprentissage

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

  • identifier les différentes parties qui composent un algorithme ;
  • choisir un nom d’algorithme clair et conforme aux règles de nommage ;
  • distinguer la partie déclarative de la partie principale ;
  • déclarer correctement des variables et des constantes ;
  • utiliser les instructions d’affectation, de lecture et d’écriture ;
  • insérer des commentaires utiles sans surcharger l’algorithme ;
  • expliquer le principe de l’exécution séquentielle ;
  • réaliser le traçage manuel d’un algorithme simple ;
  • déterminer l’état d’une variable avant et après chaque instruction.

Prérequis

  • comprendre la notion générale d’algorithme ;
  • savoir distinguer un problème, un algorithme et un programme ;
  • reconnaître les notions d’entrée, de traitement et de sortie ;
  • maîtriser les opérations arithmétiques élémentaires.

Plan du chapitre

2.1 Organisation d’un algorithme

2.2 Instructions élémentaires

2.3 Ordre d’exécution

Synthèse, exercices d’application et corrigé indicatif

Organisation pédagogique indicative

Activité

Durée indicative

Objectif principal

Cours2 hPrésenter la structure et les instructions fondamentales.
Travaux dirigés2 hAnalyser, compléter et tracer des algorithmes simples.
Travaux pratiques2 hTraduire les algorithmes dans un langage de programmation.

 

Idée directrice du chapitre

Un algorithme n’est pas une suite de phrases placées au hasard. Il possède une organisation identifiable : on précise d’abord les données nécessaires, puis on décrit les instructions à exécuter dans un ordre déterminé.


 

 

2.1 Organisation d’un algorithme

2.1.1 Vue d’ensemble

Un algorithme simple est généralement composé de deux grandes parties : une partie déclarative et une partie principale. L’ensemble est encadré par un nom, une instruction de début et une instruction de fin. Cette organisation permet au lecteur de repérer immédiatement les données utilisées et les actions exécutées.

Structure générale

Algorithme Nom_Algorithme

Constantes
    nom_constante = valeur

Variables
    nom_variable : Type

Début
    instruction 1
    instruction 2
    ...
Fin

Élément

Fonction

Question à se poser

Nom de l’algorithmeIdentifier clairement la solution proposée.Quel problème cet algorithme résout-il ?
Partie déclarativePrésenter les constantes et variables nécessaires.Quelles données faut-il mémoriser ?
DébutMarquer le commencement des instructions exécutables.À partir de quel point commence le traitement ?
Partie principaleDécrire les actions dans leur ordre d’exécution.Que doit faire l’algorithme, étape par étape ?
FinMarquer l’arrêt de l’algorithme.À quel moment le traitement est-il terminé ?

 

Remarque

La syntaxe exacte du pseudo-code peut varier selon les établissements ou les ouvrages. L’essentiel est d’adopter une convention cohérente, lisible et utilisée de manière constante dans tout le cours.

2.1.2 Nom de l’algorithme

Le nom de l’algorithme est placé au début. Il résume l’objectif principal et permet de distinguer l’algorithme d’autres solutions. Un bon nom doit être court, explicite et directement lié au problème traité.

  • Privilégier un verbe ou un groupe nominal explicite : Calculer_Moyenne, Convertir_Temperature, Perimetre_Rectangle.
  • Éviter les noms trop vagues : Algo1, Test, Programme, Exercice.
  • Éviter les espaces dans le nom : on utilise généralement le caractère de soulignement « _ ».
  • Éviter les caractères spéciaux : ponctuation, symboles mathématiques ou lettres susceptibles de poser un problème dans un langage de programmation.
  • Conserver une convention stable : par exemple, commencer chaque mot par une majuscule ou utiliser uniquement des minuscules séparées par des soulignements.

Nom proposé

Appréciation

Justification

Perimetre_RectangleBonL’objectif est immédiatement identifiable.
CalculerPrixTTCBonLe nom décrit clairement le traitement réalisé.
Algo2À éviterLe nom ne renseigne pas sur le problème résolu.
calcul moyenneÀ corrigerLa présence d’un espace est déconseillée.
XÀ éviterLe nom est trop court et ne possède aucune signification pédagogique.

 

Exemple

Algorithme Perimetre_Rectangle
...

Bon réflexe

Le nom de l’algorithme doit permettre à un autre étudiant de deviner sa fonction sans avoir à lire toutes les instructions.

2.1.3 Partie déclarative

La partie déclarative présente les informations que l’algorithme devra mémoriser pendant son exécution. Elle contient principalement les constantes et les variables. Déclarer une donnée consiste à préciser son nom et, le plus souvent, son type.

Constantes

Une constante est une donnée dont la valeur ne change pas pendant l’exécution. Elle est utile pour représenter une valeur fixe possédant un sens particulier, comme un taux, une limite ou une valeur mathématique.

Constantes
    TAUX_TVA = 0,20
    NOTE_MAXIMALE = 20

Variables

Une variable est une zone de mémoire identifiée par un nom. Sa valeur peut évoluer au cours de l’exécution. Le type indique la nature des valeurs qu’elle peut contenir : entier, réel, booléen, caractère ou chaîne de caractères.

Type

Nature des valeurs

Exemples

EntierNombres sans partie décimale.-3, 0, 12, 2026
RéelNombres pouvant posséder une partie décimale.2,5 ; 19,75 ; -0,4
BooléenValeur logique vraie ou fausse.Vrai, Faux
CaractèreUn seul symbole.A, ?, 7
ChaîneSuite de caractères."Algorithmique", "ENSA"

 

Exemple de déclaration

Variables
    longueur, largeur, perimetre : Réel
    nombre_etudiants : Entier
    admis : Booléen
    nom : Chaîne

Pourquoi déclarer ?

La déclaration améliore la lisibilité, évite l’utilisation de noms incohérents et permet de vérifier que les opérations appliquées à une variable sont compatibles avec son type.


 

 

2.1.4 Partie principale

La partie principale contient les instructions exécutables. Elle décrit le traitement à effectuer dans l’ordre où les actions doivent être réalisées. Dans un premier temps, les algorithmes étudiés sont séquentiels : chaque instruction est exécutée une seule fois, de haut en bas.

  • les données peuvent être saisies à l’aide d’instructions de lecture ;
  • les valeurs peuvent être calculées ou modifiées par des affectations ;
  • les résultats peuvent être communiqués par des instructions d’écriture ;
  • les commentaires expliquent une intention, mais ne sont pas exécutés.

Exemple de partie principale

Début
    Lire(longueur)
    Lire(largeur)
    perimetre ← 2 × (longueur + largeur)
    Écrire("Périmètre : ", perimetre)
Fin

Indentation et présentation

Les instructions de la partie principale sont décalées vers la droite. Cette indentation ne change pas le résultat mathématique, mais elle rend la structure visuelle plus facile à comprendre. Elle deviendra indispensable lorsque le cours abordera les conditions, les boucles, les fonctions et les procédures.

Présentation conseillée

Présentation déconseillée

Début
    Lire(a)
    Lire(b)
    somme ← a + b
    Écrire(somme)
Fin
Début Lire(a) Lire(b) somme ← a+b Écrire(somme) Fin

 

2.1.5 Instructions de début et de fin

Les mots-clés Début et Fin délimitent la partie exécutable de l’algorithme. Ils indiquent clairement où commence le traitement et où il s’achève. Tout ce qui se trouve avant Début appartient normalement à l’en-tête ou à la partie déclarative.

À retenir

Les déclarations décrivent les données ; les instructions placées entre Début et Fin décrivent les actions.

Exemple complet et annoté

Le problème consiste à calculer le prix toutes taxes comprises à partir d’un prix hors taxe et d’un taux de TVA fixé à 20 %.

Algorithme Calculer_Prix_TTC          // Nom de l’algorithme

Constantes
    TAUX_TVA = 0,20                   // Donnée fixe

Variables
    prix_ht, montant_tva, prix_ttc : Réel

Début                                  // Début du traitement
    Écrire("Saisir le prix HT : ")
    Lire(prix_ht)
    montant_tva ← prix_ht × TAUX_TVA
    prix_ttc ← prix_ht + montant_tva
    Écrire("Prix TTC : ", prix_ttc)
Fin                                    // Fin du traitement

Donnée

Rôle

Évolution pendant l’exécution

TAUX_TVAConstante utilisée dans le calcul.Ne change pas.
prix_htValeur fournie par l’utilisateur.Reçoit une valeur lors de la lecture.
montant_tvaRésultat intermédiaire.Reçoit le produit prix_ht × TAUX_TVA.
prix_ttcRésultat final.Reçoit la somme du prix HT et de la TVA.

 


 

 

2.2 Instructions élémentaires

Les instructions élémentaires constituent les briques de base d’un algorithme. Avant d’étudier les choix et les répétitions, il faut maîtriser les opérations simples permettant de créer des données, de leur attribuer une valeur, de recevoir des informations et d’afficher des résultats.

Instruction

Rôle

Forme générale

DéclarationCréer une donnée et préciser son type.nom_variable : Type
AffectationPlacer une valeur dans une variable.variable ← expression
LectureRecevoir une valeur depuis l’extérieur.Lire(variable)
ÉcritureAfficher une information ou un résultat.Écrire(expression)
CommentaireExpliquer une intention sans exécution.// texte du commentaire

 

2.2.1 Déclaration

La déclaration prépare les données utilisées par l’algorithme. Elle associe un nom à un type. Selon les conventions, plusieurs variables de même type peuvent être déclarées sur la même ligne.

Variables
    age : Entier
    taille, poids, imc : Réel
    nom_complet : Chaîne
    est_majeur : Booléen

Règles de nommage des variables

  • utiliser un nom qui exprime le contenu de la variable ;
  • ne pas commencer par un chiffre ;
  • ne pas utiliser d’espace ;
  • éviter les accents et les caractères spéciaux lorsqu’une traduction en programme est prévue ;
  • ne pas utiliser un mot-clé du pseudo-code ou du langage de programmation ;
  • conserver la même orthographe à chaque utilisation.

Nom

Appréciation

Explication

moyenne_notesCorrectNom explicite et sans espace.
nPossible mais peu lisibleAcceptable seulement si le contexte est évident.
2eme_noteIncorrectUn identificateur ne doit pas commencer par un chiffre.
prix totalIncorrectL’espace doit être remplacé par un soulignement.
réelDéconseilléLe nom ressemble à un mot désignant un type.

 

Erreur fréquente

Déclarer une variable ne signifie pas nécessairement lui attribuer une valeur. Une variable déclarée mais non initialisée ne doit pas être utilisée dans un calcul.

2.2.2 Affectation

L’affectation place une valeur dans une variable. Elle est représentée en pseudo-code par une flèche orientée vers la variable : ←. L’expression placée à droite est d’abord évaluée, puis son résultat est enregistré dans la variable située à gauche.

age ← 20
somme ← note1 + note2 + note3
moyenne ← somme / 3
compteur ← compteur + 1

Instruction

Interprétation

x ← 5La variable x reçoit la valeur 5.
y ← x + 2On calcule x + 2, puis y reçoit le résultat.
x ← x + 1On utilise l’ancienne valeur de x, on ajoute 1, puis on remplace x par le résultat.
nom ← "Sara"La chaîne « Sara » est mémorisée dans nom.

 

Affectation et égalité mathématique

L’affectation ne doit pas être confondue avec l’égalité mathématique. En mathématiques, l’écriture x = x + 1 est impossible. En algorithmique, x ← x + 1 signifie que la nouvelle valeur de x est calculée à partir de son ancienne valeur.

Lecture correcte de l’affectation

Lire « x reçoit x plus 1 » et non « x est égal à x plus 1 ».

Compatibilité des types

La valeur affectée doit être compatible avec le type de la variable. Une variable entière peut recevoir 12, mais elle ne devrait pas recevoir directement une chaîne comme « douze ». Les conversions de types seront étudiées lors du passage à la programmation.

Variable déclarée

Affectation

Validité

age : Entierage ← 21Valide
moyenne : Réelmoyenne ← 14,75Valide
nom : Chaînenom ← "Amine"Valide
admis : Booléenadmis ← VraiValide
age : Entierage ← "vingt"Incompatible

 

Exemple : échanger deux valeurs

Pour échanger le contenu de deux variables, une variable temporaire est nécessaire afin de ne pas perdre la première valeur.

temporaire ← a
a ← b
b ← temporaire

Pourquoi une variable temporaire ?

Si l’on écrit directement a ← b puis b ← a, l’ancienne valeur de a est perdue dès la première instruction. Les deux variables finissent avec la même valeur.


 

 

2.2.3 Lecture

L’instruction de lecture permet à l’algorithme de recevoir une valeur provenant de l’utilisateur, d’un fichier, d’un capteur ou d’un autre système. Dans les premiers exercices, on considère généralement que la valeur est saisie au clavier.

Écrire("Saisir votre âge : ")
Lire(age)

Lors de l’exécution, l’algorithme s’arrête temporairement au niveau de Lire(age), attend une valeur, puis place cette valeur dans la variable age. La variable doit avoir été déclarée auparavant.

Étape

Action

État de la variable age

Avant la lectureLa variable est déclarée mais aucune saisie n’a encore été effectuée.Non définie ou non initialisée.
Pendant la lectureL’algorithme attend la saisie de l’utilisateur.En attente.
Après la saisie de 22La valeur saisie est stockée.age vaut 22.

 

Invite de saisie

Il est conseillé d’afficher un message avant une lecture afin que l’utilisateur sache quelle information fournir. Une suite d’instructions Lire(a), Lire(b) sans explication peut fonctionner, mais elle rend l’utilisation difficile.

À éviter

À privilégier

Lire(longueur)
Lire(largeur)
Écrire("Longueur : ")
Lire(longueur)
Écrire("Largeur : ")
Lire(largeur)

 

Point de vigilance

La lecture ne garantit pas que la valeur saisie est correcte. Le contrôle des données sera approfondi avec les structures conditionnelles et répétitives.

2.2.4 Écriture

L’instruction d’écriture communique une information. Elle peut afficher un texte fixe, la valeur d’une variable, le résultat d’une expression ou une combinaison de plusieurs éléments.

Écrire("Bonjour")
Écrire(age)
Écrire("Votre âge est : ", age)
Écrire("Somme : ", a + b)

Écriture

Résultat possible

Écrire("Bonjour")Bonjour
Écrire(12 + 3)15
Écrire("Périmètre : ", perimetre)Périmètre : 30
Écrire(nom, " a obtenu ", moyenne)Sara a obtenu 15,5

 

Texte et variables

Le texte fixe est généralement placé entre guillemets. Le nom d’une variable n’est pas placé entre guillemets, car l’algorithme doit afficher son contenu et non son nom.

Instruction

Ce qui est affiché

Écrire("age")Le mot age.
Écrire(age)La valeur contenue dans la variable age.
Écrire("Âge : ", age)Un libellé suivi de la valeur.

 

Bonne pratique

Toujours accompagner un résultat d’un libellé et, si nécessaire, de son unité : « Distance : 15 km » est plus clair que « 15 ».

2.2.5 Commentaires

Un commentaire est un texte destiné au lecteur. Il explique l’objectif d’une instruction, justifie un choix ou sépare les grandes étapes. Il n’est pas exécuté par l’ordinateur. Dans ce support, on utilise la notation // pour introduire un commentaire sur une ligne.

// Lecture des dimensions du rectangle
Lire(longueur)
Lire(largeur)

// Calcul selon la formule P = 2 × (L + l)
perimetre ← 2 × (longueur + largeur)

Caractéristiques d’un bon commentaire

  • il explique l’intention plutôt que de répéter mot à mot l’instruction ;
  • il reste court et directement lié au traitement ;
  • il est mis à jour lorsque l’algorithme change ;
  • il aide à comprendre un calcul, une convention ou une étape importante ;
  • il n’est pas utilisé pour compenser des noms de variables imprécis.

Commentaire

Appréciation

// Ajouter 1 à compteurPeu utile : l’instruction compteur ← compteur + 1 est déjà explicite.
// Passer à l’étudiant suivantUtile : le commentaire explique l’intention du changement.
// Le taux est fixé par l’énoncéUtile : il justifie la présence d’une constante.
// CalculTrop vague : il n’apporte aucune information réelle.

 

Principe

Un algorithme bien nommé et bien structuré nécessite peu de commentaires. Les commentaires doivent éclairer le raisonnement, non décrire l’évidence.


 

 

Exemple intégrateur : conversion d’une durée

On souhaite convertir une durée exprimée en secondes en heures, minutes et secondes. Cet exemple réunit la déclaration, la lecture, l’affectation, l’écriture et les commentaires.

Algorithme Convertir_Duree

Variables
    total_secondes, heures, minutes, secondes_restantes : Entier

Début
    Écrire("Durée totale en secondes : ")
    Lire(total_secondes)

    // Calcul du nombre d’heures complètes
    heures ← total_secondes div 3600

    // Calcul des minutes après retrait des heures
    minutes ← (total_secondes mod 3600) div 60

    // Secondes restantes
    secondes_restantes ← total_secondes mod 60

    Écrire(heures, " h ", minutes, " min ", secondes_restantes, " s")
Fin

Si total_secondes vaut

heures

minutes

secondes_restantes

Affichage

36651151 h 1 min 5 s
72002002 h 0 min 0 s
5900590 h 0 min 59 s

 

Notations div et mod

div représente la division entière ; mod donne le reste d’une division entière. Ces opérateurs seront réutilisés dans de nombreux exercices.

2.3 Ordre d’exécution

2.3.1 Exécution séquentielle

Dans un algorithme séquentiel, les instructions sont exécutées une par une, de haut en bas, dans l’ordre où elles sont écrites. Une instruction ne commence normalement qu’après la fin de l’instruction précédente.

a ← 4
b ← 7
somme ← a + b
a ← 10
Écrire(somme)

L’affichage vaut 11 et non 17. La variable somme a été calculée avant que a ne reçoive la valeur 10. Une affectation ultérieure de a ne modifie pas automatiquement les valeurs déjà calculées et enregistrées dans d’autres variables.

Ordre

Instruction

Effet

1a ← 4a vaut 4.
2b ← 7b vaut 7.
3somme ← a + bsomme reçoit 11.
4a ← 10a vaut maintenant 10 ; somme reste 11.
5Écrire(somme)L’algorithme affiche 11.

 

Dépendance entre les instructions

L’ordre devient particulièrement important lorsqu’une instruction utilise une valeur calculée auparavant. Une variable doit être initialisée avant d’être lue dans une expression.

Ordre correct

Ordre incorrect

prix_tva ← prix_ht × taux
prix_ttc ← prix_ht + prix_tva
prix_ttc ← prix_ht + prix_tva
prix_tva ← prix_ht × taux

 

Erreur fréquente

Utiliser une variable avant de lui avoir attribué une valeur conduit à un résultat indéterminé ou à une erreur lors de la traduction en programme.

2.3.2 Traçage manuel d’un algorithme

Le traçage manuel consiste à simuler l’exécution d’un algorithme sur papier. On suit les instructions dans l’ordre et on note, après chaque étape, la valeur des variables. Cette méthode permet de comprendre le fonctionnement, de vérifier un résultat et de détecter une erreur logique avant la programmation.

Méthode de traçage

1. Choisir un jeu de données d’entrée.

2. Écrire les variables dans les colonnes d’une table de trace.

3. Commencer avec des valeurs non définies pour les variables non initialisées.

4. Exécuter mentalement la première instruction.

5. Mettre à jour uniquement les variables modifiées par cette instruction.

6. Continuer jusqu’à l’instruction Fin.

7. Comparer la sortie obtenue avec le résultat attendu.

Exemple de traçage

Algorithme Exemple_Trace
Variables
    a, b, c : Entier
Début
    a ← 3
    b ← a + 2
    a ← b × 2
    c ← a - b
    Écrire(a, b, c)
Fin

 

Étape

Instruction

a

b

c

Observation

0DébutAucune variable n’est initialisée.
1a ← 33Seule a est modifiée.
2b ← a + 235b reçoit 3 + 2.
3a ← b × 2105La nouvelle valeur de a remplace 3.
4c ← a - b1055c reçoit 10 - 5.
5Écrire(a, b, c)1055Valeurs affichées : 10, 5, 5.

 

Notation « — »

Dans une table de trace, le symbole — indique qu’aucune valeur n’a encore été attribuée à la variable. Il ne faut pas le confondre avec zéro.


 

 

2.3.3 État d’une variable avant et après une instruction

L’état d’un algorithme correspond à l’ensemble des valeurs actuellement mémorisées dans ses variables. Chaque instruction peut conserver cet état ou le modifier. Pour comprendre une affectation, il est utile de distinguer l’ancienne valeur de la nouvelle valeur.

Instruction

État avant

Calcul effectué

État après

x ← 8x non définieValeur fixe 8x = 8
x ← x + 3x = 88 + 3x = 11
y ← 2 × xx = 11 ; y non définie2 × 11x = 11 ; y = 22
x ← y - 5x = 11 ; y = 2222 - 5x = 17 ; y = 22

 

Une affectation modifie uniquement la variable située à gauche de la flèche. Les variables utilisées à droite servent au calcul, mais leur valeur ne change pas sauf si une autre instruction les modifie explicitement.

Exemple : évolution d’un compteur

compteur ← 0
compteur ← compteur + 1
compteur ← compteur + 1
compteur ← compteur + 3

Après l’instruction

Valeur de compteur

compteur ← 00
compteur ← compteur + 11
compteur ← compteur + 12
compteur ← compteur + 35

 

Exemple : perte d’une ancienne valeur

Lorsqu’une variable reçoit une nouvelle valeur, son ancienne valeur est remplacée. Elle n’est plus accessible, sauf si elle a été préalablement copiée dans une autre variable.

x ← 12
ancien_x ← x
x ← 25

À la fin, x vaut 25 et ancien_x vaut 12. Sans la deuxième instruction, la valeur 12 aurait été perdue.

2.3.4 Erreurs courantes liées à l’ordre

Erreur

Exemple

Conséquence

Correction

Utilisation avant initialisationtotal ← total + noteLa valeur initiale de total est inconnue.Écrire total ← 0 avant le calcul.
Écrasement prématuréa ← b puis b ← aL’ancienne valeur de a est perdue.Utiliser une variable temporaire.
Calcul trop tôtmoyenne ← somme / 3 avant somme ← ...La moyenne utilise une valeur incorrecte.Calculer d’abord la somme.
Confusion texte/variableÉcrire("moyenne")Le mot moyenne est affiché.Écrire(moyenne).
Lecture oubliéesurface ← longueur × largeurLes dimensions n’ont aucune valeur.Lire les dimensions avant le calcul.

 

Stratégie de vérification

Pour chaque ligne, demander : quelles variables sont lues ? Ont-elles déjà une valeur ? Quelle variable est modifiée ? L’ordre choisi correspond-il au raisonnement du problème ?

Synthèse du chapitre

Notion

À retenir

OrganisationUn algorithme comporte un nom, une partie déclarative et une partie principale encadrée par Début et Fin.
DéclarationElle associe un nom et un type à une donnée qui sera utilisée.
AffectationLa variable située à gauche reçoit le résultat de l’expression située à droite.
LectureElle reçoit une donnée extérieure et la mémorise dans une variable.
ÉcritureElle affiche un texte, une valeur ou le résultat d’une expression.
CommentaireIl explique le raisonnement et n’est pas exécuté.
Exécution séquentielleLes instructions sont exécutées de haut en bas.
Traçage manuelIl permet de suivre l’évolution des variables et de valider le résultat.

 

Question de contrôle

Pouvez-vous expliquer, pour chaque variable d’un algorithme, quand elle reçoit sa première valeur, comment cette valeur évolue et à quel moment elle est utilisée ?


 

 

Exercices d’application

Exercice 1 — Repérer les différentes parties

On considère l’algorithme suivant :

Algorithme Aire_Triangle
Variables
    base, hauteur, aire : Réel
Début
    Lire(base)
    Lire(hauteur)
    aire ← (base × hauteur) / 2
    Écrire(aire)
Fin

1. Donner le nom de l’algorithme.

2. Identifier la partie déclarative.

3. Identifier les entrées.

4. Identifier le traitement.

5. Identifier la sortie.

6. Proposer deux messages d’invite de saisie et un libellé pour le résultat.

Exercice 2 — Corriger la structure

L’algorithme suivant contient plusieurs erreurs de présentation ou d’ordre. Le réécrire correctement.

Variables
    prix_ht, prix_ttc : Réel
prix_ttc ← prix_ht × 1,20
Algorithme Prix
Écrire(prix_ttc)
Lire(prix_ht)
Fin
Début

Exercice 3 — Table de trace

Compléter la table de trace de l’algorithme suivant.

a ← 2
b ← 3
c ← a + b
a ← c × 2
b ← a - c

Étape

Instruction

a

b

c

0Début
1a ← 2   
2b ← 3   
3c ← a + b   
4a ← c × 2   
5b ← a - c   

 

Exercice 4 — Échange de valeurs

Les variables a et b valent respectivement 7 et 12. Écrire les instructions permettant d’échanger leurs valeurs. Réaliser ensuite une table de trace.

Exercice 5 — Conception d’un algorithme complet

Concevoir un algorithme qui demande la longueur et la largeur d’un rectangle, calcule son aire et son périmètre, puis affiche les deux résultats avec des libellés clairs. Le pseudo-code doit comporter :

  • un nom explicite ;
  • une partie déclarative ;
  • des messages d’invite ;
  • deux lectures ;
  • deux affectations de calcul ;
  • deux écritures de résultat ;
  • au moins un commentaire utile.


 

 

Corrigé indicatif

Correction de l’exercice 1

Élément

Réponse

NomAire_Triangle.
Partie déclarativebase, hauteur et aire sont déclarées comme réelles.
Entréesbase et hauteur.
Traitementaire ← (base × hauteur) / 2.
SortieLa valeur de aire.
AméliorationAfficher « Base : », « Hauteur : » et « Aire du triangle : ».

 

Correction de l’exercice 2

Algorithme Calculer_Prix_TTC

Variables
    prix_ht, prix_ttc : Réel

Début
    Écrire("Prix hors taxe : ")
    Lire(prix_ht)
    prix_ttc ← prix_ht × 1,20
    Écrire("Prix TTC : ", prix_ttc)
Fin

Le nom est placé au début, les variables sont déclarées avant utilisation, la lecture précède le calcul, et les instructions exécutables sont placées entre Début et Fin.

Correction de l’exercice 3

Étape

Instruction

a

b

c

0Début
1a ← 22
2b ← 323
3c ← a + b235
4a ← c × 21035
5b ← a - c1055

 

Correction de l’exercice 4

temporaire ← a
a ← b
b ← temporaire

Étape

Instruction

a

b

temporaire

0Valeurs initiales712
1temporaire ← a7127
2a ← b12127
3b ← temporaire1277

 

Correction de l’exercice 5

Algorithme Aire_Et_Perimetre_Rectangle

Variables
    longueur, largeur, aire, perimetre : Réel

Début
    // Lecture des dimensions
    Écrire("Longueur : ")
    Lire(longueur)
    Écrire("Largeur : ")
    Lire(largeur)

    aire ← longueur × largeur
    perimetre ← 2 × (longueur + largeur)

    Écrire("Aire : ", aire)
    Écrire("Périmètre : ", perimetre)
Fin

Prolongement en programmation

Lors du passage à Python, C ou Java, la structure logique restera la même. Seules les règles de syntaxe pour les déclarations, les entrées, les sorties et l’affectation changeront.

Éléments essentiels à mémoriser

1. Donner à l’algorithme un nom explicite.

2. Déclarer les constantes et les variables avant de les utiliser.

3. Placer les instructions exécutables entre Début et Fin.

4. Lire les données avant les calculs qui en dépendent.

5. Comprendre que variable ← expression remplace l’ancienne valeur de la variable.

6. Afficher des résultats accompagnés de libellés clairs.

7. Utiliser les commentaires pour expliquer l’intention et non l’évidence.

8. Respecter l’ordre d’exécution séquentiel.

9. Utiliser une table de trace pour vérifier l’évolution des variables.

10. Contrôler qu’aucune variable n’est utilisée avant son initialisation.

Transition vers le chapitre suivant

Après avoir appris à organiser une suite d’instructions simples, l’étudiant pourra étudier plus précisément les variables, les constantes, les types de données et les conversions.