a lot of stuff again
This commit is contained in:
parent
a325f92fb6
commit
7c8056b72b
@ -53,6 +53,6 @@
|
||||
\begin{picture}(1,0.35)%
|
||||
\lineheight{1}%
|
||||
\setlength\tabcolsep{0pt}%
|
||||
\put(0,0){\includegraphics[width=\unitlength,page=1]{../licences/cc-by-sa.pdf}}%
|
||||
\put(0,0){\includegraphics[width=\unitlength,page=1]{../../licences/cc-by-sa.pdf}}%
|
||||
\end{picture}%
|
||||
\endgroup%
|
||||
|
1
python/latex.py
Normal file
1
python/latex.py
Normal file
@ -0,0 +1 @@
|
||||
jobname="tpintro"
|
11
python/test.py
Normal file
11
python/test.py
Normal file
@ -0,0 +1,11 @@
|
||||
from turtle import *
|
||||
|
||||
begin_fill()
|
||||
forward(50)
|
||||
left(120)
|
||||
forward(50)
|
||||
left(110)
|
||||
forward(50)
|
||||
|
||||
end_fill()
|
||||
exitonclick()
|
BIN
python/tp_intro/tpintro.pdf
Normal file
BIN
python/tp_intro/tpintro.pdf
Normal file
Binary file not shown.
2
python/tp_intro/tpintro.py
Normal file
2
python/tp_intro/tpintro.py
Normal file
@ -0,0 +1,2 @@
|
||||
from turtle import *
|
||||
|
154
python/tp_intro/tpintro.tex
Normal file
154
python/tp_intro/tpintro.tex
Normal file
@ -0,0 +1,154 @@
|
||||
\documentclass[11pt,a4paper]{../../template_cours}
|
||||
|
||||
\usepackage{minted}
|
||||
|
||||
\title{Introduction à Python — Dessiner avec la tortue}
|
||||
\author{Adrian Amaglio}
|
||||
\def\thesequence{Programmation}
|
||||
|
||||
\begin{document}
|
||||
Durée : 1h
|
||||
|
||||
% ---
|
||||
\section{La tortue de Python}
|
||||
Pour pouvoir utiliser la tortue de Python, nous allons écrire la ligne suivante tout en haut de notre fichier python :
|
||||
\begin{minted}{python}
|
||||
from turtle import *
|
||||
\end{minted}
|
||||
|
||||
%Pour que la fenêtre de dessin ne se ferme pas juste après la fin du tracé, ajoutez cette ligne \textbf{à la fin du programme} :
|
||||
%\begin{minted}{python}
|
||||
%exitonclick()
|
||||
%\end{minted}
|
||||
|
||||
% Des élèves recopient tout sans réfléchir, je laisse ça là pour détecter ceux qui ne lisent pas le sujet.
|
||||
Le but de l’activité sera de diriger le curseur (A.K.A. la tortue) pour tracer les formes demandées.
|
||||
\\\textbf{À titre indicatif,} voici les instructions que nous utiliserons :
|
||||
|
||||
Pour aller tout droit de 20 pixels :
|
||||
\begin{minted}{python}
|
||||
forward(20)
|
||||
\end{minted}
|
||||
|
||||
Pour tourner sur la gauche de 45° :
|
||||
\begin{minted}{python}
|
||||
left(45)
|
||||
\end{minted}
|
||||
|
||||
Pour tourner sur la droite de 45° :
|
||||
\begin{minted}{python}
|
||||
right(45)
|
||||
\end{minted}
|
||||
|
||||
|
||||
\section{Triangles, carrés et plus si affinités}
|
||||
|
||||
Voici un programme Python qui trace un triangle équilatéral de côté 50px
|
||||
\begin{example}
|
||||
\begin{minted}{python}
|
||||
forward(50)
|
||||
left(120)
|
||||
forward(50)
|
||||
left(120)
|
||||
forward(50)
|
||||
\end{minted}
|
||||
\end{example}
|
||||
|
||||
\begin{exercice}
|
||||
Copiez collez ce programme dans votre éditeur python et exécutez le pour vérifier qu’il trace bien un triangle.\\
|
||||
N’oubliez pas la première ligne (import) qui doit être en haut de chaque programme.
|
||||
\end{exercice}
|
||||
|
||||
\begin{exercice}
|
||||
Modifiez ce programme Python pour qu’il dessine un carré (polygone régulier à 4 côtés).
|
||||
\end{exercice}
|
||||
|
||||
\begin{exercice}
|
||||
Une fois que vous arrivez à tracer un carré à l’écran, adaptez le programme pour dessiner un octogone (polygone régulier à 8 côtés).
|
||||
\end{exercice}
|
||||
|
||||
\section{Des variables}
|
||||
Il commence à être fatigant de recopier toujours les mêmes chiffres.\\
|
||||
Nous allons utiliser deux variables qui nous permettent de stocker une valeur en mémoire pour la réutiliser plus tard.\\
|
||||
Ici, la variable $angle$ contiendra l’angle en degrés entre chaque côtés du polygone et la variable $longueur\_cote$ contiendra la longueur d’un côté en pixels.
|
||||
\begin{example}
|
||||
Ce programme python trace un triangle équilatéral de côté 50px
|
||||
\begin{minted}{python}
|
||||
# Dans un premier temps, on fixe les valeurs de nos variables
|
||||
angle = 120
|
||||
longueur_cote = 50
|
||||
# Dans un second temps, on les utilise pour notre programme
|
||||
forward(longueur_cote)
|
||||
left(angle)
|
||||
forward(longueur_cote)
|
||||
left(angle)
|
||||
forward(longueur_cote)
|
||||
\end{minted}
|
||||
Il est strictement équivalent au programe de l’exemple 1.
|
||||
Mais il est maintenant possible de changer tous les angles d’un coup en modifiant la valeur de la variable $angle$ à la ligne 2 !\\
|
||||
\end{example}
|
||||
|
||||
\begin{exercice}
|
||||
À l’aide des deux variables de l’exemple précédent, tracez un polygone régulier à 16 côtés.
|
||||
\\\textbf{Faites vérifier le programme par le professeur}\\
|
||||
\end{exercice}
|
||||
|
||||
\section{Des boucles}
|
||||
\begin{example}
|
||||
Une boucle sert à répéter une instruction un nombre précis de fois.
|
||||
Par exemple, la boucle suivante sert à répéter l’action « avancer de 10 pixels » 180 fois :
|
||||
\begin{minted}{python}
|
||||
for compteur in range(180):
|
||||
forward(10)
|
||||
\end{minted}
|
||||
\textbf{Pour qu’une action soit répétée, il faut qu’elle soit sous la ligne « for » et qu’elle soit précédée de 4 espaces.}
|
||||
\end{example}
|
||||
\begin{exercice}
|
||||
Tracez maintenant un polygone régulier à 180 côtés.
|
||||
Vous vous aiderez d’une boucle.
|
||||
\end{exercice}
|
||||
|
||||
|
||||
\section{Polygones en folie}
|
||||
Nous allons ajouter une dernière variable à notre programme python. Elle se nome $nombre_cotes$ et représente le nombre de côtés du polygone que l’on veut tracer.
|
||||
\begin{exercice}
|
||||
Écrivez un programme python qui est capable de tracer n’importe quel polygone ayant un nombre de côtés définis par la variable $nombre\_cotes$.
|
||||
\\
|
||||
\textbf{Faites vérifier le programme par le professeur}\\
|
||||
Le programme commencera par ces lignes :
|
||||
\begin{minted}{python}
|
||||
nombre_cotes = 6
|
||||
longueur_cote = 20
|
||||
\end{minted}
|
||||
\end{exercice}
|
||||
|
||||
% Le damier est assez dur à faire sans fonctions, il a occupé tous les élèves rapides que j’ai eu.
|
||||
\section{Damier (Bonus)}
|
||||
On peut colorier nos polygones à l’aide des fonctions « begin\_fill » et « end\_fill ».
|
||||
Voici l’exemple d’un triangle que l’on remplit :
|
||||
\begin{minted}{python}
|
||||
begin_fill()
|
||||
forward(50)
|
||||
left(120)
|
||||
forward(50)
|
||||
left(120)
|
||||
forward(50)
|
||||
end_fill()
|
||||
\end{minted}
|
||||
|
||||
\begin{exercice}
|
||||
Écrivez un programme qui trace un damier de 6 cases par 6 cases.
|
||||
Les couleurs des cases doivent alterner blanc et noir.
|
||||
\\\textbf{Faites vérifier le programme par le professeur}
|
||||
\\Indices :
|
||||
\begin{itemize}
|
||||
\item La première ligne du damier peut être vue comme la répétition d’un couple « case blanche + case noire ».
|
||||
\item La seconde ligne du damier est la répétition d’un couple « Case noire + case blanche ».
|
||||
\item On peut faire dans un premier temps une boucle qui dessine la première ligne.
|
||||
\item On peut ensuite écrire les instructions permettant de se placer pour pouvoir dessiner la seconde ligne.
|
||||
\item Dans un troisième temps on peut faire la boucle qui dessine la seconde ligne.
|
||||
\item Finalement, on peut répéter les opérations précédentes 3 fois pour tracer tout le damier.
|
||||
\end{itemize}
|
||||
\end{exercice}
|
||||
|
||||
\end{document}
|
@ -96,7 +96,7 @@ breaklinks=true,
|
||||
|
||||
% --- Register some information about the document
|
||||
% ---
|
||||
\newcommand{\thelicence}{\def\svgwidth{.1\columnwidth}\input{../licences/cc-by-sa.pdf_tex}}
|
||||
\newcommand{\thelicence}{\def\svgwidth{.1\columnwidth}\input{../../licences/cc-by-sa.pdf_tex}}
|
||||
\newcommand{\thelevel}{SNT}
|
||||
\newcommand{\thesequence}{Séquence 0}
|
||||
|
||||
@ -132,6 +132,7 @@ breaklinks=true,
|
||||
\rhead{\thesequence}
|
||||
|
||||
\usepackage{lastpage}
|
||||
\renewcommand{\footrulewidth}{0.4pt}% default hline is 0pt
|
||||
\lfoot{\theauthor}
|
||||
\cfoot{\thepage \,/ \pageref{LastPage}}
|
||||
\rfoot{\thelicence}
|
||||
@ -196,7 +197,7 @@ breaklinks=true,
|
||||
auto counter,
|
||||
% number within=chapter
|
||||
]{#1}{%
|
||||
breakable,
|
||||
%breakable, % Bug, add a cartouche on new page, over text
|
||||
enhanced,
|
||||
colback=white,
|
||||
colbacktitle=white,
|
||||
@ -242,10 +243,27 @@ breaklinks=true,
|
||||
\myenvironment{further}{Pour aller plus loin}{greentitle}{greentitleback}
|
||||
|
||||
|
||||
% --- Include tiks figures from external files
|
||||
% --- Those figures supports beamer options that are ignored in article mode
|
||||
% ---
|
||||
% `mode=tex` means we will use the source file of the figures directly.
|
||||
\usepackage[mode=tex]{standalone}
|
||||
\usepackage{tikz}
|
||||
\usetikzlibrary{calc,positioning}
|
||||
|
||||
% Create fake \onslide and other commands for standalone picture
|
||||
\usepackage{xparse}
|
||||
\NewDocumentCommand{\onslide}{s t+ d<>}{}
|
||||
\NewDocumentCommand{\only}{d<>}{}
|
||||
\NewDocumentCommand{\uncover}{d<>}{}
|
||||
\NewDocumentCommand{\visible}{d<>}{}
|
||||
\NewDocumentCommand{\invisible}{d<>}{}
|
||||
|
||||
|
||||
% --- Some default values
|
||||
% ---
|
||||
\title{Template de cours}
|
||||
\date{\academicyear}
|
||||
\author{Best teacher EUW}
|
||||
\title{}
|
||||
\author{}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user