Partie 2 · exercices 16 à 24

Calculer avec Python

Opérations, division euclidienne, puissances, racines

Python est une calculatrice très puissante. Dans cette partie, on travaille surtout dans la console, puis dans de petits programmes.

CoursLes opérations

OpérationEn PythonExempleRésultat
addition+7 + 29
soustraction-7 - 25
multiplication*7 * 214
division/7 / 23.5
puissance**7 ** 249
quotient euclidien//7 // 23
reste euclidien%7 % 21

Les priorités de calcul sont les mêmes qu'en mathématiques, et on utilise des parenthèses si besoin : (2 + 3) * 4 donne 20.

À retenir : la division euclidienne

Pour deux entiers \(a\) et \(b\) avec \(b > 0\), il existe un unique quotient \(q\) et un unique reste \(r\) tels que :

\[a = b \times q + r \quad \text{avec} \quad 0 \leqslant r < b\]

En Python : q = a // b et r = a % b.

Exemple : \(17 = 5 \times 3 + 2\), donc 17 // 5 donne 3 et 17 % 5 donne 2.

Vigilance

La puissance s'écrit **, jamais ^ : 5^2 ne provoque pas d'erreur mais donne 7 !

Les nombres décimaux s'écrivent avec un point : 3.5 et non 3,5.

/ donne toujours un nombre décimal : 8 / 2 donne 4.0.

CoursTrès grands et très petits nombres

Python écrit les nombres très grands ou très petits en notation scientifique : 4.562e7 signifie \(4{,}562 \times 10^{7}\) et 5.12e-07 signifie \(5{,}12 \times 10^{-7}\). On peut aussi taper les nombres ainsi : 3E8 pour \(3 \times 10^{8}\).

Pour les racines carrées, on charge le module math :

console
>>> from math import *
>>> sqrt(57)
7.54983443527075
>>> pi
3.141592653589793

ExercicesCalculer dans la console

EX 16Je m'entraîne 🌶️prise en main

Exercice 16 — Échauffement

Dans la console, calcule :

  1. \(2^{10}\)
  2. \(125^{-3}\)
  3. \(7 \div 2\) puis le quotient euclidien de 7 par 2
  4. 5**2 puis 5^2. Que remarques-tu ?

Note tes résultats en commentaire dans NOM_Prenom_ex16.py.

Indice

\(125^{-3}\) s'écrit 125**(-3), avec des parenthèses autour de l'exposant négatif.

💾 NOM_Prenom_ex16.py

EX 17Je m'entraîne 🌶️prise en main

Exercice 17 — Division euclidienne

  1. Détermine le quotient et le reste de la division euclidienne de 457 895 par 124.
  2. Vérifie dans la console que 124 * q + r redonne bien 457 895.
Indice

457895 // 124 et 457895 % 124. Attention : pas d'espace à l'intérieur d'un nombre.

💾 NOM_Prenom_ex17.py

EX 18Je m'entraîne 🌶️🌶️application

Exercice 18 — Un résultat bizarre

  1. Calcule \(18^{18} \times 18^{-18}\) dans la console. Quel résultat devrait-on obtenir mathématiquement ?
  2. Quel résultat Python affiche-t-il ? Propose une explication.
Indice 1

\(a^{n} \times a^{-n} = a^{0}\).

Indice 2

Python ne garde qu'un nombre limité de chiffres pour les nombres décimaux.

💾 NOM_Prenom_ex18.py

EX 19Je m'entraîne 🌶️🌶️application

Exercice 19 — Prévoir l'affichage

Sans les exécuter, prévois ce qu'affiche chacun de ces trois programmes. Vérifie ensuite.

programme A
x = 10
y = 2
print(x + y)
programme B
x = 10
y = x + 5
print(x + 2 * y)
programme C
x = 10
y = 2 * x
print(3 * y)
Indice

Suis les variables ligne par ligne, comme un détective : que contient y après la 2e ligne ?

💾 NOM_Prenom_ex19.py

EX 20Je m'entraîne 🌶️🌶️application

Exercice 20 — Des secondes aux heures

Une course d'endurance a duré 55 555 secondes.

  1. Avec // et %, convertis cette durée en heures, minutes et secondes.
  2. Écris un programme qui range 55555 dans une variable duree puis affiche les trois résultats.
Indice 1

1 h = 3600 s. 55555 // 3600 donne le nombre d'heures entières.

Indice 2

Le reste 55555 % 3600 est un nombre de secondes, à convertir à son tour en minutes et secondes (1 min = 60 s).

💾 NOM_Prenom_ex20.py

EX 21Je m'entraîne 🌶️🌶️application

Exercice 21 — Racines carrées

  1. Après from math import *, calcule \(\sqrt{25}\).
  2. Calcule \(\sqrt{3^{2} + 5^{2}}\).
  3. Un triangle rectangle a des côtés de l'angle droit de 3 cm et 5 cm. Que représente le résultat de la question 2 ?
Indice

sqrt(3**2 + 5**2) : tout ce qui est sous la racine va entre les parenthèses de sqrt.

💾 NOM_Prenom_ex21.py

EX 22Je m'entraîne 🌶️🌶️application

Exercice 22 — L'année-lumière

La lumière parcourt environ \(3 \times 10^{8}\) mètres par seconde. Une année compte 365,25 jours.

  1. Écris dans la console le calcul du nombre de secondes dans une année.
  2. Calcule la distance parcourue par la lumière en une année, en mètres, et écris-la en notation scientifique.
Indice 1

Nombre de secondes : 365.25 * 24 * 3600.

Indice 2

Distance = vitesse × durée : 3E8 * 365.25 * 24 * 3600.

💾 NOM_Prenom_ex22.py

EX 23Je m'entraîne 🌶️🌶️🌶️plusieurs étapes

Exercice 23 — Les chiffres d'un nombre

On range n = 2026.

  1. Que donne n % 10 ? Et (n // 10) % 10 ?
  2. Trouve les instructions qui donnent le chiffre des centaines, puis celui des milliers.
  3. Avec %, teste si 2026 est divisible par 2, 3, 5, 7 et 11.
Indice 1

Un nombre est divisible par \(b\) quand le reste de sa division par \(b\) vaut 0.

Indice 2

n // 10 « efface » le chiffre des unités : 2026 devient 202.

💾 NOM_Prenom_ex23.py

EX 24Je m'entraîne 🌶️🌶️🌶️plusieurs étapes

Exercice 24 — Échanger deux variables

On veut échanger le contenu de deux variables : à la fin, a doit valoir 8 et b doit valoir 3.

echange_rate.py
a = 3
b = 8
a = b
b = a
print(a, b)
  1. Qu'affiche ce programme ? Pourquoi l'échange a-t-il échoué ?
  2. Corrige-le en utilisant une troisième variable c.
Indice 1

Après la ligne a = b, que contient a ? L'ancienne valeur 3 existe-t-elle encore quelque part ?

Indice 2

Mets la valeur de a à l'abri dans c avant de l'écraser.

💾 NOM_Prenom_ex24.py

À retenirSynthèse

Ce que je sais faire

  • Calculer avec + - * / ** en respectant les priorités.
  • Obtenir quotient et reste euclidiens avec // et %.
  • Lire et écrire la notation scientifique : 3E8, 5.12e-07.
  • Utiliser sqrt après from math import *.
  • Savoir qu'un calcul décimal est souvent approché.