\documentclass[a4paper,11pt]{article}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[french]{babel}
\usepackage[a4paper,top=3.2cm,bottom=2cm,left=2cm,right=2cm]{geometry}
\usepackage{graphicx}
\usepackage[export]{adjustbox}
\usepackage{fancyhdr}
\usepackage{qrcode}
\usepackage[table]{xcolor}
\usepackage{amsmath,amssymb}
\usepackage{enumitem}
% Puces nettes (babel-french remplace sinon la puce par un tiret « – » peu pro).
% Vaut pour TOUTES les fiches qui importent ce module. AtBeginDocument pour
% passer après la personnalisation des listes faite par babel-french.
\AtBeginDocument{%
  \setlist[itemize]{leftmargin=1.8em,itemsep=0.5ex,topsep=0.4ex,parsep=0pt}%
  \setlist[itemize,1]{label=\textcolor{red!75!black}{\small\textbullet}}%
  \setlist[itemize,2]{label=\textcolor{red!75!black}{\scriptsize\textbullet}}%
}
% Titres compacts (gain de place vertical, fiches plus denses) — vaut pour tous.
\usepackage{titlesec}
\titlespacing*{\section}{0pt}{1.4ex}{0.6ex}
\titlespacing*{\subsection}{0pt}{1.0ex}{0.3ex}
% multicol : listes denses (calcul mental) sur 2 colonnes — neutre tant qu'il
% n'est pas utilisé, dispo pour tous les générateurs.
\usepackage{multicol}
\setlength{\columnsep}{1.5em}
% needspace : empêche un titre d'exercice de rester orphelin en bas de page
% (réserve quelques lignes ; sinon le titre passe à la page suivante avec sa
% liste). Neutre tant qu'il n'est pas appelé — dispo pour tous les générateurs.
\usepackage{needspace}
\usepackage{tikz}
\usetikzlibrary{decorations.text}

\usepackage{tgheros}
\pagestyle{fancy}
\fancyhf{}
\setlength{\headheight}{75pt}
\setlength{\headsep}{10pt}

\newcommand{\logowouf}{%
\begin{tikzpicture}[baseline={(current bounding box.center)},scale=0.55,
                    line cap=round,line join=round]
    \path[use as bounding box] (-2.20,-1.45) rectangle (2.20,2.20);
    \path[
        postaction={decorate},
        decoration={
            text along path,
            text={|\fontfamily{qhv}\bfseries\fontsize{9}{9}\selectfont|site2wouf.fr},
            text align={center},
            raise=0.03ex
        }
    ] (-1.29,0.48) arc[start angle=160,end angle=20,radius=1.29];
    \begin{scope}[xshift=-0.06cm]
        \fill[black] (-0.66,0.14) ellipse (0.21 and 0.31);
        \fill[black] ( 0.66,0.14) ellipse (0.21 and 0.31);
        \fill[black] (-0.23,0.49) ellipse (0.22 and 0.35);
        \fill[black] ( 0.23,0.49) ellipse (0.22 and 0.35);
        \fill[black]
            (0,-0.10)
            .. controls (-0.36,-0.02) and (-0.63,-0.24) .. (-0.58,-0.58)
            .. controls (-0.52,-0.93) and (-0.16,-1.12) .. (0,-0.90)
            .. controls (0.16,-1.12) and (0.52,-0.93) .. (0.58,-0.58)
            .. controls (0.63,-0.24) and (0.36,-0.02) .. (0,-0.10)
            -- cycle;
    \end{scope}
\end{tikzpicture}%
}

