Cours – Module 10 : Bases de la programmation

Share Article

Objectif général du module

À la fin de ce module, tu dois être capable de comprendre un problème, de le transformer en algorithme, puis de le traduire en programme informatique structuré. Tu dois aussi savoir utiliser des variables, des conditions, des boucles, des fonctions, des tableaux, des structures et des fichiers.


10.1 Analyser une situation problème et modéliser la solution sous forme d’algorithme

1. Qu’est-ce qu’un algorithme ?

Un algorithme est une suite d’instructions ordonnées qui permet de résoudre un problème.

Exemple simple :

Problème : calculer le prix total d’un achat.
Données : prix unitaire et quantité.
Traitement : prix unitaire × quantité.
Résultat : prix total.

Algorithme :

Début
    Demander le prix unitaire
    Demander la quantité
    Calculer total = prix unitaire × quantité
    Afficher total
Fin

2. Structure d’un algorithme

Un algorithme est généralement organisé ainsi :

Début
    Déclaration des variables
    Entrée des données
    Traitement
    Sortie des résultats
Fin

3. La séquence

Une séquence est une liste d’instructions exécutées dans l’ordre.

Exemple :

Lire a
Lire b
somme ← a + b
Afficher somme

Les instructions sont exécutées de haut en bas.

4. L’imbrication

On parle d’imbrication lorsqu’une structure est placée à l’intérieur d’une autre.

Exemple :

Si âge >= 18 Alors
    Si permis = vrai Alors
        Afficher "Vous pouvez conduire"
    Sinon
        Afficher "Vous devez avoir le permis"
    Fin Si
Sinon
    Afficher "Vous êtes mineur"
Fin Si

Ici, un Si est placé dans un autre Si.


10.2 Traduire un algorithme dans un langage informatique structuré

Un algorithme peut être traduit dans un langage de programmation comme Python, JavaScript, Java, C#, etc.

Dans ce cours, les exemples seront surtout en Python, car sa syntaxe est simple.

1. Exemple de traduction

Algorithme :

Début
    Lire nom
    Afficher "Bonjour", nom
Fin

Programme Python :

nom = input("Entrez votre nom : ")
print("Bonjour", nom)

2. Syntaxe

La syntaxe correspond aux règles d’écriture d’un langage.

Exemple correct en Python :

age = 18
print(age)

Exemple incorrect :

age = 18
print age

Cette deuxième version produit une erreur de syntaxe.

3. Identificateurs

Un identificateur est le nom donné à une variable, une fonction ou une constante.

Exemples valides :

prenom
age
prix_total
note1

Exemples invalides :

2note
prix-total
nom complet

Règles générales :

  • ne pas commencer par un chiffre ;
  • ne pas utiliser d’espace ;
  • éviter les accents ;
  • utiliser des noms clairs ;
  • ne pas utiliser les mots réservés du langage.

4. Mots-clés

Les mots-clés sont des mots réservés par le langage.

En Python, par exemple :

if
else
while
for
def
return
True
False

On ne peut pas utiliser ces mots comme noms de variables.

5. Notion de compilation

Certains langages doivent être compilés avant d’être exécutés.

La compilation transforme le code écrit par l’humain en langage compréhensible par la machine.

Exemples de langages compilés :

C
C++
Java
C#

Python est plutôt un langage interprété : le programme est lu et exécuté directement par l’interpréteur.

6. Indentation

L’indentation correspond aux espaces placés au début d’une ligne.

En Python, l’indentation est obligatoire.

Exemple :

age = 20

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

Mauvaise indentation :

if age >= 18:
print("Majeur")

Cela provoque une erreur.

7. Commentaires

Un commentaire sert à expliquer le code. Il n’est pas exécuté.

En Python :

# Demander l'âge de l'utilisateur
age = int(input("Entrez votre âge : "))

Les commentaires doivent être utiles, courts et clairs.


10.3 Déclarer les variables d’exécution du programme

1. Variable

Une variable est un espace mémoire qui stocke une valeur.

Exemple :

age = 18
nom = "Alice"
prix = 12.50

La valeur peut changer pendant le programme.

score = 10
score = score + 5

La variable score vaut maintenant 15.

2. Constante

Une constante est une valeur qui ne doit pas changer.

En Python, on écrit souvent les constantes en majuscules :

TVA = 0.21
PI = 3.14159

3. Types de données

Un type indique la nature de la valeur stockée.

TypeExempleDescription
entier12nombre sans virgule
réel12.5nombre avec décimales
chaîne"Bonjour"texte
booléenTrue ou Falsevrai ou faux

Exemples :

