cours-snt/python/tp_variables/sujet.tex
2020-12-11 11:58:37 +01:00

146 lines
5.0 KiB
TeX
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

\documentclass[11pt,a4paper]{../../template_cours}
\usepackage{minted}
\title{Introduction à Python — Des dessins variables}
\author{Adrian Amaglio}
\def\thesequence{Programmation}
\newcommand{\copyablespace}{\BeginAccSupp{method=hex,unicode,ActualText=00A0}\ \EndAccSupp{}}
\newcommand{\tab}{\copyablespace\copyablespace\copyablespace\copyablespace}
\begin{document}
Durée : 1h
% ---
\section{La tortue de Python}
Ouvrez un nouveau fichier python vide, et faites le commencer par les lignes suivantes.\\
La première active lusage de la tortue Python, les suivantes vous permettrons de tracer un carré rapidement.
\begin{info}
\begin{minted}{python}
from turtle import *
def carre(longueur, angle=0):
"""Cette fonction trace un carré de centre 0,0 de longueure et dinclinaison variables"""
up() # Ces 3 lignes placent la tortue au centre du dessin
goto(0,0)
setheading(angle)
forward(longueur/2) # Ces 3 lignes placent la tortue dans un angle de notre futur carré
left(90)
forward(longueur/2)
down()
for i in range(4): # Ces 3 lignes tracent un carré
left(90)
forward(longueur)
\end{minted}
\end{info}
% ---
\begin{exercice}
À la suite des lignes précédentes, écrivez les instructions suivantes :
\begin{minted}{python}
carre(50)
carre(100, 45)
\end{minted}
Lancez le programme.\\
Vous devriez constater que linstruction carre(50) dessine un carré de côté 50 pixels et que linstruction carre(100, 45) dessine un carré de côté 100 pixels et incliné à 45°.
\end{exercice}
% ---
\begin{exercice}
Écrivez un programme qui trace 10 carrés de côté 100 pixels dont les angles seront de 0° pour le premier, 10° pour le second, 20°, 30°…
\\
Nous appellerons la forme ainsi créée « une fleur ».
\end{exercice}
\begin{exercice}
Modifiez le programme précédent pour quil utilise une boucle.
\end{exercice}
% ---
\begin{exercice}
Complétez votre programme pour y ajouter une autre fleur, dont les carrés seront de côté 150px.
\end{exercice}
% ---
\begin{exercice}
Modifiez votre programme pour que le nombre de fleur tracé par la tortue dépende de la variable « nombre\_fleur ».\\
Chaque fleur devra être 50 pixels plus grande que la précédente.
\end{exercice}
\begin{exercice}
Sauvegardez votre programme dans un fichier python, à un endroit où vous pourrez le retrouver plus tard.
\end{exercice}
\section{Des grands carrés}
Ouvrez un nouveau fichier python et ajoutez-y les premières lignes, comme dans la partie précédente.
\begin{exercice}
Écrivez un programme qui dessine 50 carrés.\\
Linclinaison et la longueur de côtés des carrés doit augmenter pour chaque carré tracé.
\end{exercice}
\begin{exercice}
Utilisez linstruction suivante pour changer la couleur de dessin :
\begin{minted}{python}
pencolor(r,v,b)
\end{minted}
Où r, v et b sont des valeurs entre 0 et 1 qui décrivent la quantité de Rouge, Vert et Bleu dans la couleurs souhaitée.
\\
On peut remplacer r, v et/ou b par linstruction random() pour obtenir une valeur aléatoire.
Il faut alors ajouter au début de votre programme, la ligne :
\begin{minted}{python}
from random import random
\end{minted}
Par exemple, pour donner une couleur aléatoire, on peut utiliser la ligne suivante, qui fait un tirage aléatoire pour le rouge, un autre pour le vert et un troisième pour le bleu.
\begin{minted}{python}
pencolor(random(),random(),random())
\end{minted}
\end{exercice}
\begin{exercice}
Modifiez votre programme pour quaprès avoir dessiné les 50 carrés, il les dessine à nouveau dans lordre inverse.\\
Pour faire varier un compteur de 50 à 0, la boucle suivante peut être utilisée :
\begin{minted}{python}
for compteur in range(50, 0, -1):
\end{minted}
\end{exercice}
\begin{exercice}
Sauvegardez votre programme dans un fichier python, à un endroit où vous pourrez le retrouver plus tard.
\end{exercice}
\section{Les tables de multiplications}
\begin{exercice}
Écrivez un programme qui affiche la table de multiplication de 1 comme suit :\\
1x1=1\\
1x2=2\\
\\
Pour afficher une variable et un texte sur la même ligne, on utilisera le signe « + » :\\
Attention à bien entourer un texte de guillemets et une variable de la fonction str().
\begin{minted}{python}
print('valeur = ' + str(ma_variable))
\end{minted}
\end{exercice}
\begin{exercice}
Écrivez un programme qui affiche la table de multiplication de 10.
\end{exercice}
\begin{exercice}
Écrivez un programme qui affiche les tables de multiplications de 1 à 12.\\
La boucle suivante fera varier le nombre de 1 à 12 :
\begin{minted}{python}
for nombre in range(1,13):
\end{minted}
\end{exercice}
\begin{exercice}
Sauvegardez votre programme dans un fichier python, à un endroit où vous pourrez le retrouver plus tard.
\end{exercice}
\end{document}