Aller au contenu
M02 · C. Programmer en Python

De l'algorithme à Python : traduire ligne par ligne

Transformer un algorithme écrit en pseudo-code en programme Python, en respectant les blocs d'instructions et les bonnes pratiques de codage.

1Situer

Votre algorithme de somme des N premiers entiers fonctionne dans l'atelier. Le client veut maintenant un vrai programme qu'il peut lancer sur son ordinateur. Il faut le traduire dans un langage de programmation : Python, simple à lire et très utilisé dans les entreprises.

2Comprendre

Traduire le pseudo-code en Python, ligne par ligne
PSEUDO-CODE PYTHON S ← 0 s = 0 I ← 1 i = 1 TantQue I <= N Faire while i <= n: S ← S + I s = s + i I ← I + 1 i = i + 1 FinTantQue 4 espaces = dans la boucle (fin du décalage)

L'affectation S ← 0 devient s = 0. En Python, le signe = veut dire « reçoit ».

1 / 6

Le pseudo-code décrit la logique ; un langage de programmation la rend exécutable par une machine. Python est souvent choisi pour débuter : sa syntaxe est proche du pseudo-code.

Table de correspondance

Pseudo-codePython
x ← 5x = 5
Lire(n) (entier)n = int(input())
Ecrire(x)print(x)
Si c Alors ... Sinon ... FinSiif c: … else:
TantQue c Faire ... FinTantQuewhile c:
Pour i ← 1 jusqu'à n Fairefor i in range(1, n + 1):
a Mod b, a Div ba % b, a // b
Et, Ou, Non, =, <>and, or, not, ==, !=

Les blocs d’instructions

En Python, il n’y a pas de FinSi ni de FinTantQue. Un bloc commence après deux-points et contient les lignes décalées de 4 espaces. L’indentation n’est pas décorative : elle fait partie du langage.

while i <= n:
    s = s + i      # dans la boucle
    i = i + 1      # dans la boucle
print(s)           # après la boucle

Bonnes pratiques

  1. Des noms clairs : somme plutôt que s dans un vrai programme.
  2. Des commentaires avec # pour expliquer le pourquoi, pas le comment.
  3. Une instruction par ligne, 4 espaces d’indentation, jamais de tabulations mélangées.

Le code de la simulation s’exécute dans votre navigateur : rien n’est installé sur votre ordinateur.

Exemple simple

Traduire mot à mot

Comme un dictionnaire français-anglais : « Ecrire » devient print, « Lire » devient input, « ← » devient =. La logique reste la même, seuls les mots changent.

Ecrire("Bonjour")   →   print("Bonjour")
x ← 5               →   x = 5
Si x > 3 Alors      →   if x > 3:
Exemple simple

Le prix d'un café en Python

Un café coûte 8 DH. On lit le nombre de cafés et on affiche le total. Attention : input renvoie toujours du texte, il faut le convertir avec int.

nb = int(input("Nombre de cafés : "))
total = nb * 8
print("À payer :", total, "DH")

3Manipuler

Saisissez 5 dans le champ des entrées, puis cliquez sur « Exécuter ». Comparez chaque ligne au pseudo-code du cours. Essayez ensuite de remplacer la boucle while par une boucle for.
Pas à pas dans le lab ↗Python se charge au premier clic (environ 12 Mo, une seule fois).
Console

4Pratiquer

Exercice 1 · Traduire la parité

Traduisez en Python l'algorithme Parité de la leçon B.2 (lire n, afficher s'il est pair ou impair). Testez-le dans la simulation.

Voir le corrigé
n = int(input("Entrez la valeur de n : "))
if n % 2 == 1:
    print(n, "est impair")
else:
    print(n, "est pair")

Exercice 2 · Table de multiplication

Traduisez la table de 7 (boucle Pour de 0 à 10) avec une boucle for et range.

Voir un indice

range(0, 11) produit les entiers de 0 à 10 : la borne haute n'est pas incluse.

Voir le corrigé
for k in range(0, 11):
    print("7 *", k, "=", 7 * k)

5Vérifier

1. En Python, comment s'écrit l'affectation x ← x + 1 ?
2. Comment Python sait-il quelles instructions sont dans la boucle ?
3. Pourquoi écrit-on int(input(...)) ?