Exercices

Enquêter sur une erreur dans un calcul de $\pi$

La somme des inverses des carrés des nombres entiers converge vers $\dfrac{\pi^2}{6}$.

$$\sum_{k=1}^{\infty} \dfrac{1}{k^2} = \dfrac{\pi^2}{6}$$

On utilise cette formule pour trouver une approximation de $\pi$.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
import math

def terme(k: int) -> float:
    return 1 / (k**2)

def approxpi(n: int) -> float:
    s = 0
    # utilise les termes jusqu’à 1/n**2 inclus
    for k in range(n):
        s = s + terme(k)
    return math.sqrt(s * 6)

[Lire]

Modules et exceptions

Ce chapitre se concentre sur les modules de Python et sur les modalités d’importation des données des modules dans l’environnement de travail.

L’objectif de ce document est de souligner l’importance d’un code modulaire, c’est à dire d’un code qui :

  • puisse être utilisé dans plusieurs programmes ;
  • puisse être documenté précisément ;
  • soit suffisamment compact pour être étudié avec soin et en particulier testé.

Qu’est-ce qu’un module ?

Un module permet d’organiser logiquement le code Python.
  • Quand la taille du code augmente, il peut être pratique de le diviser en entités organisées qui peuvent continuer à interagir.
  • Un module permet aussi de se créer une «  boite à outils » contenant des fonctions appelées depuis plusieurs programmes.
  • Finalement, un module permet de bénéficier du travail déjà effectué, maximisant ainsi la réutilisabilité du code.

Modules et fichiers

Si les modules représentent un moyen d’organiser logiquement le code Python, les fichiers permettent quant à eux d’organiser physiquement le code.

À cette fin, chaque fichier est considéré comme un module individuel, et réciproquement. Le nom de fichier d’un module est le nom du module auquel on ajoute l’extension .py.

[Lire]

Capitalisation d'une valeur

Cette séance a pour objectif de vous familiariser avec la création et la manipulation de modules.

Comme il est maintenant de tradition vous diviserez le code de votre programme principal en trois parties:

  1. Importation des modules ;
  2. Définitions des fonctions ;
  3. Partie principale (lieu d’appel des fonctions).

Vous documenterez aussi systématiquement vos fonctions (une aide sera fournie dans les questions relatives à la définition de chacune de ces fonctions).

[Lire]