age = 20              # entier
prix = 9.99           # réel
nom = "Lucas"         # chaîne de caractères
est_majeur = True     # booléen

4. Initialisation

Initialiser une variable signifie lui donner une première valeur.

compteur = 0
total = 0
nom = ""

10.4 Écrire une séquence avec des instructions d’entrée et de sortie

1. Entrée

Une entrée permet à l’utilisateur de donner une information au programme.

En Python :

nom = input("Entrez votre nom : ")

Attention : input() retourne toujours du texte. Pour obtenir un nombre, il faut convertir.

age = int(input("Entrez votre âge : "))
prix = float(input("Entrez le prix : "))

2. Sortie

Une sortie permet d’afficher une information.

print("Bonjour")
print("Le résultat est", resultat)

3. Exemple complet

prix = float(input("Prix unitaire : "))
quantite = int(input("Quantité : "))

total = prix * quantite

print("Total à payer :", total, "€")

4. Formatage de sortie

On peut choisir le nombre de décimales affichées.

prix = 12.5678
print(f"Prix : {prix:.2f} €")

Résultat :

Prix : 12.57 €

5. Ordonner les instructions

L’ordre des instructions est important.

Correct :

a = int(input("Nombre 1 : "))
b = int(input("Nombre 2 : "))
somme = a + b
print(somme)

Incorrect :

somme = a + b
a = int(input("Nombre 1 : "))
b = int(input("Nombre 2 : "))
print(somme)

Ici, a et b sont utilisés avant d’avoir été créés.


10.5 Traduire une opération ou une fonction en langage de programmation

1. Opérations arithmétiques

OpérationSymbole PythonExemple
addition+a + b
soustraction-a - b
multiplication*a * b
division/a / b
division entière//a // b
modulo%a % b
puissance**a ** b

2. Exemple : somme de deux nombres

a = int(input("Entrez un premier nombre : "))
b = int(input("Entrez un deuxième nombre : "))

somme = a + b

print("La somme vaut", somme)

3. Le modulo

Le modulo donne le reste d’une division.

reste = 10 % 3
print(reste)

Résultat :

1

Car 10 divisé par 3 donne 3, reste 1.

Le modulo est souvent utilisé pour savoir si un nombre est pair.

nombre = int(input("Entrez un nombre : "))

if nombre % 2 == 0:
    print("Le nombre est pair")
else:
    print("Le nombre est impair")

4. Fonctions mathématiques

En Python, certaines fonctions mathématiques se trouvent dans la bibliothèque math.

import math

racine = math.sqrt(25)
print(racine)

Résultat :

5.0

Autres exemples :

import math

print(math.sqrt(16))   # racine carrée
print(math.log(10))    # logarithme
print(math.pi)         # valeur de pi

5. Échange de deux variables

Problème : échanger les valeurs de a et b.

Méthode classique :

a = 5
b = 10

temp = a
a = b
b = temp

print(a, b)

Résultat :

10 5

10.6 Écrire un programme avec des structures alternatives et répétitives

1. Structure alternative simple

Une structure alternative permet de faire un choix.

Pseudo-code :

Si condition Alors
    instruction
Fin Si

Python :

age = int(input("Âge : "))

if age >= 18:
    print("Vous êtes majeur")

2. Structure alternative avec sinon

Pseudo-code :

Si condition Alors
    instruction 1
Sinon
    instruction 2
Fin Si

Python :

age = int(input("Âge : "))

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

3. Plusieurs conditions

note = float(input("Note : "))

if note >= 16:
    print("Très bien")
elif note >= 12:
    print("Bien")
elif note >= 10:
    print("Suffisant")
else:
    print("Insuffisant")

4. Conditions imbriquées

age = int(input("Âge : "))
permis = input("Avez-vous le permis ? oui/non : ")

if age >= 18:
    if permis == "oui":
        print("Vous pouvez conduire")
    else:
        print("Vous devez passer le permis")
else:
    print("Vous êtes trop jeune")

5. Structure répétitive : boucle while

Une boucle while répète une instruction tant qu’une condition est vraie.

compteur = 1

while compteur <= 5:
    print(compteur)
    compteur = compteur + 1

Résultat :

1
2
3
4
5

6. Structure répétitive : boucle for

Une boucle for est utilisée quand on connaît le nombre de répétitions.

for i in range(5):
    print(i)

Résultat :

0
1
2
3
4

Pour afficher de 1 à 5 :

for i in range(1, 6):
    print(i)

7. Exemple : somme d’une liste de nombres

total = 0

for i in range(5):
    nombre = int(input("Entrez un nombre : "))
    total = total + nombre

