diff --git a/1NSI/02_Programmation_Python_et_microbit/2B_bases_programmation.pdf b/1NSI/02_Programmation_Python_et_microbit/2B_bases_programmation.pdf index 97b208c..197b799 100644 Binary files a/1NSI/02_Programmation_Python_et_microbit/2B_bases_programmation.pdf and b/1NSI/02_Programmation_Python_et_microbit/2B_bases_programmation.pdf differ diff --git a/1NSI/02_Programmation_Python_et_microbit/2B_bases_programmation.tex b/1NSI/02_Programmation_Python_et_microbit/2B_bases_programmation.tex index 0688b08..8b71d9a 100755 --- a/1NSI/02_Programmation_Python_et_microbit/2B_bases_programmation.tex +++ b/1NSI/02_Programmation_Python_et_microbit/2B_bases_programmation.tex @@ -13,7 +13,38 @@ \maketitle \setcounter{section}{1} -\section{Corpus élémentaire} +\section{Corpus élémentaire de Python} + +\subsection{Affectation} + +\begin{definition}{Affectation} + \textbf{L'affectation de variable}, représenté en python par le symbole \texttt{=}, est l'opération qui va associé une valeur (pas nécessairement numérique) à un nom de variable. +\end{definition} + +Pour suivre l'affectation de variable, on peut compléter un tableau d'état + +\begin{multicols}{2} + \begin{minted}[bgcolor=base3,linenos]{python} + a = 23 + a = a + 1 + b = 10 + a = b + \end{minted} + + \begin{tabular}{|c|p{2cm}|p{2cm}|} + \hline + Instruction & a & b \\ + \hline + ligne 1 & 23 & \\ + \hline + ligne 2 & 24 & \\ + \hline + ligne 3 & 24 & 10 \\ + \hline + ligne 4 & 10 & 10\\ + \hline + \end{tabular} +\end{multicols} \subsection{Types de bases} @@ -23,11 +54,11 @@ Vous serez amené à utiliser essentiellement 4 types de base: \begin{tabular}{p{2cm}cccc} Nom & Les entiers signés & Les flottants & Les strings & Les booléens \\ Type & int & float & str & bool \\ - Affectation & - \mintinline[bgcolor=base3]{python}{variable = 2} & - \mintinline[bgcolor=base3]{python}{variable = 2.2} & - \mintinline[bgcolor=base3]{python}{variable = "2"} & - \mintinline[bgcolor=base3]{python}{variable = True} \\ + exemple & + \mintinline[bgcolor=base3]{python}{2, -2, 0} & + \mintinline[bgcolor=base3]{python}{2.2, -3.14} & + \mintinline[bgcolor=base3]{python}{"2", "zaer"} & + \mintinline[bgcolor=base3]{python}{True, False} \\ Opérateurs & \texttt{+ - * // \% **}& @@ -37,8 +68,100 @@ Vous serez amené à utiliser essentiellement 4 types de base: \end{tabular} \end{center} -\textbf{L'affectation}, représenté en python par le symbole \texttt{=}, est l'opération qui va associé +Pour connaitre le type d'une variable, on peut utiliser la fonction \mintinline{python}{type} +\paragraph{Exemple:} +\begin{center} + \begin{minipage}{0.5\linewidth} + \begin{minted}[bgcolor=base3,linenos]{python} + >>> a = "aer" + >>> type(a) + str + \end{minted} + \end{minipage} +\end{center} +\subsection{Conditions} + +Pour s'adapter le comportement d'un programme à différentes situations, on pourra utiliser les mots clés \mintinline{python}{if/elif/else} + +\begin{multicols}{2} +\textbf{Exemple:} + + \begin{minted}[bgcolor=base3,linenos]{python} +age = str(input{"Quel age as tu?"}) + +if age < 2: # Condition 1 + print("Tu es un bébé") # block 1 +elif age < 18: # Condition 2 + print("Tu n'es pas majeur") # block 2 + print("Tu peux pas passer le permis") # block2 +else: + print("Tu peux passer le permis") # block3 + +print("J'ai plus rien à dire") + \end{minted} + +\columnbreak + +Remarques: +\begin{itemize} + \item Seul le mot clé \mintinline{python}{if} est obligatoire. + \item Il peut y avoir autant de \mintinline{python}{elif} que vous souhaitez + \item À la première condition validée, uniquement le block indenté en dessous sera exécuté. + \item Les conditions sont de type booléen (vrai ou faux). Attention, Python donne parfois des valeurs booléennes à d'autres types. +\end{itemize} +\end{multicols} + +\pagebreak + +\begin{multicols}{2} + \paragraph{Principaux opérateurs sur les \mintinline{python}{int} ou \mintinline{python}{float}}~ + + \begin{tabular}{cc} + \mintinline{python}{x == y} & \cdots \\ + \mintinline{python}{x != y} & \cdots \\ + \mintinline{python}{x < y} & \cdots \\ + \mintinline{python}{x > y} & \cdots \\ + \mintinline{python}{x <= y} & \cdots \\ + \mintinline{python}{x >= y} & \cdots \\ + \end{tabular} + + \columnbreak + + \paragraph{Principaux opérateur sur les \mintinline{python}{bool}}~ + + \begin{tabular}{cc} + \mintinline{python}{E and F} & \cdots \\ + \mintinline{python}{E or F} & \cdots \\ + \mintinline{python}{not E} & \cdots \\ + \end{tabular} + + \vfill + + \paragraph{Principaux opérateur \mintinline{python}{str}}~ + + \begin{tabular}{cc} + \mintinline{python}{c in S} & \cdots \\ + \end{tabular} +\end{multicols} + \afaire{Décrire la comparaison effectuée par chaque opérateur} + +\paragraph{Exemples} +\begin{center} + \begin{minipage}{0.5\linewidth} + \begin{minted}[bgcolor=base3,linenos]{python} + >>> 3 < 5 + ... + >>> (3 < 5) and (5 == 2*2+1) + ... + >>> not (5 <= 5) + ... + >>> "a" in "uiopup" + ... + \end{minted} + \end{minipage} +\end{center} + \afaire{Compléter l'exemple précédent avec True ou False} \end{document}