Module 2 : Les structures simples

Cours

1. La sortie

La sortie, ou l'affichage, se fait par défaut sur le périphérique de sortie standard : l'écran.

L'opération de sortie se fait en algorithme à l'aide de la procédure Écrire(...).

En Python, elle se fait à l'aide de la fonction print(...).

Illustration de la Sortie (Écran / Affichage / print)
📐 Algorithme (Écrire) 🐍 Python (print) 💡 Description
// Affichage d'un message
Ecrire("Votre message")
# Affichage d'un message
print("Votre message")
Affichage d'un message texte simple
x ← 4
y ← 7
// Affichage d'une variable
Ecrire(x)
x = 4
y = 7
# Affichage d'une variable
print(x)
Affichage de la valeur stockée dans une variable
// Affichage mixte
Ecrire(x, y)
Ecrire("x = ", x)
# Affichage mixte
print(x, y)
print("x =", x)
Affichage mixte de texte et de variables

2. L'entrée

L'entrée, ou la saisie, des données utilisateur est effectuée à partir du périphérique d'entrée standard : le clavier.

On utilise, en algorithme, Lire(nom_var) pour affecter les entrées de l'utilisateur à la variable nom_var.

En Python, l'entrée des données est effectuée à l'aide de la fonction input(message). Cette fonction retourne toujours une chaîne de caractères (type str).

Illustration de l'Entrée (Clavier / Lire / input)
📐 Algorithme (Lire) 🐍 Python (input) 💡 Type de donnée
// Saisie d'une chaîne
Écrire("Prénom ? ") ; Lire(ch)
# Saisie d'une chaîne
ch = input("Prénom ? ")
Chaîne de caractères (str)
// Saisie d'un nombre entier
Écrire("Âge ? ") ; Lire(age)
# Saisie d'un nombre entier
age = int(input("Âge ? "))
Entier relatif (int)
// Saisie d'un nombre réel
Écrire("Moyenne ? ") ; Lire(moy)
# Saisie d'un nombre réel
moy = float(input("Moyenne ? "))
Nombre réel (float)

3. L'affectation

L'affectation permet de donner une valeur à une variable.

En algorithme, on utilise le signe d'affectation ← comme suit : variable ← valeur.

En Python, l'affectation se fait à l'aide de l'opérateur = comme suit : variable = valeur.

Illustration de l'Affectation (Variable <- Valeur / =)

La valeur affectée à une variable peut-être :

  • Une constante (ex: a ← 5)
  • La valeur d'une autre variable (ex: b ← a)
  • Le résultat d'une expression (ex: d ← a / 3)

Exercices Interactifs

Exercice 1 – QCM

1. Un algorithme est :
💡 Indice
Pensez aux étapes préparatoires de la résolution d'un problème avant d'ouvrir un éditeur de code.
2. Un langage de programmation est utile pour :
💡 Indice
L'ordinateur ne comprend pas le langage naturel ; le langage sert d'intermédiaire de traduction vers la machine.
3. Le nom d'une variable :
💡 Indice
Rappelez-vous le premier caractère autorisé et l'interdiction des symboles spéciaux.
4. Une constante :
💡 Indice
Contrairement à une variable dont le contenu varie, la valeur d'une constante demeure invariable.
5. On peut affecter à une variable :
💡 Indice
Examinez si la mémoire d'une variable peut recevoir des données calculées, lues ou prédéfinies.
6. L'opérateur utilisé pour stocker une valeur dans une variable est :
💡 Indice
Distinguez le symbole d'affectation en pseudocode (flèche) et celui du langage Python.
7. Les instructions d'affectation incorrectes, en algorithmique, sont :
💡 Indice
En algorithmique, la variable de destination doit impérativement être un nom de variable situé à gauche de la flèche d'affectation ←.

Exercice 2 – Noms de variables

Parmi les mots suivants, cliquez sur ceux qui NE SONT PAS des noms valides pour une variable en Python (cliquer pour barrer les nom invalides) :

💡 Rappel : Règles des variables & Mots réservés Python
  • Règles de nommage : Un nom de variable doit commencer par une lettre ou _. Il ne peut pas commencer par un chiffre, ni contenir d'espaces ou de symboles (#, -, !, @...).
  • Mots clés réservés Python (Invalides comme nom de variable) : Ces mots sont strictement réservés par le langage et ne peuvent pas être utilisés comme identificateurs.
🔑 Liste Exhaustive des 35 Mots Clés Réservés en Python (Python Keywords) :
False None True and as assert async await break class continue def del elif else except finally for from global if import in is lambda nonlocal not or pass raise return try while with yield
📌 Nombre total de noms invalides à trouver : 10
🎯 Décompte en temps réel (Sélectionnés) : 0 / 10

Exercice 3 – Distance euclidienne entre deux points

📋 Énoncé du problème (Niveau Avancé)

Dans un repère orthonormé $(O, \vec{i}, \vec{j})$, soient deux points $A(x_A, y_A)$ et $B(x_B, y_B)$. On souhaite concevoir un programme intitulé Distance_Points qui demande à l'utilisateur de saisir les coordonnées cartésiennes des points $A$ et $B$, puis calcule et affiche la distance euclidienne $d$ séparant ces deux points.

La formule mathématique issue du théorème de Pythagore est :

$$d = \sqrt{(x_B - x_A)^2 + (y_B - y_A)^2}$$