print("Somme :", total)

8. Exemple : rechercher un maximum

maximum = None

for i in range(5):
    nombre = int(input("Entrez un nombre : "))

    if maximum is None or nombre > maximum:
        maximum = nombre

print("Le maximum est", maximum)

9. Exemple : compter les nombres positifs

compteur = 0

for i in range(5):
    nombre = int(input("Entrez un nombre : "))

    if nombre > 0:
        compteur = compteur + 1

print("Nombre de valeurs positives :", compteur)

10.7 Construire un programme modulaire

1. Modularité

Un programme modulaire est divisé en plusieurs parties plus petites.

Ces parties peuvent être des procédures ou des fonctions.

Cela rend le programme :

  • plus lisible ;
  • plus facile à corriger ;
  • plus facile à réutiliser.

2. Fonction

Une fonction effectue un traitement et retourne généralement une valeur.

def addition(a, b):
    return a + b

Appel de la fonction :

resultat = addition(5, 3)
print(resultat)

Résultat :

8

3. Procédure

Une procédure effectue une action mais ne retourne pas forcément de valeur.

En Python, on utilise aussi def.

def dire_bonjour(nom):
    print("Bonjour", nom)

Appel :

dire_bonjour("Alice")

4. Paramètres

Un paramètre est une valeur envoyée à une fonction.

def afficher_carre(nombre):
    print(nombre * nombre)

afficher_carre(4)

Résultat :

16

5. Variable locale

Une variable locale existe seulement dans une fonction.

def exemple():
    message = "Bonjour"
    print(message)

exemple()

La variable message n’existe pas en dehors de la fonction.

6. Variable globale

Une variable globale est créée en dehors des fonctions.

taux_tva = 0.21

def calculer_tva(prix):
    return prix * taux_tva

Il faut éviter d’abuser des variables globales, car elles rendent le programme plus difficile à comprendre.

7. Valeur de retour

Une fonction peut renvoyer une valeur avec return.

def calculer_total(prix, quantite):
    return prix * quantite

total = calculer_total(12.5, 4)
print(total)

10.8 Manipuler les tableaux

En Python, on utilise souvent des listes pour représenter les tableaux.

1. Déclaration d’un tableau

notes = [12, 15, 9, 18]

2. Indices

Chaque élément possède un indice.

Attention : en Python, les indices commencent à 0.

notes = [12, 15, 9, 18]

print(notes[0])  # 12
print(notes[1])  # 15

3. Modifier un élément

notes[2] = 10

La liste devient :

[12, 15, 10, 18]

4. Ajouter un élément

notes.append(14)

5. Supprimer un élément

notes.remove(15)

Ou par indice :

del notes[0]

6. Parcourir un tableau

notes = [12, 15, 9, 18]

for note in notes:
    print(note)

7. Calculer une moyenne

notes = [12, 15, 9, 18]

total = 0

for note in notes:
    total = total + note

moyenne = total / len(notes)

print("Moyenne :", moyenne)

8. Rechercher une valeur

nombres = [4, 8, 15, 16, 23, 42]
recherche = int(input("Nombre à chercher : "))

trouve = False

for nombre in nombres:
    if nombre == recherche:
        trouve = True

if trouve:
    print("Nombre trouvé")
else:
    print("Nombre non trouvé")

9. Trier un tableau

Méthode simple avec Python :

nombres = [5, 2, 9, 1]
nombres.sort()

print(nombres)

Résultat :

[1, 2, 5, 9]

10.9 Manipuler les structures d’enregistrement

1. Structure d’enregistrement

Une structure permet de regrouper plusieurs informations sur un même objet.

Exemple : un étudiant possède :

nom
prénom
âge
moyenne

En Python, on peut utiliser un dictionnaire.

etudiant = {
    "nom": "Dupont",
    "prenom": "Lucas",
    "age": 18,
    "moyenne": 14.5
}

2. Accéder aux données

print(etudiant["nom"])
print(etudiant["moyenne"])

3. Modifier une donnée

etudiant["moyenne"] = 15.2

4. Tableau de structures

Un tableau de structures est une liste contenant plusieurs enregistrements.

etudiants = [
    {"nom": "Dupont", "prenom": "Lucas", "moyenne": 14},
    {"nom": "Martin", "prenom": "Emma", "moyenne": 16},
    {"nom": "Durand", "prenom": "Lina", "moyenne": 11}
]

Afficher les étudiants :

for etudiant in etudiants:
    print(etudiant["prenom"], etudiant["nom"], etudiant["moyenne"])

5. Rechercher dans un tableau de structures

