\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}
\usetikzlibrary{calc}
\newcommand{\titre}{Notion de fonction}
\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.php}\\[2pt]
    {\small\ttfamily\bfseries\color{red} LEC3FONC}
\end{minipage}%
}
}

\begin{document}

% Corps maître « Notion de fonction » (3e). Programme actuel 2020 (DNB).
% Transcription FIDÈLE du HTML (I à III). 2 figures TikZ (machine, graphe).
% usine.png (illustration de marque) = décorative, HORS PDF.

\section{Vocabulaire}

\begin{center}
{\shorthandoff{!:;?}\resizebox{0.85\linewidth}{!}{\begin{tikzpicture}[>=stealth,thick]
  \node[draw,fill=blue!12,minimum width=3.2cm,minimum height=1.8cm,rounded corners,
        line width=1pt] (f) {\Large fonction $f$};
  \draw[->,line width=1.4pt] ($(f.west)+(-2.8,0)$) node[left,align=center]{\textbf{antécédent}\\ $x$} -- (f.west);
  \draw[->,line width=1.4pt] (f.east) -- ++(2.8,0) node[right,align=center]{\textbf{image}\\ $f(x)$};
\end{tikzpicture}}}
\end{center}

\begin{definition}
Une \textbf{fonction} est un mécanisme, un procédé. On peut la voir comme une
machine qui transforme un nombre — appelé \textbf{antécédent} — en un nombre —
appelé \textbf{image}.
\end{definition}

\section{Exemples}

\subsection{Avec des nombres}

Imaginons la fonction qui, à un nombre entier, associe son suivant. Appelons-la
$\mathcal{S}$ (comme « Suivant »). L'image de 5 par $\mathcal{S}$ est 6 :
\begin{calcul}$\mathcal{S}(5) = 6 \qquad\text{ou}\qquad \mathcal{S} : 5 \mapsto 6$\end{calcul}
L'antécédent de 26 est 25.

\subsection{Notation fonctionnelle}

\begin{definition}
Pour tous les entiers $n$, la fonction $\mathcal{S}$ fonctionne de la même façon :
elle ajoute 1. On écrit :
\[ \mathcal{S}(n) = n + 1 \qquad\text{ou}\qquad \mathcal{S} : n \mapsto n + 1 \]
\end{definition}
Quel que soit le nombre choisi, son image par $\mathcal{S}$ est ce nombre
augmenté de 1.

\section{Remarques}

\subsection{Unicité de l'image}

\begin{propriete}
L'\textbf{image} d'un nombre est \textbf{unique}, mais un nombre peut avoir
\textbf{plusieurs antécédents}.
\end{propriete}

La fonction $f(x) = x^{2}$ a une image unique pour chaque antécédent, mais les
nombres positifs ont deux antécédents :
\begin{calcul}$4 = f(2) = 2 \times 2$\end{calcul}
\begin{calcul}$4 = f(-2) = (-2) \times (-2)$\end{calcul}

\subsection{Tableau de valeurs}

\begin{definition}
On peut présenter des couples de nombres (antécédent ; image) dans un
\textbf{tableau de valeurs}.
\end{definition}

\begin{application}
Voici un tableau de valeurs d'une fonction $g$ :
\begin{center}
\begin{tabular}{|c|c|c|c|c|c|c|}
\hline
$x$ & $-3$ & $-1$ & 2 & 4 & 6 & 7 \\ \hline
$g(x)$ & 6 & 1 & 6 & 3 & 2 & 5 \\ \hline
\end{tabular}
\end{center}
\textbf{1.} Quelle est l'image de 4 ? \textbf{2.} Quel est l'antécédent de 5 ?
\textbf{3.} Un nombre a pour image son opposé : lequel ? \textbf{4.} Quel nombre a
plusieurs antécédents ?
\end{application}

\textbf{Correction.}
\begin{enumerate}
  \item L'image de 4 est 3 : $g(4) = 3$.
  \item L'antécédent de 5 est 7 : $5 = g(7)$.
  \item $-1$ a pour image 1, son opposé.
  \item Le nombre 6 a deux antécédents : $-3$ et 2.
\end{enumerate}

\begin{remarque}
Une fonction peut associer plusieurs antécédents à une même image, mais chaque
antécédent correspond à une seule image.
\end{remarque}

\subsection{Représentation graphique}

\begin{definition}
La \textbf{représentation graphique} d'une fonction $f$ est l'ensemble des points
de coordonnées $(x\,;\,f(x))$. On peut la tracer à partir du tableau de valeurs.
\end{definition}

\begin{application}
Voici la représentation graphique d'une fonction $f$. Chaque point correspond à
un couple $(x\,;\,f(x))$.
\begin{center}
{\shorthandoff{!:;?}\resizebox{0.55\linewidth}{!}{\begin{tikzpicture}[>=stealth,scale=0.85]
  \draw[step=1,gray!30,very thin] (-2.4,-2.4) grid (5.4,5.4);
  \draw[->] (-2.5,0)--(5.7,0);
  \draw[->] (0,-2.5)--(0,5.7);
  \foreach \x in {-2,-1,1,2,3,4,5} \node[below,font=\small] at (\x,-0.08){\x};
  \foreach \y in {-2,-1,1,2,3,4,5} \node[left,font=\small] at (-0.08,\y){\y};
  \node[below left,font=\small] at (-0.05,0){0};
  \foreach \x/\y in {-2/1,-1/-1,1/3,2/-2,3/1,4/5}{
    \draw[blue,very thick] ({\x-0.15},{\y-0.15})--({\x+0.15},{\y+0.15});
    \draw[blue,very thick] ({\x-0.15},{\y+0.15})--({\x+0.15},{\y-0.15});
  }
\end{tikzpicture}}}
\end{center}
\textbf{1.} Quelle est l'image de 1 ? \textbf{2.} Quel est l'antécédent de 5 ?
\textbf{3.} Un nombre a pour image son opposé : lequel ? \textbf{4.} Quel nombre a
plusieurs antécédents ?
\end{application}

\textbf{Correction.}
\begin{enumerate}
  \item L'image de 1 est 3 : $f(1) = 3$.
  \item L'antécédent de 5 est 4 : $5 = f(4)$.
  \item Le nombre 2 a pour image $-2$, son opposé.
  \item Le nombre 1 a deux antécédents : $-2$ et 3.
\end{enumerate}

\begin{remarque}
Chaque point du graphique permet de lire une égalité du type $y = f(x)$.
\end{remarque}

\end{document}
