Feat(1NSI): ajoute des exercices de manipulation de listes
continuous-integration/drone/push Build is passing Details

This commit is contained in:
Bertrand Benjamin 2023-02-03 09:39:35 +01:00
parent 1ca527971f
commit 251e28feb3
4 changed files with 66 additions and 0 deletions

Binary file not shown.

View File

@ -0,0 +1,23 @@
\documentclass[a4paper,10pt,landscape,twocolumn]{article}
\usepackage{myXsim}
\author{Benjamin Bertrand}
\title{}
\date{Février 2023}
\DeclareExerciseCollection[step=3]{banque}
\xsimsetup{collect}
\pagestyle{empty}
\begin{document}
\input{exercises.tex}
\printcollection{banque}
\vfill
\printcollection{banque}
\vfill
\end{document}

View File

@ -172,3 +172,46 @@
\end{enumerate}
\end{exercise}
\begin{exercise}[subtitle={Suite de Fibonacci}, step={3}, origin={Annales}, topics={Tuples et listes}, tags={tuple, liste}]
En mathématiques, la suite de Fibonacci est une suite d'entiers dans laquelle chaque terme est la somme des deux termes qui le précèdent.
Voici les premiers termes de la suite
\begin{center}
1, 2, 3, 5, 8, 13, 21 ...
\end{center}
Écrire une fonction \texttt{Fibonacci} qui prend en argument un nombre $n$ et qui retourne la liste des $n$ premiers nombres de la suite de Fibonacci.
\end{exercise}
\begin{exercise}[subtitle={Suite de Syracuse}, step={3}, origin={Annales}, topics={Tuples et listes}, tags={tuple, liste}]
Une suite de Syracuse est une suite d'entiers naturels définie de la manière suivante : on part d'un nombre entier strictement positif ; sil est pair, on le divise par 2 ; sil est impair, on le multiplie par 3 et l'on ajoute 1. En répétant lopération, on obtient une suite d'entiers strictement positifs dont chacun ne dépend que de son prédécesseur.
Par exemple, à partir de 14, on construit la suite des nombres :
\begin{center}
14, 7, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1, 4, 2...
\end{center}
C'est la suite de Syracuse du nombre 14.
Après que le nombre 1 a été atteint, la suite des valeurs 1, 4, 2, 1, 4, 2… se répète indéfiniment en un cycle de longueur 3, appelé cycle trivial. On s'arrêtera donc au premier 1 rencontré.
\begin{enumerate}
\item Écrire une fonction \texttt{syracuse} qui prend en argument le nombre de départ puis qui renvoie la liste des termes de la suite de Syracuse associée à ce nombre. On s'arrêtera au premier 1 rencontré.
\item
\begin{enumerate}
\item Écrire une fonction \texttt{temps\_de\_vol} qui prend en argument la liste des termes de la liste et qui renvoie le nombre de termes avant d'arriver à 1.
\item Lister les temps de vol de tous les nombres de 2 à 50.
\end{enumerate}
\item
\begin{enumerate}
\item Écrire une fonction \texttt{altitude\_de\_vol} qui prend en argument la liste des termes de la liste et qui renvoie la plus haute valeur.
\item Lister les altitudes de vol de tous les nombres de 2 à 50.
\end{enumerate}
\item
\begin{enumerate}
\item Écrire une fonction \texttt{temps\_en\_altitude} qui prend en argument la liste des termes de la liste et qui renvoie le nombre de terme plus haut que le premier terme de la liste.
\item Lister les temps en altitude de tous les nombres entre 2 et 50.
\end{enumerate}
\end{enumerate}
\end{exercise}