Aller au contenu

Partie 1 : Constructions élémentaires


Tout programme impératif se construit à partir de six briques de base, communes à pratiquement tous les langages de programmation.

L'affectation associe une valeur à un nom de variable.

x = 42
nom = "Alice"
pi = 3.14159

L'opérateur = en Python est une affectation, pas une égalité mathématique. L'expression x = x + 1 est parfaitement valide : elle prend la valeur de x, lui ajoute 1 et range le résultat dans x.

La séquence est l'exécution d'instructions les unes après les autres, dans l'ordre où elles sont écrites.

a = 5
b = 3
c = a + b
print(c) # 8

L'ordre compte : inverser deux lignes peut changer le résultat.

La conditionnelle permet d'exécuter un bloc de code seulement si une condition est vraie.

age = 17
if age >= 18:
print("Majeur")
else:
print("Mineur")

Variantes :

# Sans else
if temperature < 0:
print("Il gèle")
# Avec elif (sinon si)
if note >= 16:
mention = "Très bien"
elif note >= 14:
mention = "Bien"
elif note >= 12:
mention = "Assez bien"
else:
mention = "Pas de mention"

La boucle bornée répète un bloc de code un nombre déterminé de fois.

# Afficher les nombres de 0 à 4
for i in range(5):
print(i)
# Parcourir un tableau
noms = ["Alice", "Bob", "Charlie"]
for nom in noms:
print(nom)
# Boucle avec pas
for i in range(0, 20, 2): # 0, 2, 4, ..., 18
print(i)

La boucle non bornée répète un bloc de code tant qu'une condition est vraie. Le nombre de répétitions n'est pas connu à l'avance.

n = 1
while n < 100:
n = n * 2
print(n) # 128

Une fonction est un bloc de code réutilisable, identifié par un nom, qui peut recevoir des paramètres et renvoyer un résultat.

def aire_rectangle(largeur, hauteur):
return largeur * hauteur
surface = aire_rectangle(5, 3)
print(surface) # 15
TermeDéfinition
DéfinitionCréation de la fonction avec def
ParamètresVariables dans la parenthèse de def (ici largeur, hauteur)
AppelUtilisation de la fonction : aire_rectangle(5, 3)
ArgumentsValeurs passées lors de l'appel (ici 5 et 3)
RetourValeur renvoyée par return

Une variable définie à l'intérieur d'une fonction est locale : elle n'existe que pendant l'exécution de la fonction.

def ma_fonction():
x = 10 # variable locale
print(x)
ma_fonction() # affiche 10
print(x) # ERREUR : x n'existe pas ici

Une variable définie en dehors de toute fonction est globale : elle est accessible partout.

message = "Bonjour" # variable globale
def saluer():
print(message) # accès en lecture autorisé
saluer() # affiche "Bonjour"

Les paramètres d'une fonction reçoivent une copie de la valeur pour les types simples (entiers, flottants, booléens, chaînes), mais une référence pour les types mutables (listes, dictionnaires).

def doubler(n):
n = n * 2 # modifie la copie locale
return n
x = 5
y = doubler(x)
print(x) # 5 (inchangé)
print(y) # 10
def ajouter(liste, element):
liste.append(element) # modifie la liste originale
ma_liste = [1, 2, 3]
ajouter(ma_liste, 4)
print(ma_liste) # [1, 2, 3, 4] (modifiée)

Il n'existe pas de langage de programmation « universel ». Chaque langage a ses forces et ses faiblesses, adaptées à des domaines différents :

LangageCréé enDomaines privilégiés
Python1991Enseignement, science des données, IA, scripts
JavaScript1995Pages Web interactives, serveurs
Java1995Applications d'entreprise, Android
C1972Systèmes d'exploitation, embarqué, performance
C++1983Jeux vidéo, systèmes, performance
PHP1995Sites Web côté serveur
SQL1974Bases de données

Malgré leur diversité, tous les langages impératifs partagent les mêmes constructions élémentaires :

ConstructionPythonJavaScriptC
Affectationx = 5let x = 5;int x = 5;
Conditionnelleif x > 0:if (x > 0) {if (x > 0) {
Boucle bornéefor i in range(n):for (let i=0; i<n; i++) {for (int i=0; i<n; i++) {
Boucle non bornéewhile x > 0:while (x > 0) {while (x > 0) {
Fonctiondef f(x):function f(x) {int f(int x) {
Bloc de codeIndentationAccolades { }Accolades { }

Les langages diffèrent sur plusieurs points :

TraitPythonC / Java
TypageDynamique (pas de déclaration de type)Statique (type déclaré : int x = 5;)
DélimitationIndentation obligatoireAccolades { }
Point-virguleNonObligatoire
CompilationInterprétéCompilé

Calcul de la factorielle de n :

def factorielle(n):
resultat = 1
for i in range(1, n + 1):
resultat = resultat * i
return resultat

La structure est identique (variable, boucle, multiplication, retour). Seule la syntaxe change.


  • Les six constructions élémentaires : affectation, séquence, conditionnelle, boucle bornée (for), boucle non bornée (while), appel de fonction.
  • Les variables locales n'existent que dans la fonction où elles sont définies.
  • Les paramètres de types simples sont passés par copie, les mutables par référence.
  • Tous les langages impératifs partagent les mêmes constructions : seule la syntaxe change.
  • Typage dynamique (Python) : pas de déclaration de type. Typage statique (C, Java) : type obligatoire.
  • Pour comprendre un nouveau langage, il faut identifier : la délimitation des blocs, la syntaxe des boucles et conditions, la gestion des types.