Partie 1 : Constructions élémentaires
1. Les constructions élémentaires
Section intitulée « 1. Les constructions élémentaires »Tout programme impératif se construit à partir de six briques de base, communes à pratiquement tous les langages de programmation.
1.1 L'affectation
Section intitulée « 1.1 L'affectation »L'affectation associe une valeur à un nom de variable.
x = 42nom = "Alice"pi = 3.14159L'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.
1.2 La séquence
Section intitulée « 1.2 La séquence »La séquence est l'exécution d'instructions les unes après les autres, dans l'ordre où elles sont écrites.
a = 5b = 3c = a + bprint(c) # 8L'ordre compte : inverser deux lignes peut changer le résultat.
1.3 La conditionnelle (if / else)
Section intitulée « 1.3 La conditionnelle (if / else) »La conditionnelle permet d'exécuter un bloc de code seulement si une condition est vraie.
age = 17if age >= 18: print("Majeur")else: print("Mineur")Variantes :
# Sans elseif 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"1.4 La boucle bornée (for)
Section intitulée « 1.4 La boucle bornée (for) »La boucle bornée répète un bloc de code un nombre déterminé de fois.
# Afficher les nombres de 0 à 4for i in range(5): print(i)
# Parcourir un tableaunoms = ["Alice", "Bob", "Charlie"]for nom in noms: print(nom)
# Boucle avec pasfor i in range(0, 20, 2): # 0, 2, 4, ..., 18 print(i)1.5 La boucle non bornée (while)
Section intitulée « 1.5 La boucle non bornée (while) »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 = 1while n < 100: n = n * 2print(n) # 1281.6 L'appel de fonction
Section intitulée « 1.6 L'appel de fonction »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| Terme | Définition |
|---|---|
| Définition | Création de la fonction avec def |
| Paramètres | Variables dans la parenthèse de def (ici largeur, hauteur) |
| Appel | Utilisation de la fonction : aire_rectangle(5, 3) |
| Arguments | Valeurs passées lors de l'appel (ici 5 et 3) |
| Retour | Valeur renvoyée par return |
2. Variables locales et globales
Section intitulée « 2. Variables locales et globales »2.1 Portée des variables
Section intitulée « 2.1 Portée des variables »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 10print(x) # ERREUR : x n'existe pas iciUne 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"2.2 Passage de paramètres
Section intitulée « 2.2 Passage de paramètres »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 = 5y = 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)3. Diversité des langages de programmation
Section intitulée « 3. Diversité des langages de programmation »3.1 Pourquoi tant de langages ?
Section intitulée « 3.1 Pourquoi tant de langages ? »Il n'existe pas de langage de programmation « universel ». Chaque langage a ses forces et ses faiblesses, adaptées à des domaines différents :
| Langage | Créé en | Domaines privilégiés |
|---|---|---|
| Python | 1991 | Enseignement, science des données, IA, scripts |
| JavaScript | 1995 | Pages Web interactives, serveurs |
| Java | 1995 | Applications d'entreprise, Android |
| C | 1972 | Systèmes d'exploitation, embarqué, performance |
| C++ | 1983 | Jeux vidéo, systèmes, performance |
| PHP | 1995 | Sites Web côté serveur |
| SQL | 1974 | Bases de données |
3.2 Traits communs
Section intitulée « 3.2 Traits communs »Malgré leur diversité, tous les langages impératifs partagent les mêmes constructions élémentaires :
| Construction | Python | JavaScript | C |
|---|---|---|---|
| Affectation | x = 5 | let x = 5; | int x = 5; |
| Conditionnelle | if x > 0: | if (x > 0) { | if (x > 0) { |
| Boucle bornée | for i in range(n): | for (let i=0; i<n; i++) { | for (int i=0; i<n; i++) { |
| Boucle non bornée | while x > 0: | while (x > 0) { | while (x > 0) { |
| Fonction | def f(x): | function f(x) { | int f(int x) { |
| Bloc de code | Indentation | Accolades { } | Accolades { } |
3.3 Traits particuliers
Section intitulée « 3.3 Traits particuliers »Les langages diffèrent sur plusieurs points :
| Trait | Python | C / Java |
|---|---|---|
| Typage | Dynamique (pas de déclaration de type) | Statique (type déclaré : int x = 5;) |
| Délimitation | Indentation obligatoire | Accolades { } |
| Point-virgule | Non | Obligatoire |
| Compilation | Interprété | Compilé |
3.4 Exemple : le même algorithme en 3 langages
Section intitulée « 3.4 Exemple : le même algorithme en 3 langages »Calcul de la factorielle de n :
def factorielle(n): resultat = 1 for i in range(1, n + 1): resultat = resultat * i return resultatfunction factorielle(n) { let resultat = 1; for (let i = 1; i <= n; i++) { resultat = resultat * i; } return resultat;}int factorielle(int n) { int resultat = 1; for (int i = 1; i <= n; i++) { resultat = resultat * i; } return resultat;}La structure est identique (variable, boucle, multiplication, retour). Seule la syntaxe change.
À retenir
Section intitulée « À retenir »- 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.
© 2026 Corentin Dupont - LyCode
Créé avec Astro Starlight