% Numérotation CALQUÉE sur le HTML des leçons : I / A / 1 / a (façon de planifier
% de l'utilisateur) — indispensable pour retrouver le même plan sur PDF et en ligne.
\renewcommand{\thesection}{\Roman{section}}
\renewcommand{\thesubsection}{\Alph{subsection}}
\renewcommand{\thesubsubsection}{\arabic{subsubsection}}
\renewcommand{\theparagraph}{\alph{paragraph}}
\setcounter{secnumdepth}{4}   % numérote aussi le 4e niveau (\paragraph → a, b, c)
\makeatletter
\renewcommand{\@seccntformat}[1]{\csname the#1\endcsname.\hspace{0.6em}}
% \paragraph = vrai titre de niveau 4 (sur sa ligne, gras), pas run-in
\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
  {1.4ex \@plus 1ex \@minus .2ex}{0.5ex \@plus .2ex}%
  {\normalfont\normalsize\bfseries}}
\makeatother
\usepackage{colortbl}   % \rowcolor / \arrayrulecolor pour tableaux stylés (fiches mémo…)
\usepackage{needspace}  % \needspace{...} : garder un bloc (déf + figure) sur une même page
\usepackage{tcolorbox}
\tcbuselibrary{skins,breakable}
\tcbset{lecbox/.style={
    enhanced, breakable, boxrule=0pt, leftrule=4pt, arc=2pt,
    left=10pt, right=8pt, top=6pt, bottom=6pt,
    fonttitle=\bfseries, coltitle=white,
}}
\newtcolorbox{definition}{lecbox, colback=blue!6, colframe=blue!55!black,
    title={Définition}}
\newtcolorbox{propriete}{lecbox, colback=orange!8, colframe=orange!70!black,
    title={Propriété}}
\newtcolorbox{theoreme}{lecbox, colback=orange!8, colframe=orange!70!black,
    title={Théorème}}
\newtcolorbox{exemple}{lecbox, colback=green!6, colframe=green!55!black,
    title={Exemple}}
\newtcolorbox{remarque}{lecbox, colback=gray!8, colframe=gray!60!black,
    title={Remarque}}
% Application : reformulation « sur la figure », sans titre, en gris.
\newtcolorbox{application}{enhanced, boxrule=0pt, colback=gray!5,
    borderline west={2pt}{0pt}{gray!50}, left=10pt, right=8pt, top=4pt,
    bottom=4pt, arc=1pt, coltext=black!75}
% Symboles maths courants écrits en UNICODE dans le corps (→ copiables en HTML,
% pandoc les passe tels quels) et rendus en PDF via newunicodechar. Évite le
% mode math $...$ qui casse le copier-coller (MathJax non copiable).
\usepackage{newunicodechar}
\newunicodechar{∈}{\ensuremath{\in}}
\newunicodechar{∉}{\ensuremath{\notin}}
\newunicodechar{⊥}{\ensuremath{\perp}}
\newunicodechar{≈}{\ensuremath{\approx}}
\newunicodechar{×}{\ensuremath{\times}}
\newunicodechar{≠}{\ensuremath{\neq}}
\newunicodechar{≤}{\ensuremath{\leqslant}}
\newunicodechar{≥}{\ensuremath{\geqslant}}
\newunicodechar{°}{\ifmmode{^\circ}\else\textdegree\fi}
\newunicodechar{²}{\ensuremath{^2}}
\newunicodechar{³}{\ensuremath{^3}}
\newunicodechar{÷}{\ensuremath{\div}}
\newunicodechar{−}{\ensuremath{-}}
% numeration : tableau de numération centré. En PDF, simple \begin{center} ;
% en HTML, pandoc émet <div class="numeration"> stylé par css2026/lecon.css
% (couleurs des cellules, perdues sinon car pandoc ignore \cellcolor).
\newenvironment{numeration}{\begin{center}}{\end{center}}
% pose : opération posée (addition/multiplication). En PDF, tabular en
% \ttfamily centré ; en HTML pandoc émet <div class="pose"> (monospace +
% colonnes alignées via css2026/lecon.css). Chiffres copiables.
\newenvironment{pose}{\begin{center}\ttfamily}{\end{center}}
% calcul : un calcul isolé, centré, seul sur sa ligne (jamais coupé en plein
% milieu). En PDF \begin{center}\large ; en HTML pandoc émet <div class="calcul">
% (centré, sans retour ligne interne) via css2026/lecon.css.
\newenvironment{calcul}{\begin{center}\large}{\par\end{center}}
\usepackage{tikz}
\usepackage{tikz}
\usetikzlibrary{calc}
\usepackage{tikz}
\usetikzlibrary{calc,positioning}
\usepackage{tikz}
\usetikzlibrary{patterns}
\newcommand{\titre}{Fonctions linéaires, fonctions affines}
\newcommand{\soustitre}{Cycle 4 — Troisième · Organisation et gestion de données}

\fancyhead[C]{%
\raisebox{4pt}{%
\begin{minipage}[c]{0.15\textwidth}
    \centering
    \logowouf
\end{minipage}
\begin{minipage}[c]{0.62\textwidth}
    \centering
    {\Large\bfseries \titre\par}
    {\small\color{gray} \soustitre}
\end{minipage}
\begin{minipage}[c]{0.21\textwidth}
    \centering
    \qrcode[height=1.5cm]{https://site2wouf.fr/fonctions_affines.php}\\[2pt]
    {\small\ttfamily\bfseries\color{red} LEC3AFFI}
\end{minipage}%
}
}

\begin{document}

% Corps maître « Fonctions linéaires, fonctions affines » (3e). Prog. 2020 (DNB).
% Transcription FIDÈLE du HTML (I à II). Figures TikZ. usine.png/usine2.png
% (illustrations de marque) = décoratives, remplacées par machine_lin/machine_aff.

\section{Proportionnalité et fonctions linéaires}

\subsection{Généralités}

\subsubsection{Tableau de proportionnalité}

\begin{definition}
Un tableau est un \textbf{tableau de proportionnalité} si les termes de la
deuxième ligne s'obtiennent en multipliant ceux de la première par un même
nombre, appelé \textbf{coefficient de proportionnalité}.
\end{definition}

\begin{center}
\begin{tabular}{|l|c|c|c|c|c|c|c|}
\hline
Côté d'un carré (cm) & 1 & 2 & 3 & 4 & 5 & 10 & 4,1 \\ \hline
Périmètre (cm) & 4 & 8 & 12 & 16 & 20 & 40 & 16,4 \\ \hline
\end{tabular}
\end{center}
Ce tableau est un tableau de proportionnalité ; le coefficient est 4.

\subsubsection{Graphique}

\begin{center}
{\shorthandoff{!:;?}\resizebox{0.42\linewidth}{!}{\begin{tikzpicture}[x=0.85cm,y=0.19cm,>=stealth,thick]
  \draw[gray!30,very thin,xstep=1,ystep=2] (-1,-1) grid (5.6,21);
  \draw[->] (-1,0)--(5.9,0) node[below left]{$x$};
  \draw[->] (0,-1)--(0,21.6) node[below right]{$y$};
  \foreach \x in {1,2,3,4,5} \node[below=1pt,font=\small] at (\x,0){\x};
  \foreach \y in {4,8,12,16,20} \node[left=1pt,font=\small] at (0,\y){\y};
  \node[below left,font=\small] at (0,0){0};
  \draw[red!65!black,very thick] (-0.25,-1)--(5.25,21);
  \foreach \x/\y in {0/0,1/4,2/8,3/12,4/16,5/20}
    \node[circle,fill=red!65!black,inner sep=1.6pt] at (\x,\y){};
  \node[red!65!black] at (4,20){$f(x)=4x$};
\end{tikzpicture}}}
\end{center}
Les points sont \textbf{alignés avec l'origine} du repère. Le coefficient 4 se lit
graphiquement : lorsqu'on avance de 1 sur l'axe des abscisses, on monte de 4 sur
l'axe des ordonnées.

\subsection{Fonctions linéaires}

\subsubsection{La notion de fonction : « l'usine »}

\begin{center}
{\shorthandoff{!:;?}\resizebox{0.6\linewidth}{!}{\begin{tikzpicture}[>=stealth,thick]
  \node[draw,fill=blue!12,minimum width=2.4cm,minimum height=1.6cm,rounded corners,
        line width=1pt] (f) {$\times 4$};
  \draw[->,line width=1.4pt] ($(f.west)+(-2,0)$) node[left]{$x$} -- (f.west);
  \draw[->,line width=1.4pt] (f.east) -- ++(2,0) node[right]{$4x$};
\end{tikzpicture}}}
\end{center}

La fonction linéaire $f$ qui à $x$ associe $4x$ se note :
\[ f : x \mapsto 4x \qquad\text{ou}\qquad f(x) = 4x \]
On a $f : 5 \mapsto 20$, ou $f(5) = 20$. De même $f(3) = 12$ signifie : par la
fonction $f$, l'image de 3 est 12.

\subsubsection{Fonction linéaire et proportionnalité}

\begin{propriete}
À chaque situation de proportionnalité correspond une fonction linéaire. La
représentation graphique d'une fonction linéaire est une \textbf{droite passant
par l'origine} du repère.
\end{propriete}

\subsubsection{Un exemple détaillé : les pourcentages}

\begin{application}
Un magasin augmente tous ses prix de 15 \%. Compléter le tableau.
\begin{center}
\begin{tabular}{|l|c|c|c|c|c|}
\hline
Prix avant (€) & 24,40 & 48,80 & \textit{?} & 25 & \textit{?} \\ \hline
Prix après (€) & 28,06 & \textit{?} & 1122,4 & \textit{?} & 33,12 \\ \hline
\end{tabular}
\end{center}
\end{application}

\textbf{Correction.}
\begin{center}
\begin{tabular}{|l|c|c|c|c|c|}
\hline
Prix avant (€) & 24,40 & 48,80 & 976 & 25 & 28,80 \\ \hline
Prix après (€) & 28,06 & 56,12 & 1122,4 & 28,75 & 33,12 \\ \hline
\end{tabular}
\end{center}
En pratique, on utilise la fonction linéaire $g : x \mapsto 1{,}15\,x$ pour
calculer le nouveau prix, car :
\begin{calcul}$x + 0{,}15\,x = (1 + 0{,}15)\,x = 1{,}15\,x$\end{calcul}
On a facilement $g(100) = 115$, $g(0) = 0$. Retrouver un prix avant augmentation
revient à chercher un antécédent, c'est-à-dire à diviser par 1,15 :
\begin{calcul}$\dfrac{33{,}12}{1{,}15} = 28{,}8$\end{calcul}

\subsubsection{D'autres exemples}

D'autres situations classiques relèvent de la proportionnalité : vitesses
moyennes, échelles de plans, agrandissements/réductions, pourcentages,
conversions d'unités, prix en fonction de la quantité. Penser à la fonction
linéaire associée fait gagner du temps !

\section{Fonctions affines}

\subsection{Avec « l'usine »}

\begin{center}
{\shorthandoff{!:;?}\resizebox{0.72\linewidth}{!}{\begin{tikzpicture}[>=stealth,thick]
  \node[draw,fill=blue!12,minimum width=2cm,minimum height=1.6cm,rounded corners,
        line width=1pt] (a) {$\times 4$};
  \node[draw,fill=green!14,minimum width=2cm,minimum height=1.6cm,rounded corners,
        line width=1pt,right=1.6cm of a] (b) {$+\,2$};
  \draw[->,line width=1.4pt] ($(a.west)+(-1.6,0)$) node[left]{$x$} -- (a.west);
  \draw[->,line width=1.4pt] (a.east) -- node[above,font=\small]{$4x$} (b.west);
  \draw[->,line width=1.4pt] (b.east) -- ++(1.7,0) node[right]{$4x+2$};
\end{tikzpicture}}}
\end{center}

\begin{definition}
Une \textbf{fonction affine} est un mécanisme qui effectue successivement deux
opérations sur un nombre : il le \textbf{multiplie} par un nombre donné, puis il
\textbf{ajoute} un nombre donné.
\end{definition}
Ici $h : x \mapsto 4x + 2$, ou $h(x) = 4x + 2$. Par exemple :
\begin{calcul}$h(5) = 4 \times 5 + 2 = 20 + 2 = 22$\end{calcul}

\subsection{Fonction linéaire associée}

\subsubsection{Propriété}

\begin{propriete}
Une fonction linéaire est une fonction affine particulière : $f : x \mapsto 4x$
peut être vue comme $f : x \mapsto 4x + 0$.
\end{propriete}

\subsubsection{Définition}

\begin{definition}
À toute fonction affine, on associe une unique fonction linéaire. À la fonction
affine $g : x \mapsto 3x + 5$ on associe la fonction linéaire
$g_2 : x \mapsto 3x$.
\end{definition}

\subsection{Représentation graphique}

\begin{center}
{\shorthandoff{!:;?}\resizebox{0.52\linewidth}{!}{\begin{tikzpicture}[x=0.55cm,y=0.55cm,>=stealth,thick,font=\small]
  \draw[gray!30,very thin] (-3.4,-3.4) grid (6.4,8.4);
  \draw[->] (-3.5,0)--(6.7,0) node[below left]{$x$};
  \draw[->] (0,-3.5)--(0,8.7) node[below right]{$y$};
  \foreach \x in {-3,-2,-1,1,2,3,4,5,6} \node[below=1pt] at (\x,0){\x};
  \foreach \y in {-3,-2,-1,1,2,3,4,5,6,7,8} \node[left=1pt] at (0,\y){\y};
  \node[below left] at (0,0){0};
  % g2 : y = 2x (par l'origine)
  \draw[blue,very thick,domain=-2.6:4.3] plot(\x,{2*\x});
  % g : y = 2x - 3 (ordonnée à l'origine -3)
  \draw[red!70!black,very thick,domain=-0.15:5.6] plot(\x,{2*\x-3});
  % ordonnée à l'origine
  \node[circle,fill,inner sep=1.5pt] at (0,-3){};
  \node[blue,anchor=east] at (2.7,7.8){$g_2(x)=2x$};
  \node[red!70!black,anchor=west] at (4.2,5){$g(x)=2x-3$};
\end{tikzpicture}}}
\end{center}

La représentation graphique de $g : x \mapsto 2x - 3$ est une droite qui passe
par le point $(0\,;\,-3)$, appelé \textbf{ordonnée à l'origine}. Son
\textbf{coefficient directeur} est 2. Cette droite est \textbf{parallèle} au
graphe de la fonction linéaire associée $g_2 : x \mapsto 2x$.

\subsection{Problème type brevet}

\begin{application}
Un artisan propose deux tarifs pour la pose de carrelage :
\begin{itemize}
  \item Tarif A : 25 € par mètre carré posé ;
  \item Tarif B : forfait de 60 €, puis 20 € par mètre carré.
\end{itemize}
Un client fait poser $x$ mètres carrés.
\begin{enumerate}
  \item Exprimer le prix de chaque tarif en fonction de $x$.
  \item Quel tarif est le plus avantageux pour 5 m² ? pour 10 m² ?
  \item À partir de combien de m² le tarif B devient-il plus avantageux ?
  \item Représenter graphiquement les deux fonctions sur $[0\,;\,20]$.
\end{enumerate}
\end{application}

\textbf{Correction.}

\textbf{1.} $f(x) = 25x$ (tarif A) et $g(x) = 20x + 60$ (tarif B).

\textbf{2.} Pour 5 m² : $f(5) = 125$ € et $g(5) = 60 + 100 = 160$ € — le tarif A
est le plus avantageux. Pour 10 m² : $f(10) = 250$ € et $g(10) = 60 + 200 = 260$ €
— le tarif A est encore le plus avantageux.

\textbf{3.} On résout l'inéquation :
\begin{calcul}$60 + 20x < 25x$\end{calcul}
\begin{calcul}$60 < 5x$\end{calcul}
\begin{calcul}$x > 12$\end{calcul}
\begin{center}
{\shorthandoff{!:;?}\resizebox{0.7\linewidth}{!}{\begin{tikzpicture}[line cap=round,thick]
  % Solution : x > 12. Zone NON solution (x <= 12) hachurée, 12 exclu (crochet ]).
  \fill[pattern=north east lines] (-2.2,-0.28) rectangle (2.4,0.28);
  \draw[->] (-2.6,0)--(7,0);
  \foreach \x/\lab in {0/0,2.4/12}{\draw (\x,0.1)--(\x,-0.1); \node[above=3pt] at (\x,0.28){\lab};}
  \draw[very thick] (2.4,0.28)--(2.4,-0.28) (2.4,0.28)--(2.12,0.28) (2.4,-0.28)--(2.12,-0.28);
  \node[above right] at (3.6,0){Solutions};
\end{tikzpicture}}}
\end{center}
Le tarif B devient plus avantageux au-dessus de 12 m².

\textbf{4.}
\begin{center}
{\shorthandoff{!:;?}\resizebox{0.65\linewidth}{!}{\begin{tikzpicture}[x=0.42cm,y=0.013cm,>=stealth,font=\small]
  \draw[gray!30,very thin,xstep=2.5,ystep=100] (0,0) grid (20,500);
  \draw[->,thick] (0,0)--(21.5,0) node[above]{Surface (m²)};
  \draw[->,thick] (0,0)--(0,540) node[left]{Prix (€)};
  \foreach \x in {5,10,15,20} \node[below=2pt] at (\x,0){\x};
  \foreach \y in {100,200,300,400,500} \node[left=2pt] at (0,\y){\y};
  \node[below left] at (0,0){0};
  % Seuil x = 12.
  \draw[gray,densely dotted,thick] (12,0)--(12,300);
  % Tarif A : f(x) = 25x (plein).
  \draw[orange!90!black,very thick] (0,0)--(20,500);
  % Tarif B : g(x) = 60 + 20x (pointillés).
  \draw[red!75!black,very thick,dashed] (0,60)--(20,460);
  % Intersection (12 ; 300).
  \node[circle,fill,inner sep=1.5pt] at (12,300){};
  \node[orange!90!black,anchor=west] at (13,470){$f(x)=25x$};
  \node[red!75!black,anchor=west] at (13,410){$g(x)=60+20x$};
  \node[gray,anchor=west,font=\footnotesize] at (12.4,120){seuil $x=12$};
\end{tikzpicture}}}
\end{center}

\end{document}