💡 Remarque didactique : En algorithmique, la racine carrée se note RacineCarre(...) ou Sqrt(...). En Python, la fonction sqrt() s'utilise via le module mathématique : from math import sqrt ou import math puis math.sqrt(...).
🎯 Travail demandé :
  1. Dresser le Tableau de Déclaration des Objets (TDO) pour identifier les coordonnées en entrée ($x_A, y_A, x_B, y_B$) et la distance calculée en sortie ($d$).
  2. Élaborer l'algorithme de résolution du programme Distance_Points.
  3. Traduire cet algorithme en script Python.

🧪 Simulateur & Illustration interactive (Vérification)

Exercice 4 – Aire d'un parallélogramme

📋 Énoncé du problème

On désire concevoir un programme intitulé Parallelogramme qui demande à l'utilisateur de saisir la longueur des deux côtés consécutifs (a et b) d'un parallélogramme ainsi que la mesure de l'angle (θ en degrés) formé par ces deux côtés, puis calcule et affiche son aire.

La formule mathématique est :

$$\text{Aire} = a \times b \times \sin(\theta)$$

💡 Remarque informatique : En Python comme en algorithmique, la fonction trigonométrique sin(...) s'applique impérativement à un angle en radians. Il faut donc convertir l'angle en degrés : $$\theta_{\text{rad}} = \theta \times \frac{\pi}{180}$$
🎯 Travail demandé :
  1. Dresser le Tableau de Déclaration des Objets (TDO) en précisant la constante $\pi$ et les variables.
  2. Élaborer l'algorithme de résolution du programme Parallelogramme.
  3. Traduire cet algorithme en script Python.

🧪 Simulateur & Illustration interactive (Vérification)

°

Exercice 5 – Aire d'une ellipse

📋 Énoncé du problème

On désire concevoir un programme intitulé Ellipse qui demande à l'utilisateur de saisir les valeurs du demi-grand axe (a) et du demi-petit axe (b) d'une ellipse, puis calcule et affiche son aire.

La formule mathématique est : $$\text{Aire} = a \times b \times \pi$$

🎯 Travail demandé :
  1. Dresser le Tableau de Déclaration des Objets (TDO) en précisant la constante $\pi$ et les variables.
  2. Élaborer l'algorithme de résolution du programme Ellipse.
  3. Traduire cet algorithme en script Python.

🧪 Simulateur & Illustration interactive (Vérification)

Exercice 6 – Moyenne d'informatique

📋 Énoncé du problème

On désire concevoir un programme intitulé Moyenne qui demande à l'utilisateur de saisir la note globale de contrôle continu (NG) et la note de devoir de synthèse (NS) d'un élève, puis calcule et affiche sa moyenne en appliquant la formule :

$$\text{Moy} = \frac{\text{NG} + \text{NS}}{2}$$

🎯 Travail demandé :
  1. Dresser le Tableau de Déclaration des Objets (TDO).
  2. Élaborer l'algorithme de résolution du programme Moyenne.
  3. Traduire cet algorithme en script Python.

🧪 Simulateur & Calculateur interactif (Vérification)

Exercice 7 – Raideur d'un ressort

📋 Énoncé du problème (Physique Appliquée)

Pour mesurer la raideur k d'un ressort élastique, on lui suspend un objet de masse m (en kg) et on mesure l'allongement x (en mètres) subi par le ressort.

À l'équilibre, le poids $P = m \cdot g$ compense la tension du ressort $T = k \cdot x$, ce qui donne la relation :

$$m \cdot g = k \cdot x \implies k = \frac{m \cdot g}{x}$$

On prendra pour l'intensité de la pesanteur la constante g = 10 N/kg.

🎯 Travail demandé :
  1. Dresser le Tableau de Déclaration des Objets (TDO) en précisant la constante gravitationnelle $g$ et les variables.
  2. Élaborer l'algorithme de résolution du programme Raideur_Ressort.
  3. Traduire cet algorithme en script Python.

🧪 Simulateur & Illustration interactive du Ressort (Vérification)

Exercice 8 – Formule de Héron (Aire d'un triangle quelconque)

📋 Énoncé du problème (Niveau Avancé)

On désire concevoir un programme intitulé Aire_Heron qui calcule l'aire d'un triangle quelconque dont on connaît les longueurs des trois côtés a, b et c sans avoir besoin de mesurer sa hauteur.

La formule historique attribuée à Héron d'Alexandrie se décompose en deux temps :

  1. Calcul du demi-périmètre $p$ : $$p = \frac{a + b + c}{2}$$
  2. Calcul de l'aire $S$ du triangle : $$S = \sqrt{p \times (p - a) \times (p - b) \times (p - c)}$$
💡 Remarque didactique : Cet exercice illustre l'intérêt fondamental de l'opération d'affectation pour mémoriser une variable intermédiaire (le demi-périmètre p) réutilisée ensuite à plusieurs reprises dans le calcul de la racine carrée math.sqrt(...).
🎯 Travail demandé :
  1. Dresser le Tableau de Déclaration des Objets (TDO) en distinguant les données d'entrée ($a, b, c$), la variable intermédiaire ($p$) et le résultat final ($S$).
  2. Élaborer l'algorithme de résolution du programme Aire_Heron.
  3. Traduire cet algorithme en script Python.

🧪 Simulateur & Illustration interactive du Triangle (Vérification)