Mission Carthage

Accueil › Cours › Fonctions et procédures

Fonctions et procédures en Python et algo : cours 2ème TI

Chapitre 10 · 2ème année Technologies de l'informatique (TI)

Découpe un gros problème en petits morceaux réutilisables.

Les leçons de ce chapitre

  1. Les fonctions
  2. Les procédures
  3. Analyse modulaire

Leçon 10.1 : Les fonctions

9 min

Un sous-programme est un petit programme qui a un nom et qu'on peut appeler quand on veut, autant de fois qu'on veut. Il évite de recopier le même code. Il existe deux sortes : les fonctions (elles renvoient une valeur) et les procédures (elles font une action).

Écrire une fonction

Paramètres

Les paramètres sont les valeurs que la fonction reçoit (les entrées). return donne le résultat et termine la fonction : les lignes après un return exécuté ne sont pas lues.

Attention : Une fonction qui n'a pas de return renvoie None (rien). Si ton programme affiche None, tu as sûrement oublié le return.

En Python

On définit la fonction avant de l'utiliser. Le programme principal est en dessous.

def carre(x):
    return x * x

print("Donner un nombre :")
n = int(input())
print("Son carré est", carre(n))

En algorithme

La fonction s'écrit avant l'algorithme principal.

DEF FN carre (x : Entier) : Entier
Début
  Retourner x * x
Fin

Algorithme Principal
Début
  Ecrire("Donner un nombre :")
  Lire(n)
  Ecrire("Son carré est ", carre(n))
Fin

TDO
Objet | Type/Nature
n | Entier

Leçon 10.2 : Les procédures

8 min

Une procédure fait une action (afficher, modifier…) mais ne renvoie rien. On l'appelle comme une instruction. En algorithme : DEF PROC nom (paramètres). En Python, c'est une fonction sans return.

Astuce : Question de méthode : si le sous-programme doit donner un résultat au programme principal, c'est une fonction. S'il doit seulement afficher ou changer quelque chose, c'est une procédure.

Attention : Les variables créées dans un sous-programme sont locales : elles n'existent que pendant son exécution. Le programme principal ne les voit pas.

En Python

La procédure bonjour est appelée deux fois, avec deux paramètres différents.

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

bonjour("Amira")
bonjour("Sami")

En algorithme

Une procédure s'appelle simplement par son nom.

DEF PROC bonjour (nom : Chaîne)
Début
  Ecrire("Bonjour ", nom)
Fin

Algorithme Principal
Début
  bonjour("Amira")
  bonjour("Sami")
Fin

Leçon 10.3 : Analyse modulaire

9 min

L'analyse modulaire consiste à découper un problème en modules : chaque module est un sous-programme qui fait une seule chose. Le programme principal les appelle dans le bon ordre. C'est plus facile à écrire, à tester et à corriger.

La méthode

Astuce : Dans un devoir, on te demande souvent de donner le TDO et le rôle de chaque module. Prends l'habitude d'écrire en une phrase ce que fait chaque sous-programme.

En Python

Le module est_premier répond à une seule question. Le programme principal compte les nombres premiers de 1 à n.

def est_premier(n):
    if n < 2:
        return False
    for d in range(2, n):
        if n % d == 0:
            return False
    return True

n = int(input())
c = 0
for k in range(1, n + 1):
    if est_premier(k):
        c = c + 1
print("Nombre de premiers :", c)

En algorithme

Les variables locales du module sont déclarées dans son propre TDO, avant son Début.

DEF FN est_premier (n : Entier) : Booléen
TDO
Objet | Type/Nature
d | Entier
Début
  Si n < 2 Alors
    Retourner faux
  FinSi
  Pour d de 2 à n - 1 Faire
    Si n mod d = 0 Alors
      Retourner faux
    FinSi
  FinPour
  Retourner vrai
Fin

Algorithme Premiers
Début
  Lire(n)
  c ← 0
  Pour k de 1 à n Faire
    Si est_premier(k) Alors
      c ← c + 1
    FinSi
  FinPour
  Ecrire("Nombre de premiers : ", c)
Fin

TDO
Objet | Type/Nature
n, c, k | Entier

S'entraîner gratuitement

Chaque leçon a 3 exercices gratuits avec indices pour appliquer ce chapitre avec Hannibot.

Ouvrir le chapitre dans Mission Carthage Essayer dans le compilateur en ligne

← Chapitre précédent : Les tableaux · Chapitre suivant : Pages web : HTML →

Tous les chapitres · Voir les devoirs corrigés de 2ème TI

Cours écrit pour Mission Carthage d'après le programme officiel. Ton professeur reste la référence.