%!TEX pdflatex
\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usepackage{eurosym}
\usepackage{ProfLycee}
\usepackage{tikz}
\usetikzlibrary{angles, quotes, decorations.markings, calc, decorations.pathmorphing, intersections}
\usetheme{CambridgeUS}
\usecolortheme{seahorse}
\setbeamercolor{frametitle}{fg=cyan!60!black}
\usepackage{qrcode}
\usepackage{hyperref}
\usepackage{ragged2e}
\usepackage{animate} % Package pour l'animation
\usepackage{enumitem}
\usepackage{multicol}
\usepackage{ccicons}
\usepackage{amsmath}
\usepackage{pgf} % Pour la génération de nombres aléatoires
\usepackage{etoolbox}
% Fixer la graine pour la génération aléatoire basée sur le temps actuel
\makeatletter
\pgfmathsetseed{\number\pdfrandomseed} % Utilise la graine aléatoire basée sur la date et l'heure actuelle
\makeatother
\TirageAleatoireEntiers[ValMin=10,ValMax=50,NbVal=10]{\TestAddition}%
\TirageAleatoireEntiers[ValMin=10,ValMax=50,NbVal=10]{\TestSoustraction}%
\readlist*\ListeAdd{\TestAddition}%
\readlist*\ListSoust{\TestSoustraction}%
\newcommand\addition[2]{
\itemtomacro\ListeAdd[#1]{\tmpn}%
\itemtomacro\ListeAdd[#2]{\tmpm}%
% \pgfmathsetmacro{\n}{int(random(10,50))} % Génère un entier aléatoire entre 3 et 9
% \pgfmathsetmacro{\m}{int(random(10,50))} % Génère un entier aléatoire entre 0 et 10
\pgfmathtruncatemacro{\result}{\tmpn + \tmpm} % Calcul du résultat
\pgfmathsetmacro{\mydice}{int(random(1,3))} % Génère un entier aléatoire entre 1 et 4
\ifnum\mydice=1
$\tmpn + \ldots = \result$
\fi
\ifnum\mydice=2
$\tmpn + \tmpm = \ldots$
\fi
\ifnum\mydice=3
$\ldots + \tmpn = \result$
\fi
}
\newcommand\soustraction[2]{
\itemtomacro\ListSoust[#1]{\tmpn}%
\itemtomacro\ListSoust[#2]{\tmpm}%
\ifnum\tmpn<\tmpm
\itemtomacro\ListSoust[#2]{\tmpn}%
\itemtomacro\ListSoust[#1]{\tmpm}%
\fi
% \pgfmathsetmacro{\n}{int(random(10,50))} % Génère un entier aléatoire entre 3 et 9
% \pgfmathsetmacro{\m}{int(random(10,50))} % Génère un entier aléatoire entre 0 et 10
\pgfmathtruncatemacro{\result}{\tmpn - \tmpm} % Calcul du résultat
\ifnum\pgfmathresult=1 %à modifier, car ça bugguera sans doute...
\soustraction{#1}{#2}
\else
\pgfmathsetmacro{\mydice}{int(random(1,3))} % Génère un entier aléatoire entre 1 et 4
\ifnum\mydice=1
$\tmpn - \ldots = \result$
\fi
\ifnum\mydice=2
$\tmpn - \tmpm = \ldots$
\fi
\ifnum\mydice=3
$\ldots - \tmpm = \result$
\fi
}
% Nouvelle commande pour générer les données de l'exercice sur les véhicules avec proportionnalité et nombres entiers
\newcommand{\NumbForSpeed}{
% Sélection aléatoire du type de véhicule
\pgfmathsetmacro{\vehicleDice}{int(random(1,4))} % 1: Bicyclette, 2: Moto, 3: Automobile, 4: Locomotive
\ifnum\vehicleDice=1
\def\vehicle{Une bicyclette}
\pgfmathsetmacro{\speed}{int(random(1,3))*10} % Vitesse entre 10 et 30 km/h
\else\ifnum\vehicleDice=2
\def\vehicle{Une moto}
\pgfmathsetmacro{\speed}{int(random(4,12))*10} % Vitesse entre 40 et 120 km/h
\else\ifnum\vehicleDice=3
\def\vehicle{Une automobile}
\pgfmathsetmacro{\speed}{int(random(4,12))*10} % Vitesse entre 40 et 120 km/h
\else\ifnum\vehicleDice=4
\def\vehicle{Une locomotive}
\pgfmathsetmacro{\speed}{int(random(13,15))*10} % Vitesse entre 130 et 150 km/h
\fi\fi\fi\fi
% Génération d'un facteur multiplicatif entre 3 et 9 (temps en heures)
\pgfmathsetmacro{\factor}{int(random(3,9))}
% Calcul de la distance en km (distance = vitesse × temps)
\pgfmathsetmacro{\distance}{\speed * \factor}
% Garantie que la vitesse est un nombre entier
\pgfmathtruncatemacro{\speedint}{\speed}
\pgfmathparse{\speed *10 == \speedint *10}
\ifnum\pgfmathresult=1
\pgfmathsetmacro{\speed}{\speedint}
\fi
% Garantie que la distance est un nombre entier
\pgfmathtruncatemacro{\distanceint}{\distance}
\pgfmathparse{\distance *10 == \distanceint *10}
\ifnum\pgfmathresult=1
\pgfmathsetmacro{\distance}{\distanceint}
\fi
}
\newcommand{\NumbForFrac}{
\pgfmathsetmacro{\x}{int(random(2,10))} % Génère un entier aléatoire entre 3 et 12
\pgfmathsetmacro{\y}{int(random(3,12))} % Génère un entier aléatoire entre 2 et 12
\ifnum\y<\x
\pgfmathsetmacro{\x}{\y}
\fi
\ifnum\y=\x
\NumbForFrac
\fi
\pgfmathsetmacro{\mydice}{int(random(1,2))} % Génère un entier aléatoire entre 1 et 3
\ifnum\y=11 % Pas de onzième (pénible à compter)
\NumbForFrac
\fi
\ifnum\mydice=1
\def\lafiguretikz{\begin{tikzpicture}[scale=0.75]
\newcommand{\NumSectors}{\y} % Nombre total de secteurs
\newcommand{\NumColSectors}{\x} % Nombre de secteurs consécutifs à colorier
\pgfmathsetmacro{\angle}{360/\NumSectors} % Angle de chaque secteur
% Dessiner et colorier les secteurs
\foreach \s in {1,...,\NumSectors}{
% Calculer l'angle de début et de fin pour chaque secteur
\pgfmathsetmacro{\startAngle}{(\s-1)*\angle}
\pgfmathsetmacro{\endAngle}{\s*\angle}
% Colorier les premiers \NumColSectors secteurs, puis dessiner les autres normalement
\ifnum\s>\NumColSectors
\draw[line width=0.75pt] (0,0) -- (\startAngle:2cm) arc (\startAngle:\endAngle:2cm) -- cycle;
\else
\fill[red!50] (0,0) -- (\startAngle:2cm) arc (\startAngle:\endAngle:2cm) -- cycle;
\draw[line width=0.75pt] (0,0) -- (\startAngle:2cm) arc (\startAngle:\endAngle:2cm) -- cycle;
\fi
}
\end{tikzpicture}
}
\else
\def\lafiguretikz{\begin{tikzpicture}[scale=0.7]
\newcommand{\NumSectors}{\y} % Nombre total de secteurs
\newcommand{\NumColSectors}{\y} % Nombre de secteurs consécutifs à colorier
\pgfmathsetmacro{\angle}{360/\NumSectors} % Angle de chaque secteur
% Dessiner et colorier les secteurs
\foreach \s in {1,...,\NumSectors}{
% Calculer l'angle de début et de fin pour chaque secteur
\pgfmathsetmacro{\startAngle}{(\s-1)*\angle}
\pgfmathsetmacro{\endAngle}{\s*\angle}
% Colorier les premiers \NumColSectors secteurs, puis dessiner les autres normalement
\ifnum\s>\NumColSectors
\draw[line width=0.75pt] (0,0) -- (\startAngle:2cm) arc (\startAngle:\endAngle:2cm) -- cycle;
\else
\fill[red!50] (0,0) -- (\startAngle:2cm) arc (\startAngle:\endAngle:2cm) -- cycle;
\draw[line width=0.75pt] (0,0) -- (\startAngle:2cm) arc (\startAngle:\endAngle:2cm) -- cycle;
\fi
}
\end{tikzpicture}~\begin{tikzpicture}[scale=0.7]
\newcommand{\NumSectors}{\y} % Nombre total de secteurs
\newcommand{\NumColSectors}{\x} % Nombre de secteurs consécutifs à colorier
\pgfmathsetmacro{\angle}{360/\NumSectors} % Angle de chaque secteur
% Dessiner et colorier les secteurs
\foreach \s in {1,...,\NumSectors}{
% Calculer l'angle de début et de fin pour chaque secteur
\pgfmathsetmacro{\startAngle}{(\s-1)*\angle}
\pgfmathsetmacro{\endAngle}{\s*\angle}
% Colorier les premiers \NumColSectors secteurs, puis dessiner les autres normalement
\ifnum\s>\NumColSectors
\draw[line width=0.75pt] (0,0) -- (\startAngle:2cm) arc (\startAngle:\endAngle:2cm) -- cycle;
\else
\fill[red!50] (0,0) -- (\startAngle:2cm) arc (\startAngle:\endAngle:2cm) -- cycle;
\draw[line width=0.75pt] (0,0) -- (\startAngle:2cm) arc (\startAngle:\endAngle:2cm) -- cycle;
\fi
}
\end{tikzpicture}
}
\fi
}
%\title{Automatisme 6e}
\author{\texttt{lmdbt.fr}}
\institute{\ccby}
\date{2024-2025}
\begin{document}
% \frame{\titlepage}
\begin{frame}[plain]
\frametitle{AutomaTex 3}
\begin{minipage}{0.47\textwidth}
\textcolor{cyan!75!black}{\textbf{Exercice 1}}
\vspace{-0.25cm}
\begin{multicols}{2}
\begin{itemize}[left=0pt]
\large
\item \addition{1}{2}
\item \addition{3}{4}
\item \addition{5}{6}
\item \addition{7}{8}
\item \addition{9}{10}
\end{itemize}
\begin{itemize}[left=0pt]
\large
\item \soustraction{1}{2}
\item \soustraction{3}{4}
\item \soustraction{5}{6}
\item \soustraction{7}{8}
\item \soustraction{9}{10}
\end{itemize}
\end{multicols}
\bigskip
\NumbForSpeed
\textcolor{cyan!75!black}{\textbf{Exercice 2}}\\
\vehicle{} roule à une vitesse de $\speed\,\textrm{km/h}$. \\
Combien de temps met-elle pour parcourir $\distance\,\textrm{km}$ ?
\end{minipage}
\hfill
\begin{minipage}{0.47\textwidth}
\NumbForFrac
\textcolor{cyan!75!black}{\textbf{Exercice 3}}
Écrire la proportion coloriée en rouge sous la forme d'une fraction puis indiquer sa position sur l'axe gradué ci-dessous.
\medskip
\centering
\lafiguretikz\smallskip
\begin{tikzpicture}[scale=0.25]
% Axe horizontal
\draw[->, line width= 1pt] (0,0) -- (21,0);
\pgfmathtruncatemacro{\ydemint}{\y/2}
\pgfmathtruncatemacro{\yquaint}{\y/4}
\pgfmathtruncatemacro{\ythint}{\y/3}
\pgfmathsetmacro{\ydem}{\y/2}
\pgfmathsetmacro{\yqua}{\y/4}
\pgfmathsetmacro{\yth}{\y/3}
\pgfmathsetmacro{\pasdeth}{1}
\pgfmathparse{\ydemint*10==\ydem*10}
\ifnum\pgfmathresult=1
\pgfmathsetmacro{\pas}{10/\y}
% Graduations
\foreach \newx in {0,5,...,20}
\draw[thick] (\newx,0.8) -- (\newx,-0.8) ;
\fi
\pgfmathparse{\yquaint*10==\yqua*10}
\ifnum\pgfmathresult=1
\pgfmathsetmacro{\pas}{10/\y}
% Graduations
\foreach \newx in {0,2.5,...,20}
\draw[thick] (\newx,0.6) -- (\newx,-0.6) ;
\pgfmathsetmacro{\pasdeth}{0}
\fi
\pgfmathparse{\ythint*10==\yth*10}
\ifnum\pgfmathresult=1
\ifnum\pasdeth=1
\pgfmathsetmacro{\pas}{10/\y}
% Graduations
\pgfmathsetmacro{\pasth}{10/3}
\foreach \newx in {0,\pasth,...,20}
\draw[thick] (\newx,0.6) -- (\newx,-0.6) ;
\fi
\fi
\pgfmathsetmacro{\pas}{10/\y}
% Graduations
\foreach \newx in {0,\pas,...,20}
\draw[thick] (\newx,0.4) -- (\newx,-0.4) ;
\draw[thick] (0,1) -- (0,-1) ;
\draw[thick] (10,1) -- (10,-1) ;
\draw[thick] (20,1) -- (20,-1) ;
\foreach \newx/\label in {0/$0$,10/$1$,20/$2$}
\draw (\newx,-0.4) node[below, yshift=-4] {\label}; %
\end{tikzpicture}
\end{minipage}
\end{frame}
\end{document}