Aller au contenu

Chapitre 3 : Les bases de la programmation partie 2⚓︎

A. Les structures itératives ou boucles⚓︎

▶️ Capsule : Les boucles en Python

En programmation, on est très souvent amené à répéter plusieurs fois une instruction ou un bloc d’instructions.

Incontournables à tout langage de programmation, les boucles, ou structures itératives, permettent de réaliser des tâches répétitives de manière optimisée.

Répéter en boucle

I - Les boucles bornées⚓︎

A savoir

Lorsqu'on connaît à l'avance le nombre de répétitions (ou itérations) que le programme doit exécuter on utilise les boucles bornées, aussi appelées boucles pour (for).

L'algorithme d'une boucle bornée s'écrit généralement :

Pour i variant de début à fin
    Bloc d’instructions
fin Pour

La boucle for en programmation par bloc

Dans cette boucle, on utilise une variable i qui va parcourir l’intervalle allant de début à fin. Cette variable est incrémentée (augmentée) automatiquement et la boucle s'arrête dès que la borne supérieure est atteinte.

On dit souvent que cette variable est un compteur car elle sert à numéroter les itérations (répétitions) de la boucle.

🐍 Voici 3 façons d'écrire une boucle for en Python.

for i in range(debut, fin, pas):
    Bloc dinstructions

La variable i prendra toutes les valeurs comprises entre début (inclus) et fin (exclus) en augmentant sa valeur du pas défini : si on ne précise pas la valeur du pas, l’augmentation par défaut est +1.

for i in range(debut, fin):
    Bloc dinstructions

La variable i prendra toutes les valeurs comprises entre début (inclus) et fin (exclus) en augmentant sa valeur de 1 à chaque répétition de la boucle.

for i in range(fin):
    Bloc dinstructions

La variable i prendra toutes les valeurs comprises entre 0 et fin (exclus) en augmentant sa valeur de 1 à chaque répétition de la boucle.

II - Les boucles non bornées⚓︎

A savoir

Lorsqu'on ne connaît pas à l'avance le nombre de répétitions (ou itérations) que le programme doit exécuter on utilise les boucles non bornées, aussi appelées boucles tant que (while).

L’algorithme d’une boucle non bornée s’écrit généralement :

Tant que condition faire
    Bloc d’instructions
fin Tant que

La boucle while en programmation par bloc

Dans cette boucle, c’est une condition qui va contrôler le nombre d’itérations qui seront réalisées. Tant que cette condition n’est pas satisfaite, la boucle va continuer à s’exécuter :

  • Si la condition est fausse au départ, le corps de la boucle n’est jamais exécuté.
  • Si la condition reste toujours vraie, alors le corps de la boucle est répété indéfiniment.

🐍 Écriture d’une boucle while en Python.

while condition:
    Bloc dinstructions

Exemple : Compteur de 0 à 50

i = 0
while i <= 50:
    print(i)
    i = i + 1

Contrairement à la boucle for, dans cet exemple, il faut obligatoirement initialiser le compteur à 0 puis augmenter ce compteur de 1 à l’intérieur de la boucle !

III - Ça tourne en boucle !!!⚓︎

A savoir

❗️❗️Une boucle non bornée peut ne jamais s'arrêter! C'est le cas lorsque la condition testée est toujours vraie : on parle alors de boucle infinie.

Les instructions exécutées dans la boucle doivent impérativement modifier la variable utilisée dans la condition : c'est ce qui permet à cette condition de devenir fausse à un moment donné et de stopper la boucle.

limite = 5
while limite < 10:
    print("Bonjour")

Dans cet exemple tant que la valeur de la variable « limite » est strictement inférieure à 10 la boucle se répète. Comme on ne modifie jamais la variable « limite » utilisée dans la condition, la boucle ne s'arrête jamais !

compteur = 0
while compteur < 10:
    print("Numéro: ", compteur)
    compteur = compteur + 1

Ici, tant que la valeur de la variable « compteur » est strictement inférieure à 10 la boucle se répète. Comme cette valeur augmente de 1 à chaque tour de boucle, elle finira par devenir égale à 10 et la boucle s'arrêtera.

Boucle infinie

B. Les fonctions⚓︎

▶️ Capsule : Les fonctions en Python

I - Qu’est-ce qu’une fonction⚓︎

A savoir

Les fonctions sont très utiles en programmation pour réaliser plusieurs fois la même opération au sein d'un programme : chaque fonction effectue en général une tâche unique et précise.

Elles rendent le code plus lisible et plus clair en décomposant un programme complexe en une série de sous-programmes plus simples.

Une fonction est un sous-programme :

  • auquel on fournit des informations en entrée appelées paramètres de la fonction (il peut y avoir des fonctions sans paramètres (elles n’ont pas besoin de données en entrée)
  • qui effectue un traitement de ces informations.
  • qui renvoie un résultat en sortie (parfois il n’y a pas de résultat en sortie).

Principe d'une fonction

II- Définition d’une fonction en Python⚓︎

A savoir

🐍 En Python une fonction se définit de la façon suivante :

Définition d'une fonction en Python

Remarques :

  • Une fonction commence par le mot def, suivi du nom de la fonction, de la liste des paramètres entre parenthèses, et de : .
  • Toutes les instructions d’une fonction sont indentées.
  • S’il n’y a pas de paramètres, il faut obligatoirement mettre des parenthèses vides.
  • Une fonction peut renvoyer 1 ou plusieurs valeurs grâce à l’instruction return. Si la fonction doit renvoyer plusieurs valeurs, celles-ci sont à séparées par des virgules.
  • ❗️❗️L’exécution de l’instruction return provoque obligatoirement la sortie de la fonction : toutes les instructions situées après le return ne seront jamais exécuté.

III- Utilisation d’une fonction en Python⚓︎

A savoir

Un script Python est généralement constitué de plusieurs parties :

  • La partie définition des fonctions ou on définit les fonctions que l’on veut utiliser
  • La partie programme principal dans laquelle on écrit le programme principal qui comprend les appels de fonctions

Découpage d'un programme

Lorsqu’on veut utiliser une fonction, on dit qu’on appelle cette fonction. Un appel de fonction consiste à écrire son nom suivi des arguments de la fonction entre parenthèses et dans le bon ordre : les arguments sont les valeurs des paramètres de la fonction.

Exemple :

Exemple de définition et d'appel de fonction

IV- Documenter une fonction⚓︎

A savoir

Lorsqu'on écrit une fonction, il est nécessaire de préciser un certain nombre d’informations afin d’expliquer comment cette fonction doit être utilisée.

L’ensemble de ces informations est appelé prototype de la fonction et doit contenir :

  • Une phrase expliquant ce que fait la fonction.
  • Des informations sur les paramètres : noms, types et description.
  • Des informations sur les valeurs renvoyées par la fonction : noms, types et description.

En Python cette documentation est généralement placée au début de chaque fonction dans une zone appelée docstrings ( chaînes de documentation en français) : cette zone est délimitée par des """. ` Les « docstrings » permettent notamment de fournir de l'aide lorsqu'on utilise la commande help().

Exemple

Exemple de documentation d'une fonction