Feat: TST somme suite programmation
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
29071effd8
commit
1f5184fc59
14600
TST/09_Somme_suites/1I_boucle_accumulateurs.html
Normal file
14600
TST/09_Somme_suites/1I_boucle_accumulateurs.html
Normal file
File diff suppressed because one or more lines are too long
261
TST/09_Somme_suites/1I_boucle_accumulateurs.ipynb
Normal file
261
TST/09_Somme_suites/1I_boucle_accumulateurs.ipynb
Normal file
@ -0,0 +1,261 @@
|
|||||||
|
{
|
||||||
|
"cells": [
|
||||||
|
{
|
||||||
|
"cell_type": "markdown",
|
||||||
|
"metadata": {},
|
||||||
|
"source": [
|
||||||
|
"# Boucles et accumulateurs\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"Dans ce TP, nous allons travailler la boucle `for` puis nous allons voir comment les utiliser pour faire des **accumulateurs**."
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "markdown",
|
||||||
|
"metadata": {},
|
||||||
|
"source": [
|
||||||
|
"## La boucle `for`\n",
|
||||||
|
"\n",
|
||||||
|
"Nous les avons déjà rencontré. Voici l'exemple le plus simple que l'on puisse imaginer."
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"for i in range(10):\n",
|
||||||
|
" print(i)"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "markdown",
|
||||||
|
"metadata": {},
|
||||||
|
"source": [
|
||||||
|
"1. Lancer le programme pour expliquer ce qu'il fait. Que représente `i`? Que fait la commande `range(10)`?\n",
|
||||||
|
"\n",
|
||||||
|
"2. Ci-dessous, vous trouverez un nouveau programme. Avant de l'exécuter, faire le tableau des variables pour deviner ce qu'il fait."
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"a = 0\n",
|
||||||
|
"for i in range(4):\n",
|
||||||
|
" print(i**2)\n",
|
||||||
|
" a = a + i\n",
|
||||||
|
"print(a)"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "markdown",
|
||||||
|
"metadata": {},
|
||||||
|
"source": [
|
||||||
|
"3. Même question pour le programme ci-dessous."
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"u = 10\n",
|
||||||
|
"for i in range(3):\n",
|
||||||
|
" print(u)\n",
|
||||||
|
" u = u * 1.2\n",
|
||||||
|
"print(u)"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "markdown",
|
||||||
|
"metadata": {},
|
||||||
|
"source": [
|
||||||
|
"Pour un affichage plus pratique, on peut le réécrire."
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"u = 10\n",
|
||||||
|
"for i in range(3):\n",
|
||||||
|
" print(\"u\", i, \" = \", u)\n",
|
||||||
|
" u = u * 1.2\n",
|
||||||
|
"print(\"u\", i, \" = \", u)"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "markdown",
|
||||||
|
"metadata": {},
|
||||||
|
"source": [
|
||||||
|
"4. Soit $u_n$ une suite géométrique de raison $q=2$ et de premier terme $u_0=1$. Écrire une programme qui calcule $u_{100}$ en utilisant une boucle `for`."
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "markdown",
|
||||||
|
"metadata": {},
|
||||||
|
"source": [
|
||||||
|
"5. Soit $u_n$ une suite définie par la relation de récurence $u_{n+1} = 0.9u_n + 10$ et de premier terme $u_0 = 200$. Écrire un programme qui calcule $u_{50}$ en utilisant une boucle `for`."
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "markdown",
|
||||||
|
"metadata": {},
|
||||||
|
"source": [
|
||||||
|
"## Accumulateur\n",
|
||||||
|
"\n",
|
||||||
|
"Il arrive que l'on ne s'intéresse non pas à une valeur particulière mais à l'accumulation de toutes les valeurs précédentes. Pour programmer cela, on utilise un accumulateur comme présenter dans le programme suivant."
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"u = 10\n",
|
||||||
|
"S = u\n",
|
||||||
|
"for i in range(4):\n",
|
||||||
|
" u = u * 0.5\n",
|
||||||
|
" S = S + u\n",
|
||||||
|
"print(S)"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "markdown",
|
||||||
|
"metadata": {},
|
||||||
|
"source": [
|
||||||
|
"1. Faire le tableau des valeurs pour le programme précédent et vérifier que vous obtenez bien le même résultat.\n",
|
||||||
|
"2. Soit $u_n$ une suite géométrique de raison $q=2$ et de premier terme $u_0=1$. Écrire une programme qui ajoute toutes les valeurs de $u_n$ jusqu'à $u_{10}$."
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "markdown",
|
||||||
|
"metadata": {},
|
||||||
|
"source": [
|
||||||
|
"3. Écrire une programme qui ajoute le carré des nombres de 1 à 100."
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "markdown",
|
||||||
|
"metadata": {},
|
||||||
|
"source": [
|
||||||
|
"4. Écrire un programme qui ajoute l'inverse des nombres entre 1 et 500."
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "markdown",
|
||||||
|
"metadata": {},
|
||||||
|
"source": [
|
||||||
|
"## Dossier en groupe\n",
|
||||||
|
"\n",
|
||||||
|
"Les cellules ci-dessous sont libres. Vous pouvez les utiliser pour écrire des programmes qui vous semblent pertinents pour le sénario choisi.\n"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": []
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"metadata": {
|
||||||
|
"kernelspec": {
|
||||||
|
"display_name": "Python 3",
|
||||||
|
"language": "python",
|
||||||
|
"name": "python3"
|
||||||
|
},
|
||||||
|
"language_info": {
|
||||||
|
"codemirror_mode": {
|
||||||
|
"name": "ipython",
|
||||||
|
"version": 3
|
||||||
|
},
|
||||||
|
"file_extension": ".py",
|
||||||
|
"mimetype": "text/x-python",
|
||||||
|
"name": "python",
|
||||||
|
"nbconvert_exporter": "python",
|
||||||
|
"pygments_lexer": "ipython3",
|
||||||
|
"version": "3.9.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nbformat": 4,
|
||||||
|
"nbformat_minor": 4
|
||||||
|
}
|
@ -2,7 +2,7 @@ Somme suites
|
|||||||
############
|
############
|
||||||
|
|
||||||
:date: 2021-02-07
|
:date: 2021-02-07
|
||||||
:modified: 2021-03-04
|
:modified: 2021-03-06
|
||||||
:authors: Benjamin Bertrand
|
:authors: Benjamin Bertrand
|
||||||
:tags: Suites, Analyse, Tableur, Python
|
:tags: Suites, Analyse, Tableur, Python
|
||||||
:category: TST
|
:category: TST
|
||||||
@ -22,7 +22,6 @@ Comparaison de deux situations (arithmétique et géométrique) où il faudra no
|
|||||||
|
|
||||||
Séance de programmation où l'on va travailler sur les boucles et les accumulateurs pour calculer des sommes. On invitera les élèves à utiliser une feuille de papier pour vérifier les calculs faits par l'ordinateur.
|
Séance de programmation où l'on va travailler sur les boucles et les accumulateurs pour calculer des sommes. On invitera les élèves à utiliser une feuille de papier pour vérifier les calculs faits par l'ordinateur.
|
||||||
|
|
||||||
Les élèves retrouveront les scénarios de l'étape 1 pour faire les calculs avec l'outil de programmation.
|
|
||||||
|
|
||||||
Bilan: algorithme d'accumulations et symbole somme
|
Bilan: algorithme d'accumulations et symbole somme
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user