Compare commits
179 Commits
b7e5a5b44f
...
main
Author | SHA1 | Date | |
---|---|---|---|
bd0308fa56 | |||
a3761cceee | |||
c179942efe | |||
e7e25d3ed6 | |||
8524c27c43 | |||
24e3c84268 | |||
06033cb5c4 | |||
b7860a263f | |||
f35fe15dfc | |||
99cb661f17 | |||
9305a1cdef | |||
4446da8f48 | |||
e48600ad41 | |||
8c9e3407d8 | |||
8b2519f882 | |||
a7da4421d1 | |||
46730d3201 | |||
02a905d295 | |||
befb62090e | |||
9973a440d4 | |||
06d7a68e1c | |||
0a29248551 | |||
3fddf9229f | |||
5e2e34bf15 | |||
59606f44de | |||
5e1693f7b7 | |||
8715dd8b08 | |||
96fca6db3a | |||
eeb9da610a | |||
43a9d93c93 | |||
6fe341b064 | |||
8fdc2f53d8 | |||
dc5d4792ef | |||
4b6d918166 | |||
703448588f | |||
737ebcb896 | |||
5c27c37815 | |||
1ffaa51795 | |||
6233829eb8 | |||
ba4af3fea2 | |||
9c1e464528 | |||
f4ddc89198 | |||
f86411ebf8 | |||
5d26b077e9 | |||
8632ab2e72 | |||
411966faf6 | |||
4b5b9639a4 | |||
ad7bc70af1 | |||
f9c4a4fad1 | |||
d4174ca644 | |||
3e7a95afc1 | |||
befbcff3db | |||
ba53d48358 | |||
30d685e74b | |||
5773eb84e5 | |||
285b52ddce | |||
a70352bfd3 | |||
6283505fb5 | |||
45c1343136 | |||
c8dba1a45f | |||
71e7a76de3 | |||
1f47d70239 | |||
9cfab1c112 | |||
13c290e959 | |||
12ffeba265 | |||
215f5991c7 | |||
59d43b0979 | |||
35c62a1303 | |||
970d47ed5b | |||
4ac18bacd3 | |||
459ab853bd | |||
08b9d4bb65 | |||
cbd8eaa62c | |||
027aff050d | |||
f11661976d | |||
ff30181bc0 | |||
6ac5e63b96 | |||
9417318a9e | |||
8fa4b255eb | |||
24e8332148 | |||
ac5a063cf6 | |||
97d839bda0 | |||
f980a75039 | |||
e4b3b7306a | |||
f977ad0eeb | |||
ed7947e3ec | |||
0bc5049e0b | |||
4ba9dca2f3 | |||
15d3fa4c0c | |||
5770ed70d1 | |||
8f2d48672c | |||
890aa253e9 | |||
3aa745ef91 | |||
1521c245a0 | |||
fa71638101 | |||
7b62c85c4b | |||
550187ddab | |||
7ae78d5b82 | |||
bbf4b6ecbb | |||
cf07874dbd | |||
8d43f16d22 | |||
c0262186eb | |||
4fe57b73aa | |||
cff2e7f17f | |||
f8ed17ac5d | |||
6a3f070941 | |||
25ce9488c6 | |||
c518fed714 | |||
51df5e2e49 | |||
0f57eddd28 | |||
4c3e0d46bd | |||
822c31b468 | |||
eb9209ac87 | |||
c84efe2382 | |||
206b92bc71 | |||
d3b30d73cd | |||
234f36c91f | |||
c8eb01bbbd | |||
2a3cd0cb3b | |||
f839d9c135 | |||
acf82c7fd4 | |||
9364854c93 | |||
304f7d4b0b | |||
8447e78243 | |||
9b7471273b | |||
52ebba2e39 | |||
805bc7aa62 | |||
518a03e5c1 | |||
951edb1e13 | |||
933f764063 | |||
a8118ae970 | |||
1b42986518 | |||
c69549b5fb | |||
4d44031438 | |||
afada4821f | |||
f9c7263c59 | |||
791ec6bf2c | |||
aa8bf70250 | |||
0d5fa93605 | |||
30d3a125c3 | |||
f4b89a9133 | |||
c1cc3dda21 | |||
3ee12988d5 | |||
24e01ee76d | |||
0fe6e12663 | |||
f63d8e2ed3 | |||
83d6636512 | |||
e0530f0e33 | |||
084db581d7 | |||
5b7a35fb77 | |||
dbb74b63b7 | |||
0329b97ff4 | |||
411b7c6022 | |||
3e03d11b21 | |||
de44239abf | |||
e96e7a1a5d | |||
4f25426db1 | |||
b7bc67c300 | |||
83ffd646d3 | |||
a0302dc528 | |||
df860c1822 | |||
b0abb35d27 | |||
a88ee14831 | |||
3dccb53672 | |||
814894659e | |||
c9ca195edf | |||
10f2e37ba7 | |||
1acc1703e9 | |||
49e87e3d80 | |||
9069dc55ee | |||
90c1ad4865 | |||
fc4a018eee | |||
cecee2249c | |||
e59e31f23b | |||
6c0d63e910 | |||
df47a387b4 | |||
9f8971cdd7 | |||
ff52a4400a | |||
cb8d67f520 |
BIN
2nd/00_divers/P4.pdf
Normal file
48
2nd/00_divers/P4.tex
Executable file
@@ -0,0 +1,48 @@
|
||||
\documentclass[12pt]{classPres}
|
||||
|
||||
\author{}
|
||||
\title{2nd \\ Mathématiques}
|
||||
\date{Novembre 2021}
|
||||
|
||||
\begin{document}
|
||||
\begin{frame}{2e période}
|
||||
|
||||
\maketitle
|
||||
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Quelques dates}
|
||||
\begin{center}
|
||||
7 semaines
|
||||
\vfill
|
||||
\begin{itemize}
|
||||
\item Lundi 14 mars Devoir
|
||||
\item Mars: Conseil de classe
|
||||
\item lundi 4 avril Devoir
|
||||
\end{itemize}
|
||||
\vfill
|
||||
\end{center}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{P4}
|
||||
\framesubtitle{Mars - Avril}
|
||||
|
||||
\begin{block}{Chapitre filé}
|
||||
Programmation
|
||||
\end{block}
|
||||
\hline
|
||||
|
||||
|
||||
\begin{center}
|
||||
\begin{tabular}{m{0.4\textwidth}m{0.1\textwidth}m{0.4\textwidth}}
|
||||
\cellcolor{highlightbg} \textbf{Seq14:} Information chiffrée && \\
|
||||
&&\cellcolor{highlightbg} \textbf{Seq15:} Intervalles\\
|
||||
\cellcolor{highlightbg} \textbf{Seq16:} Droites dans un repère && \\
|
||||
&& \cellcolor{highlightbg} \textbf{Seq17:} Fonctions de références \\
|
||||
\cellcolor{highlightbg} \textbf{Seq18:} Vecteurs dans un repère && \\
|
||||
\end{tabular}
|
||||
\end{center}
|
||||
\end{frame}
|
||||
|
||||
|
||||
\end{document}
|
BIN
2nd/00_divers/P4_bilan.pdf
Normal file
110
2nd/00_divers/P4_bilan.tex
Normal file
@@ -0,0 +1,110 @@
|
||||
\documentclass[a4paper,10pt]{article}
|
||||
\usepackage{myXsim}
|
||||
|
||||
\author{Benjamin Bertrand}
|
||||
\title{Bilan de la 4e période \hfill Mars - Avril}
|
||||
\date{Avril 2021}
|
||||
|
||||
\newcommand\autoeval{%
|
||||
\begin{tikzpicture}
|
||||
\foreach \k in {0,1,...,4}{
|
||||
\draw (\k*0.5, 0) node[draw, star, star points=5, star point ratio=0.5]{};
|
||||
}
|
||||
\end{tikzpicture}
|
||||
}
|
||||
|
||||
\pagestyle{empty}
|
||||
|
||||
\newcommand\bilan{%
|
||||
\maketitle
|
||||
|
||||
Ce questionnaire a pour but de faire le bilan de cette période. Je sollicite votre avis pour modifier les choses à modifier et pouvoir éventuellement faire progresser les cours que je vous propose.
|
||||
|
||||
Je vous demande de prendre le temps de répondre et de répondre le plus sincèrement possible. Vous n'êtes pas obligé d'indiquer votre nom et prénom si vous préférez rester anonyme.
|
||||
|
||||
\begin{multicols}{2}
|
||||
\section*{Les questions flashs}
|
||||
\begin{itemize}
|
||||
\item Difficulté (1 étoile "trop dur" - 5 "trop facile"):
|
||||
\begin{center}
|
||||
\autoeval
|
||||
\end{center}
|
||||
\item Remarques questions flashs
|
||||
\\[0.2cm] .\dotfill
|
||||
\\[0.2cm] .\dotfill
|
||||
\\[0.2cm] .\dotfill
|
||||
\end{itemize}
|
||||
|
||||
\section*{Les plans de travail}
|
||||
\begin{itemize}
|
||||
\item Avis (1 étoile "Je préfère autre chose" - 5 "c'est top"):
|
||||
\begin{center}
|
||||
\autoeval
|
||||
\end{center}
|
||||
\item Rythme (1 étoile "trop rapide" - 5 "Trop lent"):
|
||||
\begin{center}
|
||||
\autoeval
|
||||
\end{center}
|
||||
\item Remarques sur les plans de travail
|
||||
\\[0.2cm] .\dotfill
|
||||
\\[0.2cm] .\dotfill
|
||||
\\[0.2cm] .\dotfill
|
||||
\end{itemize}
|
||||
|
||||
\section*{Session Python}
|
||||
\begin{itemize}
|
||||
\item Avis (1 étoile "j'aime pas" - 5 "c'est top"):
|
||||
\begin{center}
|
||||
\autoeval
|
||||
\end{center}
|
||||
\item Difficulté (1 étoile "trop dur" - 5 "trop facile"):
|
||||
\begin{center}
|
||||
\autoeval
|
||||
\end{center}
|
||||
\item Remarques sur les sessions Python
|
||||
\\[0.2cm] .\dotfill
|
||||
\\[0.2cm] .\dotfill
|
||||
\\[0.2cm] .\dotfill
|
||||
\end{itemize}
|
||||
|
||||
\section*{L'évaluation en QCM}
|
||||
\begin{itemize}
|
||||
\item Avis (1 étoile "préfère évaluation classique" - 5 "préfère les QCM"):
|
||||
\begin{center}
|
||||
\autoeval
|
||||
\end{center}
|
||||
\item Remarques sur les évaluations QCM
|
||||
\\[0.2cm] .\dotfill
|
||||
\\[0.2cm] .\dotfill
|
||||
\\[0.2cm] .\dotfill
|
||||
\end{itemize}
|
||||
|
||||
\section*{Divers}
|
||||
\begin{itemize}
|
||||
\item Séquences que tu as le \textbf{plus} apprécié?
|
||||
\\[0.2cm] .\dotfill
|
||||
\\[0.2cm] .\dotfill
|
||||
\item Séquences que tu as le \textbf{plus} compris?
|
||||
\\[0.2cm] .\dotfill
|
||||
\\[0.2cm] .\dotfill
|
||||
\item Séquences que tu as le \textbf{moins} apprécié?
|
||||
\\[0.2cm] .\dotfill
|
||||
\\[0.2cm] .\dotfill
|
||||
\item Séquences que tu as le \textbf{moins} compris?
|
||||
\\[0.2cm] .\dotfill
|
||||
\\[0.2cm] .\dotfill
|
||||
\end{itemize}
|
||||
\end{multicols}
|
||||
|
||||
S'il y a d'autres choses auxquelles je n'aurais pas pensé et que tu veux me partager (en positif ou négatif), je te laisse l'écrire dessous.
|
||||
\\[0.2cm] .\dotfill
|
||||
\\[0.2cm] .\dotfill
|
||||
\\[0.2cm] .\dotfill
|
||||
\\[0.2cm] .\dotfill
|
||||
}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\bilan
|
||||
|
||||
\end{document}
|
Before Width: | Height: | Size: 112 KiB After Width: | Height: | Size: 112 KiB |
Before Width: | Height: | Size: 1.0 MiB After Width: | Height: | Size: 1.0 MiB |
Before Width: | Height: | Size: 716 KiB After Width: | Height: | Size: 716 KiB |
BIN
2nd/10_Geometrie_reperee/3B_abs_distance.pdf
Normal file
109
2nd/10_Geometrie_reperee/3B_abs_distance.tex
Normal file
@@ -0,0 +1,109 @@
|
||||
\documentclass[a4paper,12pt]{article}
|
||||
\usepackage{myXsim}
|
||||
|
||||
\author{Benjamin Bertrand}
|
||||
\title{Géométrie repérée - Cours}
|
||||
\date{2022-01-13}
|
||||
|
||||
\pagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\section*{Distance entre deux points d'une droite}
|
||||
|
||||
\begin{center}
|
||||
\includegraphics[scale=0.8]{./fig/eleve_distance}
|
||||
\end{center}
|
||||
|
||||
\begin{propriete}[Valeur absolue]
|
||||
La \textbf{valeur absolue d'une nombre $a$}, noté $|a|$ est égale à
|
||||
\begin{itemize}
|
||||
\item $a$ si $a \geq 0$
|
||||
\item $-a$ si $a < 0$
|
||||
\end{itemize}
|
||||
\end{propriete}
|
||||
|
||||
\paragraph{Exemples:}
|
||||
\[
|
||||
|3| = 3 \qquad \qquad |0| = 0 \qquad \qquad |-4| = - (-4) = 4
|
||||
\]
|
||||
|
||||
\begin{propriete}[Distance entre deux points sur une droite]
|
||||
$a$ et $b$ deux nombres. Alors la distance entre $a$ et $b$ est égale à $| b - a |$.
|
||||
\end{propriete}
|
||||
|
||||
\paragraph{Exemples:}~
|
||||
|
||||
\begin{multicols}{2}
|
||||
\begin{itemize}
|
||||
\item La distance entre $-3$ et $4$ est
|
||||
% \[
|
||||
% | 4 - (-3) | = | 4 + 3 | = | 7 | = 7
|
||||
% \]
|
||||
\item La distance entre $-3$ et $-7$ est
|
||||
% \[
|
||||
% | -7 - (-3) | = | -7 + 3 | = | -4 | = 4
|
||||
% \]
|
||||
\end{itemize}
|
||||
\end{multicols}
|
||||
\vspace{1cm}
|
||||
|
||||
|
||||
% \begin{propriete}[Lien avec la racine carré]
|
||||
% Soit $x$ un nombre réel, Alors
|
||||
% \[
|
||||
% \sqrt{x^2} = |x|
|
||||
% \]
|
||||
% \end{propriete}
|
||||
|
||||
\section*{Distance entre deux points du plan}
|
||||
|
||||
|
||||
\begin{propriete}[Distance entre deux points]
|
||||
\begin{minipage}{0.5\linewidth}
|
||||
Soit $M (x_M; y_M)$ et $N (x_N; y_N)$ deux points quelconques. Alors la distance entre $M$ et $N$ se calcule
|
||||
\[
|
||||
NM = \sqrt{(x_M - x_N)^2 + (y_M - y_N)^2}
|
||||
\]
|
||||
\end{minipage}
|
||||
\hfill
|
||||
\begin{minipage}{0.4\linewidth}
|
||||
\begin{tikzpicture}[scale=1.2]
|
||||
\draw[->, very thick] (-1, 0) -- (4, 0);
|
||||
\draw[->, very thick] (0, -1) -- (0, 4);
|
||||
\draw (0, 0) node [below left] {0};
|
||||
|
||||
\draw (1.3, 1.4) node {+} node [below left] {$M$};
|
||||
\draw (1.3, 0) node {+} node [below] {$x_M$};
|
||||
\draw (0, 1.4) node {+} node [left] {$y_M$};
|
||||
|
||||
\draw[dashed] (1.3, 1.4) --(1.3, 0);
|
||||
\draw[dashed] (1.3, 1.4) --(0, 1.4);
|
||||
|
||||
\draw (3.3, 3.4) node {+} node [above right] {$N$};
|
||||
\draw (3.3, 0) node {+} node [below] {$x_N$};
|
||||
\draw (0, 3.4) node {+} node [left] {$y_N$};
|
||||
|
||||
\draw[dashed] (3.3, 3.4) --(3.3, 0);
|
||||
\draw[dashed] (3.3, 3.4) --(0, 3.4);
|
||||
|
||||
\draw (1.3, 1.4) -- (3.3, 3.4);
|
||||
|
||||
\draw (1.3, 1.4) -- node [midway, below] {$|x_M - x_N|$}
|
||||
(3.3, 1.4);
|
||||
\draw (3.3, 1.4) -- node [midway, below, sloped] {$|y_M - y_N|$}
|
||||
(3.3, 3.4);
|
||||
\end{tikzpicture}
|
||||
\end{minipage}
|
||||
\end{propriete}
|
||||
|
||||
\paragraph{Exemple:} Distance entre $A (3; 4)$ et $B(-2; 0)$
|
||||
|
||||
% \[
|
||||
% AB = \sqrt{(3 - (-2))^2 + (4 - 0)^2} = \sqrt{ 25 + 16 } = \sqrt{41} \approx 6.4
|
||||
% \]
|
||||
|
||||
\vfill
|
||||
|
||||
|
||||
\end{document}
|
@@ -24,7 +24,7 @@ Dans cette partie, on décrit succinctement les ensembles de points et les notat
|
||||
\item On a noté $(a)$ \textbf{l'ensemble des points d'ordonnée égal à 2}.
|
||||
\begin{itemize}
|
||||
\item $U(2; 4)$ n'est pas un point de l'ensemble $(a)$ car son ordonnée est 4 et non 2. On note $U \not\in (a)$
|
||||
\item $A(-2; 2)$ est un point de l'ensemble $(a)$ car son ordonnée est 2. On note $A \not\in (a)$
|
||||
\item $A(-2; 2)$ est un point de l'ensemble $(a)$ car son ordonnée est 2. On note $A \in (a)$
|
||||
\item Un point quelconque $M$ de coordonnées $(x; y)$ est un point de $(a)$ si et seulement si $y=2$
|
||||
\end{itemize}
|
||||
On dit que $(a)$ a pour \textbf{équation} $y = 2$
|
||||
@@ -32,8 +32,8 @@ Dans cette partie, on décrit succinctement les ensembles de points et les notat
|
||||
\item On a noté $(b)$ \textbf{l'ensemble des points d'ordonnée égal à l'abscisse}.
|
||||
\begin{itemize}
|
||||
\item $U(2; 4)$ n'est pas un point de l'ensemble $(b)$ car son ordonnée est 4 et son abscisse est 2. On note $U \not\in (b)$
|
||||
\item $A(-2; 2)$ est un point de l'ensemble $(b)$ car son ordonnée est 2 et son abscisse est -2. On note $A \not\in (b)$
|
||||
\item Un point quelconque $M$ de coordonnées $(x; y)$ est un point de $(b)$ si et seulement si $y=-x$
|
||||
\item $B(2; 2)$ est un point de l'ensemble $(b)$ car son ordonnée est 2 et son abscisse est 2. On note $B \in (b)$
|
||||
\item Un point quelconque $M$ de coordonnées $(x; y)$ est un point de $(b)$ si et seulement si $y=x$
|
||||
\end{itemize}
|
||||
On dit que $(b)$ a pour \textbf{équation} $y = -x$
|
||||
\end{itemize}
|
||||
@@ -47,6 +47,6 @@ Dans cette partie, on décrit succinctement les ensembles de points et les notat
|
||||
\end{tikzpicture}
|
||||
\end{minipage}
|
||||
|
||||
\afaire{Placer les points $A(-2; 2)$, $B(-3; 2)$, $C(-3; 3)$ et $U(2; 4)$ dans le repère. Puis tracer les ensembles $(a)$ et $(b)$}
|
||||
\afaire{Placer les points $A(-2; 2)$, $B(2; 2)$, $C(-4; 3)$ et $U(2; 4)$ dans le repère. Puis tracer les ensembles $(a)$ et $(b)$}
|
||||
|
||||
\end{document}
|
||||
|
BIN
2nd/10_Geometrie_reperee/fig/eleve_distance.png
Normal file
After Width: | Height: | Size: 54 KiB |
BIN
2nd/11_Statistiques/2E_indicateurs_dispersion.pdf
Normal file
@@ -2,7 +2,7 @@ Statistiques
|
||||
############
|
||||
|
||||
:date: 2022-01-11
|
||||
:modified: 2022-01-27
|
||||
:modified: 2022-02-03
|
||||
:authors: Camille Crespeau
|
||||
:tags: Statistiques, Programmation
|
||||
:category: 2nd
|
||||
@@ -57,17 +57,18 @@ On ajoute une séance d'exercices à la main pour s'assurer des bases.
|
||||
Étape 2 : Comparaison de séries statistiques à partir d'indicateurs de dispersion
|
||||
=================================================================================
|
||||
|
||||
- introduction de l'écart interquartile et de l'écart-type
|
||||
- introduction des fonctions Python
|
||||
- le tracé du graphe
|
||||
|
||||
|
||||
Bilan : `Cours II - indicateurs de dispersion <./2B_indicateurs_dispersion.pdf>`_
|
||||
|
||||
.. image:: ./2B_indicateurs_dispersion.pdf
|
||||
:height: 200px
|
||||
:alt: Bilan sur les indicateurs de dispersion
|
||||
|
||||
Exercices techniques à la main
|
||||
|
||||
.. image:: ./2E_indicateurs_dispersion.pdf
|
||||
:height: 200px
|
||||
:alt: Exercices techniques sur les indicateurs de dispersions.
|
||||
|
||||
|
||||
|
||||
Étape 3 : Linéarité de la moyenne
|
||||
|
BIN
2nd/12_Ensemble_et_probabilités/1B_ensembles.pdf
Normal file
BIN
2nd/12_Ensemble_et_probabilités/2B_formule_proba.pdf
Normal file
BIN
2nd/12_Ensemble_et_probabilités/3B_appartenance_inclusion.pdf
Normal file
38
2nd/12_Ensemble_et_probabilités/index.rst
Normal file
@@ -0,0 +1,38 @@
|
||||
Ensemble et probabilités
|
||||
########################
|
||||
|
||||
:date: 2022-02-01
|
||||
:modified: 2022-02-01
|
||||
:authors: Benjamin Bertrand
|
||||
:tags: Probabilités, Ensembles
|
||||
:category: 2nd
|
||||
:summary: Manipulation des ensembles et retour des probabilités.
|
||||
|
||||
|
||||
Plan de travail
|
||||
===============
|
||||
|
||||
.. image:: ./plan_de_travail.pdf
|
||||
:height: 200px
|
||||
:alt:
|
||||
|
||||
|
||||
Bilan 1
|
||||
|
||||
.. image:: ./1B_ensembles.pdf
|
||||
:height: 200px
|
||||
:alt: Bilan sur l'union, l'intersection et le complémentaire
|
||||
|
||||
Bilan 2
|
||||
|
||||
.. image:: ./2B_formule_proba.pdf
|
||||
:height: 200px
|
||||
:alt: Formules du complémentaire et de l'union.
|
||||
|
||||
Bilan 3
|
||||
|
||||
.. image:: ./3B_appartenance_inclusion.pdf
|
||||
:height: 200px
|
||||
:alt: Appartenance et inclusion dans un ensemble
|
||||
|
||||
|
BIN
2nd/12_Ensemble_et_probabilités/plan_de_travail.pdf
Normal file
BIN
2nd/12_Ensemble_et_probabilités/solutions.pdf
Normal file
BIN
2nd/13_Programmation/1B_momie.pdf
Normal file
38
2nd/13_Programmation/1B_momie.tex
Normal file
@@ -0,0 +1,38 @@
|
||||
\documentclass[a4paper,10pt]{article}
|
||||
\usepackage{myXsim}
|
||||
|
||||
\author{Benjamin Bertrand}
|
||||
\title{Programmation - Cours}
|
||||
\date{Février 2022}
|
||||
|
||||
\pagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\maketitle
|
||||
|
||||
\section{Programme Python}
|
||||
|
||||
\begin{center}
|
||||
%\includegraphics[scale=0.6]{./fig/pgm_momie}
|
||||
\begin{minipage}{0.8\linewidth}
|
||||
\lstinputlisting[language=Python]{./momie.py}
|
||||
\end{minipage}
|
||||
\end{center}
|
||||
|
||||
Contenu du programme
|
||||
|
||||
\afaire{Relever les mots clés, les opérateurs, les variables et les fonctions dans le programme.}
|
||||
|
||||
\begin{itemize}
|
||||
\item Les mots clés (en vert gras)
|
||||
\vspace{2cm}
|
||||
\item Les opérateurs (en rose)
|
||||
\vspace{2cm}
|
||||
\item Les variables (en noir)
|
||||
\vspace{2cm}
|
||||
\item Les fonctions (en vert)
|
||||
\vspace{2cm}
|
||||
\end{itemize}
|
||||
|
||||
\end{document}
|
275
2nd/13_Programmation/1E_tour_d_horizon.ipynb
Normal file
@@ -0,0 +1,275 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# Étape 1: Tour d'horizon\n",
|
||||
"\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## Decrire un programme\n",
|
||||
"\n",
|
||||
"Ci-dessous, vous retrouverez des programmes. Vous devez les executer. Puis écrire une phrase par ligne de programme pour décrire ce qu'elle fait."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### Programme 1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"print(\"Hello les 2nd\")\n",
|
||||
"a = 2\n",
|
||||
"print(a + a)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Description"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "raw",
|
||||
"metadata": {},
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### Programme 2"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"age = int(input(\"Quel age as-tu?\"))\n",
|
||||
"if age >= 18:\n",
|
||||
" print(\"Tu es majeur, tu peux passer ton permis\")\n",
|
||||
"else:\n",
|
||||
" print(\"Tu es mineur\")\n",
|
||||
" \n",
|
||||
" print(\"Il te reste \", 18 - age, \"ans avant de pouvoir passer le permis\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Description"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "raw",
|
||||
"metadata": {},
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### Programme 3\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def f(x):\n",
|
||||
" resultat = x**2 + 2\n",
|
||||
" return resultat\n",
|
||||
"\n",
|
||||
"print(f(0))\n",
|
||||
"print(f(10))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Description"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "raw",
|
||||
"metadata": {},
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## Modifier le programme de la momie\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Ouvrez le programme édupython <img src=\"https://edupython.tuxfamily.org/images/LogoTransp400.png\" width=\"100\" height=\"100\" />\n",
|
||||
"\n",
|
||||
"Ci-dessous, vous avez un programme qui code un jeu de hazard. \n",
|
||||
"\n",
|
||||
"**Copier puis coller tout le programme dans édupython** puis lancer quelques parties pour comprendre ce que faire ce jeux.\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Programme de la momie - tiré du livre les maths ensembles et pour chacun\n",
|
||||
"from random import randint\n",
|
||||
"\n",
|
||||
"def choisir_porte(nombre_portes):\n",
|
||||
" print(\"Il y a \" + str(nombre_portes) + \" portes devant toi.\")\n",
|
||||
" porte_choisie = int(input( \"Laquelle ouvres-tu?\"))\n",
|
||||
" return porte_choisie\n",
|
||||
" \n",
|
||||
" \n",
|
||||
"nombre_portes = 3\n",
|
||||
"points_de_vie = 5\n",
|
||||
"score = 0\n",
|
||||
"degat_momie = 3\n",
|
||||
"\n",
|
||||
"while points_de_vie > 0:\n",
|
||||
" print(\"Tu arrives dans un long couloir et tu avances. Jusqu'à ce que...\")\n",
|
||||
" porte_momie = randint(0, nombre_portes)\n",
|
||||
" porte_choisie = choisir_porte(nombre_portes)\n",
|
||||
" if porte_choisie == porte_momie:\n",
|
||||
" print(\"Une momie attaque!\")\n",
|
||||
" for i in range(degat_momie):\n",
|
||||
" print(\"Elle te touche une fois\")\n",
|
||||
" points_de_vie = points_de_vie - 1\n",
|
||||
" else:\n",
|
||||
" print(\"Rien! Tu as survécu à une porte en plus.\")\n",
|
||||
" score = score + 1\n",
|
||||
"\n",
|
||||
"print(\"T'es mort. Tu n'as plus de points de vie.\")\n",
|
||||
"print(\"Le jeu est fini, ton score est de \", score)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Maintenant que vous avez un peu joué à ce jeu. Vous allez créer des variantes de ce jeu. \n",
|
||||
"\n",
|
||||
"Vous devez faire dans l'ordre les variantes 1, 2 et 3. Les autres peuvent être fait dans l'ordre que vous souhaitez en fonction de ce qui vous inspire.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"**Pour chaque variante, vous copirez puis collerez le programme précédent dans un nouveau fichier dans édupython avant de le modifier.**"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"*Variante 1* Modifier le programme pour que chaque ouverture de porte sans momie rapporte 10 points"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"*Variante 2* Modifier le programme pour que l'on commence avec 5 points de vie mais qu'il n'y ait que deux portes à chaque fois."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"*Variante 3* On part fixe le nombre de porte à 3. Quelle est la probabilité de tomber sur un momie? Transformer le programme pour la probabilité de tomber sur un momie soit de 2/3."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"---\n",
|
||||
"Les variantes suivantes peuvent être faites dans l'ordre que vous souhaitez."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"*Variante 4* Le programme comporte un gros bug. Il est possible de ne jamais être dévoré par la momie. Proposer une façon de corriger ce bug."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"*Variante 5* Modifier le programme pour qu'à chaque fois que l'on tombe sur une momie. On ait une chance sur deux de perdre 1 point de vie et une chance sur 2 de ne perdre 2 points de vie."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"*Variante 6* Ajouter d'autres monstres cachés derière d'autres portes qui enlèves plus ou moins de points."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Variante 7 Étonnez nous avec une variante bien à vous!"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## Bilan\n",
|
||||
"\n",
|
||||
"Noter les mots écris en vert dans différents programmes manipulés et décrire l'action de chacun d'eux."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "raw",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "Python 3 (ipykernel)",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
"language_info": {
|
||||
"codemirror_mode": {
|
||||
"name": "ipython",
|
||||
"version": 3
|
||||
},
|
||||
"file_extension": ".py",
|
||||
"mimetype": "text/x-python",
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.10.2"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 2
|
||||
}
|
BIN
2nd/13_Programmation/2B_variables.pdf
Normal file
60
2nd/13_Programmation/2B_variables.tex
Normal file
@@ -0,0 +1,60 @@
|
||||
\documentclass[a4paper,10pt]{article}
|
||||
\usepackage{myXsim}
|
||||
|
||||
\author{Benjamin Bertrand}
|
||||
\title{Programmation - Cours}
|
||||
\date{Février 2022}
|
||||
|
||||
\pagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\maketitle
|
||||
\setcounter{section}{1}
|
||||
|
||||
\section{Types de variables}
|
||||
|
||||
Vous devez connaître trois types de variables
|
||||
|
||||
\begin{multicols}{3}
|
||||
Les entiers
|
||||
|
||||
\begin{lstlisting}
|
||||
a = 2\end{lstlisting}
|
||||
|
||||
Les flottants
|
||||
|
||||
\begin{lstlisting}
|
||||
a = 2.2\end{lstlisting}
|
||||
|
||||
Les chaines de caractères
|
||||
|
||||
\begin{lstlisting}
|
||||
a = "2"\end{lstlisting}
|
||||
\end{multicols}
|
||||
|
||||
\bigskip
|
||||
|
||||
Le symbole \lstinline[ columns=fixed ]{=} affecte une valeur à une variable.
|
||||
|
||||
\bigskip
|
||||
|
||||
Quand c'est possible, des fonctions python permettent de transformer un type de variable en un autre.
|
||||
|
||||
\begin{itemize}
|
||||
\item Transformer en entier: \lstinline[columns=fixed]{int(...)}
|
||||
\item Transformer en flottant \lstinline[columns=fixed]{float(...)}
|
||||
\item Transformer en chaine de caractères \lstinline[columns=fixed]{str(...)}
|
||||
\end{itemize}
|
||||
|
||||
\bigskip
|
||||
|
||||
Deux fonctions pour interagir avec l'utilisateur du programme:
|
||||
\begin{itemize}
|
||||
\item \lstinline[ columns=fixed ]{print(...)}: affiche à l'écran ce qui lui est transmis dans les parenthèses.
|
||||
\item \lstinline[columns=fixed]{input(...)}: affiche à l'écran ce qui lui est transmis dans les parenthèses, attend un réponse de l'utilisateur et retourne la réponse sous forme d'une chaine de caractères.
|
||||
\end{itemize}
|
||||
|
||||
|
||||
|
||||
\end{document}
|
1
2nd/13_Programmation/2E_variables.ipynb
Normal file
BIN
2nd/13_Programmation/3B_conditions.pdf
Normal file
39
2nd/13_Programmation/3B_conditions.tex
Normal file
@@ -0,0 +1,39 @@
|
||||
\documentclass[a4paper,10pt]{article}
|
||||
\usepackage{myXsim}
|
||||
|
||||
\author{Benjamin Bertrand}
|
||||
\title{Programmation - Cours}
|
||||
\date{Février 2022}
|
||||
|
||||
\pagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\maketitle
|
||||
\setcounter{section}{2}
|
||||
|
||||
\section{Conditions \lstinline{if/elif/else}}
|
||||
|
||||
Quand on veut gérer différent cas de figure, on utilise les mots clés \lstinline{if/elif/else}.
|
||||
|
||||
\begin{center}
|
||||
\begin{minipage}{0.8\linewidth}
|
||||
\begin{lstlisting}
|
||||
age = str(input{Quel age as tu?})
|
||||
if age < 2: # si
|
||||
print("Tu es un bébé") # alors
|
||||
elif age < 18: #sinon si
|
||||
print("Tu n'es pas majeur") # alors
|
||||
print("Tu peux passer le permis")
|
||||
elif age < 50: #sinon si
|
||||
print("Tu as moins de la moitier d'un siècle") #alors
|
||||
else: #sinon
|
||||
print("Plus d'un demi siècle!")
|
||||
print("J'ai plus rien à dire")\end{lstlisting}
|
||||
\end{minipage}
|
||||
\end{center}
|
||||
|
||||
\paragraph{Remarque:} Il faut faire attention à l'indentation. C'est elle qui détermine où s'arrête le alors.
|
||||
|
||||
|
||||
\end{document}
|
258
2nd/13_Programmation/3E_conditions.ipynb
Normal file
@@ -0,0 +1,258 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "59986333",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# Conditions\n",
|
||||
"\n",
|
||||
"Quand on veut gérer des situations différentes, on utiliser une structure `if`."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "90f79825",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"a = str(input(\"Choisir un nombre (a): \"))\n",
|
||||
"b = str(input(\"Choisir un autre nombre(b): \"))\n",
|
||||
"\n",
|
||||
"if a < 10: # Si\n",
|
||||
" print(\"a est plus petit que 10\")\n",
|
||||
"elif a == b: # Sinon si\n",
|
||||
" print(\"a est égal à b\")\n",
|
||||
"else: # Sinon\n",
|
||||
" print(\"J'ai rien à dire\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "6e39d9d8",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## Exercices"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "21e86bf8",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"1. Un musée accorde des tarifs réduits aux groupes contenant au minimum 6 personnes de plus de 18 ans. Un informaticien du musée veut écrire un programme Python pour les clients qui achètent des billets en ligne. Ce programme doit demander au client le nombre d’adultes de plus de 18 ans du groupe puis afficher, suivant la réponse du client, l’une des deux phrases suivantes :\n",
|
||||
"\n",
|
||||
"- Vous avez droit au tarif Groupe !\n",
|
||||
"- Vous n’avez pas droit au tarif Groupe !\n",
|
||||
" \n",
|
||||
"L’informaticien a commencé à écrire le programme ci-dessous. Complétez-le :"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "f719d9ac",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"nombre_adulte = int(input(\"Combien ...\"))\n",
|
||||
"\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "bd8f17d8",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"2. À l'achat d'une voiture neuve, l'état applique un malus écologique. C'est une taxe qui dépend de la quantité de CO2 rejeté par le véhicule. Voici quelques montants de cette taxe\n",
|
||||
"\n",
|
||||
"| Emission de C02 (g/km) | Montant du malus 2022 |\n",
|
||||
"|------------------------|-----------------------|\n",
|
||||
"| Moins de 127 | 0 |\n",
|
||||
"| De 128 à 151 | 1074 |\n",
|
||||
"| De 152 à 200 | 18 188 |\n",
|
||||
"| De 201 à 224 | 36 447 |\n",
|
||||
"| Plus de 225 | 40 000 |\n",
|
||||
"\n",
|
||||
"Écrire un programme qui demande l'emission du véhicule et qui affiche le montant du malus."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "e07500c9",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "56711adc",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"3. **Questions flashs et correction automatique**\n",
|
||||
"\n",
|
||||
"Préparer une série de 4 questions flashs simples où la réponse est un nombre ou un mot. Écrire un programme qui demande une réponse aux questions flashs et qui dit si oui ou non la réponse est juste."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "01e13ca3",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "7e24624a",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# Comparaison et logique"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "a140ea9c",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"En anglais, `True` signifie `vrai` et `False` signifie `faux`.\n",
|
||||
"\n",
|
||||
"Quelques opérateurs pour faire des comparaison entre nombres"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "b60a11dd",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"print(2 == 2)\n",
|
||||
"print(2 == 3)\n",
|
||||
"print(2 != 2)\n",
|
||||
"print(10 != 5)\n",
|
||||
"print(4 < 5)\n",
|
||||
"print(4 <= 4)\n",
|
||||
"print(34 > 2)\n",
|
||||
"print(34 > 50)\n",
|
||||
"print(5 >= 10)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "a801961d",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"4.Faire la liste des opérateurs et écrire une phrase pour décrire ce qu'ils signifie."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "raw",
|
||||
"id": "7706dd5d",
|
||||
"metadata": {},
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "a4a0f415",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Pour combiner plusieur condition, on peut utiliser les mots clés `not` (pas), `and` (et) et `or` (ou)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "3f3512da",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"print(2 == 2 and 4 == 4)\n",
|
||||
"print(2 == 2 and 3 == 4)\n",
|
||||
"print(2 == 3 and 3 == 4)\n",
|
||||
"print(\"---------------\")\n",
|
||||
"print(2 == 2 or 4 == 4)\n",
|
||||
"print(2 == 2 or 3 == 4)\n",
|
||||
"print(2 == 3 or 3 == 4)\n",
|
||||
"print(\"---------------\")\n",
|
||||
"print(not 2 == 2)\n",
|
||||
"print(not 2 == 2)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "4f4b6948",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## Exercices"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "3a84f519",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"5. Programmer une IA au jeu Qui-est-ce?\n",
|
||||
"\n",
|
||||
"Voici 4 visages.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Ecrire un programme qui demande de choisir un personnage, pose 2 questions et qui arrive à déterminer le personnage choisis.\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "1121ba84",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "088cdb91",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"6. Programmer un pierre-feuille-ciseau. \n",
|
||||
"\n",
|
||||
"Déroulé du programme:\n",
|
||||
"\n",
|
||||
"- L'utilisateur choisit un nombre entre 0 (pierre), 1(feuille), 2(ciseau).\n",
|
||||
"- L'ordinateur choisit au hasard un nombre en 0 et 2 (vous pourrez utiliser `randint(0, 2)` pour faire cela.\n",
|
||||
"- L'ordinateur détermine qui a gagné la partie"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "2aad72c0",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "Python 3 (ipykernel)",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
"language_info": {
|
||||
"codemirror_mode": {
|
||||
"name": "ipython",
|
||||
"version": 3
|
||||
},
|
||||
"file_extension": ".py",
|
||||
"mimetype": "text/x-python",
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.10.2"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 5
|
||||
}
|
BIN
2nd/13_Programmation/4B_boucle_for.pdf
Normal file
54
2nd/13_Programmation/4B_boucle_for.tex
Normal file
@@ -0,0 +1,54 @@
|
||||
\documentclass[a4paper,10pt]{article}
|
||||
\usepackage{myXsim}
|
||||
|
||||
\author{Benjamin Bertrand}
|
||||
\title{Programmation - Cours}
|
||||
\date{Février 2022}
|
||||
|
||||
\pagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\maketitle
|
||||
\setcounter{section}{3}
|
||||
|
||||
\section{Boucle \lstinline{for}}
|
||||
|
||||
Quand on veut \textbf{faire} quelque chose un nombre de foi \textbf{connus}, on utilise une boucle \lstinline{for}.
|
||||
|
||||
\begin{multicols}{2}
|
||||
\begin{minipage}{0.8\linewidth}
|
||||
\begin{lstlisting}
|
||||
for i in range(3):
|
||||
print("Coucou")\end{lstlisting}
|
||||
Le programme va afficher
|
||||
\vspace{2cm}
|
||||
\end{minipage}
|
||||
|
||||
\begin{minipage}{0.8\linewidth}
|
||||
\begin{lstlisting}
|
||||
somme = 0
|
||||
for i in range(4):
|
||||
somme = somme + i
|
||||
print(somme)\end{lstlisting}
|
||||
Le programme va afficher
|
||||
\vspace{1cm}
|
||||
|
||||
Tableau des variables
|
||||
|
||||
\begin{center}
|
||||
\begin{tabular}{c|c}
|
||||
i & somme \\
|
||||
\hline
|
||||
& \\
|
||||
& \\
|
||||
& \\
|
||||
\end{tabular}
|
||||
\end{center}
|
||||
|
||||
\end{minipage}
|
||||
\end{multicols}
|
||||
|
||||
\afaire{Prévoir ce que vont afficher ces deux programmes et compléter le tableau des variables}
|
||||
|
||||
\end{document}
|
556
2nd/13_Programmation/4E_boucle_for.ipynb
Normal file
@@ -0,0 +1,556 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "701f30c9",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# Étape 4: boucle for\n",
|
||||
"\n",
|
||||
"Ce TP commence par la partie 1. Ensuite les autres parties peuvent se faire dans l'ordre que vous voulez."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "9fcf4959",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## 1- Faire la même chose plusieurs fois, une belle punition\n",
|
||||
"\n",
|
||||
"Bob n'a pas été sage, il a encore essayer de scotcher son voisin de classe sur sa chaise. Son professeur a une idée très originale pour le punir : lui faire recopier 100 fois \"je ne dois pas scotcher mon voisin sur sa chaise\". Alors Bob commence"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "ce53a518",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"print(\"je ne dois pas scotcher mon voisin sur sa chaise\")\n",
|
||||
"print(\"je ne dois pas scotcher mon voisin sur sa chaise\")\n",
|
||||
"print(\"je ne dois pas scotcher mon voisin sur sa chaise\")\n",
|
||||
"print(\"je ne dois pas scotcher mon voisin sur sa chaise\")\n",
|
||||
"print(\"je ne dois pas scotcher mon voisin sur sa chaise\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "26f634a0",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Mais il en marre. Alors il se rappelle qu'il peut sans effort utiliser une boucle `for` pour cela."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "e967dc51",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"for i in range(10):\n",
|
||||
" print(\"je ne dois pas scotcher mon voisin sur sa chaise\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "c4fc909c",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"1. Modifier le programme précédent pour qu'il réalise la punition de Bob."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "a6d6eccb",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Bien sûr l'enseignant est fou de rage. Il lui demande de réécrire 100 fois \"Moi Bob, je suis un gros malin et j'utiliser la programmation\" mais cette fois ci entre 2 lignes il doit y avoir une ligne de tirés (\"---------\").\n",
|
||||
"\n",
|
||||
"2. Réaliser la punition de Bob"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "6a64a946",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "e313c302",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Encore raté, l'enseignant ne sait plus comment construire une vraie bonne punition pour ce plaisantin. Mais il a une idée, il va lui demander de numéroter ses lignes de punition. Il veut des phrases du genre \"C'est la phrase numéro 10, il me reste encore 90 lignes à faire\".\n",
|
||||
"\n",
|
||||
"Bob se rappelle alors qu'il peut utiliser la variable `i` pour compter le nombre de répétition. Il écrire alors"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "37ef2823",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"for i in range(4):\n",
|
||||
" print(\"Je repète \", i, \" fois\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "290aceed",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"3. Recopier et modifier le programme de Bob pour réaliser sa punition."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "1086255e",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "331a2cbc",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## 2- Dessins ASCII\n",
|
||||
"\n",
|
||||
"Le but de cette partie est de réaliser des dessins avec des chaines de caractères.\n",
|
||||
"\n",
|
||||
"Quand on multiplie une chaine de caractères (par exemple \"#\") par un entier (par exemple 4), python va répéter la chaine de caractères.\n",
|
||||
"\n",
|
||||
"Quelques exemples:"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 1,
|
||||
"id": "f853763e",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"####\n",
|
||||
"----------\n",
|
||||
"___ -----\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"print(\"#\"*4)\n",
|
||||
"print(\"-\"*10)\n",
|
||||
"print(\"_\"*3, \" \"*2, \"-\"*5)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "39c31073",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"On peut utiliser des boucles pour faire ensuite des motifs"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "f27d70f7",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"for i in range(5):\n",
|
||||
" print(\"-\", \"#\"*i)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "1cb955ec",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"1. Réaliser le motif suivant:\n",
|
||||
"\n",
|
||||
"\n",
|
||||
" -\n",
|
||||
" --\n",
|
||||
" ---\n",
|
||||
" ----\n",
|
||||
" -----\n",
|
||||
" ------\n",
|
||||
" -------\n",
|
||||
" --------\n",
|
||||
" --------- "
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "9722d016",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "f5b643e3",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"2. Réaliser le motif suivant\n",
|
||||
"\n",
|
||||
" \n",
|
||||
" ##\n",
|
||||
" ####\n",
|
||||
" ######\n",
|
||||
" ########"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "500f4704",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "e3effd90",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"3. Réaliser le motif suivant\n",
|
||||
"\n",
|
||||
" ######\n",
|
||||
" #####\n",
|
||||
" ####\n",
|
||||
" ###\n",
|
||||
" ##\n",
|
||||
" #"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "95855d5a",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "7a8f1d02",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"4. Réaliser le motif suivant\n",
|
||||
"\n",
|
||||
"\n",
|
||||
" #\n",
|
||||
" ##\n",
|
||||
" ###\n",
|
||||
" ####\n",
|
||||
" #####\n",
|
||||
" ######\n",
|
||||
" #####\n",
|
||||
" ####\n",
|
||||
" ###\n",
|
||||
" ##\n",
|
||||
" #"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "2593c488",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"5. Réaliser le motif suivant\n",
|
||||
"\n",
|
||||
" # \n",
|
||||
" ### \n",
|
||||
" ##### \n",
|
||||
" ####### "
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "dee48acd",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "9880d494",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## 2- Calculer des images à pelle\n",
|
||||
"\n",
|
||||
"On définit la fonction \n",
|
||||
"$$ f(x) = 2x - 1$$\n",
|
||||
"On veut calculer les valeurs de $f(0)$, $f(1)$ jusqu'à $f(10)$. C'est une tache répétitive,on va pouvoir utiliser une boucle `for`"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "795e365f",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"for x in range(11):\n",
|
||||
" print(\"f(\", x, \")=\", 2*x-1)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "f7a16c05",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"1. Calculer les images pour $x$ allant de 0 à 20 par la fonctin $g(x) = 4x^2 - 5x - 1$ (en python la puissance s'écrit avec `**`)."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "0c00b54a",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "a7e5a9b6",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"2. Calculer les images pour $x$ allant de -10 à 0 par la fonctin $h(x) = -x^2 + x - 1$ "
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "27810bbd",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "fa825c38",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"3. Pour x allant de -100 à 100, quelles sont les valeurs de $x$ qui ont une image positive par la fonction $i(x) = -x^2 + 600$."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "ca8c089f",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "fa36a0e2",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## 3- Accumulateurs\n",
|
||||
"\n",
|
||||
"Dans le programme suivant, on veut ajouter tous les nombres de 0 à 100."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "a265bcd7",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"somme = 0\n",
|
||||
"for i in range(101):\n",
|
||||
" somme = somme + i\n",
|
||||
"print(somme)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "5cbbd583",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"1. Adapter le programme pour qu'il fasse la somme des nombres de 50 à 100."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "cd1beb45",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "6d626e06",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"2. Adapter le programme pour qu'il fasse le produit des tous les nombres de 0 à 100."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "4c59373e",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "210eecab",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"3. On veut ajouter tous les nombres de 0 à 100 qui sont paires. Écrire le programme qui correspond."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "f41babe3",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "2d31a788",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"4. Écrire un programme qui fait la somme de tous les multiples de 5 de 0 à 1000."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "a983409f",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "bd00940c",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## 4- Plusieurs boucles\n",
|
||||
"\n",
|
||||
"On veut énumérer les points du plan qui ont des coordonnées entières comprises entre -5 et 5. Pour cela il va falloir faire une boucles pour les abscisses (x), une boucle pour les ordonnées (y) et les imbriquer."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "025bd9a2",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"for x in range(-5, 6):\n",
|
||||
" for y in range(-5, 6):\n",
|
||||
" print(\"(\", x, \",\", y,\")\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "d99e9ba4",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"1. Lister tous les points à coordonnées entières qui ont une ordonnée égal à 2 (on note $y = 2$)."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "2ac7145b",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "bab46bf6",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"2. Lister tous les points à coordonnées entières qui sont sur $x = -2$."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "4ad1f971",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "9d00d050",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"3. Lister tous les points à coordonnées entières qui sont sur $x = 2y$."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "c8698a52",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "614e4eec",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"4. En informatique, on peut coder une couleur en RGB (rouge, vert, bleu). Ce sont 3 nombres compris entre 0 et 255 mis sous forme de coordonnée.\n",
|
||||
"\n",
|
||||
"Écrire un programme qui liste toutes les couleurs RGB possibles."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "767eb5c6",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "Python 3 (ipykernel)",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
"language_info": {
|
||||
"codemirror_mode": {
|
||||
"name": "ipython",
|
||||
"version": 3
|
||||
},
|
||||
"file_extension": ".py",
|
||||
"mimetype": "text/x-python",
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.10.2"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 5
|
||||
}
|
BIN
2nd/13_Programmation/5B_boucle_while.pdf
Normal file
52
2nd/13_Programmation/5B_boucle_while.tex
Normal file
@@ -0,0 +1,52 @@
|
||||
\documentclass[a4paper,10pt]{article}
|
||||
\usepackage{myXsim}
|
||||
|
||||
\author{Benjamin Bertrand}
|
||||
\title{Programmation - Cours}
|
||||
\date{Février 2022}
|
||||
|
||||
\pagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\maketitle
|
||||
\setcounter{section}{4}
|
||||
|
||||
\section{Boucle \lstinline{while}}
|
||||
|
||||
Quand on veut \textbf{faire} quelque chose \textbf{tant que} quelque chose reste vrai, on utilise une boucle \lstinline{while}.
|
||||
|
||||
\begin{multicols}{3}
|
||||
\begin{minipage}{0.8\linewidth}
|
||||
\begin{lstlisting}
|
||||
n = 0
|
||||
u = 1
|
||||
print(u)
|
||||
while n < 5:
|
||||
n = n + 1
|
||||
u = u * 2
|
||||
print(u)\end{lstlisting}
|
||||
\end{minipage}
|
||||
|
||||
\columnbreak
|
||||
|
||||
Tableau des variables
|
||||
\begin{center}
|
||||
\begin{tabular}{c|c}
|
||||
n & u \\
|
||||
\hline
|
||||
& \\
|
||||
& \\
|
||||
& \\
|
||||
\end{tabular}
|
||||
\end{center}
|
||||
\columnbreak
|
||||
|
||||
Le programme va afficher
|
||||
|
||||
|
||||
\end{multicols}
|
||||
|
||||
\afaire{Prévoir ce que vont afficher ces deux programmes et compléter le tableau des variables}
|
||||
|
||||
\end{document}
|
288
2nd/13_Programmation/5E_boucles_while.ipynb
Normal file
@@ -0,0 +1,288 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "78c29ed0",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# Étape 5: boucle while\n",
|
||||
"\n",
|
||||
"`While` signifie `tant que` en anglais. Cette instruction va répéter **tant que** quelque chose est vrai.\n",
|
||||
"\n",
|
||||
"1. Exécuter puis décrire le programme suivant"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"id": "779f540b",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"i vaut 0 . C'est plus petit que 10 je continue\n",
|
||||
"i vaut 1 . C'est plus petit que 10 je continue\n",
|
||||
"i vaut 2 . C'est plus petit que 10 je continue\n",
|
||||
"i vaut 3 . C'est plus petit que 10 je continue\n",
|
||||
"i vaut 4 . C'est plus petit que 10 je continue\n",
|
||||
"i vaut 5 . C'est plus petit que 10 je continue\n",
|
||||
"i vaut 6 . C'est plus petit que 10 je continue\n",
|
||||
"i vaut 7 . C'est plus petit que 10 je continue\n",
|
||||
"i vaut 8 . C'est plus petit que 10 je continue\n",
|
||||
"i vaut 9 . C'est plus petit que 10 je continue\n",
|
||||
"i vaut 10 . C'est plus grand que 10. Je suis sorti de la boucle\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"i = 0\n",
|
||||
"while i < 10:\n",
|
||||
" print(\"i vaut\", i, \". C'est plus petit que 10 je continue\")\n",
|
||||
" i = i + 1\n",
|
||||
"print(\"i vaut \", i, \". C'est plus grand que 10. Je suis sorti de la boucle\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "raw",
|
||||
"id": "1f129756",
|
||||
"metadata": {},
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "de655c11",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"2. Proposer un variante où l'on répète jusqu'à ce que `i` depasse 20 et où `i` augmente de 2 en 2."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "832e7f8c",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "66641818",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Dès que l'on veut faire quelque chose **jusqu'à ce que**, on utilisera un boucle `while`. \n",
|
||||
"\n",
|
||||
"3. Exécuter le programme et essayer de trouver mon mot de passe."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"id": "53d5932c",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Quel est mon mot de passe?les maths c bon\n",
|
||||
"Arf bien joué, tu l'as trouvé. J'ai plus qu'à le changer...\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"mdp = input(\"Quel est mon mot de passe?\")\n",
|
||||
"while mdp != \"les maths c bon\":\n",
|
||||
" mdp = input(\"Raté! Tu ne trouveras jamais. Quel est mon mot de passe?\")\n",
|
||||
"print(\"Arf bien joué, tu l'as trouvé. J'ai plus qu'à le changer...\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "e69e925f",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"4. Écrire une programme qui pose la même question tant que la bonne réponse n'est pas trouvée (vous devez inventer la question et la réponse)."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "ae7497cb",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "9748b12c",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## 1- Jeux de devinette\n",
|
||||
"\n",
|
||||
"Dans cette section, vous programmerez un jeu où l'utilisateur va chercher deviner un nombre choisi au hasard par l'ordinateur.\n",
|
||||
"\n",
|
||||
"1. *Programmation du coeur du jeu*: coder le programme suivant\n",
|
||||
"\n",
|
||||
" L'ordinateur choisi un nombre au hasard\n",
|
||||
" \n",
|
||||
" L'utilisateur propose une réponse\n",
|
||||
" Si la réponse est égale au nombre choisi par l'ordinateur\n",
|
||||
" L'utilisateur est félicité\n",
|
||||
" Sinon si la réponse est supérieur\n",
|
||||
" On affiche que sa réponse est trop grande\n",
|
||||
" Sinon\n",
|
||||
" on affiche que sa réponse est trop petite"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "6a7a82b0",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "eafa4b95",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"2. *Programmation de la boucle de jeu*: reprendre le programme précédent et faire répéter *jusqu'à ce que* l'utilisateur trouve la bonne réponse."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "1a3baf72",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "f5b4b59e",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"3. Quelques propositions d'améliorations\n",
|
||||
"\n",
|
||||
" - À la fin, on le nombre de réponses données par l'utilisateur pour trouver le nombre.\n",
|
||||
" - Limiter le nombre de réponses que l'utilisateur peut donner."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "3f28fc8f",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "9ef8751b",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## 2- Simulation aléatoire\n",
|
||||
"\n",
|
||||
"La boucle `while` peut être utile pour simuler des phénomènes aléatoires et les arreter en fonction d'une condition."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "0cdc9cab",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"1. Le jeu est le suivant: on part avec 10 points. À chaque tour, on peut perdre un point, gagner un point, ne rien perdre ni gagner. Le jeu s'arrête quand on a plus de points.\n",
|
||||
"\n",
|
||||
"Le programme suivra l'algorithme suivant\n",
|
||||
"\n",
|
||||
" Notre score est de 10 points\n",
|
||||
" Affiche le score\n",
|
||||
" Tant que notre score est positif\n",
|
||||
" Au hasard notre score gagne un point, perd un point ou rien ne se passe\n",
|
||||
" Affiche le score\n",
|
||||
" "
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "771e137c",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "2d61bc8a",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"2. Adapter le programme précédent pour qu'il calcule puis affiche le nombre de tours avant que notre score arrive à 0."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "3f75a4c7",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "594596d0",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## 2- Investissement"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "76f59bac",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Une banque nous propose le placement suivant: on place 100€ et chaque année ce placement augmente de 2%. On veut savoir combien d'année il faudra attendre pour que ce placement atteigne 10 000€.\n",
|
||||
"\n",
|
||||
"Programmer l'algorithme suivant pour répondre à cette question\n",
|
||||
"\n",
|
||||
" C'est l'année 0\n",
|
||||
" Le placement est de 100\n",
|
||||
" Tant que le placement est plus petit que 10000€\n",
|
||||
" le placement est augmenté de 2%\n",
|
||||
" l'année est augmentés de 1\n",
|
||||
" Affiche le nombre d'année"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "ff906802",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "Python 3 (ipykernel)",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
"language_info": {
|
||||
"codemirror_mode": {
|
||||
"name": "ipython",
|
||||
"version": 3
|
||||
},
|
||||
"file_extension": ".py",
|
||||
"mimetype": "text/x-python",
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.10.2"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 5
|
||||
}
|
BIN
2nd/13_Programmation/6B_fonctions.pdf
Normal file
62
2nd/13_Programmation/6B_fonctions.tex
Normal file
@@ -0,0 +1,62 @@
|
||||
\documentclass[a4paper,10pt]{article}
|
||||
\usepackage{myXsim}
|
||||
|
||||
\author{Benjamin Bertrand}
|
||||
\title{Programmation - Cours}
|
||||
\date{Février 2022}
|
||||
|
||||
\pagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\maketitle
|
||||
\setcounter{section}{5}
|
||||
|
||||
\section{Fonction - \lstinline{def/return}}
|
||||
|
||||
Une \textbf{fonction} en informatique est un sous programme à qui on va donner des paramètres (entre parenthèses) et qui retournera une valeur.
|
||||
|
||||
\bigskip
|
||||
|
||||
Fonction similaire aux fonctions en maths:
|
||||
\smallskip
|
||||
|
||||
\begin{minipage}{0.4\linewidth}
|
||||
\begin{lstlisting}
|
||||
def f(x):
|
||||
return x^2 + 2
|
||||
|
||||
print(f(3))
|
||||
print(f(-1))\end{lstlisting}
|
||||
\end{minipage}
|
||||
\hfill
|
||||
\begin{minipage}{0.5\linewidth}
|
||||
|
||||
Le programme va afficher
|
||||
\vspace{2cm}
|
||||
\end{minipage}
|
||||
|
||||
Fonctions qui décorent du texte
|
||||
|
||||
\begin{minipage}{0.55\linewidth}
|
||||
\begin{lstlisting}
|
||||
def decore(texte):
|
||||
return "*"*4 + texte + "*"*4
|
||||
|
||||
def belledeco(texte, decoration):
|
||||
return decoration*5 + texte + decoration*5
|
||||
|
||||
print(decore("Coucou c'est moi"))
|
||||
print(decore("Je suis trop beau!"))
|
||||
|
||||
print(belledeco("Coucou c'est moi", "="))
|
||||
print(belledeco("Je suis trop beau!", "a"))\end{lstlisting}
|
||||
\end{minipage}
|
||||
\hfill
|
||||
\begin{minipage}{0.4\linewidth}
|
||||
|
||||
Le programme va afficher
|
||||
\vspace{3cm}
|
||||
\end{minipage}
|
||||
|
||||
\end{document}
|
42
2nd/13_Programmation/6E_fonctions.ipynb
Normal file
@@ -0,0 +1,42 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "b4d60a66",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# Étape 6: fonctions\n",
|
||||
"\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "1d71067c",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "Python 3 (ipykernel)",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
"language_info": {
|
||||
"codemirror_mode": {
|
||||
"name": "ipython",
|
||||
"version": 3
|
||||
},
|
||||
"file_extension": ".py",
|
||||
"mimetype": "text/x-python",
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.10.2"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 5
|
||||
}
|
259
2nd/13_Programmation/7E_simulation.ipynb
Normal file
@@ -0,0 +1,259 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "0078371d",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# Simulation\n",
|
||||
"\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "208f5bbc",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## Simulation d'une marche aléatoire\n",
|
||||
"\n",
|
||||
"On se pose la question suivante:\n",
|
||||
"\n",
|
||||
" Une puce est sur une règle et fait 10 sauts de 1cm à droite ou à gauche aléatoirement. On veut savoir la chance a-t-elle de revenir à son point de départ.\n",
|
||||
" \n",
|
||||
"Comme nous n'avons pas de puces sous la main, nous n'avons d'autre choix que de simuler la situation avec un ordinateur."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "6f6f1e1f",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### Algorithme\n",
|
||||
"\n",
|
||||
"Avant de se lancer dans la programmation, vous allez écrire l'algorithme pour faire cette simulation. C'est à dire la \"recette\" pour simuler les 10 sauts de la puce.\n",
|
||||
"\n",
|
||||
"Pour cela, mettez vous à deux. Tracez un axe gradué. Une personne simule la puce pendant que l'autre va devoir lui dire ce qu'elle doit faire. La personne qui simule doit être la plus bête possible et ne faire que ce que l'autre lui dit de faire.\n",
|
||||
"\n",
|
||||
"Une fois que les indications sont assez explicite, vous les écrirez avec une phrase par ligne et en utilisant les mots ou expressions suivantes\n",
|
||||
"\n",
|
||||
"- Affecter ... à la variable ...\n",
|
||||
"- Afficher/dire\n",
|
||||
"- Si ... Alors ...\n",
|
||||
"- Pour ... allant de ... à ... faire ...\n",
|
||||
"- Tant que ... faire ...\n",
|
||||
"\n",
|
||||
"Vous aurez écrit votre algorithme."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "cdcc41de",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### Simulation\n",
|
||||
"\n",
|
||||
"A vous de traduire votre algorithme en language Python. "
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "173d77ec",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "0da2a635",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### Droite ou gauche?\n",
|
||||
"\n",
|
||||
"Ici, nous allons voir comment simuler le choix de la puce d'aller à droite ou à gauche.\n",
|
||||
"\n",
|
||||
"En python, nous avons la fonction `random()` qui permet d'avoir un nombre aléatoire entre 0 et 1."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 1,
|
||||
"id": "27f496f9",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"0.2629111349482097"
|
||||
]
|
||||
},
|
||||
"execution_count": 1,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"from random import random\n",
|
||||
"random()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "a59f232c",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"On veut que la puce ait autant de chance de faire un saut à gauche qu'un saut à droite.\n",
|
||||
"\n",
|
||||
"1. En utilisant `random()`, écrire un programme qui affiche la direction choisi de façon aléatoire."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "4bfbd25a",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "e1fba5c0",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"2. Pour pouvoir réutiliser votre programme facilement, vous allez pouvoir le mettre dans une **fonction**. Pour cela réécrire votre programme à la place des ... dans la cellule en dessous et remplacer les `print` par `return`."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"id": "638becc3",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def droite_ou_gauche():\n",
|
||||
" ..."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "3d2d67c2",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Vous pouvez maintenant utiliser cette fonction à n'importe quel endroit dans vos programmes."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 3,
|
||||
"id": "a570e33e",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"ename": "NameError",
|
||||
"evalue": "name 'droite_ou_gauche' is not defined",
|
||||
"output_type": "error",
|
||||
"traceback": [
|
||||
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
||||
"\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
|
||||
"Input \u001b[0;32mIn [3]\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mdroite_ou_gauche\u001b[49m()\n",
|
||||
"\u001b[0;31mNameError\u001b[0m: name 'droite_ou_gauche' is not defined"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"droite_ou_gauche()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 4,
|
||||
"id": "a0ebbe56",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Où pourrais-je bien aller?\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"ename": "NameError",
|
||||
"evalue": "name 'droite_ou_gauche' is not defined",
|
||||
"output_type": "error",
|
||||
"traceback": [
|
||||
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
||||
"\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
|
||||
"Input \u001b[0;32mIn [4]\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mOù pourrais-je bien aller?\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m----> 2\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[43mdroite_ou_gauche\u001b[49m())\n\u001b[1;32m 3\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mC\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mest une super idée!\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n",
|
||||
"\u001b[0;31mNameError\u001b[0m: name 'droite_ou_gauche' is not defined"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"print(\"Où pourrais-je bien aller?\")\n",
|
||||
"print(droite_ou_gauche())\n",
|
||||
"print(\"C'est une super idée!\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "a7e6c362",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## Simulation de 10 000 marches aléatoires de puces\n",
|
||||
"\n",
|
||||
"Ici, vous allez devoir simuler 10 000 marches aléatoires vu dans la partie précédente et compter le nombre de fois que la puce termine à son point de départ.\n",
|
||||
"\n",
|
||||
"1. Mettre le programme qui simule la marche aléatoire dans la fonction ci-dessous à la place des ... . Vous remplacerez le `print` qui affiche où la puce termine par un `return` "
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 5,
|
||||
"id": "9992a1aa",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def saut_de_puce():\n",
|
||||
" ..."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "a0a40d9d",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"2. Simuler 10 000 saut_de_puce et compter le nombre de fois que la puce revient au point de départ."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "cdfde180",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "Python 3 (ipykernel)",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
"language_info": {
|
||||
"codemirror_mode": {
|
||||
"name": "ipython",
|
||||
"version": 3
|
||||
},
|
||||
"file_extension": ".py",
|
||||
"mimetype": "text/x-python",
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.10.4"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 5
|
||||
}
|
BIN
2nd/13_Programmation/fig/pgm_momie.png
Normal file
After Width: | Height: | Size: 92 KiB |
BIN
2nd/13_Programmation/fig/qui-est-ce.png
Normal file
After Width: | Height: | Size: 37 KiB |
141
2nd/13_Programmation/index.rst
Normal file
@@ -0,0 +1,141 @@
|
||||
Programmation
|
||||
#############
|
||||
|
||||
:date: 2022-02-07
|
||||
:modified: 2022-03-24
|
||||
:authors: Benjamin Bertrand
|
||||
:tags: Python
|
||||
:category: 2nd
|
||||
:summary: TDs de programmation python à faire en salle informatique en demi-groupe.
|
||||
|
||||
|
||||
Le programme
|
||||
============
|
||||
|
||||
Contenus
|
||||
|
||||
- Variables informatiques de type entier, booléen, flottant, chaîne de caractères.
|
||||
- Affectation.
|
||||
- Séquence d’instructions.
|
||||
- Instruction conditionnelle.
|
||||
- Boucle bornée (for), boucle non bornée (while).
|
||||
|
||||
Capacités attendues
|
||||
|
||||
- Choisir ou déterminer le type d’une variable (entier, flottant ou chaîne de caractères).
|
||||
- Concevoir et écrire une instruction d’affectation, une séquence d’instructions, une instruction conditionnelle.
|
||||
- Écrire une formule permettant un calcul combinant des variables.
|
||||
- Programmer, dans des cas simples, une boucle bornée, une boucle non bornée.
|
||||
- Dans des cas plus complexes: lire, comprendre, modifier ou compléter un algorithme
|
||||
|
||||
Présentation
|
||||
============
|
||||
|
||||
Plan de travail sous forme de plusieurs notebooks. Les élèves doivent commencer pas l'étape 1 pour avoir un tour d'horizon. Puis vient l'étape 2. Les étapes suivantes peuvent être fait dans n'importe quelle ordre.
|
||||
|
||||
La séquence se conclue avec un projet de programmation mêlant plusieurs outils.
|
||||
|
||||
Assez rapidement, on pourra ajouter des questions "programmation" dans les questions flashs: des programmes, on anticipe quel sera le résultat. Cela permettre de présenter "le tableau des variables".
|
||||
|
||||
Plan de travail
|
||||
===============
|
||||
|
||||
Étape 1: Tour d'horizon des briques de programmation
|
||||
----------------------------------------------------
|
||||
|
||||
`Tour d'horizon des briques de programmation <./1E_tour_d_horizon.ipynb>`_
|
||||
|
||||
.. image:: https://mybinder.org/badge_logo.svg
|
||||
:target: https://mybinder.org/v2/git/https%3A%2F%2Fgit.opytex.org%2Flafrite%2F2021-2022/main?labpath=2nd%2F13_Programmation%2F1E_tour_d_horizon.ipynb
|
||||
|
||||
Les élèves commencent par décrire des programmes. Une phrase par ligne de code.
|
||||
|
||||
Le programme de la momie va les amener à créer plusieurs variantes d'un même programme. Les premières variantes sont justes des modifications de variables mais elles vont pousser les élèves à lire le programme et à chercher quel est le rôle de chaque morceau. Il sera intéressant de discuter de ces rôles en plénière. Le but est que les élèves arrivent à faire au moins ces 3 premières variantes. Les autres variantes seront réservées aux élèves les plus rapides.
|
||||
|
||||
Au moins 10 minutes avant la fin de l'heure, on forcera les élèves à faire la partie bilan.
|
||||
|
||||
Bilan: le programme de la momie avec les mots clé mis en valeur et décrit succinctement.
|
||||
|
||||
.. image:: ./1B_momie.pdf
|
||||
:height: 200px
|
||||
:alt: Décortication d'un programme Python
|
||||
|
||||
|
||||
Étape 2: Variables, affectation et type
|
||||
---------------------------------------
|
||||
|
||||
`Variables, affectation et type <./2E_variables.ipynb>`_
|
||||
|
||||
.. image:: https://mybinder.org/badge_logo.svg
|
||||
:target: https://mybinder.org/v2/git/https%3A%2F%2Fgit.opytex.org%2Flafrite%2F2021-2022/main?labpath=2nd%2F13_Programmation%2F2E_variables.ipynb
|
||||
|
||||
|
||||
Types de données: int, float et string -> input donne un string qu'il est parfois nécessaire de modifier avec int ou float.
|
||||
Opérations suivant les types de données
|
||||
Traduction algo en français en programme en python
|
||||
|
||||
|
||||
Bilan:
|
||||
|
||||
.. image:: ./2B_variables.pdf
|
||||
:height: 200px
|
||||
:alt: Les types de variables
|
||||
|
||||
Étape 3: Conditions if
|
||||
----------------------
|
||||
|
||||
`Conditions if <./3E_conditions.ipynb>`_
|
||||
|
||||
.. image:: https://mybinder.org/badge_logo.svg
|
||||
:target: https://mybinder.org/v2/git/https%3A%2F%2Fgit.opytex.org%2Flafrite%2F2021-2022/main?labpath=2nd%2F13_Programmation%2F3E_conditions.ipynb
|
||||
|
||||
Bilan:
|
||||
|
||||
.. image:: ./3B_conditions.pdf
|
||||
:height: 200px
|
||||
:alt: Les conditions
|
||||
|
||||
Étape 4: Boucle for
|
||||
-------------------
|
||||
|
||||
`Boucle for <./4E_boucle_for.ipynb>`_
|
||||
|
||||
.. image:: https://mybinder.org/badge_logo.svg
|
||||
:target: https://mybinder.org/v2/git/https%3A%2F%2Fgit.opytex.org%2Flafrite%2F2021-2022/main?labpath=2nd%2F13_Programmation%2F4E_boucle_for.ipynb
|
||||
|
||||
|
||||
Bilan:
|
||||
|
||||
.. image:: ./4B_boucle_for.pdf
|
||||
:height: 200px
|
||||
:alt: Bilan sur les boucles for
|
||||
|
||||
Étape 5: Boucle While
|
||||
---------------------
|
||||
|
||||
`Boucle while <./5E_boucles_while.ipynb>`_
|
||||
|
||||
.. image:: https://mybinder.org/badge_logo.svg
|
||||
:target: https://mybinder.org/v2/git/https%3A%2F%2Fgit.opytex.org%2Flafrite%2F2021-2022/main?labpath=2nd%2F13_Programmation%2F5E_boucle_while.ipynb
|
||||
|
||||
|
||||
Bilan:
|
||||
|
||||
.. image:: ./5B_boucle_while.pdf
|
||||
:height: 200px
|
||||
:alt: Bilan sur la boucle while
|
||||
|
||||
|
||||
Étape 6: Fonctions
|
||||
------------------
|
||||
|
||||
Bilan:
|
||||
|
||||
.. image:: ./6B_fonctions.pdf
|
||||
:height: 200px
|
||||
:alt: Bilan sur les fonctions
|
||||
|
||||
|
||||
Étape 7: Projets
|
||||
----------------
|
||||
|
29
2nd/13_Programmation/momie.py
Normal file
@@ -0,0 +1,29 @@
|
||||
# Programme de la momie - tiré du livre les maths ensembles et pour chacun
|
||||
from random import randint
|
||||
|
||||
def choisir_porte(nombre_portes):
|
||||
print("Il y a " + str(nombre_portes) + " portes devant toi.")
|
||||
porte_choisie = int(input( "Laquelle ouvres-tu?"))
|
||||
return porte_choisie
|
||||
|
||||
|
||||
nombre_portes = 3
|
||||
points_de_vie = 5
|
||||
score = 0
|
||||
degat_momie = 3
|
||||
|
||||
while points_de_vie > 0:
|
||||
print("Tu arrives dans un long couloir et tu avances. Jusqu'à ce que...")
|
||||
porte_momie = randint(0, nombre_portes)
|
||||
porte_choisie = choisir_porte(nombre_portes)
|
||||
if porte_choisie == porte_momie:
|
||||
print("Une momie attaque!")
|
||||
for i in range(degat_momie):
|
||||
print("Elle te touche une fois")
|
||||
points_de_vie = points_de_vie - 1
|
||||
else:
|
||||
print("Rien! Tu as survécu à une porte en plus.")
|
||||
score = score + 1
|
||||
|
||||
print("T'es mort. Tu n'as plus de points de vie.")
|
||||
print("Le jeu est fini, ton score est de ", score)
|
BIN
2nd/14_Information_Chiffrée_2/1B_erreurs.pdf
Normal file
BIN
2nd/14_Information_Chiffrée_2/2B_coef_mult.pdf
Normal file
95
2nd/14_Information_Chiffrée_2/2B_coef_mult.tex
Normal file
@@ -0,0 +1,95 @@
|
||||
\documentclass[a4paper,12pt]{article}
|
||||
\usepackage{myXsim}
|
||||
|
||||
\author{Benjamin Bertrand}
|
||||
\title{Information chiffrée 2 - Cours}
|
||||
\date{2022-01-13}
|
||||
|
||||
\pagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\maketitle
|
||||
|
||||
|
||||
\section*{Lien entre taux d'évolution et coefficient multiplicateur}
|
||||
|
||||
\begin{propriete}
|
||||
Soit $t$ le taux d'évolution qui fait évolution $v_i$ vers $v_f$ alors
|
||||
\[
|
||||
v_f = (1+t)v_i
|
||||
\]
|
||||
\end{propriete}
|
||||
\begin{definition}
|
||||
$1+t$ est appelé \textbf{coefficient multiplicateur}, noté $CM$, associé au taux d'évolution $t$.
|
||||
|
||||
\noindent
|
||||
On a ainsi
|
||||
\[
|
||||
CM = 1+t \qquad \mbox{ou encore} \qquad t = CM - 1
|
||||
\]
|
||||
et
|
||||
\[
|
||||
v_f = CM \times v_i \qquad \mbox{ ou encore } \qquad CM = \frac{v_f}{v_i}
|
||||
\]
|
||||
\end{definition}
|
||||
\paragraph{Exemples}
|
||||
\begin{itemize}
|
||||
\item
|
||||
\begin{tikzpicture}[
|
||||
baseline,
|
||||
roundnode/.style={circle, draw=highlightbg, fill=green!5, very thick, minimum size=3mm},
|
||||
arrow/.style={->, shorten >=5pt, shorten <=5pt}
|
||||
]
|
||||
%Nodes
|
||||
\node[roundnode] (leftterme) {\makebox[0.5cm]{120}};
|
||||
\node[roundnode] (centerterm) [right=2cm of leftterme] {\makebox[0.5cm]{...}};
|
||||
|
||||
%Lines
|
||||
\path[arrow] (leftterme.north) edge [bend left]
|
||||
node [pos=0.5, above] {+25\%}
|
||||
node [pos=0.5, below] {\times CM = ...}
|
||||
(centerterm.north)
|
||||
;
|
||||
\end{tikzpicture}
|
||||
Coefficient multiplicateur: \hfill Valeur finale: \hfill.
|
||||
\item
|
||||
\begin{tikzpicture}[
|
||||
baseline,
|
||||
roundnode/.style={circle, draw=highlightbg, fill=green!5, very thick, minimum size=3mm},
|
||||
arrow/.style={->, shorten >=5pt, shorten <=5pt}
|
||||
]
|
||||
%Nodes
|
||||
\node[roundnode] (leftterme) {\makebox[0.5cm]{55}};
|
||||
\node[roundnode] (centerterm) [right=2cm of leftterme] {\makebox[0.5cm]{...}};
|
||||
|
||||
%Lines
|
||||
\path[arrow] (leftterme.north) edge [bend left]
|
||||
node [pos=0.5, above] {+...}
|
||||
node [pos=0.5, below] {\times 0.12}
|
||||
(centerterm.north)
|
||||
;
|
||||
\end{tikzpicture}
|
||||
Taux d'évolution: \hfill Valeur finale: \hfill.
|
||||
\item
|
||||
\begin{tikzpicture}[
|
||||
baseline,
|
||||
roundnode/.style={circle, draw=highlightbg, fill=green!5, very thick, minimum size=3mm},
|
||||
arrow/.style={->, shorten >=5pt, shorten <=5pt}
|
||||
]
|
||||
%Nodes
|
||||
\node[roundnode] (leftterme) {\makebox[0.5cm]{34}};
|
||||
\node[roundnode] (centerterm) [right=2cm of leftterme] {\makebox[0.5cm]{123}};
|
||||
|
||||
%Lines
|
||||
\path[arrow] (leftterme.north) edge [bend left]
|
||||
node [pos=0.5, above] {+...\%}
|
||||
node [pos=0.5, below] {\times ...}
|
||||
(centerterm.north)
|
||||
;
|
||||
\end{tikzpicture}
|
||||
Taux d'évolution: \hfill Valeur finale: \hfill.
|
||||
\end{itemize}
|
||||
|
||||
\afaire{Compléter les calculs}
|
||||
\end{document}
|
BIN
2nd/14_Information_Chiffrée_2/3B_successive.pdf
Normal file
82
2nd/14_Information_Chiffrée_2/3B_successive.tex
Normal file
@@ -0,0 +1,82 @@
|
||||
\documentclass[a4paper,12pt]{article}
|
||||
\usepackage{myXsim}
|
||||
|
||||
\author{Benjamin Bertrand}
|
||||
\title{Information chiffrée 2- Cours}
|
||||
\date{2022-01-13}
|
||||
|
||||
\pagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\maketitle
|
||||
|
||||
\section*{Taux d'évolution successifs}
|
||||
|
||||
\begin{propriete}
|
||||
Quand une quantité subit des \textbf{évolution successives} $t_1, t_2, ...$, elle subit alors une \textbf{évolution globale}.
|
||||
|
||||
Les taux d'évolution \textbf{ne peuvent pas} s'ajouter.
|
||||
|
||||
\bigskip
|
||||
|
||||
Il faut multiplier les \textbf{coefficient multiplicateur} entre eux.
|
||||
|
||||
\begin{center}
|
||||
\begin{tikzpicture}[
|
||||
roundnode/.style={circle, draw=highlightbg, fill=green!5, very thick, minimum size=3mm},
|
||||
node distance=2cm and 2cm,
|
||||
arrow/.style={->, shorten >=5pt, shorten <=5pt}
|
||||
]
|
||||
%Nodes
|
||||
\node[roundnode] (termA) {\makebox[0.5cm]{}};
|
||||
\node[roundnode] (termB) [right=of termA] {\makebox[0.5cm]{}};
|
||||
\node[roundnode] (termC) [right=of termB] {\makebox[0.5cm]{}};
|
||||
\node[roundnode] (termD) [right=of termC] {\makebox[0.5cm]{}};
|
||||
\node (termE) [right=1cm of termD] {\makebox[0.5cm]{...}};
|
||||
\node[roundnode] (termF) [right=1cm of termE] {\makebox[0.5cm]{}};
|
||||
|
||||
%Lines
|
||||
\path[arrow] (termA.north) edge [bend left=50] node [above] {$+t_1$} node [below] {$\times CM_1$} (termB.north) ;
|
||||
\path[arrow] (termB.north) edge [bend left=50] node [above] {$+t_2$} node [below] {$\times CM_2$} (termC.north) ;
|
||||
\path[arrow] (termC.north) edge [bend left=50] node [above] {$+t_3$} node [below] {$\times CM_3$} (termD.north) ;
|
||||
|
||||
\path[arrow] (termA.south) edge [bend right=10] node [above] {Taux d'évolution global} node [below] {$\times CM_1 \times CM_2 \times CM_3 \times ...$} (termF.south);
|
||||
\end{tikzpicture}
|
||||
\end{center}
|
||||
\end{propriete}
|
||||
|
||||
\paragraph{Exemples:}
|
||||
\begin{itemize}
|
||||
\item Une quantité a subit 5 augmentations de 10\%.
|
||||
\begin{center}
|
||||
\begin{tikzpicture}[
|
||||
roundnode/.style={circle, draw=highlightbg, fill=green!5, very thick, minimum size=3mm},
|
||||
arrow/.style={->, shorten >=5pt, shorten <=5pt}
|
||||
]
|
||||
%Nodes
|
||||
\node[roundnode] (termA) {\makebox[0.5cm]{}};
|
||||
\node[roundnode] (termB) [right=2cm of termA] {\makebox[0.5cm]{}};
|
||||
\node[roundnode] (termC) [right=2cm of termB] {\makebox[0.5cm]{}};
|
||||
\node[roundnode] (termD) [right=2cm of termC] {\makebox[0.5cm]{}};
|
||||
\node[roundnode] (termE) [right=2cm of termD] {\makebox[0.5cm]{}};
|
||||
\node[roundnode] (termF) [right=2cm of termE] {\makebox[0.5cm]{}};
|
||||
|
||||
%Lines
|
||||
\path[arrow] (termA.north) edge [bend left=50] node [above] {$+10\%$} node [below] {$\times ...$} (termB.north) ;
|
||||
\path[arrow] (termB.north) edge [bend left=50] node [above] {$+10\%$} node [below] {$\times ...$} (termC.north) ;
|
||||
\path[arrow] (termC.north) edge [bend left=50] node [above] {$+10\%$} node [below] {$\times ...$} (termD.north) ;
|
||||
\path[arrow] (termD.north) edge [bend left=50] node [above] {$+10\%$} node [below] {$\times ...$} (termE.north) ;
|
||||
\path[arrow] (termE.north) edge [bend left=50] node [above] {$+10\%$} node [below] {$\times ...$} (termF.north) ;
|
||||
|
||||
\path[arrow] (termA.south) edge [bend right=10] node [above] {Taux d'évolution global} node [below] {$\times ... \times ... \times ... \times ... \times ... = \times ...$} (termF.south);
|
||||
\end{tikzpicture}
|
||||
\end{center}
|
||||
Le coefficient global est donc de $CM = ...$
|
||||
|
||||
On en déduit le \textbf{taux d'évolution global} $t = ...$
|
||||
\item Une quantité a subit une augmentation de 5\% puis un diminution de 10\% et enfin une autre augmentation de 5\%. Calculons le taux d'évolution global.
|
||||
\end{itemize}
|
||||
\afaire{Compléter les exemples}
|
||||
|
||||
\end{document}
|
BIN
2nd/14_Information_Chiffrée_2/4B_reciproque.pdf
Normal file
49
2nd/14_Information_Chiffrée_2/4B_reciproque.tex
Normal file
@@ -0,0 +1,49 @@
|
||||
\documentclass[a4paper,12pt]{article}
|
||||
\usepackage{myXsim}
|
||||
|
||||
\author{Benjamin Bertrand}
|
||||
\title{Information chiffrée - Cours}
|
||||
\date{2022-01-13}
|
||||
|
||||
\pagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\maketitle
|
||||
|
||||
\section*{Taux d'évolution réciproque}
|
||||
\begin{propriete}
|
||||
Quand une quantité subit une évolution et que l'on souhaite revenir à la valeur initiale, elle subit une \textbf{évolution réciproque}.
|
||||
|
||||
\begin{center}
|
||||
\begin{tikzpicture}[
|
||||
roundnode/.style={circle, draw=highlightbg, fill=green!5, very thick, minimum size=3mm},
|
||||
node distance=5cm and 5cm,
|
||||
arrow/.style={->, shorten >=5pt, shorten <=5pt}
|
||||
]
|
||||
%Nodes
|
||||
\node[roundnode] (termA) {\makebox[0.5cm]{$v_i$}};
|
||||
\node[roundnode] (termB) [right=of termA] {\makebox[0.5cm]{$v_f$}};
|
||||
|
||||
%Lines
|
||||
\path[arrow] (termA.north) edge [bend left] node [above] {$+t$} node [below] {$\times CM$} (termB.north) ;
|
||||
|
||||
\path[arrow] (termB.south) edge [bend left] node [above] {$\times \dfrac{1}{CM}$} node [below] {Taux d'évolution réciproque} (termA.south);
|
||||
\end{tikzpicture}
|
||||
\end{center}
|
||||
|
||||
Le coefficient multiplicateur de l'évolution réciproque est égal à $\dfrac{1}{CM}$.
|
||||
|
||||
%Le taux d'évolution réciproque est égal à $\dfrac{1}{CM} - 1$
|
||||
\end{propriete}
|
||||
|
||||
\paragraph{Exemples:}
|
||||
\begin{itemize}
|
||||
\item Un article coûte 50\euro hors taxe. Une diminution de 20\% fait passer le prix à 40\euro. Quelle devra être l'augmentation pour revenir au prix initial?
|
||||
\vspace{1cm}
|
||||
\item Une entreprise a augmenté ses emissions de CO2 de 14\% en un an. Quelle devra être l'évolution pour revenir aux émissions d'avant cette augmentation?
|
||||
\vspace{1cm}
|
||||
\end{itemize}
|
||||
\afaire{Traiter les exemples}
|
||||
|
||||
\end{document}
|
273
2nd/14_Information_Chiffrée_2/exercises.tex
Normal file
@@ -0,0 +1,273 @@
|
||||
% ----
|
||||
% 1E: Intuitions et contre-intuitions
|
||||
\begin{exercise}[subtitle={Parole de presse}, step={1}, origin={Création}, topics={ Information Chiffrée 2 }, tags={ Information chiffrée }, mode={\faIcon{search}}]
|
||||
\begin{enumerate}
|
||||
\item Dans le journal de 13h du 19 février 2013, le présentateur illustre la hausse du prix d'électricité avec des deux infographies
|
||||
\begin{center}
|
||||
\includegraphics[scale=0.15]{./fig/facture_elect_prix.png}
|
||||
\includegraphics[scale=0.15]{./fig/facture_elect_tx.png}
|
||||
\end{center}
|
||||
Sans remettre en doute la véracité des montants sur les factures d'électrice, commenter les pourcentages présenté. Trouver l'erreur.
|
||||
\item Depuis sa création, une entreprise a diminué ses salaires de 60\%. Son dirigeant affirme qu'il n'y a pas d'inquiétude, il s'engage à ce que son entreprise augmente ses salaires de 60\% et ainsi revenir au niveau initial.
|
||||
|
||||
Choisir un salaire au moment de la création de l'entreprise (peu importe si il est réaliste) puis calculer ce salaire au moment où le dirigeant fait cette annonce et enfin le sailaire qu'il projete d'atteindre. Va-t-il vraiment faire revenir les salaires au niveau initial?
|
||||
\end{enumerate}
|
||||
\end{exercise}
|
||||
|
||||
\begin{exercise}[subtitle={Contre-intuitions}, step={1}, origin={Création}, topics={ Information Chiffrée 2 }, tags={ Information chiffrée }, mode={\faIcon{users}}]
|
||||
Au regard des deux situations étudiées dans l'exercice précédent, quelles sont les deux erreurs que l'on aurait envie de faire avec les pourcentages d'évolutions mais qu'il va falloir éviter?
|
||||
\end{exercise}
|
||||
|
||||
|
||||
% ----
|
||||
% 2E: Taux d'évolution et coefficient multiplicateur
|
||||
\begin{exercise}[subtitle={Taux d'évolution et coefficient multiplicateur}, step={2}, origin={Création}, topics={ Information Chiffrée 2 }, tags={ Information chiffrée }, mode={\faIcon{search}}]
|
||||
On appelle \textbf{coefficient multiplicateur} le nombre par lequel on multiplie la valeur initiale pour obtenir la valeur finale.
|
||||
|
||||
Compléter le tableau suivant
|
||||
|
||||
\begin{center}
|
||||
\begin{tabular}{|*{4}{p{4cm}|}}
|
||||
\hline
|
||||
Valeur initiale & Valeur finale & Taux d'évolution & Coefficient multiplicateur \\
|
||||
\hline
|
||||
185 & & +20\% & \\
|
||||
\hline
|
||||
245 & & -15\% & \\
|
||||
\hline
|
||||
782 & 124 & & \\
|
||||
\hline
|
||||
1.23 & 4.3 & & \\
|
||||
\hline
|
||||
4 & & & 1.5\\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\end{center}
|
||||
\end{exercise}
|
||||
|
||||
\begin{exercise}[subtitle={Lien entre taux d'évolution et coefficient multiplicateur}, step={2}, origin={Création}, topics={ Information Chiffrée 2 }, tags={ Information chiffrée }, mode={\faIcon{users}}]
|
||||
Expliquer à travers un exemple que vous choisirez les éléments suivantes:
|
||||
\begin{enumerate}
|
||||
\item Calculer un coefficient multiplicateur
|
||||
\item Passer du taux d'évolution au coefficient multiplicateur.
|
||||
\item Passer du coefficient multiplicateur au taux d'évolution.
|
||||
\end{enumerate}
|
||||
\end{exercise}
|
||||
|
||||
\begin{exercise}[subtitle={Questions divers}, step={2}, origin={Création}, topics={ Information Chiffrée 2 }, tags={ Information chiffrée }, mode={\faIcon{tools}}]
|
||||
Répondre aux questions suivantes en détaillant les calculs
|
||||
\begin{enumerate}
|
||||
\item En solde, un robe a une démarque de -25\%. Par combien son prix est-il multiplié?
|
||||
\item La population d'une ville au augmenté de 185\%. Par combien a-t-elle été multipliée?
|
||||
\item Les résultats d'une entreprise ont été multiplié par 1.23. Quel est le taux d'évolution correspondant?
|
||||
\item Une population de bactérie a été multipliée par 5 en deux heures. Quel est le taux d'évolution correspondant?
|
||||
\item Mes notes ont été multipliée par 0.67. Quel est le taux d'évolution de cette dégringolade?
|
||||
\item Le prix d'un article est passé de 35\euro à 37\euro. Quel est le coefficient multiplicateur de cette évolution?
|
||||
\item Le nombre d'écrevisses est passé de 750 à 503. Quel est le coefficient multiplicateur de cette évolution?
|
||||
\end{enumerate}
|
||||
\end{exercise}
|
||||
|
||||
\begin{solution}
|
||||
\begin{enumerate}
|
||||
\item Coefficient multiplicateur: $CM = 1 - \dfrac{25}{100} = 0.75$
|
||||
\item Coefficient multiplicateur: $CM = 1 + \dfrac{185}{100} = 2.85$
|
||||
\item Taux d'évolution: $t = 1.23 - 1 = 0.23 = 23\%$
|
||||
\item Taux d'évolution: $t = 5 - 1 = 4 = 400\%$
|
||||
\item Taux d'évolution: $t = 0.67 - 1 = -3.3 = -33\%$
|
||||
\item Coefficient multiplicateur: $CM = \frac{v_f}{v_i} = \frac{37}{35} \approx 1,06$
|
||||
\item Coefficient multiplicateur: $CM = \frac{v_f}{v_i} = \frac{503}{750} \approx 0.67$
|
||||
\end{enumerate}
|
||||
\end{solution}
|
||||
|
||||
% ----
|
||||
% 3E: Évolutions successives
|
||||
\begin{exercise}[subtitle={Évolutions successives}, step={3}, origin={Création}, topics={ Information Chiffrée 2 }, tags={ Information chiffrée }, mode={\faIcon{search}}]
|
||||
Le but de cet exercice est de déterminer une méthode pour calculer le taux d'évolution global de multiples évolutions successives.
|
||||
|
||||
Une entreprise a une croissance moyenne de 2\% \textbf{par mois}. Au début de l'année 2010, son chiffre d'affaire était de \np{5000}\euro.
|
||||
\begin{enumerate}
|
||||
\item
|
||||
\begin{enumerate}
|
||||
\item Calculer le chiffre d'affaire de cette entre prise fin janvier, fin février et fin mars.
|
||||
\item Quel a été le taux d'évolution global sur le premier trimestre de 2010.
|
||||
\end{enumerate}
|
||||
\item
|
||||
\begin{enumerate}
|
||||
\item Calculer le chiffre d'affaire fin 2010.
|
||||
\item Quel a été d'évolution global sur l'année 2010?
|
||||
\end{enumerate}
|
||||
\item
|
||||
\begin{enumerate}
|
||||
\item Calculer le chiffre d'affaire fin 2020.
|
||||
\item Quel a été d'évolution global entre 2010 et 2020?
|
||||
\end{enumerate}
|
||||
\item On suppose que cette croissance se poursuit jusqu'en 2050. Quel sera alors sont chiffre d'affaire?
|
||||
\end{enumerate}
|
||||
\end{exercise}
|
||||
|
||||
\begin{exercise}[subtitle={Évolutions successives - bilan}, step={3}, origin={Création}, topics={ Information Chiffrée 2 }, tags={ Information chiffrée }, mode={\faIcon{users}}]
|
||||
Expliquer votre/vos méthode(s) pour calculer la taux d'évolution d'une transformation composé de plusieurs évolution. Vous illustrerez votre méthode en calculant le taux d'évolution global des trois situations suivantes:
|
||||
\begin{enumerate}
|
||||
\item 5 augmentation de 4\%.
|
||||
\item 100 diminution de 5\%.
|
||||
\item Une augmentation de 10\% puis une augmentation de 20\% puis une diminution de 30\%.
|
||||
\end{enumerate}
|
||||
\end{exercise}
|
||||
|
||||
\begin{exercise}[subtitle={Techniques}, step={3}, origin={Création}, topics={ Information Chiffrée 2 }, tags={ Information chiffrée }, mode={\faIcon{tools}}]
|
||||
\begin{enumerate}
|
||||
\item Calculer le taux d'évolution global d'une évolution constituée de 3 augmentations de 30\%.
|
||||
\item Calculer le taux d'évolution global d'une évolution constituée de 5 diminutions de 2\%.
|
||||
\item Calculer le taux d'évolution global d'une évolution constituée de 50 augmentations de 1\%.
|
||||
\item Calculer le taux d'évolution global d'une évolution constituée d'une augmentation de 10\% puis d'une deuxième augmentation de 20\% suivie d'une augmentation de 5\%.
|
||||
\item Calculer le taux d'évolution global d'une évolution constituée d'une diminution de 90\%, d'une augmentation de 20\%, d'une augmentation de 40\% et une dernière augmentation de 30\%.
|
||||
\end{enumerate}
|
||||
\end{exercise}
|
||||
|
||||
\begin{solution}
|
||||
\begin{enumerate}
|
||||
\item Coefficient multiplicateur d'une évolution de 30\%: $CM = 1 + \dfrac{30}{100} = 1.3$.
|
||||
|
||||
Coefficient multiplicateur de l'évolution globale: $CM \times CM \times CM = 1.3 \times 1.3 \times 1.3 = 2.197$
|
||||
|
||||
Taux d'évolution global: $t = 2.197 - 1 = 1.197 = 119,7\%$.
|
||||
|
||||
\item Coefficient multiplicateur d'une évolution de -2\%: $CM = 1 - \dfrac{2}{100} = 0.98$.
|
||||
|
||||
Coefficient multiplicateur de l'évolution globale: $CM^5 = 0.98^5 = 0.903$
|
||||
|
||||
Taux d'évolution global: $t = 0.903 - 1 = 0.097 = -9.7\%$.
|
||||
|
||||
\item Coefficient multiplicateur d'une évolution de 1\%: $CM = 1 + \dfrac{1}{100} = 1.01$.
|
||||
|
||||
Coefficient multiplicateur de l'évolution globale: $CM^{50} = 1.01^{50} = 1.644$
|
||||
|
||||
Taux d'évolution global: $t = 1.664 - 1 = 0.664 = 66.4\%$.
|
||||
|
||||
\item Coefficient multiplicateur de l'évolution globale: $(1+\dfrac{10}{100})\times (1 + \dfrac{20}{100}) \times (1+\dfrac{5}{100}) \approx 1.39 $
|
||||
|
||||
Taux d'évolution global: $t = 1.39 - 1 = 0.39 = 39\%$.
|
||||
|
||||
\item Coefficient multiplicateur de l'évolution globale: $(1-\dfrac{90}{100})\times (1 + \dfrac{20}{100}) \times (1+\dfrac{40}{100}) \times (1+\dfrac{30}{100}) \approx 0.218 $
|
||||
|
||||
Taux d'évolution global: $t = 0.218 - 1 = -0.782 = -78.2\%$.
|
||||
\end{enumerate}
|
||||
\end{solution}
|
||||
|
||||
\begin{exercise}[subtitle={Réflexion}, step={3}, origin={Création}, topics={ Information Chiffrée 2 }, tags={ Information chiffrée }, mode={\faIcon{tools}}]
|
||||
\begin{enumerate}
|
||||
\item Est-ce qu'une augmentation de 40\% est équivalente à deux augmentations de 20\%?
|
||||
\item Est-il plus intéressant de faire une augmentation de 10\% puis une augmentation de 20\% ou le contraire?
|
||||
\end{enumerate}
|
||||
\end{exercise}
|
||||
|
||||
\begin{solution}
|
||||
\begin{enumerate}
|
||||
\item Non. Pour comprendre cela, il faut passer par le coefficient multiplicateur.
|
||||
\begin{itemize}
|
||||
\item Coefficient multiplicateur d'une augmentation de 40\%: $CM = 1 +\dfrac{40}{100} = 1.4$
|
||||
\item Coefficient multiplicateur de deux augmentations de 20\%: $CM = (1+\dfrac{20}{100})(1 + \dfrac{20}{100}) = 1.44$
|
||||
\end{itemize}
|
||||
On voit donc que les coefficients multiplicateur ne sont pas les même donc les évolutions ne sont pas équivalentes.
|
||||
\item Il faut encore une fois passer par les coefficients multiplicateurs:
|
||||
\begin{itemize}
|
||||
\item Coefficient multiplicateur de l'augmentation de 10\% puis celle de 20\%: $CM = (1+\dfrac{10}{100})(1+\dfrac{20}{100}) = 1.1\times 1.2 = 1.32$
|
||||
\item Coefficient multiplicateur de l'augmentation de 20\% puis celle de 10\%: $CM = (1+\dfrac{20}{100})(1+\dfrac{10}{100}) = 1.2\times 1.1 = 1.32$
|
||||
\end{itemize}
|
||||
C'est donc la même chose.
|
||||
\end{enumerate}
|
||||
\end{solution}
|
||||
|
||||
\begin{exercise}[subtitle={Acheter son vélo}, step={3}, origin={Création}, topics={ Information Chiffrée 2 }, tags={ Information chiffrée }, mode={\faIcon{tools}}]
|
||||
Bob a mis sur son compte 100\euro. Son banquier lui a promis que ce montant augmenterai de 10\% tous les ans.
|
||||
|
||||
Combien de temps Bob va-t-il devoir laisser son argent sur ce compte pour pouvoir acheter un vélo qui coûte 250\euro?
|
||||
\end{exercise}
|
||||
|
||||
\begin{solution}
|
||||
\begin{minipage}{0.6\linewidth}
|
||||
On peut faire un tableau pour calculer le montant en banque d'une année sur l'autre (tableau ci-contre).
|
||||
|
||||
Il faudra donc qu'il attende 10 ans avant de pouvoir s'acheter son vélo.
|
||||
|
||||
\vspace{2.5cm}
|
||||
|
||||
On peut écrire un programme python pour faire automatiquement cette recherche
|
||||
|
||||
\lstinputlisting{./velo.py}
|
||||
|
||||
\end{minipage}
|
||||
\hfill
|
||||
\begin{minipage}{0.3\linewidth}
|
||||
|
||||
\begin{tabular}{|c|c|}
|
||||
\hline
|
||||
Année & Montant \\
|
||||
\hline
|
||||
0 & $100$ \\
|
||||
1 & $100 \times 1.1 = 110$ \\
|
||||
2 & $110 \times 1.1 = 121$ \\
|
||||
3 & 133.1 \\
|
||||
4 & 146.41 \\
|
||||
5 & 161.05 \\
|
||||
6 & 177.15 \\
|
||||
7 & 194.87 \\
|
||||
8 & 214.35 \\
|
||||
9 & 235.79 \\
|
||||
10 & 259.37 \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\end{minipage}
|
||||
\end{solution}
|
||||
|
||||
% ----
|
||||
% 4E: Évolutions réciproques
|
||||
\begin{exercise}[subtitle={Évolution réciproque}, step={4}, origin={Création}, topics={ Information Chiffrée 2 }, tags={ Information chiffrée }, mode={\faIcon{search}}]
|
||||
Reprenez la question 2 de l'exercice 1. Quel taux d'évolution devrait annoncer le dirigeant pour faire revenir les salaires à leur valeur initiale?
|
||||
\end{exercise}
|
||||
|
||||
\begin{exercise}[subtitle={Évolutions réciproques}, step={4}, origin={Création}, topics={ Information Chiffrée 2 }, tags={ Information chiffrée }, mode={\faIcon{users}}]
|
||||
Détailler toutes les méthodes développée dans le groupe pour trouver le taux d'évolution "réciproque" de la baisse de 60\% dans l'exercice précédent.
|
||||
\end{exercise}
|
||||
|
||||
\begin{exercise}[subtitle={Techniques}, step={4}, origin={Création}, topics={ Information Chiffrée 2 }, tags={ Information chiffrée }, mode={\trainMode}]
|
||||
\begin{enumerate}
|
||||
\item Une robe, soldée à -15\%, peut être achetée à 40\euro. Quel était son prix avant les soldes?
|
||||
\item En 2021, les prix ont globalement augmenté de 30\%. Quel devra être le taux d'évolution des prix pour qu'ils reviennent à leur niveau d'avant 2021?
|
||||
\item La TVA sur les biens s'élève à 20\%. Une perceuse coûte 150\euro TVA compris. Quel est son prix hors taxe?
|
||||
\item L'intensité lumineuse a subitement augmenté de 60\% avant de revenir à son état initial. Quelle est le taux d'évolution du retour à la luminosité initiale?
|
||||
\item En Suisse, les hommes gagnent environ 15\% de plus que les femmes. Une élue du conté de Genève propose d'adapter les prix des services publics pour réduire ces inégalités. Quelle réduction va-t-elle proposer?
|
||||
\end{enumerate}
|
||||
\end{exercise}
|
||||
|
||||
\begin{solution}
|
||||
\begin{enumerate}
|
||||
\item La réduction de 15\% revient à multiplier le prix initial par $(1-\frac{15}{100})=0.85$. Donc pour retrouver le prix initial, il faut diviser par 0.85: $40 \div 0.85 = 47.05$.
|
||||
\item Une augmentation de de 30\% revient à multiplier par $1+\frac{30}{100} = 1.3$. Pour revenir au prix de 2020, il faut diviser par 1.3 ou encore multiplier par $\frac{1}{1.3} = 0.77$. Le taux d'évolution est donc $t = 0.77 - 1 = -0.23 = -23\%$.
|
||||
\item La TVA fait augmenter le prix de 20\% donc le prix est multiplié par $1+\frac{20}{100} = 1.20$. Pour revenir au prix initial, il faut donc le diviser par 1.2: $150 \div 1.2=125$.
|
||||
\item Pour revenir en arrière après une augmentation de 60\%, il faut diviser par $1+\frac{60}{100}=1.6$ ou encore multiplier par $1\div 1.6 = 0.625$. Le taux d'évolution est donc $t = 0.625 - 1 = -0.375 = -37.5\%$.
|
||||
\item Pour cela, il faut contrer la différence de 15\% donc la multiplication par $1+\frac{15}{100} = 1.15$. Il faut diviser les prix par 1.15 ou encore les multiplier par $1\div 1.15 = 0.87$. Le taux d'évolution est donc de $t = 0.87 - 1 = -0.13 = -13\%$.
|
||||
\end{enumerate}
|
||||
\end{solution}
|
||||
|
||||
\begin{exercise}[subtitle={Tableau}, step={4}, origin={Création}, topics={ Information Chiffrée 2 }, tags={ Information chiffrée }, mode={\trainMode}]
|
||||
Compléter le tableau suivant
|
||||
|
||||
\begin{center}
|
||||
\begin{tabular}{|*{4}{p{4cm}|}}
|
||||
\hline
|
||||
Valeur initiale & Valeur finale & Taux d'évolution & Coefficient multiplicateur \\
|
||||
\hline
|
||||
& 45 & +20\% & \\
|
||||
\hline
|
||||
& 87 & -15\% & \\
|
||||
\hline
|
||||
& 4.3 & & 0.8\\
|
||||
\hline
|
||||
& 345 & & 1.5\\
|
||||
\hline
|
||||
& 0.34 & +150\% & \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\end{center}
|
||||
\end{exercise}
|
BIN
2nd/14_Information_Chiffrée_2/fig/facture_elect_prix.png
Normal file
After Width: | Height: | Size: 897 KiB |
BIN
2nd/14_Information_Chiffrée_2/fig/facture_elect_tx.png
Normal file
After Width: | Height: | Size: 929 KiB |
84
2nd/14_Information_Chiffrée_2/index.rst
Normal file
@@ -0,0 +1,84 @@
|
||||
Information Chiffrée 2
|
||||
######################
|
||||
|
||||
:date: 2022-02-07
|
||||
:modified: 2022-02-28
|
||||
:authors: Benjamin Bertrand
|
||||
:tags: Information chiffrée
|
||||
:category: 2nd
|
||||
:summary: Taux d'évolution réciproque et successif.
|
||||
|
||||
Programme
|
||||
=========
|
||||
|
||||
Contenus
|
||||
--------
|
||||
|
||||
- Évolution: variation absolue, variation relative.
|
||||
- Évolutions successives, évolution réciproque: relation sur les coefficients
|
||||
|
||||
Capacité attendues
|
||||
------------------
|
||||
|
||||
- (révision) Exploiter la relation entre deux valeurs successives et leur taux d’évolution.
|
||||
- (découverte) Calculer le taux d’évolution global à partir des taux d’évolution successifs. Calculer un taux d’évolution réciproque.
|
||||
|
||||
|
||||
Plan de travail
|
||||
===============
|
||||
|
||||
Les étapes 1 puis 2 sont à faire en premier. Ensuite les étapes 3 et 4 peuvent être faites dans l'ordre que l'on veut.
|
||||
|
||||
.. image:: ./plan_de_travail.pdf
|
||||
:height: 200px
|
||||
:alt: Plan de travail
|
||||
|
||||
.. image:: ./solutions.pdf
|
||||
:height: 200px
|
||||
:alt: Solutions des exercices techniques
|
||||
|
||||
|
||||
|
||||
Étape 1: Intuitions et contre-intuitions
|
||||
----------------------------------------
|
||||
|
||||
Trouver des annonces du genre "On a augmenté deux fois de 20%, on a donc augmenté de 40%" (idem pour le retour arrière). On teste avec des valeurs pour vérifier s'il est possible ce que genre de propos soient vrais.
|
||||
|
||||
Bilan: On ne peut pas ajouter, soustraire ou prendre l'opposé quand il s'agit de taux d'évolution.
|
||||
|
||||
Étape 2: Taux d'évolution et coefficient multiplicateur
|
||||
-------------------------------------------------------
|
||||
|
||||
La transformation du taux d'évolution en coefficient multiplicateur n'est pas encore très clair pour les élèves. Il s'agira de la rendre naturelle.
|
||||
|
||||
On travaillera aussi cette transformation en sens inverse c'est à dire du coefficient multiplicateur vers le taux d'évolution en (pourquoi pas) réutilisant la formule qui permet de calculer le taux d'évolution.
|
||||
|
||||
Bilan: Passage de l'un à l'autre (on l'a déjà fait dans le premier chapitre mais on le refait ici!)
|
||||
|
||||
.. image:: ./2B_coef_mult.pdf
|
||||
:height: 200px
|
||||
:alt: Bilan sur le coefficient multiplicateur
|
||||
|
||||
Étape 3: Évolutions successives
|
||||
-------------------------------
|
||||
|
||||
On a vu que l'on ne pouvait pas ajouter des taux d'évolutions. La répétition de l'application du taux d'évolution peut amener à l'émergence d'une formule (qui a pousser sur 100 répétitions).
|
||||
|
||||
Bilan: Taux d'évolution successif
|
||||
|
||||
.. image:: ./3B_successive.pdf
|
||||
:height: 200px
|
||||
:alt: Bilan sur les évolutions successives
|
||||
|
||||
|
||||
Étape 4: Évolutions réciproques
|
||||
-------------------------------
|
||||
|
||||
Calcul du taux d'évolution réciproque avec la formule du taux d'évolution. Recherche d'un lien (pas facile à voir!) puis calcul du coefficient multiplicateur lié aux deux taux d'évolutions et le lien peut être plus simple.
|
||||
|
||||
Bilan:
|
||||
|
||||
.. image:: ./4B_reciproque.pdf
|
||||
:height: 200px
|
||||
:alt: Bilan sur les évolutions réciproque
|
||||
|
BIN
2nd/14_Information_Chiffrée_2/plan_de_travail.pdf
Normal file
74
2nd/14_Information_Chiffrée_2/plan_de_travail.tex
Normal file
@@ -0,0 +1,74 @@
|
||||
\documentclass[a4paper,10pt]{article}
|
||||
\usepackage{myXsim}
|
||||
|
||||
\author{Benjamin Bertrand}
|
||||
\title{Information chiffrée (2) - Plan de travail}
|
||||
\tribe{2nd}
|
||||
\date{}
|
||||
%\date{Février 2022}
|
||||
|
||||
\pagestyle{empty}
|
||||
|
||||
\DeclareExerciseCollection{banque}
|
||||
\xsimsetup{
|
||||
}
|
||||
|
||||
|
||||
\begin{document}
|
||||
\maketitle
|
||||
|
||||
\bigskip
|
||||
|
||||
\begin{multicols}{2}
|
||||
Savoir-faire de la séquence
|
||||
\begin{itemize}
|
||||
\item Exploiter la relation entre deux valeurs successives et leur taux d’évolution.
|
||||
\item Calculer le taux d’évolution global à partir des taux d’évolution successifs. Calculer un taux d’évolution réciproque.
|
||||
\end{itemize}
|
||||
|
||||
Ordre des étapes à respecter
|
||||
|
||||
\begin{center}
|
||||
\Ovalbox{
|
||||
\begin{tikzpicture}
|
||||
\node (E1) {1};
|
||||
\node (E2) [right of=E1] {2};
|
||||
\node (E3) [above right of=E2] {3};
|
||||
\node (E4) [below right of=E2] {4};
|
||||
|
||||
\path[->] (E1) edge (E2);
|
||||
\path[->] (E2) edge (E3);
|
||||
\path[->] (E2) edge (E4);
|
||||
\end{tikzpicture}
|
||||
}
|
||||
\end{center}
|
||||
\end{multicols}
|
||||
|
||||
|
||||
\section{Intuitions et contre-intuitions}
|
||||
|
||||
\listsectionexercises
|
||||
|
||||
\section{Taux d'évolution et coefficient multiplicateur}
|
||||
|
||||
\listsectionexercises
|
||||
|
||||
\section{Évolutions successives}
|
||||
|
||||
\listsectionexercises
|
||||
|
||||
\section{Évolutions réciproques}
|
||||
|
||||
\listsectionexercises
|
||||
|
||||
\bigskip
|
||||
\legendMode
|
||||
\bigskip
|
||||
|
||||
\bigskip
|
||||
|
||||
\input{exercises.tex}
|
||||
\printcollection{banque}
|
||||
|
||||
|
||||
\end{document}
|
BIN
2nd/14_Information_Chiffrée_2/solutions.pdf
Normal file
28
2nd/14_Information_Chiffrée_2/solutions.tex
Normal file
@@ -0,0 +1,28 @@
|
||||
\documentclass[a4paper,10pt]{article}
|
||||
\usepackage{myXsim}
|
||||
|
||||
\usetikzlibrary{shapes.geometric}
|
||||
|
||||
\author{Benjamin Bertrand}
|
||||
\title{Géométrie repérée - Solutions}
|
||||
\tribe{2nd}
|
||||
\date{Février 2022}
|
||||
|
||||
\DeclareExerciseCollection{banque}
|
||||
\xsimsetup{
|
||||
exercise/print=false,
|
||||
solution/print=true,
|
||||
}
|
||||
|
||||
\pagestyle{plain}
|
||||
|
||||
|
||||
\begin{document}
|
||||
|
||||
\maketitle
|
||||
|
||||
\input{exercises.tex}
|
||||
%\printcollection{banque}
|
||||
%\printsolutions{exercises}
|
||||
|
||||
\end{document}
|
7
2nd/14_Information_Chiffrée_2/velo.py
Normal file
@@ -0,0 +1,7 @@
|
||||
annee = 0
|
||||
montant = 100
|
||||
while montant < 250:
|
||||
annee = annee + 1
|
||||
montant = montant * (1 + 10 / 100)
|
||||
print(annee)
|
||||
print(montant)
|
BIN
2nd/15_Intervalle_et_nombre_réelle/1B_Ensemble_nombres_reels.pdf
Normal file
BIN
2nd/15_Intervalle_et_nombre_réelle/2B_Intervalles.pdf
Normal file
BIN
2nd/15_Intervalle_et_nombre_réelle/3B_Resolution_inequations.pdf
Normal file
BIN
2nd/15_Intervalle_et_nombre_réelle/Plan de travail.pdf
Normal file
46
2nd/15_Intervalle_et_nombre_réelle/index.rst
Normal file
@@ -0,0 +1,46 @@
|
||||
Intervalle et nombre réelle
|
||||
###########################
|
||||
|
||||
:date: 2022-02-07
|
||||
:modified: 2022-03-14
|
||||
:authors: Benjamin Bertrand
|
||||
:tags:
|
||||
:category: 2nd
|
||||
:summary: Représentation d'un intervalle
|
||||
|
||||
Plan de travail
|
||||
===============
|
||||
|
||||
.. image:: ./Plan de travail.pdf
|
||||
:height: 200px
|
||||
:alt: Plan de travail
|
||||
|
||||
.. image:: ./solutions.pdf
|
||||
:height: 200px
|
||||
:alt: Solution des exercices
|
||||
|
||||
|
||||
|
||||
Étape 1: ensemble de nombres réels
|
||||
----------------------------------
|
||||
|
||||
.. image:: ./1B_Ensemble_nombres_reels.pdf
|
||||
:height: 200px
|
||||
:alt: Bilan sur l'ensemble des nombres réels
|
||||
|
||||
|
||||
Étape 2: Intervalles
|
||||
--------------------
|
||||
|
||||
.. image:: ./2B_Intervalles.pdf
|
||||
:height: 200px
|
||||
:alt: Intervalles
|
||||
|
||||
|
||||
Étape 3: Inéquations
|
||||
--------------------
|
||||
|
||||
.. image:: ./3B_Resolution_inequations.pdf
|
||||
:height: 200px
|
||||
:alt: résolution d'inéquations
|
||||
|
BIN
2nd/15_Intervalle_et_nombre_réelle/solutions.pdf
Normal file
BIN
2nd/16_Droites_dans_un_repère/1B_equation_droite.pdf
Normal file
72
2nd/16_Droites_dans_un_repère/1B_equation_droite.tex
Normal file
@@ -0,0 +1,72 @@
|
||||
\documentclass[a4paper,10pt]{article}
|
||||
\usepackage{myXsim}
|
||||
|
||||
\author{Benjamin Bertrand}
|
||||
\title{Droites dans un repère - Cours}
|
||||
\date{Mars 2022}
|
||||
|
||||
\pagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\maketitle
|
||||
|
||||
\section{Equation de droite}
|
||||
|
||||
\begin{definition}[Equation cartésienne]
|
||||
En géométrie repérée, les droites peuvent être désignée par une \textbf{équation cartésienne}. En notant $x$ l'abscisse et $y$ l'ordonnée, cette équation est de la forme
|
||||
\[
|
||||
ay + bx + c = 0
|
||||
\]
|
||||
où $a$, $b$ et $c$ sont trois nombres réels.
|
||||
\end{definition}
|
||||
|
||||
\begin{propriete}[Equation réduite]
|
||||
\begin{minipage}{0.5\linewidth}
|
||||
On peut mettre cette équation sous forme \textbf{réduite}.
|
||||
|
||||
En notant $x$ l'abscisse et $y$ l'ordonnée, cette équation est de la forme
|
||||
\begin{itemize}
|
||||
\item Si la droite est verticale:
|
||||
\[x = m\]
|
||||
où $m$ est un nombre réel.
|
||||
\item Si la droite n'est pas verticale:
|
||||
\[y = ax + b\]
|
||||
avec $a$ et $b$ deux nombres réels.
|
||||
\end{itemize}
|
||||
\end{minipage}
|
||||
\hfill
|
||||
\begin{minipage}{0.4\linewidth}
|
||||
\begin{tikzpicture}[scale=0.6]
|
||||
\repere{-5}{5}{-5}{5}
|
||||
\draw[very thick, color=red](2, -5) -- (2, 5);
|
||||
\draw[very thick, color=blue](-3, -5) -- (5, 3);
|
||||
\draw[very thick, color=green](-5, 5) -- (5, 0);
|
||||
|
||||
\end{tikzpicture}
|
||||
|
||||
\end{minipage}
|
||||
\end{propriete}
|
||||
|
||||
\paragraph{Est-ce qu'un point est sur une droite?}
|
||||
\begin{itemize}
|
||||
\item Soit $(d)$ la droite d'équation $y = 2x + 5$. Les points $A (2; 15)$ et $B(-2; 0)$ sont-ils sur la droite $(d)$?
|
||||
\vspace{1cm}
|
||||
\item Soit $(e)$ la droite d'équation $y - x + 5 = 0$. Les points $A (2; 2)$ et $B(12; 7)$ sont-ils sur la droite $(e)$?
|
||||
\vspace{1cm}
|
||||
\end{itemize}
|
||||
|
||||
|
||||
\paragraph{Calculer la deuxième coordonnée d'un point sur une droite.}
|
||||
|
||||
\begin{itemize}
|
||||
\item Soit $(d)$ la droite d'équation $y = 2x + 5$ et $A(3; y)$ un point de la droite $(d)$. Calculons la coordonnée manquante:
|
||||
\vspace{1cm}
|
||||
\item Soit $(e)$ la droite d'équation $y - x + 5 = 0$ et $B(x; 3)$ un point de la droite $(e)$. Calculons la coordonnée manquante:
|
||||
\vspace{1cm}
|
||||
\end{itemize}
|
||||
|
||||
|
||||
\afaire{traiter les exemples}
|
||||
|
||||
\end{document}
|
BIN
2nd/16_Droites_dans_un_repère/2B_pente.pdf
Normal file
40
2nd/16_Droites_dans_un_repère/2B_pente.tex
Normal file
@@ -0,0 +1,40 @@
|
||||
\documentclass[a4paper,10pt]{article}
|
||||
\usepackage{myXsim}
|
||||
|
||||
\author{Benjamin Bertrand}
|
||||
\title{Droites dans un repère - Cours}
|
||||
\date{Mars 2022}
|
||||
|
||||
\pagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\maketitle
|
||||
|
||||
\setcounter{section}{1}
|
||||
\section{Pente entre deux points}
|
||||
|
||||
\begin{definition}[Pente entre deux points]
|
||||
\begin{minipage}{0.5\linewidth}
|
||||
Soit $A(x_A, y_A)$ et $B(x_B, y_B)$ deux points du plan. Alors \textbf{la pente entre $A$ et $B$} se calcule avec la formule suivante
|
||||
\[
|
||||
\frac{y_A - y_B}{x_A - x_B}
|
||||
\]
|
||||
\end{minipage}
|
||||
\hfill
|
||||
\begin{minipage}{0.4\linewidth}
|
||||
\begin{tikzpicture}[scale=0.5]
|
||||
\repereNoGrid{-1}{10}{-1}{10}
|
||||
\draw (2, 2) node {x} node[below left] {$A$};
|
||||
\draw (7, 8) node {x} node[above right] {$B$};
|
||||
\end{tikzpicture}
|
||||
\end{minipage}
|
||||
\end{definition}
|
||||
|
||||
\paragraph{Remarque}: Cette pente est la même pour tous les points de la droite $(AB)$.
|
||||
|
||||
\paragraph{Exemple:} calculer la pente entre les points $A(4; 2)$ et $B(7; 6)$.
|
||||
\vspace{2cm}
|
||||
\afaire{calculer la pente}
|
||||
|
||||
\end{document}
|
BIN
2nd/16_Droites_dans_un_repère/3B_calcul_equation.pdf
Normal file
61
2nd/16_Droites_dans_un_repère/3B_calcul_equation.tex
Normal file
@@ -0,0 +1,61 @@
|
||||
\documentclass[a4paper,10pt]{article}
|
||||
\usepackage{myXsim}
|
||||
\usepackage{pgfplots}
|
||||
|
||||
\author{Benjamin Bertrand}
|
||||
\title{Droites dans un repère - Cours}
|
||||
\date{Mars 2022}
|
||||
|
||||
\pagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\maketitle
|
||||
|
||||
\setcounter{section}{2}
|
||||
\section{Déterminer l'équation d'une droite}
|
||||
\begin{propriete}[Equation réduite d'une droite non verticale]
|
||||
\begin{minipage}{0.5\linewidth}
|
||||
Soit $(d)$ une droite non verticale dont l'équation réduite est $y = ax+b$ alors
|
||||
\bigskip
|
||||
\begin{itemize}
|
||||
\item $a$ est appelé le \textbf{coefficient directeur}. Il est égal à la pente entre deux points de la droite.
|
||||
\bigskip
|
||||
\item $b$ est appelé l'\textbf{ordonnée à l'origine}. Il est égal à l'ordonnée du point de la droite dont l'abscisse est nulle.
|
||||
\end{itemize}
|
||||
\end{minipage}
|
||||
\hfill
|
||||
\begin{minipage}{0.3\linewidth}
|
||||
\begin{tikzpicture}[scale=0.5]
|
||||
\repereNoGrid{-1}{10}{-1}{10}
|
||||
\draw (2, 2) node {x} node[above left] {$A$};
|
||||
\draw (7, 8) node {x} node[above left] {$B$};
|
||||
\draw (-1, -8/5) -- (8, 46/5);
|
||||
\end{tikzpicture}
|
||||
\end{minipage}
|
||||
\end{propriete}
|
||||
|
||||
\paragraph{exemple}
|
||||
\begin{itemize}
|
||||
\item Calculer l'équation de la droite de coefficient directeur égal à 5 et qui passe par $A(3; 1)$.
|
||||
\vspace{2cm}
|
||||
\item Calculer l'équation de la droite passant par les points $A(-2; 10)$ et $B(6; 5)$
|
||||
\vspace{2cm}
|
||||
\item calculer l'équation de la droite représentée ci-dessous
|
||||
|
||||
\begin{tikzpicture}
|
||||
\begin{axis}[
|
||||
scale=1.3,
|
||||
axis lines = center,
|
||||
grid=major,
|
||||
xlabel = {$x$},
|
||||
ylabel = {$y$},
|
||||
]
|
||||
\addplot[domain=-5:5,color=red, very thick, color=red]{-0.5*x + 2};
|
||||
\draw (axis cs:4,10) node [below right]{$(d)$};
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
\end{itemize}
|
||||
\afaire{calculer les équations de droites}
|
||||
|
||||
\end{document}
|
BIN
2nd/16_Droites_dans_un_repère/5B_system_equations.pdf
Normal file
49
2nd/16_Droites_dans_un_repère/5B_system_equations.tex
Normal file
@@ -0,0 +1,49 @@
|
||||
\documentclass[a4paper,10pt]{article}
|
||||
\usepackage{myXsim}
|
||||
\usepackage{pgfplots}
|
||||
|
||||
\author{Benjamin Bertrand}
|
||||
\title{Droites dans un repère - Cours}
|
||||
\date{Mars 2022}
|
||||
|
||||
\pagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\maketitle
|
||||
|
||||
\setcounter{section}{3}
|
||||
\section{Système d'équations}
|
||||
\begin{definition}[Système linéaire de deux équations à deux inconnus]
|
||||
On dit que le couple $(x; y)$ est solution du système d'équations
|
||||
|
||||
\[
|
||||
\left\{
|
||||
\begin{aligned}
|
||||
& ax + by + c = 0\\
|
||||
& a'x + b'y + c' = 0\\
|
||||
\end{aligned}
|
||||
\right.
|
||||
\]
|
||||
quand il est solution de chacune des deux équations.
|
||||
\end{definition}
|
||||
|
||||
\paragraph{Exemples de situations}
|
||||
\begin{itemize}
|
||||
\item Trouver l'intersection de deux droites. Les coordonnées doivent vérifier les équations des deux droites.
|
||||
\item On cherche à déterminer deux quantités liées entre elles comme dans le problème des bijoux.
|
||||
\end{itemize}
|
||||
|
||||
\paragraph{Remarque:} Il existe deux méthodes pour résoudre des systèmes d'équations: \textbf{par substitution} ou \textbf{par combinaison}.
|
||||
|
||||
\paragraph{Exemples de résolution}
|
||||
\begin{enumerate}
|
||||
\item Déterminer le point d'intersection des droites $(d): y = 2x - 3 $ et $(e): 3y - 4x + 4 = 0$.
|
||||
\vspace{3cm}
|
||||
\item Problème des bijoux
|
||||
|
||||
\includegraphics[scale=0.4]{./fig/bijoux}
|
||||
\end{enumerate}
|
||||
\afaire{donner une réponses aux problèmes}
|
||||
|
||||
\end{document}
|
328
2nd/16_Droites_dans_un_repère/exercises.tex
Normal file
@@ -0,0 +1,328 @@
|
||||
\begin{exercise}[subtitle={Équation de droite et appartenance}, step={1}, origin={création}, topics={ Droites dans un repère }, tags={ Géométrie repérée }, mode={\trainMode}]
|
||||
Compléter le tableau suivant avec une équation pour la première colonne, une phrase pour la deuxième et le symbole $\in$ ou $\not\in$ dans les autres.
|
||||
\begin{center}
|
||||
\renewcommand{\arraystretch}{3}
|
||||
\begin{tabular}{|c|c|p{5.5cm}|*{5}{c|}}
|
||||
\hline
|
||||
Nom & Equation & description & A(1; 3) & B(0; -3) & C(-1; -3) & D(-1; 2) & E(0; 0) \\
|
||||
\hline
|
||||
$(a)$ & & L'ordonnée est égal à trois fois l'abscisse & & & & & \\
|
||||
\hline
|
||||
$(b)$ & $y = -2x$ & & & & & & \\
|
||||
\hline
|
||||
$(c)$ & $x = -1$ & & & & & & \\
|
||||
\hline
|
||||
$(d)$ & $y = 6x-3$ & & & & & & \\
|
||||
\hline
|
||||
$(f)$ & $y + 5x + 3=0$ & & & & & & \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\end{center}
|
||||
Identifier les droites dans le graphique suivant:
|
||||
\begin{center}
|
||||
\begin{tikzpicture}
|
||||
\begin{axis}[
|
||||
scale=1.6,
|
||||
axis lines = center,
|
||||
grid=major,
|
||||
xlabel = {$x$},
|
||||
ylabel = {$y$},
|
||||
ymin = -10, ymax = 10,
|
||||
]
|
||||
\draw[very thick] (axis cs:-5, 10) node [below right] {$(z)$};
|
||||
\draw[very thick] (axis cs:-2.5, 10) node [below left] {$(y)$};
|
||||
\draw[very thick] (axis cs:-1, 10) node [below left] {$(x)$};
|
||||
\draw[very thick] (axis cs:2, 10) node [below right] {$(w)$};
|
||||
\draw[very thick] (axis cs:3.25, 10) node [below right] {$(v)$};
|
||||
|
||||
\draw[very thick] (axis cs:-1, -10) -- (axis cs:-1, 10);
|
||||
\addplot[domain=-10:10,color=red, very thick, color=red]{3*x};
|
||||
\addplot[domain=-10:10,color=red, very thick, color=green]{-2*x};
|
||||
\addplot[domain=-10:10,color=red, very thick, color=blue]{6*x-3};
|
||||
\addplot[domain=-10:10,color=red, very thick, color=gray]{-5*x-3};
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
\end{center}
|
||||
\end{exercise}
|
||||
|
||||
\begin{solution}
|
||||
\renewcommand{\arraystretch}{3}
|
||||
\begin{tabular}{|c|c|p{5.5cm}|*{5}{c|}}
|
||||
\hline
|
||||
Nom & Equation & description & A(1; 3) & B(0; -3) & C(-1; -3) & D(-1; 2) & E(0; 0) \\
|
||||
\hline
|
||||
$(a)$ & $y=3x$ & L'ordonnée est égal à trois fois l'abscisse & $\in$ & $\not \in$ & $\in$ & $\not \in$ & $\in$ \\
|
||||
\hline
|
||||
$(b)$ & $y = -2x$ & L'ordonnée est égal à moins deux fois l'abscisse & $\not \in$ & $\not \in$ & $\not \in$ & $\in$ & $\in$ \\
|
||||
\hline
|
||||
$(c)$ & $x = -1$ & L'abscisse est égal à -1& $\not \in$ & $\not \in$ & $\in$ & $\in$ & $\not \in$ \\
|
||||
\hline
|
||||
$(d)$ & $y = 6x-3$ & L'ordonnée est égal à 6 fois l'abscisse moins 3 & & & & & \\
|
||||
\hline
|
||||
$(f)$ & $y + 5x + 3=0$ & L'ordonnée plus 5 fois l'abscisse plus trois est égal à 3& & & & & \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\end{solution}
|
||||
|
||||
|
||||
\begin{exercise}[subtitle={Équation de droite et coordonnée}, step={1}, origin={création}, topics={ Droites dans un repère }, tags={ Géométrie repérée }, mode={\trainMode}]
|
||||
Compléter le tableau suivant avec une équation pour la première colonne, une phrase pour la deuxième et la valeur de la coordonnée manquante du point en supposant qu'il soit sur la droite.
|
||||
\begin{center}
|
||||
\renewcommand{\arraystretch}{3}
|
||||
\begin{tabular}{|c|c|p{6cm}|*{5}{c|}}
|
||||
\hline
|
||||
Nom & Equation & description & A(1; y) & B(0; y) & C(-1; y) & D(-1; y) & E(x; 0) \\
|
||||
\hline
|
||||
$(a)$ & $y = 10x$ & & & & & & \\
|
||||
\hline
|
||||
$(b)$ & & L'ordonnée est égal à l'abscisse plus 2 & & & & & \\
|
||||
\hline
|
||||
$(c)$ & $y = x - 10$ & & & & & & \\
|
||||
\hline
|
||||
$(d)$ & $x - y + 1 = 0$ & & & & & & \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\end{center}
|
||||
\end{exercise}
|
||||
|
||||
%%%%%%%%%
|
||||
% Pente ou coef directeur
|
||||
|
||||
\begin{exercise}[subtitle={Marche et escalier}, step={2}, origin={création}, topics={ Droites dans un repère }, tags={ Géométrie repérée }, mode={\searchMode}]
|
||||
\noindent
|
||||
\begin{minipage}{0.4\linewidth}
|
||||
\begin{enumerate}
|
||||
\item On veut faire un escalier qui va de $A$ à $B$. Toutes les marches doivent être identiques.
|
||||
\begin{enumerate}
|
||||
\item Quelles doivent être les dimensions des marches (dimension horizontale et verticale)?
|
||||
\item Trouver deux autres dimensions de marches qui conviennent.
|
||||
\end{enumerate}
|
||||
\item On veut faire un escalier qui va de $C(2; 0)$ à $D(26; 30)$. Déterminer trois dimensions de marches qui pourraient convenir.
|
||||
\item Pour chacun des deux escaliers construits et pour chaque dimension de marches trouvée, calculer le rapport entre la dimension verticale et la dimension horizontale. Que constatez vous?
|
||||
\end{enumerate}
|
||||
\end{minipage}
|
||||
\hfill
|
||||
\begin{minipage}{0.55\linewidth}
|
||||
\begin{tikzpicture}
|
||||
\draw (0,0) node {x} node [below left] {$A$};
|
||||
\begin{axis}[
|
||||
scale=1.5,
|
||||
%font=\footnotesize,
|
||||
axis lines=center,
|
||||
grid=major,
|
||||
xmin=0, xmax=31,
|
||||
ymin=0, ymax=31,
|
||||
xtick={0, 2, ..., 30},
|
||||
ytick={0, 2, ..., 30},
|
||||
]
|
||||
%\draw[<->] (axis cs:4.0,2) -- (axis cs:5.0,10);
|
||||
\draw (axis cs:30,18) node {x} node [above left] {$B$};
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
\end{minipage}
|
||||
\end{exercise}
|
||||
|
||||
\begin{exercise}[subtitle={Pente d'une droite}, step={2}, origin={création}, topics={ Droites dans un repère }, tags={ Géométrie repérée }, mode={\groupMode}]
|
||||
On appelle \textbf{pente entre deux points} le rapport entre le déplacement vertical et le déplacement horizontal trouvée dans l'exercice precedent.
|
||||
\begin{enumerate}
|
||||
\item Soient $A(4; 2)$ et $B(7; 6)$ deux points. Expliquer comment calculer la pente entre $A$ et $B$.
|
||||
\item Soient $A(x_A; y_A)$ et $B(x_A; x_B)$ deux points. Expliquer comment calculer la pente entre $A$ et $B$.
|
||||
\end{enumerate}
|
||||
\end{exercise}
|
||||
|
||||
\begin{exercise}[subtitle={Calculer des pentes entre des points}, step={2}, origin={Création}, topics={Droites dans un repère}, tags={Géométrie repérée}, mode={\trainMode}]
|
||||
Calculer le pente entre
|
||||
\begin{multicols}{3}
|
||||
\begin{enumerate}
|
||||
\item $A(2; 5)$ et $B(4; 6)$
|
||||
\item $C(6; 8)$ et $D(-2; 10)$
|
||||
\item $E(-3; 0)$ et $F(-5; 2)$
|
||||
\end{enumerate}
|
||||
\end{multicols}
|
||||
\end{exercise}
|
||||
|
||||
%%%%%%%%%
|
||||
% Déterminer l'équation d'une droite
|
||||
|
||||
|
||||
\begin{exercise}[subtitle={Coïncidence, je ne crois pas}, step={3}, origin={création}, topics={ Droites dans un repère }, tags={ Géométrie repérée }, mode={\searchMode}]
|
||||
On définit les droites suivantes
|
||||
\[
|
||||
(a): y = 2x + 1 \qquad (b): y = 5x - 4 \qquad (c): y = -3x + 2
|
||||
\]
|
||||
\begin{enumerate}
|
||||
\item Coefficient directeur
|
||||
\begin{enumerate}
|
||||
\item Trouver deux points $A$ et $B$ qui se trouvent sur la droite $(a)$ puis calculer la pente entre ces deux points.
|
||||
\item Faire la même chose pour les droites $(b)$ et $(c)$.
|
||||
\end{enumerate}
|
||||
\item Ordonnée à l'origine. On définit le point $M(0; y)$ un point de l'axe des ordonnées.
|
||||
\begin{enumerate}
|
||||
\item Quelle doit être l'ordonnée de $M$ pour qu'il soit sur la droite $(a)$.
|
||||
\item Même question pour les droites $(b)$ et $(c)$.
|
||||
\end{enumerate}
|
||||
\end{enumerate}
|
||||
\end{exercise}
|
||||
|
||||
\begin{exercise}[subtitle={Bilan}, step={3}, origin={création}, topics={ Droites dans un repère }, tags={ Géométrie repérée }, mode={\groupMode}]
|
||||
Répondre aux questions suivantes en analysant les résultats de l'exercice précédent.
|
||||
\begin{enumerate}
|
||||
\item Trouver un lien entre le coefficient directeur de la droite et son équation réduite.
|
||||
\item Comment trouver où une droite coupe l'axe des ordonnées?
|
||||
\end{enumerate}
|
||||
\end{exercise}
|
||||
|
||||
\begin{exercise}[subtitle={Calculer une équation de droite}, step={3}, origin={Création}, topics={Droites dans un repère}, tags={Géométrie repérée}, mode={\trainMode}]
|
||||
Calculer l'équation des droites décrites ci-dessous.
|
||||
|
||||
\begin{minipage}{0.5\linewidth}
|
||||
\begin{enumerate}
|
||||
\item Droite de coefficient directeur égal à 3 et passant par le point $A(0; 3)$.
|
||||
\item Droite de coefficient directeur égal à -2 et passant par le point $A(0; 1)$.
|
||||
\item Droite de coefficient directeur égal à 0.5 et passant par le point $A(1; -5)$.
|
||||
|
||||
\item Droite passant par les points $A(2; 6)$ et $B(0; 1)$.
|
||||
\item Droite passant par les points $A(-2; 1)$ et $B(1; 1)$.
|
||||
\item Droite passant par les points $A(\frac{1}{4}; 3)$ et $B(\frac{4}{3}; 1)$.
|
||||
|
||||
\item Droite $(d)$ représentée ci-contre
|
||||
\item Droite $(e)$ représentée ci-contre
|
||||
\end{enumerate}
|
||||
\end{minipage}
|
||||
\begin{minipage}{0.4\linewidth}
|
||||
\begin{tikzpicture}
|
||||
\begin{axis}[
|
||||
scale=1.3,
|
||||
axis lines = center,
|
||||
grid=major,
|
||||
xlabel = {$x$},
|
||||
ylabel = {$y$},
|
||||
ymin = -10, ymax = 10,
|
||||
]
|
||||
\addplot[domain=-10:10,color=red, very thick, color=red]{2*x + 2};
|
||||
\draw (axis cs:4,10) node [below right]{$(d)$};
|
||||
\addplot[domain=-10:10,color=red, very thick, color=green]{-0.5*x+4};
|
||||
\draw (axis cs:-8,8) node [below] {$(e)$};
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
\end{minipage}
|
||||
\end{exercise}
|
||||
|
||||
%%%%%%%%%
|
||||
% Tracer une droite à partir de son équation
|
||||
|
||||
\begin{exercise}[subtitle={Méthode pour tracer une droite}, step={4}, origin={Création}, topics={Droites dans un repère}, tags={Géométrie repérée}, mode={\searchMode}]
|
||||
Soit $(d)$ la droite d'équation $y = 3x - 5$
|
||||
\begin{enumerate}
|
||||
\item Déterminer les coordonnées de deux points sur cette droite.
|
||||
\item Tracer une repère orthonormé pour y placer les deux points trouvées à la question précédente puis tracer la droite $(d)$.
|
||||
\end{enumerate}
|
||||
\end{exercise}
|
||||
|
||||
\begin{exercise}[subtitle={Tracer une droite}, step={4}, origin={Création}, topics={Droites dans un repère}, tags={Géométrie repérée}, mode={\trainMode}]
|
||||
\begin{enumerate}
|
||||
\item Tracer une repère orthonormé allant de -10 à 10 en abscisse et de -10 à 10 en ordonnée.
|
||||
\item Tracer les droites suivantes dans le repère.
|
||||
\begin{multicols}{3}
|
||||
\begin{enumerate}[label={(\alph*):}]
|
||||
\item $y = x + 1$
|
||||
\item $y = 2x - 2$
|
||||
\item $y = 0.5x + 4$
|
||||
|
||||
\item $x = -3$
|
||||
\item $y - 2x + 5 = 0$
|
||||
\item $y = \frac{1}{3}x + 4$
|
||||
\end{enumerate}
|
||||
|
||||
\end{multicols}
|
||||
\end{enumerate}
|
||||
\end{exercise}
|
||||
|
||||
%%%%%%%%%
|
||||
% systeme d'équations
|
||||
|
||||
\begin{exercise}[subtitle={Bijoux}, step={5}, origin={Création}, topics={Droites dans un repère}, tags={Géométrie repérée}, mode={\searchMode}]
|
||||
\begin{minipage}{0.5\linewidth}
|
||||
On fabrique des bijoux à l'aide de triangles qui ont tous la même forme. Certains triangles sont en verre et les autres sont en métal.
|
||||
|
||||
\bigskip
|
||||
|
||||
Trois exemples de bijoux sont donnés ci-contre. Les triangles en verre sont représentés en blanc, ceux en métal en gris.
|
||||
|
||||
\bigskip
|
||||
|
||||
Tous les triangles de métal ont le même prix. Tous les triangles de verre ont le même prix.
|
||||
|
||||
Le bijou 1 revient à 11€ et le bijou 2 revient à 8,15€.
|
||||
|
||||
\begin{enumerate}
|
||||
\item Comment peut on retrouver le prix du bijou 3?
|
||||
\item Comment pourrait on calculer le prix de n'importe quel bijou?
|
||||
\end{enumerate}
|
||||
\end{minipage}
|
||||
\hfill
|
||||
\begin{minipage}{0.4\linewidth}
|
||||
\includegraphics[scale=0.6]{./fig/bijoux}
|
||||
\end{minipage}
|
||||
\end{exercise}
|
||||
|
||||
\begin{exercise}[subtitle={Bilan}, step={5}, origin={Création}, topics={Droites dans un repère}, tags={Géométrie repérée}, mode={\groupMode}]
|
||||
On note $x$ le prix d'un triangle de verre et $y$ le prix d'un triangle de métal.
|
||||
\begin{enumerate}
|
||||
\item Exprimer le prix du bijou 1 en fonction de $x$ et $y$.
|
||||
\item Même question pour le bijoux 2.
|
||||
\item À quoi ressemble les deux formules que vous avez obtenus?
|
||||
\item Tracer ces deux droites dans un repère orthonormé. Que dire du point d'intersection?
|
||||
\end{enumerate}
|
||||
\end{exercise}
|
||||
|
||||
\begin{exercise}[subtitle={Système d'équations}, step={5}, origin={sesamaths}, topics={Droites dans un repère}, tags={Géométrie repérée}, mode={\trainMode}]
|
||||
Résoudre les systèmes d'équations suivants
|
||||
\begin{multicols}{3}
|
||||
\begin{enumerate}
|
||||
\item
|
||||
\[
|
||||
\left\{
|
||||
\begin{aligned}
|
||||
& 2x - y + 1 = 0\\
|
||||
& -3x + 4y - 2 = 0
|
||||
\end{aligned}
|
||||
\right.
|
||||
\]
|
||||
\item
|
||||
\[
|
||||
\left\{
|
||||
\begin{aligned}
|
||||
& x - 3y + 4 = 0\\
|
||||
& 2x - 5y + 2 = 0
|
||||
\end{aligned}
|
||||
\right.
|
||||
\]
|
||||
\item
|
||||
\[
|
||||
\left\{
|
||||
\begin{aligned}
|
||||
& 2x - 5y + 1 = 0\\
|
||||
& -3x + 4y - 2 = 0
|
||||
\end{aligned}
|
||||
\right.
|
||||
\]
|
||||
\end{enumerate}
|
||||
\end{multicols}
|
||||
\end{exercise}
|
||||
|
||||
\begin{exercise}[subtitle={Intersection de droites}, step={5}, origin={???}, topics={Droites dans un repère}, tags={Géométrie repérée}, mode={\trainMode}]
|
||||
Déterminer le point d'intersection des droites suivantes
|
||||
\begin{multicols}{2}
|
||||
\begin{enumerate}
|
||||
\item $(d): y = 2x + 4$ et $(e): y = -x + 1$
|
||||
\item $(f): 3x - y = 1$ et $(g): -2x + 3y = 2$
|
||||
\end{enumerate}
|
||||
\end{multicols}
|
||||
\end{exercise}
|
||||
|
||||
\begin{exercise}[subtitle={Tarif de groupe}, step={5}, origin={???}, topics={Droites dans un repère}, tags={Géométrie repérée}, mode={\trainMode}]
|
||||
Deux groupes vont au ski. Le premier groupe est composé de 2 adultes et 3 enfants et a payé 73€ de forfait. Le deuxième groupe est composé de 14 adultes et 21 enfants et a payé 511€.
|
||||
|
||||
Retrouver tous les prix du forfait adulte et ceux du forfait enfant possibles?
|
||||
\end{exercise}
|
BIN
2nd/16_Droites_dans_un_repère/fig/bijoux.pdf
Normal file
350
2nd/16_Droites_dans_un_repère/fig/bijoux.svg
Normal file
@@ -0,0 +1,350 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="108.40354mm"
|
||||
height="118.6102mm"
|
||||
viewBox="0 0 108.40354 118.6102"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04, custom)"
|
||||
sodipodi:docname="bijoux.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||
<defs
|
||||
id="defs2">
|
||||
<rect
|
||||
x="-82.681823"
|
||||
y="175.35464"
|
||||
width="491.00998"
|
||||
height="59.143129"
|
||||
id="rect40107" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1.0751872"
|
||||
inkscape:cx="196.70993"
|
||||
inkscape:cy="196.70993"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:window-width="1918"
|
||||
inkscape:window-height="1048"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:pagecheckerboard="0" />
|
||||
<metadata
|
||||
id="metadata5">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Calque 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-10.200002,-67.296449)">
|
||||
<g
|
||||
id="g32620">
|
||||
<g
|
||||
id="g4563"
|
||||
style="stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none">
|
||||
<rect
|
||||
style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="use4543"
|
||||
width="23.099998"
|
||||
height="23.099998"
|
||||
x="10.450002"
|
||||
y="67.650002"
|
||||
inkscape:tile-x0="10.45"
|
||||
inkscape:tile-y0="67.65" />
|
||||
<rect
|
||||
style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="use4545"
|
||||
width="23.099998"
|
||||
height="23.099998"
|
||||
x="10.450002"
|
||||
y="90.75"
|
||||
inkscape:tile-x0="10.45"
|
||||
inkscape:tile-y0="67.65" />
|
||||
<rect
|
||||
style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="use4547"
|
||||
width="23.099998"
|
||||
height="23.099998"
|
||||
x="33.549999"
|
||||
y="67.650002"
|
||||
inkscape:tile-x0="10.45"
|
||||
inkscape:tile-y0="67.65" />
|
||||
<rect
|
||||
style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="use4549"
|
||||
width="23.099998"
|
||||
height="23.099998"
|
||||
x="33.549999"
|
||||
y="90.75"
|
||||
inkscape:tile-x0="10.45"
|
||||
inkscape:tile-y0="67.65" />
|
||||
</g>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 10.450001,113.85 56.649998,67.650002"
|
||||
id="path4606"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 10.450001,67.650002 56.649998,113.85"
|
||||
id="path4608"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="vector-effect:none;fill:#b3b3b3;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.519684;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 10.692275,102.09499 V 91.232491 H 21.622219 32.552163 L 21.692274,102.09499 c -5.972938,5.97438 -10.891414,10.8625 -10.929944,10.8625 -0.03853,0 -0.07005,-4.88812 -0.07005,-10.8625 z"
|
||||
id="path4616"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="vector-effect:none;fill:#b3b3b3;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.519684;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 34.067273,102.71506 V 91.922636 l 10.725002,10.722354 c 5.89875,5.8973 10.724999,10.75389 10.724999,10.79243 0,0.0385 -4.826249,0.0701 -10.724999,0.0701 H 34.067273 Z"
|
||||
id="path4618"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="vector-effect:none;fill:#b3b3b3;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.519684;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 45.342275,79.544991 c 5.972937,-5.974376 10.891414,-10.8625 10.929943,-10.8625 0.03853,0 0.07006,4.888124 0.07006,10.8625 V 90.407492 H 45.412329 34.482386 Z"
|
||||
id="path4620"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="vector-effect:none;fill:#b3b3b3;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.519684;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 22.242274,78.994991 11.382385,68.132491 H 22.31233 33.242273 v 10.8625 c 0,5.974374 -0.03152,10.862501 -0.07005,10.862501 -0.03853,0 -4.957006,-4.888127 -10.929946,-10.862501 z"
|
||||
id="path4622"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
id="g32607">
|
||||
<g
|
||||
transform="translate(61.599997)"
|
||||
id="g4563-3"
|
||||
style="stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none">
|
||||
<rect
|
||||
style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="use4543-6"
|
||||
width="23.099998"
|
||||
height="23.099998"
|
||||
x="10.450002"
|
||||
y="67.650002"
|
||||
inkscape:tile-x0="10.45"
|
||||
inkscape:tile-y0="67.65" />
|
||||
<rect
|
||||
style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="use4545-7"
|
||||
width="23.099998"
|
||||
height="23.099998"
|
||||
x="10.450002"
|
||||
y="90.75"
|
||||
inkscape:tile-x0="10.45"
|
||||
inkscape:tile-y0="67.65" />
|
||||
<rect
|
||||
style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="use4547-5"
|
||||
width="23.099998"
|
||||
height="23.099998"
|
||||
x="33.549999"
|
||||
y="67.650002"
|
||||
inkscape:tile-x0="10.45"
|
||||
inkscape:tile-y0="67.65" />
|
||||
<rect
|
||||
style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="use4549-3"
|
||||
width="23.099998"
|
||||
height="23.099998"
|
||||
x="33.549999"
|
||||
y="90.75"
|
||||
inkscape:tile-x0="10.45"
|
||||
inkscape:tile-y0="67.65" />
|
||||
</g>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 72.049999,90.75 95.149994,113.85 118.24999,90.75 95.149994,67.650002 Z"
|
||||
id="path4610"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="vector-effect:none;fill:#b3b3b3;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.519684;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 83.842274,102.09499 72.982385,91.232491 h 10.929943 10.929945 v 10.862499 c 0,5.97438 -0.03153,10.8625 -0.07006,10.8625 -0.03853,0 -4.957003,-4.88812 -10.929943,-10.8625 z"
|
||||
id="path4624"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<text
|
||||
id="text4634"
|
||||
y="120.52483"
|
||||
x="19.405016"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93889px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
xml:space="preserve"><tspan
|
||||
style="font-size:4.93889px;stroke-width:0.264583"
|
||||
y="120.52483"
|
||||
x="19.405016"
|
||||
id="tspan4632"
|
||||
sodipodi:role="line"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.93889px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold'"
|
||||
id="tspan27632">Bijou 1:</tspan> 11€</tspan></text>
|
||||
<text
|
||||
id="text4638"
|
||||
y="120.84396"
|
||||
x="78.930679"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93889px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
xml:space="preserve"><tspan
|
||||
style="font-size:4.93889px;stroke-width:0.264583"
|
||||
y="120.84396"
|
||||
x="78.930679"
|
||||
id="tspan4636"
|
||||
sodipodi:role="line"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.93889px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold'"
|
||||
id="tspan22092">Bijou 2: </tspan>8,15€</tspan></text>
|
||||
<g
|
||||
id="g32598"
|
||||
transform="translate(-61.61317,61.690648)">
|
||||
<g
|
||||
id="g4679">
|
||||
<g
|
||||
transform="translate(123.2)"
|
||||
id="g4563-5"
|
||||
style="stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none">
|
||||
<rect
|
||||
style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="use4543-62"
|
||||
width="23.099998"
|
||||
height="23.099998"
|
||||
x="10.450002"
|
||||
y="67.650002"
|
||||
inkscape:tile-x0="10.45"
|
||||
inkscape:tile-y0="67.65" />
|
||||
<rect
|
||||
style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="use4545-9"
|
||||
width="23.099998"
|
||||
height="23.099998"
|
||||
x="10.450002"
|
||||
y="90.75"
|
||||
inkscape:tile-x0="10.45"
|
||||
inkscape:tile-y0="67.65" />
|
||||
<rect
|
||||
style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="use4547-1"
|
||||
width="23.099998"
|
||||
height="23.099998"
|
||||
x="33.549999"
|
||||
y="67.650002"
|
||||
inkscape:tile-x0="10.45"
|
||||
inkscape:tile-y0="67.65" />
|
||||
<rect
|
||||
style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="use4549-2"
|
||||
width="23.099998"
|
||||
height="23.099998"
|
||||
x="33.549999"
|
||||
y="90.75"
|
||||
inkscape:tile-x0="10.45"
|
||||
inkscape:tile-y0="67.65" />
|
||||
</g>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 133.65,90.75 156.75,67.650002 179.84999,90.75 156.75,113.85 Z"
|
||||
id="path4612"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="opacity:1;vector-effect:none;fill:#b3b3b3;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.96416;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 549.70309,300.64249 c 22.57488,-22.58032 41.1644,-41.05512 41.31002,-41.05512 0.14563,0 0.26478,18.4748 0.26478,41.05512 v 41.05512 h -41.31003 -41.31002 z"
|
||||
id="path4626"
|
||||
inkscape:connector-curvature="0"
|
||||
transform="scale(0.26458333)" />
|
||||
<path
|
||||
style="opacity:1;vector-effect:none;fill:#b3b3b3;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.96416;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 549.70309,385.87083 -41.04525,-41.05511 h 41.31002 41.31003 v 41.05511 c 0,22.58032 -0.11915,41.05512 -0.26478,41.05512 -0.14562,0 -18.73514,-18.4748 -41.31002,-41.05512 z"
|
||||
id="path4628"
|
||||
inkscape:connector-curvature="0"
|
||||
transform="scale(0.26458333)" />
|
||||
<path
|
||||
style="opacity:1;vector-effect:none;fill:#b3b3b3;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.96416;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 637.01017,387.94957 c 22.57489,-22.58031 41.1644,-41.05511 41.31003,-41.05511 0.14563,0 0.26478,18.4748 0.26478,41.05511 v 41.05512 h -41.31003 -41.31003 z"
|
||||
id="path4630"
|
||||
inkscape:connector-curvature="0"
|
||||
transform="scale(0.26458333)" />
|
||||
</g>
|
||||
<text
|
||||
id="text4642"
|
||||
y="123.2"
|
||||
x="149.42848"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
xml:space="preserve"><tspan
|
||||
id="tspan4644"
|
||||
style="stroke-width:0.264583"
|
||||
y="123.2"
|
||||
x="149.42848"
|
||||
sodipodi:role="line">Bijou 3</tspan></text>
|
||||
</g>
|
||||
<g
|
||||
id="g32639"
|
||||
transform="translate(1.9351625,2.2325779)">
|
||||
<path
|
||||
style="vector-effect:none;fill:#b3b3b3;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.519684;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 24.703107,141.11725 -10.859889,-10.8625 h 10.929945 10.929943 v 10.8625 c 0,5.97437 -0.03152,10.8625 -0.07005,10.8625 -0.03853,0 -4.957006,-4.88813 -10.929946,-10.8625 z"
|
||||
id="path4622-3"
|
||||
inkscape:connector-curvature="0" />
|
||||
<g
|
||||
id="g32629">
|
||||
<text
|
||||
id="text4634-6"
|
||||
y="142.71745"
|
||||
x="38.783539"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
xml:space="preserve"><tspan
|
||||
style="stroke-width:0.264583"
|
||||
y="142.71745"
|
||||
x="38.783539"
|
||||
id="tspan4632-7"
|
||||
sodipodi:role="line">Métal</tspan></text>
|
||||
</g>
|
||||
<g
|
||||
id="g32625">
|
||||
<text
|
||||
id="text4634-5"
|
||||
y="168.4426"
|
||||
x="39.206875"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
xml:space="preserve"><tspan
|
||||
style="stroke-width:0.264583"
|
||||
y="168.4426"
|
||||
x="39.206875"
|
||||
id="tspan4632-3"
|
||||
sodipodi:role="line">Verre</tspan></text>
|
||||
<path
|
||||
style="vector-effect:none;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.519684;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 24.703112,166.95246 -10.859891,-10.8625 h 10.929941 10.92994 v 10.8625 c 0,5.97437 -0.0315,10.8625 -0.07,10.8625 -0.0385,0 -4.957,-4.88813 -10.92994,-10.8625 z"
|
||||
id="path1096"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</g>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,10.200002,67.296449)"
|
||||
id="text40105"
|
||||
style="line-height:1.25;font-family:sans-serif;font-size:13.33333333px;white-space:pre;shape-inside:url(#rect40107)" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 18 KiB |
75
2nd/16_Droites_dans_un_repère/index.rst
Normal file
@@ -0,0 +1,75 @@
|
||||
Droites dans un repère
|
||||
######################
|
||||
|
||||
:date: 2022-02-07
|
||||
:modified: 2022-03-23
|
||||
:authors: Benjamin Bertrand
|
||||
:tags: Géométrie repérée
|
||||
:category: 2nd
|
||||
:summary: Manipulation des ensembles de points représentés par une droite
|
||||
|
||||
Programmes:
|
||||
|
||||
- Équation de droite: équation cartésienne, équation réduite.
|
||||
- Déterminer une équation de droite à partir de deux points ou un point et la pente.
|
||||
- Déterminer la pente d’une droite donnée par une équation ou une représentation graphique.
|
||||
- Tracer une droite connaissant son équation cartésienne ou réduite.
|
||||
- Déterminer si deux droites sont parallèles ou sécantes.
|
||||
- Résoudre un système de deux équations linéaires à deux inconnues, déterminer le point d’intersection de deux droites sécantes.
|
||||
|
||||
|
||||
Plan de travail
|
||||
===============
|
||||
|
||||
.. image:: ./plan_de_travail.pdf
|
||||
:height: 200px
|
||||
:alt: plan de travail
|
||||
|
||||
|
||||
Étape 1: Ensemble de points
|
||||
---------------------------
|
||||
|
||||
À mon avis pour gagner du temps, il pourra être intéressant de donner le cours en amont de cette étape.
|
||||
|
||||
- relation entre équation et ensemble de points
|
||||
- calculs sur l'appartenance d'un point à une droite
|
||||
- un point d'une droite dont une des coordonnées est connue trouver l'autre coordonnées
|
||||
|
||||
Étape 2: pente ou coefficient directeur d'une droite
|
||||
----------------------------------------------------
|
||||
|
||||
- travail sur la pente
|
||||
|
||||
Étape 3: Déterminer équation d'une droite
|
||||
-----------------------------------------
|
||||
|
||||
- généralisation avec un pas quelconque
|
||||
- ordonnées à l'origine
|
||||
|
||||
Étape 4: Tracer droite à partir de son équation
|
||||
-----------------------------------------------
|
||||
|
||||
Trouver deux points sur la droite puis relier
|
||||
|
||||
Étape 5: Intersection de droites
|
||||
--------------------------------
|
||||
|
||||
Cours
|
||||
=====
|
||||
|
||||
.. image:: ./1B_equation_droite.pdf
|
||||
:height: 200px
|
||||
:alt: cours équation de droite
|
||||
|
||||
.. image:: ./2B_pente.pdf
|
||||
:height: 200px
|
||||
:alt: cours pente entre points
|
||||
|
||||
.. image:: ./3B_calcul_equation.pdf
|
||||
:height: 200px
|
||||
:alt: cours determiner équation droite
|
||||
|
||||
.. image:: ./5B_system_equations.pdf
|
||||
:height: 200px
|
||||
:alt: cours sur les systèmes d'équations
|
||||
|
BIN
2nd/16_Droites_dans_un_repère/plan_de_travail.pdf
Normal file
83
2nd/16_Droites_dans_un_repère/plan_de_travail.tex
Normal file
@@ -0,0 +1,83 @@
|
||||
\documentclass[a4paper,12pt]{article}
|
||||
\usepackage{myXsim}
|
||||
\usepackage{pgfplots}
|
||||
|
||||
\author{Benjamin Bertrand}
|
||||
\title{Équation de droite - Plan de travail}
|
||||
\tribe{2nd}
|
||||
\date{Mars 2022}
|
||||
|
||||
\pagestyle{empty}
|
||||
|
||||
\DeclareExerciseCollection{banque}
|
||||
\xsimsetup{
|
||||
}
|
||||
|
||||
|
||||
\begin{document}
|
||||
\maketitle
|
||||
|
||||
|
||||
\bigskip
|
||||
|
||||
Savoir-faire de la séquence
|
||||
\begin{itemize}
|
||||
\item Équation de droite: équation cartésienne, équation réduite.
|
||||
\item Déterminer une équation de droite à partir de deux points ou un point et la pente.
|
||||
\item Déterminer la pente d’une droite donnée par une équation ou une représentation graphique.
|
||||
\item Tracer une droite connaissant son équation cartésienne ou réduite.
|
||||
\item Déterminer si deux droites sont parallèles ou sécantes.
|
||||
\item Résoudre un système de deux équations linéaires à deux inconnues, déterminer le point d’intersection de deux droites sécantes.
|
||||
\end{itemize}
|
||||
|
||||
\bigskip
|
||||
|
||||
Ordre des étapes à respecter
|
||||
|
||||
\begin{center}
|
||||
\Ovalbox{
|
||||
\begin{tikzpicture}
|
||||
\node (E1) {1};
|
||||
\node (E2) [right of=E1] {2};
|
||||
\node (E3) [right of=E2] {3};
|
||||
\node (E4) [below right of=E1] {4};
|
||||
\node (E5) [below of=E1] {5};
|
||||
|
||||
\path[->] (E1) edge (E2);
|
||||
\path[->] (E2) edge (E3);
|
||||
\path[->] (E1) edge (E4);
|
||||
\path[->] (E1) edge (E5);
|
||||
\end{tikzpicture}
|
||||
}
|
||||
\end{center}
|
||||
|
||||
\section{Ensemble de points}
|
||||
|
||||
\listsectionexercises
|
||||
|
||||
\section{Pente ou coefficient directeur d'une droite}
|
||||
|
||||
\listsectionexercises
|
||||
|
||||
\section{Déterminer équation d'une droite}
|
||||
|
||||
\listsectionexercises
|
||||
|
||||
\section{Tracer une droite}
|
||||
|
||||
\listsectionexercises
|
||||
|
||||
\section{Intersection de droites}
|
||||
|
||||
\listsectionexercises
|
||||
|
||||
\bigskip
|
||||
|
||||
|
||||
\pagebreak
|
||||
|
||||
\input{exercises.tex}
|
||||
\printcollection{banque}
|
||||
|
||||
|
||||
\end{document}
|
BIN
2nd/16_Droites_dans_un_repère/solutions.pdf
Normal file
28
2nd/16_Droites_dans_un_repère/solutions.tex
Normal file
@@ -0,0 +1,28 @@
|
||||
\documentclass[a4paper,10pt]{article}
|
||||
\usepackage{myXsim}
|
||||
|
||||
\usetikzlibrary{shapes.geometric}
|
||||
|
||||
\author{Benjamin Bertrand}
|
||||
\title{Éqution de droite - Solutions}
|
||||
\tribe{2nd}
|
||||
\date{Avril 2022}
|
||||
|
||||
\DeclareExerciseCollection{banque}
|
||||
\xsimsetup{
|
||||
exercise/print=false,
|
||||
solution/print=true,
|
||||
}
|
||||
|
||||
\pagestyle{plain}
|
||||
|
||||
|
||||
\begin{document}
|
||||
|
||||
\maketitle
|
||||
|
||||
\input{exercises.tex}
|
||||
%\printcollection{banque}
|
||||
%\printsolutions{exercises}
|
||||
|
||||
\end{document}
|
BIN
2nd/17_Fonctions_de_références/1B_definition_parite.pdf
Normal file
BIN
2nd/17_Fonctions_de_références/2B_references.pdf
Normal file
BIN
2nd/17_Fonctions_de_références/2P_exposes.pdf
Normal file
BIN
2nd/17_Fonctions_de_références/3B_fonction_reference.pdf
Normal file
24101
2nd/17_Fonctions_de_références/3B_fonction_reference.svg
Normal file
After Width: | Height: | Size: 1.8 MiB |
53
2nd/17_Fonctions_de_références/index.rst
Normal file
@@ -0,0 +1,53 @@
|
||||
Fonctions de références
|
||||
#######################
|
||||
|
||||
:date: 2022-02-07
|
||||
:modified: 2022-04-29
|
||||
:authors: Benjamin Bertrand
|
||||
:tags: Fonction
|
||||
:category: 2nd
|
||||
:summary: Tour d'horizon des fonctions de référence.
|
||||
|
||||
.. image:: ./plan_de_travail.pdf
|
||||
:height: 200px
|
||||
:alt: Plan de travail sur les fonctions de références
|
||||
|
||||
|
||||
Étape 1: Ensemble de définition et parité
|
||||
=========================================
|
||||
|
||||
Retour sur les tableaux de fonctions
|
||||
Introduction de la notion d'ensemble de définition en lien avec les intervalles
|
||||
Notion de parité d'une fonction
|
||||
|
||||
Cours:
|
||||
|
||||
.. image:: ./1B_definition_parite.pdf
|
||||
:height: 200px
|
||||
:alt: Cours sur l'intervalle de définition et la parité
|
||||
|
||||
|
||||
Étape 2: Zoologie des fonctions
|
||||
===============================
|
||||
|
||||
Chaque groupe choisit une fonction parmi: x^2, x^3, 1/x et sqrt x
|
||||
|
||||
Il doit préparer une présentation avec tout ce qu'il peut dire sur la fonction.
|
||||
|
||||
Presentation en classe (évaluée)
|
||||
|
||||
.. image:: ./2P_exposes.pdf
|
||||
:height: 200px
|
||||
:alt: Consignes pour les exposés
|
||||
|
||||
Cours: sur les fonctions de références
|
||||
|
||||
.. image:: ./2B_references.pdf
|
||||
:height: 200px
|
||||
:alt: Cours sur les fonctions de références
|
||||
|
||||
|
||||
|
||||
Étape 3: Démonstration position courbe relative
|
||||
===============================================
|
||||
|
BIN
2nd/17_Fonctions_de_références/plan_de_travail.pdf
Normal file
BIN
2nd/18_Vecteur_et_coordonnées/1B_coordonnees.pdf
Normal file
78
2nd/18_Vecteur_et_coordonnées/1B_coordonnees.tex
Normal file
@@ -0,0 +1,78 @@
|
||||
\documentclass[a4paper,10pt]{article}
|
||||
\usepackage{myXsim}
|
||||
|
||||
\author{Benjamin Bertrand}
|
||||
\title{Vecteur et coordonnées - Cours}
|
||||
\date{avril 2022}
|
||||
|
||||
\pagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\maketitle
|
||||
|
||||
\section{Coordonnées de vecteurs}
|
||||
|
||||
\begin{definition}[Coordonnées de vecteur]
|
||||
\begin{minipage}{0.5\linewidth}
|
||||
On se place dans un repère $(O, \vect{i}, \vect{j})$, alors les coordonnées du vecteur $\vect{u}$ sont notées $\vectCoord{x}{y}$ où
|
||||
\begin{itemize}
|
||||
\item $x$ correspond au déplacement de $\vect{u}$ dans la direction $\vect{i}$.
|
||||
\item $y$ correspond au déplacement de $\vect{u}$ dans la direction $\vect{j}$.
|
||||
\end{itemize}
|
||||
On note aussi
|
||||
\[
|
||||
\vect{u} = x \vect{i} + y \vect{j}
|
||||
\]
|
||||
\end{minipage}
|
||||
\hfill
|
||||
\begin{minipage}{0.4\linewidth}
|
||||
\begin{tikzpicture}
|
||||
\repereOIJ{-1}{5}{-1}{5}
|
||||
\draw [->, very thick] (4, 2) -- node [midway, above] {$\vect{u}$} (1, 4);
|
||||
\draw [->, thick] (4, 2) -- node [midway, below] {$x$} (1, 2);
|
||||
\draw [->, thick] (1, 2) -- node [midway, left] {$y$} (1, 4);
|
||||
\end{tikzpicture}
|
||||
\end{minipage}
|
||||
\end{definition}
|
||||
|
||||
\paragraph{Exemples}:~
|
||||
|
||||
\begin{minipage}{0.4\linewidth}
|
||||
\begin{tikzpicture}
|
||||
\repereOIJ{-1}{5}{-1}{5}
|
||||
\draw [->, very thick] (1, 2) -- node [midway, above] {$\vect{u}$} (4, 3);
|
||||
\draw (4, 2) node {x} node [below right] {$A$};
|
||||
\draw (2, 0) node {x} node [below left] {$B$};
|
||||
\end{tikzpicture}
|
||||
\end{minipage}
|
||||
\hfill
|
||||
\begin{minipage}{0.5\linewidth}
|
||||
\begin{itemize}
|
||||
\item Coordonnée du vecteur $\vect{u}$
|
||||
\\[0.5cm]
|
||||
\item Coordonnée du vecteur $\vect{OA}$
|
||||
\\[0.5cm]
|
||||
\item Coordonnée du vecteur $\vect{AB}$
|
||||
\\[0.5cm]
|
||||
\item Vecteur $\vect{v}$ de coordonnées $\vectCoord{1}{-4}$
|
||||
\end{itemize}
|
||||
\end{minipage}
|
||||
|
||||
\afaire{Trouver les coordonnées manquantes et tracer le vecteur $\vect{v}$}
|
||||
|
||||
\begin{propriete}[ Calculer les coordonnées d'un vecteur ]
|
||||
On se place dans un repère $(O, \vect{i}, \vect{j})$. On définit deux points $A(x_A; y_A)$ et $B(x_B; y_B)$ du plan.
|
||||
|
||||
Alors les coordonnées du vecteur $\vect{AB}$ sont (attention l'ordre est important):
|
||||
\[
|
||||
\vectCoord{x_B - x_A}{y_B - y_A}
|
||||
\]
|
||||
\end{propriete}
|
||||
|
||||
\paragraph{Exemples}:~
|
||||
Soient $A(2; 4)$ et $B(-2; 10)$ calculons les coordonnées du vecteur $\vect{AB}$
|
||||
|
||||
\afaire{Calculer les coordonnées du vecteur $\vect{AB}$}
|
||||
|
||||
\end{document}
|