nom_recherche = input("Nom à rechercher : ")

for etudiant in etudiants:
    if etudiant["nom"] == nom_recherche:
        print("Étudiant trouvé :", etudiant)

10.10 Création, accès et mise à jour d’un fichier par programmation

1. Notion de fichier

Un fichier permet de sauvegarder des données de manière permanente.

Sans fichier, les données disparaissent quand le programme s’arrête.

Exemples de fichiers :

contacts.txt
notes.csv
clients.json

2. Chemin d’accès

Le chemin indique l’emplacement d’un fichier.

Chemin absolu :

C:/Users/Pascal/Documents/fichier.txt

Chemin relatif :

data/fichier.txt

Un chemin relatif dépend du dossier dans lequel se trouve le programme.

3. Ouvrir et fermer un fichier

En Python :

fichier = open("contacts.txt", "r")
contenu = fichier.read()
fichier.close()

Mais on préfère utiliser with, car le fichier est fermé automatiquement.

with open("contacts.txt", "r") as fichier:
    contenu = fichier.read()

4. Modes d’ouverture

ModeSignification
"r"lecture
"w"écriture, écrase le contenu
"a"ajout à la fin
"r+"lecture et écriture

5. Écrire dans un fichier

with open("contacts.txt", "w") as fichier:
    fichier.write("Alice;0470123456\n")
    fichier.write("Lucas;0488998877\n")

6. Lire un fichier

with open("contacts.txt", "r") as fichier:
    contenu = fichier.read()

print(contenu)

7. Lire ligne par ligne

with open("contacts.txt", "r") as fichier:
    for ligne in fichier:
        print(ligne)

8. Ajouter une donnée

with open("contacts.txt", "a") as fichier:
    fichier.write("Emma;0499887766\n")

9. Exemple : carnet d’adresses simple

def ajouter_contact():
    nom = input("Nom : ")
    telephone = input("Téléphone : ")

    with open("contacts.txt", "a") as fichier:
        fichier.write(nom + ";" + telephone + "\n")

def afficher_contacts():
    with open("contacts.txt", "r") as fichier:
        for ligne in fichier:
            donnees = ligne.strip().split(";")
            nom = donnees[0]
            telephone = donnees[1]
            print(nom, "-", telephone)

choix = ""

while choix != "3":
    print("1. Ajouter un contact")
    print("2. Afficher les contacts")
    print("3. Quitter")

    choix = input("Votre choix : ")

    if choix == "1":
        ajouter_contact()
    elif choix == "2":
        afficher_contacts()
    elif choix == "3":
        print("Au revoir")
    else:
        print("Choix invalide")

Exercices d’entraînement

Exercice 1 : somme de deux nombres

Écris un programme qui demande deux nombres à l’utilisateur, calcule leur somme et affiche le résultat.


Exercice 2 : pair ou impair

Écris un programme qui demande un nombre et affiche s’il est pair ou impair.


Exercice 3 : moyenne de notes

Écris un programme qui demande 5 notes, calcule la moyenne et l’affiche avec deux décimales.


Exercice 4 : maximum

Écris un programme qui demande 10 nombres et affiche le plus grand.


Exercice 5 : compteur

Écris un programme qui demande 10 nombres et compte combien sont positifs.


Exercice 6 : fonction de calcul

Crée une fonction calculer_total(prix, quantite) qui retourne le prix total.


Exercice 7 : tableau

Crée une liste de notes, affiche toutes les notes, puis calcule la moyenne.


Exercice 8 : structure

Crée une structure représentant un client avec :

nom
prenom
email
telephone

Puis affiche toutes les informations du client.


Exercice 9 : fichier

Écris un programme qui demande un nom et un numéro de téléphone, puis les enregistre dans un fichier contacts.txt.


Synthèse du module

À retenir :

NotionRôle
AlgorithmeDécrire une solution étape par étape
VariableStocker une valeur
ConstanteStocker une valeur qui ne change pas
EntréeRecevoir une donnée de l’utilisateur
SortieAfficher une information
ConditionFaire un choix
BoucleRépéter des instructions
FonctionRegrouper un traitement réutilisable
TableauStocker plusieurs valeurs
StructureRegrouper plusieurs informations liées
FichierSauvegarder des données durablement

Ce module sert de base pour apprendre à programmer proprement, structurer sa pensée et résoudre des problèmes de manière logique.

You might also like

3ème année

Charte graphique – Brand Identiy

Exercice Transformez votre logo avec les exemples que j’ai donné. Soyez-le plus complet possible. Aidez-vous de AI ou de site de génération de Brand identity

#Mindey

@mindey