Fiche de cours

Donner des préconditions

Lycée   >   Premiere   >   NSI   >   Donner des préconditions

  • Fiche de cours
  • Quiz et exercices
  • Vidéos et podcasts
Objectifs
  • Commenter ou documenter une fonction ou un programme.
  • Donner des préconditions.
Points clés
  • Pour éviter des erreurs, on documente les fonctions en donnant des préconditions.
  • Une précondition est une description des conditions d’utilisation de la fonction.
  • Prévoir les erreurs de l’utilisateur et leur associer une réponse, c’est effectuer une programmation dite défensive.
Pour bien comprendre
  • Fonctions
  • Opérateurs mathématiques en Python

Pour éviter des erreurs, on commente les fonctions en fournissant une documentation : les préconditions font partie de cette documentation.

1. Documenter et ajouter une précondition
a. La documentation d’une fonction

Python permet d’obtenir la documentation de n’importe quelle fonction par la commande help(nom_de_la_fonction).

On peut donc documenter ses fonctions pour indiquer ce qu’elle est censée effectuer, quels doivent être ses paramètres, etc.

Exemple
La fonction range permet de créer une liste de nombres entiers de valeurs croissantes.
help(range) donne la documentation suivante pour la fonction range : on sait ainsi que range retourne une séquence d’entiers, depuis un départ que l’on prend jusqu’à un dernier que l’on ne prend pas.
La documentation d’une fonction peut être assez longue, voici ci-dessous la fin de la documentation de la fonction range.

