From c5c70d2d4d5fd39727dd5a0ff5fcc517aea81d16 Mon Sep 17 00:00:00 2001 From: Bertrand Benjamin Date: Tue, 3 Jan 2023 17:18:41 +0100 Subject: [PATCH] =?UTF-8?q?Feat(NSI):=20D=C3=A9but=20des=20cours=20sur=20l?= =?UTF-8?q?es=20fonctions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../1B.tex | 14 --- .../1B_fonctions.pdf | Bin 0 -> 33702 bytes .../1B_fonctions.tex | 112 ++++++++++++++++++ .../2B_specifiction_test.pdf | Bin 0 -> 32406 bytes .../2B_specifiction_test.tex | 59 +++++++++ .../index.rst | 21 +++- 1NSI/index.rst | 10 +- 7 files changed, 194 insertions(+), 22 deletions(-) delete mode 100644 1NSI/04_Fonctions_specifications_et_tests/1B.tex create mode 100644 1NSI/04_Fonctions_specifications_et_tests/1B_fonctions.pdf create mode 100644 1NSI/04_Fonctions_specifications_et_tests/1B_fonctions.tex create mode 100644 1NSI/04_Fonctions_specifications_et_tests/2B_specifiction_test.pdf create mode 100644 1NSI/04_Fonctions_specifications_et_tests/2B_specifiction_test.tex diff --git a/1NSI/04_Fonctions_specifications_et_tests/1B.tex b/1NSI/04_Fonctions_specifications_et_tests/1B.tex deleted file mode 100644 index 602402c..0000000 --- a/1NSI/04_Fonctions_specifications_et_tests/1B.tex +++ /dev/null @@ -1,14 +0,0 @@ -\documentclass[a4paper,10pt]{article} -\usepackage{myXsim} - -\author{Benjamin Bertrand} -\title{Fonctions spécifications et tests - Cours} -\date{décembre 2022} - -\pagestyle{empty} - -\begin{document} - -\maketitle - -\end{document} diff --git a/1NSI/04_Fonctions_specifications_et_tests/1B_fonctions.pdf b/1NSI/04_Fonctions_specifications_et_tests/1B_fonctions.pdf new file mode 100644 index 0000000000000000000000000000000000000000..dc342032d4b61d0a0a69eba7e398848fa4647b65 GIT binary patch literal 33702 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 Mg(M;pk`addUwsBEi~s-t literal 0 HcmV?d00001 diff --git a/1NSI/04_Fonctions_specifications_et_tests/2B_specifiction_test.tex b/1NSI/04_Fonctions_specifications_et_tests/2B_specifiction_test.tex new file mode 100644 index 0000000..90d971c --- /dev/null +++ b/1NSI/04_Fonctions_specifications_et_tests/2B_specifiction_test.tex @@ -0,0 +1,59 @@ +\documentclass[a4paper,10pt]{article} +\usepackage{myXsim} +\usepackage{minted} + +\author{Benjamin Bertrand} +\title{Fonctions spécifications et tests - Cours} +\date{décembre 2022} + +\pagestyle{empty} + +\begin{document} + +\maketitle + +\setcounter{section}{1} +\section{Documenter} + +Programmer c'est écrire du code pour que la machine le comprenne mais aussi et surtout pour que d'autres personnes le comprenne et soit en mesure de l'utiliser ou le modifier. C'est pour cela qu'il est primordiale de \textbf{documenter} les fonctions. + +\begin{definition}[ Les docstrings ] + + Une \textbf{docstring} (chaine de documentation) est la manière choisi pour documenter les fonctions en Python. Elles se placent en dessous de la signature de la fonction (ligne avec \mintinline{python}{def}) et sont entourés de \mintinline{python}{""" ... """}. + + \begin{center} + \begin{minipage}{0.5\linewidth} + \begin{minted}[bgcolor=base3,linenos]{python} +def nom_de_la_fonction(argument1, argument2, ...): + """ Docstring """ + instruction 1 + instruction 2 + instruction 3 + ... + return valeur + \end{minted} + \end{minipage} + \end{center} + + Pour accéder à la docstring, on utilise l'attribut \mintinline{python}{__doc__} ou la fonction \mintinline{python}{help} en mode interactif. + \begin{center} + \begin{minipage}{0.5\linewidth} + \begin{minted}[bgcolor=base3,linenos]{python} +>>> from math import sqrt +>>> print(sqrt.__doc__) +Return the square root of x. + \end{minted} + \end{minipage} + \end{center} +\end{definition} + +\section{Spécifier} + +z + + +\section{Tester} + +Écrire une fonction qui marche c'est bien mais écrire une fonction qui fait ce qu'on attend d'elle c'est mieux. +Pour cela, +\end{document} diff --git a/1NSI/04_Fonctions_specifications_et_tests/index.rst b/1NSI/04_Fonctions_specifications_et_tests/index.rst index b2caa75..86c7513 100644 --- a/1NSI/04_Fonctions_specifications_et_tests/index.rst +++ b/1NSI/04_Fonctions_specifications_et_tests/index.rst @@ -2,7 +2,7 @@ Fonctions spécifications et tests ################################# :date: 2022-12-02 -:modified: 2022-12-02 +:modified: 2023-01-03 :authors: Benjamin Bertrand :tags: Programmation :category: 1NSI @@ -33,12 +33,16 @@ Progression Étape 1: Création de fonctions décoratives ------------------------------------------ -Activité capytale pour apprendre a programmer des fonctions en décorant du texte. +Activité capytale pour apprendre à programmer des fonctions en décorant du texte. - `Fonctions décoratives (notebook) <./1E fonctions de décorations.ipynb>`_ Bilan: structure d'une fonction, arguments, valeur retournée, spécifications +.. image:: ./1B_fonctions.pdf + :height: 200px + :alt: Cours sur les fonctions + Étape 2: Coder des fonctions et les documenter ---------------------------------------------- @@ -46,3 +50,16 @@ Bilan: structure d'une fonction, arguments, valeur retournée, spécifications Fonctions plus classiques à programmer et à documenter. - `Fonctions et documentation (notebook) <./2E fonction documentations.ipynb>`_ + +Bilan: documenter et spécifier une fonction + +.. image:: ./2B_specifiction_test.pdf + :height: 200px + :alt: Documenter et spécifier une fonction + + + +Étape 3: Tester une fonction +---------------------------- + +Écrire des tests avant d'écrire une fonction. Utilisation d'assert. diff --git a/1NSI/index.rst b/1NSI/index.rst index e3fd5d4..6245e89 100644 --- a/1NSI/index.rst +++ b/1NSI/index.rst @@ -2,7 +2,7 @@ Spécialité première NSI ####################### :date: 2022-07-25 -:modified: 2023-01-01 +:modified: 2023-01-03 :authors: Bertrand Benjamin :category: 1NSI :tags: Progression @@ -51,17 +51,18 @@ Période 2 Période 3 --------- + .. big_button:: :title: Interaction client/serveur :link: ./05_Interaction_client-serveur/ Étude du protocole HTTP à travers les requests et les responses, construction d'un serveur avec Flask. - - .. big_button:: :title: Tuple et array + Découverte des tuples et des arrays en python. Algorithme: recherche d'un élément dans une liste. + .. big_button:: :title: Représentation d'un texte @@ -77,9 +78,6 @@ Période 4 .. big_button:: :title: Architecture réseau -.. big_button:: - :title: Recherche dans une liste - .. big_button:: :title: Tris