Chapitre 3: Boucles et fonctions

Contenus Capacités attendues

Boucles bornées et non bornées

Définitions et appels de fonctions

Écrire et développer des programmes pour répondre à des problèmes et modéliser des phénomènes physiques, économiques et sociaux.

Dans ce chapitre, nous allons nous intéresser aux boucles qui permettent de répéter des instructions dans un programme, ainsi qu’aux fonctions qui permettent d’exécuter des portions de programme à la demande.

Il existe deux types de boucles, les boucles bornées et le boucles non bornées.
Il existe deux types de boucles, les boucles bornées et le boucles non bornées.
©  CC BY-SA 2.5 via Wikimedia Commons

1 Les boucles

Les boucles permettent de répéter des blocs d’instructions.

Il en existe deux types:

  • Les boucles bornées avec le mot-clé for.
  • Les boucles non bornées avec le mot-clé while.

1.1 Les boucles bornées: for

Lorsqu’on connait le nombre de répétitions à effectuer, on utilise la boucle for associée à la fonction range().

Pour répéter 7 fois un bloc d’instructions, on utilise:

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

>>sortie

0
1
2
3
4
5
6

On peut aussi réaliser des boucles sur des types construits qui seront vus en première.

  • Sur des chaînes de caractères:

    for lettre in "Bonjour!":
        print(lettre)

    >>sortie

    B
    o
    n
    j
    o
    u
    r
    !
  • Sur des listes:

    for premier in [2, 3, 5, 7, 11, 13]:
        print(premier)

    >>sortie

    2
    3
    5
    7
    11
    13

1.2 Les boucles non bornées: while

Lorsqu’on ne connait pas le nombre de répétitions à effectuer, on utilise la boucle while associée à une variable de contrôle.

Voici un programme qui permet de vérifier la saisie d’un mot de passe par un utilisateur.

mdp = ""                # initialisation
while mdp != "azerty":  # condition d'arrêt de la boucle
    mdp = input("Entrez votre mot de passe.")   # mise à jour de
                                                # la variable de boucle

# On sort de la boucle
print("Vous êtes connecté")
Mise en garde

Attention à bien vérifier que votre boucle finira par se terminer sinon votre programme rentrera dans une boucle infinie, et il faudra obligatoirement le stopper.

2 Les fonctions

Il s’agit de blocs d’instructions exécutés à la demande, on les définit par le mot-clef def.

# définition de la fonction
def dit_bonjour(prenom):
    print("Bonjour " + prenom)

Nous venons de définir la fonction, mais pour l’instant, il ne se passe rien.

Pour exécuter le code de la fonction, il faut maintenant appeler la fonction avec un paramètre pour l’exécuter.

# appel de la fonction avec l'argument Ada
dit_bonjour("Ada")

>>sortie

Bonjour Ada

2.1 Renvoyer une valeur avec return

Au lieu d’afficher une valeur, il est préférable de renvoyer une valeur grâce au mot-clé return.

def périmètre(rayon):
    p = 2*3.14*rayon
    return p

Cette fois-ci l’appel renverra la valeur du périmètre, on peut alors l’affecter à une variable.

# on appelle la fonction avec l'argument 0.5
p = périmètre(0.5)
print(p)

>>sortie

3.14

2.2 Les paramètres de fonction

Une fonction peut accepter un nombre quelconque de paramètres, il suffit de les séparer par des virgules.

Avec deux paramètres.

def surface_rectangle(l, L):
    return l*L
# appel
surface_rectangle(2, 3) # renvoie 6
6

Avec aucun paramètre:

import time
def affiche_heure():
    print(time.asctime())

# Pour l'appel on met les parénthèses même s'il n'y a pas d'arguments
affiche_heure()

>>sortie

Wed Jul 31 15:17:09 2024