2020-2021/TST/02_Modelisation_suite/3E_python.ipynb

422 lines
9.5 KiB
Plaintext

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Python et suites"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Python comme une calculatrice: introduction à Python\n",
"\n",
"Dans les encadrés, il y a du code écrit dans le language python. Pour faire **exécuter** le code, il vous faudra cliquer dessus puis appuyer sur `shift+entrer` de votre clavier. Le résultat du programme s'affichera alors en dessous."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"- Exécuter le programme ci dessous. Que fait-il?"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"print(\"Bonjour\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"`print(...)` est la fonction python qui fera afficher ce qu'il y a entre parenthèses.\n",
"\n",
"- Dans l'encadré ci-dessous, écrire une programme python pour qu'il affiche votre nom. Attention aux détails!!"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"En plus de savoir afficher des mots, Python peut être utilisé comme calculatrice.\n",
"\n",
"- Exécuter le programme ci-dessous. Que fait-il?"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"print(2+2)\n",
"print(4*3)\n",
"print(2+3*5 - (5/2))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"- Utiliser l'encadré ci-dessous pour calculer u(10) quand u est une suite arithmétique de raison r=4 et de premier terme u(0)=1."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"- Même questions pour calculer v(6) quand v est une suite géométrique de raison q=1.2 et de premier terme u(0)=10."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Python comme une calculatrice avec mémoire: Variables\n",
"\n",
"Il serait pratique dans le calcul des suites que Python se souvienne du résultat précédent pour faire le calcul d'après.\n",
"\n",
"Pour faire cela, on utilise des **variables** en programmation.\n",
"\n",
"- Exécuter le programme suivant et expliquer ce qui se passe à chaque ligne"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"a = 1\n",
"b = 2\n",
"print(a+b)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"- Exécuter le programme suivant et expliquer ce qui se passe à chaque ligne"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"u = 1\n",
"print(u)\n",
"u = u + 2\n",
"print(u)\n",
"u = u + 2\n",
"print(u)\n",
"u = u + 2\n",
"print(u)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"- En vous inspirant de ce qui a été fait au dessus, calculer u(4) quand u est une suite arithmétique de raison r = -1 et de premier terme u(0) = 10"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"- Calculer v(15) quand u est une suite géométrique de raison q = 0.8 et de premier terme u(0) = 100"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Pour la nouvelle année, Bob décide d'arrêter de fumer. Pour le moment, il fume 80 cigarettes par semaine. Il souhaite réduire sa consommation de 6 cigarettes par semaine.\n",
"\n",
"- Modéliser la situation avec une suite en précisant la nature, la raison et le premier terme.\n",
"- Combien de cigarettes va-t-il fumer après 5 semaines?"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"- Combien de semaines lui faudra-t-il pour complètement arréter?"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Répéter les même calculs: les boucles for\n",
"\n",
"On remarque que l'on se répète beaucoup pour faire les calculs. Pour éviter cela, on peut utiliser des **boucles** en python. \n",
"\n",
"Pour le moment nous n'étudierons que les boucles **for**.\n",
"\n",
"Voila comment économiser des lignes de programmes."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"u = 1\n",
"print(u)\n",
"\n",
"u = u + 2\n",
"print(u)\n",
"\n",
"u = u + 2\n",
"print(u)\n",
"\n",
"u = u + 2\n",
"print(u)\n",
"\n",
"u = u + 2\n",
"print(u)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"On remarque d'après les deux premières lignes, les lignes suivantes se répètent 4 fois. Le programme précédent peut alors se réécrire"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"u = 1\n",
"print(u)\n",
"\n",
"for i in range(4):\n",
" u = u + 2\n",
" print(u)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"- Décrire chaque ligne du programme précédent."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"- Calculer v(5) puis v(100) quand u est une suite géométrique de raison q = 0.7 et de premier terme u(0) = 100"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"On place 100€ à la banque. Le banquier nous explique que les intérets vont faire augmenter cette somme de 2% par an.\n",
"\n",
"- Par combien va être multiplié cette quantité d'argent chaque année?\n",
"- Modéliser cette situation avec une suite en précisant la nature, la raison et le premier terme.\n",
"- Calculer le solde de ce compte après 10ans"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"- Combien d'année devra-t-on attendre avant que ce solde ne depasse 1000€?"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Répeter jusqu'à ce que: boucle while\n",
"\n",
"Comme dans la questions précédente, il est interessant de répeter une action **jusqu'à ce que** quelque chose soit validé (dans la question c'était dépasser 1000€). Pour cela, il existe un deuxième type de boucle: **while** (tant que).\n",
"\n",
"Par exemple, on peut répondre à la question précédente avec le programme suivant:"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"117\n"
]
}
],
"source": [
"u = 100\n",
"annee = 0\n",
"while u < 1000:\n",
" annee = annee + 1\n",
" u = u * 1.02\n",
"print(annee)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"- Décrire chaque ligne du programme précédent."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Un transporteur a acheté en 2006 un véhicule de 9tonnes au prix de 50200€. Compte tenu de l'utilisation, le véhicule perd 20% de sa valeur chaque année.\n",
"\n",
"- Calculer la valeur du véhicule en 2007, 2008."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"- Modéliser la valeur du véhicule par une suite dont vous préciserez la nature, la raison et le premier terme.\n",
"- Quelle sera la valeur du véhicule en 2012?"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"- Dans combien d'année, la valeur sera inférieur à 1000€?"
]
},
{
"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.8.5"
}
},
"nbformat": 4,
"nbformat_minor": 4
}