2022-2023/1NSI/02_Programmation_Python_et_microbit/2B_bases_programmation.tex

168 lines
4.5 KiB
TeX
Executable File

\documentclass[a4paper,10pt]{article}
\usepackage{myXsim}
\usepackage{minted}
\author{Benjamin Bertrand}
\title{Python et micro:bit - Cours}
\date{Septembre 2022}
\pagestyle{empty}
\begin{document}
\maketitle
\setcounter{section}{1}
\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}
Vous serez amené à utiliser essentiellement 4 types de base:
\begin{center}
\begin{tabular}{p{2cm}cccc}
Nom & Les entiers signés & Les flottants & Les strings & Les booléens \\
Type & int & float & str & bool \\
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{+ - * // \% **}&
\texttt{+ - * / **}&
\texttt{+ *}&
\texttt{or and not} \\
\end{tabular}
\end{center}
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}