\documentclass[11pt,a4paper]{../../template/template_cours}

\title{TP noté}
\author{Adrian Amaglio}
\def\thesequence{Programmation}
\def\thelevel{NSI}

\begin{document}

% ---
Ce sujet vous guidera dans la création d’un programme capable d’afficher des tables de multiplications (et d’autres opérations).
Lisez le attentivement et suivez le rigoureusement.
Si une question vous semble difficile à faire, n’hésitez pas à écrire votre raisonnement en français ou en anglais (avec un \# au début de la ligne de préférence).

\section{Préparation}
Ouvrez votre éditeur python favoris et créez un nouveau fichier python.
Vous y écrirez les fonctions suivantes.\\
Testez votre programme le plus souvent possible !

\section{Affichage d’une ligne}
\begin{exercice}
Créez une fonction nommée \textbf{multiplication} qui prendra deux paramètres :
\begin{description}
    \item[facteur1] Qui contiendra un nombre réel de n’importe quelle valeur
    \item[facteur2] Qui contiendra un nombre réel de n’importe quelle valeur
\end{description}
Cette fonction devra afficher le produit de \textbf{facteur1} × \textbf{facteur2} et le résultat de ce calcul.
Par exemple :
\begin{description}
    \item[multiplication(3, 10)] Affichera « 3 × 10 = 30 »
    \item[multiplication(2.5, 2)] Affichera « 2.5 × 2 = 5 »
\end{description}
Testez votre fonction en l’appellant comme sur les exemples précédents et vérifiez que le résultat est le bon.
Ajoutez votre propre test et vérifiez que le résultat est cohérent.\\
\end{exercice}

\section{Affichage d’une table}
\begin{exercice}
Créez une fonction nommée \textbf{table\_multiplication} qui prendra un paramètre :
\begin{description}
    \item[nombre] Qui contiendra un nombre réel de n’importe quelle valeur
\end{description}
Cette fonction devra afficher « la table de nombre » ; par exemple si nombre contient 10, cette fonction devra afficher la table de 10.\\
Vous devez pour cela utiliser la fonction \textbf{multiplication}.\\
Vous vous contenterez des lignes de 0 à 5 compris.\\
Testez votre fonction en lui passant différentes valeurs.
\end{exercice}

\section{Tables de division}
\begin{exercice}
    Créez une fonction nommée \textbf{division} qui prendra deux paramètres :
    \begin{description}
        \item[dividende] Qui contiendra un nombre réel de n’importe quelle valeur
        \item[diviseur] Qui contiendra un nombre réel de n’importe quelle valeur
    \end{description}
    Cette fonction devra afficher la division du dividende par le diviseur. Par exemple :
    \begin{description}
        \item[division(10, 2)] Affichera « 10 / 2 = 5 »
        \item[division(-100, 10)] Affichera « -100 / 10 = -10 »
    \end{description}
    Testez votre fonction en lui passant différentes valeurs.
\end{exercice}

\begin{exercice}
    Créez une fonction nommée \textbf{table\_division} qui prendra un paramètre :
    \begin{description}
        \item[nombre] Qui contiendra un nombre réel de n’importe quelle valeur
    \end{description}
    Cette fonction devra afficher la « table de division » du nombre, c’est à dire le résultat de la division de ce nombre par les autres. Par exemple, table\_division(10) affichera :
    10 / 1 = 10\\
    10 / 2 = 5\\
    10 / 3 = 3.333333333\\
    10 / 4 = 2.5\\
    10 / 5 = 2\\
    …\\
    Testez votre fonction en lui passant différentes valeurs.\\
    Vous vous contenterez des lignes de 1 à 5 compris.
\end{exercice}

\section{Plusieurs calculs}
\begin{exercice}
    Créez une fonction nommée \textbf{ligne} qui prendra trois paramètres :
    \begin{description}
        \item[operande1] Qui contiendra un nombre réel de n’importe quelle valeur
        \item[operande2] Qui contiendra un nombre réel de n’importe quelle valeur
        \item[operateur] Qui contiendra au forma texte un opérateur ('*' ou '/')
    \end{description}
    Si l’opérateur vaut le texte '*', la fonction devra afficher la multiplication des deux opérandes.\\
    Si l’opérateur vaut le texte '/', la fonction devra afficher la division des deux opérandes.\\
    Vous utiliserez pour ce faire, les fonctions \textbf{multiplication} et \textbf{division} précédemment créés.\\
\end{exercice}

\begin{exercice}
    Créez une fonction nommée \textbf{table} qui prendra deux paramètres :
    \begin{description}
        \item[nombre] Qui contiendra un nombre réel de n’importe quelle valeur
        \item[operateur] Qui contiendra au format texte un opérateur ('*' ou '/')
    \end{description}
    Si l’opérateur vaut le texte '*', la fonction devra afficher la table de multiplication de \textbf{nombre}.\\
    Si l’opérateur vaut le texte '/', la fonction devra afficher la table de division de \textbf{nombre}.\\
    Vous utiliserez pour ce faire, les fonctions \textbf{multiplication} et \textbf{division} précédemment créés.\\
\end{exercice}

\begin{exercice}
    Créez une fonction nommée \textbf{partie\_table} qui prendra ces paramètres :
    \begin{description}
        \item[nombre] Qui contiendra un nombre réel de n’importe quelle valeur
        \item[operateur] Qui contiendra au format texte un opérateur ('*' ou '/')
        \item[debut] La première ligne de la table à afficher
        \item[fin] La dernière ligne de la table à afficher
    \end{description}
    Si l’opérateur vaut le texte '*', la fonction devra afficher la table de multiplication de \textbf{nombre}.\\
    Si l’opérateur vaut le texte '/', la fonction devra afficher la table de division de \textbf{nombre}.\\
    Vous utiliserez pour ce faire, les fonctions \textbf{multiplication} et \textbf{division} précédemment créés.\\
\end{exercice}

\end{document}
