nsi:premiere:variables_et_calculs
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| nsi:premiere:variables_et_calculs [2021/09/07 16:02] – goupillwiki | nsi:premiere:variables_et_calculs [2024/08/21 19:29] (Version actuelle) – goupillwiki | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ====== Variables et calculs de base ====== | ====== Variables et calculs de base ====== | ||
| - | {{ : | + | {{ : |
| ===== Les variables ===== | ===== Les variables ===== | ||
| Ligne 55: | Ligne 55: | ||
| <WRAP important> | <WRAP important> | ||
| Le '' | Le '' | ||
| - | '' | + | '' |
| + | |||
| + | Si on veut **savoir si** '' | ||
| </ | </ | ||
| Ligne 68: | Ligne 70: | ||
| Quand on écrit '' | Quand on écrit '' | ||
| - | ==== Exercice | + | ===== Les types de base ===== |
| - | Quel est le contenu de '' | + | Le programme |
| + | |||
| + | Pour l'instant, on se contente | ||
| <WRAP group> | <WRAP group> | ||
| - | < | + | < |
| + | == Entiers : int == | ||
| <code python> | <code python> | ||
| - | a = 2 | + | >>> |
| - | b = a + 2 | + | >>> |
| - | a = b * 2 | + | <class ' |
| - | b = b + a | + | |
| </ | </ | ||
| </ | </ | ||
| + | <WRAP third column> | ||
| + | == décimaux : float == | ||
| - | <WRAP quarter column> | ||
| <code python> | <code python> | ||
| - | a = 5 | + | >>> |
| - | b = 7 | + | >>> |
| - | a = b | + | <class ' |
| - | b = a | + | |
| </ | </ | ||
| </ | </ | ||
| + | <WRAP third column> | ||
| + | == chaînes de caractères : str == | ||
| - | <WRAP quarter column> | ||
| <code python> | <code python> | ||
| - | a = 5 | + | >>> |
| - | b = 7 | + | >>> |
| - | c = a | + | <class ' |
| - | a = b | + | |
| - | b = c | + | |
| </ | </ | ||
| + | </ | ||
| </ | </ | ||
| - | < | + | Les chaînes sont compliquées, |
| + | |||
| + | < | ||
| <code python> | <code python> | ||
| - | a = 11 | + | >>> |
| - | b = 19 | + | 10715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376 |
| - | b = a + b | + | |
| - | a = b- a | + | |
| - | b = b- a | + | |
| </ | </ | ||
| </ | </ | ||
| - | </ | ||
| - | |||
| ===== Calculs élémentaires ===== | ===== Calculs élémentaires ===== | ||
| Ligne 119: | Ligne 122: | ||
| * '' | * '' | ||
| * '' | * '' | ||
| - | * '' | + | * '' |
| La puissance est notée '' | La puissance est notée '' | ||
| Ligne 126: | Ligne 129: | ||
| >>> | >>> | ||
| 16 | 16 | ||
| + | >>> | ||
| + | 2.0 | ||
| + | >>> | ||
| + | 0.3225806451612903 | ||
| </ | </ | ||
| Ligne 132: | Ligne 139: | ||
| Les calculs sur les nombres entiers ont beaucoup d' | Les calculs sur les nombres entiers ont beaucoup d' | ||
| - | * '' | + | * '' |
| * '' | * '' | ||
| <code python> | <code python> | ||
| - | # 14 = 3*4 + 2 et donc : | + | # 100 = 7*14 + 2 et donc : |
| - | >>> | + | >>> |
| - | 3 | + | 14 |
| - | >>> | + | >>> |
| 2 | 2 | ||
| </ | </ | ||
| - | === Exercice === | + | Si je partage 100 bonbons entre 7 personnes, chacune |
| - | + | ||
| - | {{ : | + | |
| - | + | ||
| - | Dans la grille ci-dessus, chaque ligne comporte 12 colonnes numérotées de 0 à 11. Les lignes sont numérotées à partir de 0. Les cases sont numérotées dans l' | + | |
| - | + | ||
| - | On se demande comment passer facilement de la paire (ligne, colonne) au numéro de case. | + | |
| - | + | ||
| - | Réfléchissez en pensant aux opérateurs '' | + | |
| - | + | ||
| - | Exemples | + | |
| - | - Quels sont les numéros de ligne et colonne des cases 27, 43, 52, 3412 ? | + | |
| - | - Quel est le numéro de la case située ligne 25 et colonne 2 ? | + | |
| - | + | ||
| - | ===== Différentes utilisation de Python ====== | + | |
| - | + | ||
| - | <WRAP info> | + | |
| - | $$IMC = \frac{\text{poids en kg}}{(\text{taille en m})^2}$$ | + | |
| - | </ | + | |
| - | + | ||
| - | ==== Python comme calculatrice ==== | + | |
| - | + | ||
| - | Je souhaite calculer mon IMC. Je mesure 1 m 80, je pèse 80 kg. Je vais faire le calcul avec Python, un peu comme si j' | + | |
| - | + | ||
| - | <code python> | + | |
| - | >>> | + | |
| - | 24.691358024691358 | + | |
| - | </ | + | |
| - | + | ||
| - | ==== Mode progamme, programme à usage unique ==== | + | |
| - | + | ||
| - | Supposons que je veuille garder une trace de mon calcul, je peux l' | + | |
| - | + | ||
| - | === Solution naïve, ne fonctionne pas === | + | |
| - | <code python linenums> | + | |
| - | # imc.py | + | |
| - | 80 / 1.8**2 | + | |
| - | </ | + | |
| - | + | ||
| - | En effet, je vous rappelle qu'en mode programme, le résultat d'un calcul ne s' | + | |
| - | + | ||
| - | === Affichage explicite === | + | |
| - | + | ||
| - | On a donc l' | + | |
| - | + | ||
| - | <code python linenums> | + | |
| - | # calcul de mon imc | + | |
| - | print(80 / 1.8**2) | + | |
| - | </ | + | |
| - | + | ||
| - | Cette fois cela fonctionne, mais le programme est très peu lisible. On ne sait pas à quoi correspondent '' | + | |
| - | + | ||
| - | === Mauvaise idée : les commentaires === | + | |
| - | + | ||
| - | La première idée serait de remplir le programme de commentaires : | + | |
| - | + | ||
| - | <code python linenums> | + | |
| - | # imc.py | + | |
| - | # Je mesure 1.8 m et je pèse 80 kg | + | |
| - | # je calcule l'imc qui vaut taille/ | + | |
| - | print(80 / 1.8**2) | + | |
| - | </ | + | |
| - | + | ||
| - | C'est bien de commenter mais pas n' | + | |
| - | + | ||
| - | === Utiliser des variables bien nommées === | + | |
| - | + | ||
| - | <code python linenums> | + | |
| - | taille = 1.8 | + | |
| - | poids = 80 | + | |
| - | imc = taille / poids**2 | + | |
| - | print(imc) | + | |
| - | </ | + | |
| - | + | ||
| - | Voilà, nous avons obtenu un programme qui fait ce qu'on lui demande et qui est très lisible. On n'aura aucun mal à se rappeler ce que représentent les différents éléments même si on y revient 6 mois plus tard. | + | |
| - | + | ||
| - | <WRAP important> | + | |
| - | Il est indispensable de choisir des **noms explicites** pour les variables. Si une variable contient un poids, on l' | + | |
| - | </ | + | |
| - | + | ||
| - | ==== Mode programme, programme réutilisable ==== | + | |
| - | + | ||
| - | Je souhaite maintenant pouvoir réutiliser mon programme | + | |
| - | + | ||
| - | == Première réponse == | + | |
| - | + | ||
| - | <code python linenums> | + | |
| - | # imc.py réutilisable | + | |
| - | taille = float(input(" | + | |
| - | poids = float(input(" | + | |
| - | imc = taille / poids**2 | + | |
| - | print(imc) | + | |
| - | </ | + | |
| - | + | ||
| - | <WRAP tip> | + | |
| - | '' | + | |
| - | </ | + | |
| - | + | ||
| - | ==== Programme intégré ==== | + | |
| - | + | ||
| - | La solution est tout à fait juste mais elle a un défaut : On a l' | + | |
| - | - lecture des données, | + | |
| - | - calcul de l'imc en fonction des données, | + | |
| - | - affichage du résultat. | + | |
| - | + | ||
| - | Ici les 3 fonctions du programme sont plus ou moins confondues. Pourtant elles sont très différentes. La 1 et la 3 relève de l' | + | |
| - | + | ||
| - | Par exemple, supposons que ma mission est simplement de fournir de quoi calculer l'IMC. Ce sont d' | + | |
| - | + | ||
| - | <code python linenums> | + | |
| - | # imc.py intégré | + | |
| - | + | ||
| - | def calc_imc(taille, | + | |
| - | """ | + | |
| - | taille: taille de l' | + | |
| - | poids: poids de l' | + | |
| - | renvoi l' | + | |
| - | """ | + | |
| - | imc = poids / taille**2 | + | |
| - | return imc | + | |
| - | </ | + | |
| - | + | ||
| - | Mon programme apparaît alors comme un simple module qui sera intégré dans un projet plus grand. Les autres membres de l' | + | |
| - | + | ||
| - | <WRAP important> | + | |
| - | La fonction '' | + | |
| - | </ | + | |
nsi/premiere/variables_et_calculs.1631023357.txt.gz · Dernière modification : de goupillwiki
