Easier to read with cream paper, a tint, more contrast or larger text? Choose your colours and text, once, for every page.

Aperçu

Plusieurs façons de programmer

Voici la première page de la leçon. Lis-la et essaie les activités. La suite est dans le cours complet.

30 minutes

Aller au lycée

Pour aller au lycée, tu peux marcher, prendre le bus ou le vélo. Tu arrives au même endroit, mais tu ne fais pas les mêmes gestes.

En programmation, c’est pareil. Un même problème se résout de plusieurs façons. Chaque façon s’appelle un style.

Mots-clés

MotCe que ça veut direExemple
ParadigmeUne façon de penser et d’écrire un programme. On dit aussi un style.impératif, objet, fonctionnel
ImpératifOn donne des ordres dans l’ordre, qui changent des variables.total = total + p
ObjetOn range les données et les actions dans des objets. Voir la leçon « Les objets ».equipe.ajouter(3)
FonctionnelOn combine des fonctions qui rendent des valeurs, sans rien changer.total(points[1:])
Effet de bordQuand une fonction change quelque chose en dehors d’elle.liste.append(5)
Fonction pureUne fonction qui ne change rien en dehors d’elle et rend toujours la même réponse pour les mêmes valeurs.liste + [5]

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Un même problème

Notre problème : une équipe a gagné des points à chaque match, 3, 1, 0 et 3. On veut le total.

Nous allons le résoudre trois fois, de trois façons. À chaque fois, le total sera 7.

Première façon : impérative

Code: python
# Style impératif : des ordres, dans l'ordre, qui changent des variables.
points = [3, 1, 0, 3]

total = 0
for p in points:
    total = total + p

print("Total :", total)

Deuxième façon : avec un objet

Code: python
# Style objet : l'équipe garde ses points et sait les additionner.
class Equipe:
    def __init__(self, nom):
        self.nom = nom
        self.points = []

    def ajouter(self, p):
        self.points.append(p)

    def total(self):
        resultat = 0
        for p in self.points:
            resultat = resultat + p
        return resultat


lyceens = Equipe("Les lycéens")
for p in [3, 1, 0, 3]:
    lyceens.ajouter(p)

print("Total :", lyceens.total())

Troisième façon : fonctionnelle

Code: python
# Style fonctionnel : des fonctions qui ne changent rien et rendent une valeur.
def total(points):
    if len(points) == 0:
        return 0
    return points[0] + total(points[1:])


print("Total :", total([3, 1, 0, 3]))

Exemple travaillé : les trois styles côte à côte

StyleL’idéeQui garde le total ?Ce qui change
ImpératifDes ordres, l’un après l’autrela variable totaltotal change à chaque tour
ObjetDes objets qui savent faire des chosesl’objet Equipeles points de l’objet
FonctionnelDes fonctions qui rendent des valeurspersonne : chaque appel rend un nombrerien ne change

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Quel est le style ?

À toi de jouer

Quel est le style ?

3 questions
Essayez : vos réponses sont notées ici puis oubliées. Connectez-vous si vous voulez conserver votre score et reprendre là où vous en étiez.Se connecter pour conserver mon score

Tes réponses sont corrigées ici et ne sont pas conservées. Un compte garde tes résultats.

Changer ou rendre

Une fonction peut changer la liste qu’on lui donne. C’est un effet de bord.

Elle peut aussi rendre une nouvelle liste et laisser l’ancienne tranquille. C’est une fonction pure.

Une fonction pure est facile à tester : mêmes valeurs, même réponse.

La leçon continue

6 parties de plus de cette leçon se trouvent dans le cours complet, avec les exercices et la vérification finale. Un compte te donne tout.