\n",
"Exercice 2 :\n",
"On considère la suite définie par $u_n = \\dfrac{10}{n}$ pour $n\\geqslant 1$. Afficher les 20 premiers termes de cette suite.\n",
"
\n",
"Exercice 3 : un classique, les suites récurrentes \n",
"On considère la suite $(u_n)_{n\\in \\mathbb N}$ définie par $u_0=0$ et, pour tout entier naturel $n$, $u_{n+1} = \\sqrt{u_n+4n}$.\n",
"\n",
"
Sur feuille, compléter le tableau des calculs successifs à réaliser pour calculer $u_3$.\n",
"
\n",
"
Écrire un programme qui, étant donné un entier naturel $n$, calcule et affiche la valeur de $u_n$.\n",
" \n",
" On vérifiera que $u_{10}\\approx 6.492$.\n",
"
\n",
"
Modifier le programme pour qu'il affiche tous les termes jusqu'à $u_n$.
\n",
"
Déterminer le premier entier naturel $n$ tel que $u_n \\geqslant 30$.\n",
" \n",
" La réponse est $n=219$.\n",
"
\n",
"Exercice 7\n",
" \n",
"On appelle suite de Syracuse toute suite d'entiers naturels\n",
"\\((u_n)_{n\\in\\mathbb N}\\) définie de la manière suivante :\n",
"\\(u_0\\in\\mathbb N^*\\) et pour tout entier naturel \\(n\\) :\n",
"\n",
"$$u_{n+1} = \n",
"\\begin{cases} \n",
"\\dfrac{u_n}2 &\\text{ si } u_n \\text{ est pair;}\\\\[3mm]\n",
"3u_n+1&\\text{ si } u_n \\text{ est impair.}\\\\\n",
"\\end{cases}\n",
"$$\n",
" \n",
"\n",
"
La division euclidienne peut-être obtenue avec les commandes suivantes :\n",
" \n",
" a // b : quotient a % b : reste\n",
" \n",
"En déduire une façon de tester si un entier $n$ est pair (on écrira un booléen).
\n",
"
Afficher les 25 premiers termes de la suite en partant de\n",
" $u_0 = 15$.
\n",
"Exercice 8 : programmons un petit jeu ! \n",
"\n",
"
Le jeu que nous allons programmer demande aux joueurs d'intervenir en cours de partie pour donner à l'ordinateur une valeur. Pour cela, nous allons utiliser la fonction input.\n",
"
\n",
"
Instruction : input(prompt)
\n",
"
Paramètre : prompt, une chaîne de caractères représentant un message à afficher avant la saisie
\n",
"
Sortie : une chaîne de caractères
\n",
"
\n",
" Exécuter les cellules suivantes pour comprendre le fonctionnement de input.\n",
"
\n",
"\n",
"
"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "varied-aquatic",
"metadata": {},
"outputs": [],
"source": [
"x = input('Quel est votre prénom ? ')\n",
"print('Bonjour ' + x) "
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "sapphire-height",
"metadata": {},
"outputs": [],
"source": [
"valeur = input('Saississez un nombre : ')\n",
"print(valeur)\n",
"print(type(valeur))"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "dangerous-poster",
"metadata": {},
"outputs": [],
"source": [
"valeur = valeur + 1"
]
},
{
"cell_type": "markdown",
"id": "known-occurrence",
"metadata": {},
"source": [
"La sortie d'un input est une chaîne de caractères, même si l'utilisateur a saisi un nombre.\n",
"\n",
"Pour pouvoir manipuler la valeur saisie comme un nombre, il faut la *convertir*."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "reasonable-roulette",
"metadata": {},
"outputs": [],
"source": [
"valeur = input('Saississez une valeur réelle : ')\n",
"valeur = float(valeur)\n",
"print(valeur)\n",
"print(type(valeur))"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "intelligent-batch",
"metadata": {},
"outputs": [],
"source": [
"valeur = valeur + 1"
]
},
{
"cell_type": "markdown",
"id": "hawaiian-firewall",
"metadata": {},
"source": [
"On peut aussi convertir en *int* si la valeur à saisir est entière."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "continued-traveler",
"metadata": {},
"outputs": [],
"source": [
"valeur = input('Saississez une valeur entière : ')\n",
"valeur = int(valeur)\n",
"print(valeur)\n",
"print(type(valeur))"
]
},
{
"cell_type": "markdown",
"id": "automatic-cisco",
"metadata": {},
"source": [
"
\n",
"Exercice 8 (suite) \n",
"On souhaite programmer le jeu de Nim (ou jeu des bâtons). Au début, on dispose\n",
"de 20 bâtons alignés. Les deux joueurs vont, à tour de rôle, enlever 1, 2 ou 3 bâtons. Le joueur qui laisse 1 bâton à la fin a gagné (autrement dit, celui qui prend le dernier bâton a perdu).\n",
"\n",
"
On définit une variable joueur égale à 1 ou 2 (numéro du joueur dont c’est le tour). Écrire une instrution d’une ligne permettant de passer d’un joueur à l’autre :\n",
"
\n",
"
si joueur = 1, le résultat doit être joueur = 2;
\n",
"
si joueur = 2, le résultat doit être joueur = 1.
\n",
"
\n",
"
\n",
"
Programmer le jeu. À chaque tour, on affichera ’Joueur 1’ ou ’Joueur 2’ puis on lui demandera de saisir le nombre de bâtons qu’il souhaite enlever et enfin le nombre de bâtons restant. Le jeu s’arrête quand il reste un seul bâton. On affichera le numéro du gagnant.\n",
"