Pour commenter une fonction que l’on vient de créer, on peut écrire une chaine de caractères entre triple double quote ( " ), en la plaçant au début du corps de la fonction. Cela permet d’indiquer à Python ce qu’il va devoir afficher comme documentation.

Pour accéder à la documentation dans la console (shell en anglais), c’est-à-dire là où il y a >>>, il faut taper « help » suivi du nom de la fonction entre parenthèses.
Python répondra alors en donnant le nom de la fonction avec ses paramètres formels (variables) s’il y en a, puis à la ligne le commentaire avec une indentation.
Exemple
Voici l’explication ligne par ligne.
def euclid(a,b): Le mot clé def définit une fonction nommée euclid, qui prend pour paramètres a et b.
   """calcul du pgcd par l’algorithme d’Euclide""" Commentaire de la fonction.
   assert a==0 Corps de la fonction euclid.
   while b!=0:
      if a>b:
        a=a-b
      else:
         b=b-a
   return a
help(euclid) Dans le shell, on demande l’affichage du commentaire en tapant help suivi du nom de la fonction entre parenthèses..
Help on funtion euclid in module_main_: Affichage du commentaire dans le shell.
euclid(a,b)
   calcul du pgcd par l’algorithme d’Euclide
b. Les préconditions d’une fonction

On utilise cette documentation pour indiquer ce qu’on appelle des préconditions.

Une précondition est une description des conditions d’utilisation de la fonction. Elle indique donc les conditions que doivent respecter les paramètres de la fonction.

Cela nécessite d’avoir réfléchi à tous les cas possibles.

Exemple de l’algorithme d’Euclide
La documentation associée à la fonction euclid nous donner les préconditions suivantes : a et b doivent être des entiers naturels, et on doit aussi avoir a > 0.
2. La programmation dite défensive

L’utilisateur d’un programme ou d’une fonction peut ne pas lire la documentation de la fonction et donc générer des erreurs. Pour éviter cela, on peut utiliser une programmation dite défensive, c’est-à-dire que l’on prévoit les erreurs que l’utilisateur peut commettre et on les intercepte.

Pour utiliser une programmation défensive, on utilise la commande assert de Python. La commande assert condition indique ainsi que Python ne continuera le programme que si la condition est réalisée, sinon une erreur est mentionnée.

Exemple
Ces lignes de code vont générer un message d’erreur lorsque a vaut 0. On a ainsi l’affichage suivant.
Le message d’erreur se lit toujours du bas vers le haut : on indique une erreur d’assertion, et au-dessus en rouge on nous indique que le problème est que a n’est pas strictement supérieur à 0.

On peut aussi ajouter un message indiquant la raison pour laquelle il y a une erreur. Il suffit de rajouter assert condition, "message" après.

On appelle cela intercepter l’erreur ou lever l’exception.
Exemple
Ces lignes de codes vont générer le message suivant lorsque a vaut 0.

Évalue ce cours !

 

Des quiz et exercices pour mieux assimiler sa leçon

La plateforme de soutien scolaire en ligne myMaxicours propose des quiz et exercices en accompagnement de chaque fiche de cours. Les exercices permettent de vérifier si la leçon est bien comprise ou s’il reste encore des notions à revoir.

S’abonner

 

Des exercices variés pour ne pas s’ennuyer

Les exercices se déclinent sous toutes leurs formes sur myMaxicours ! Selon la matière et la classe étudiées, retrouvez des dictées, des mots à relier ou encore des phrases à compléter, mais aussi des textes à trous et bien d’autres formats !

Dans les classes de primaire, l’accent est mis sur des exercices illustrés très ludiques pour motiver les plus jeunes.

S’abonner

 

Des quiz pour une évaluation en direct

Les quiz et exercices permettent d’avoir un retour immédiat sur la bonne compréhension du cours. Une fois toutes les réponses communiquées, le résultat s’affiche à l’écran et permet à l’élève de se situer immédiatement.

myMaxicours offre des solutions efficaces de révision grâce aux fiches de cours et aux exercices associés. L’élève se rassure pour le prochain examen en testant ses connaissances au préalable.

S’abonner

Des vidéos et des podcasts pour apprendre différemment

Certains élèves ont une mémoire visuelle quand d’autres ont plutôt une mémoire auditive. myMaxicours s’adapte à tous les enfants et adolescents pour leur proposer un apprentissage serein et efficace.

Découvrez de nombreuses vidéos et podcasts en complément des fiches de cours et des exercices pour une année scolaire au top !

S’abonner

 

Des podcasts pour les révisions

La plateforme de soutien scolaire en ligne myMaxicours propose des podcasts de révision pour toutes les classes à examen : troisième, première et terminale.

Les ados peuvent écouter les différents cours afin de mieux les mémoriser en préparation de leurs examens. Des fiches de cours de différentes matières sont disponibles en podcasts ainsi qu’une préparation au grand oral avec de nombreux conseils pratiques.

S’abonner

 

Des vidéos de cours pour comprendre en image

Des vidéos de cours illustrent les notions principales à retenir et complètent les fiches de cours. De quoi réviser sa prochaine évaluation ou son prochain examen en toute confiance !

S’abonner

Découvrez le soutien scolaire en ligne avec myMaxicours

Plongez dans l'univers de myMaxicours et découvrez une approche innovante du soutien scolaire en ligne, conçue pour captiver et éduquer les élèves de CP à la terminale. Notre plateforme se distingue par une riche sélection de contenus interactifs et ludiques, élaborés pour stimuler la concentration et la motivation à travers des parcours d'apprentissage adaptés à chaque tranche d'âge. Chez myMaxicours, nous croyons en une éducation où chaque élève trouve sa place, progresse à son rythme et développe sa confiance en soi dans un environnement bienveillant.

Profitez d'un accès direct à nos Profs en ligne pour une assistance personnalisée, ou explorez nos exercices et corrigés pour renforcer vos connaissances. Notre assistance scolaire en ligne est conçue pour vous accompagner à chaque étape de votre parcours éducatif, tandis que nos vidéos et fiches de cours offrent des explications claires et concises sur une multitude de sujets. Avec myMaxicours, avancez sereinement sur le chemin de la réussite scolaire, armé des meilleurs outils et du soutien de professionnels dédiés à votre épanouissement académique.

Fiches de cours les plus recherchées

NSI

Donner des postconditions

NSI

Tester un programme

NSI

Prototyper une fonction

NSI

S'informer sur une bibliothèque Python

NSI

Utiliser la bibliothèque Matplotlib de Python pour créer un graphique

NSI

Algorithmes de recherche : parcourir un tableau

NSI

Algorithmes de recherche : rechercher un extremum

NSI

Algorithmes de recherche : obtenir une moyenne, une médiane

NSI

Trier par insertion

NSI

Trier par sélection