Algorithmique et programmation (Python)
- 1
Exercice 1
FacileOn exécute les affectations suivantes en Python :
a = 3 b = 2.5 c = True d = "bonjour"Pour chacune des variables
a,b,cetd, indiquer son type parmi : entier (int), flottant (float), booléen (bool), chaîne de caractères (str).Voir un indice
Un nombre sans virgule est un entier, un nombre à virgule est un flottant,
True/Falseest un booléen, un texte entre guillemets est une chaîne.Voir la correction
a = 3est un entier (int).b = 2.5est un flottant (float), à cause du point décimal.c = Trueest un booléen (bool).d = "bonjour"est une chaîne de caractères (str), car le texte est entre guillemets.
- 2
Exercice 2
FacileOn considère la séquence d'instructions écrite en langage naturel (la flèche désigne l'affectation) :
Ces instructions sont exécutées dans l'ordre, de gauche à droite. Déterminer les valeurs finales des variables et .
Voir un indice
Suivre les instructions une par une, en mettant à jour un tableau des valeurs. Attention : est calculé avant que ne change.
Voir la correction
On suit la séquence :
- : donc .
- : avec la valeur actuelle , on obtient .
- : prend la valeur .
Valeurs finales : et .
- 3
Exercice 3
FacileÉcrire en Python une fonction
signe(x)qui prend en argument un nombrexet renvoie la chaîne"positif"sixest strictement positif,"negatif"s'il est strictement négatif, et"nul"s'il vaut .Voir un indice
Utiliser une instruction conditionnelle avec
if,elifetelse. Ne pas oublier les deux-points et l'indentation.Voir la correction
def signe(x): if x > 0: return "positif" elif x < 0: return "negatif" else: return "nul"Par exemple
signe(4)renvoie"positif",signe(-2)renvoie"negatif"etsigne(0)renvoie"nul". - 4
Exercice 4
FacileOn donne la fonction Python suivante :
def somme(): S = 0 for i in range(1, 11): S = S + i return S- Que contient
range(1, 11): quelles valeurs prend la variablei? - Que renvoie l'appel
somme()?
Voir un indice
range(1, 11)parcourt les entiers de inclus à exclu. La variableSaccumule la somme au fil de la boucle.Voir la correction
range(1, 11)fournit les entiers (la borne est exclue).- La boucle ajoute successivement ces entiers à
S. On calcule donc . L'appelsomme()renvoie .
- Que contient
- 5
Fonction Python testant un multiple
Moyen- Écrire une fonction
est_multiple(a, b)qui renvoieTruesi l'entieraest un multiple de l'entierb(avecbnon nul), etFalsesinon. - Que renvoient
est_multiple(12, 4)etest_multiple(13, 4)?
On rappelle que l'opérateur
a % bdonne le reste de la division euclidienne deaparb.Voir un indice
est multiple de exactement lorsque le reste vaut . La comparaison
a \% b == 0est déjà un booléen que l'on peut renvoyer directement.Voir la correction
- Écrire une fonction
- 6
Plus grand multiple inférieur à
MoyenOn cherche le plus grand multiple d'un entier
a(strictement positif) qui soit inférieur ou égal à un entierb.- Justifier que ce nombre est égal à
b - (b % a). - Écrire une fonction
plus_grand_multiple(a, b)renvoyant ce nombre. - Donner le résultat pour
a = 7etb = 50.
Voir un indice
Comme , si est le reste, alors , donc est un multiple de , et c'est le plus grand qui ne dépasse pas .
Voir la correction
- Justifier que ce nombre est égal à
- 7
Encadrement de par balayage
MoyenOn veut obtenir un encadrement de à près par balayage. On utilise la fonction :
def balayage(): x = 1 while (x + 0.1)**2 <= 2: x = x + 0.1 return x- Expliquer le rôle de la condition de la boucle
while. - En calculant et , déterminer la valeur renvoyée par
balayage(). - Quel encadrement de obtient-on ?
Voir un indice
La boucle avance par pas de tant que ne dépasse pas . On s'arrête juste avant que le carré ne dépasse .
Voir la correction
- Expliquer le rôle de la condition de la boucle
- 8
Exercice 8
DifficileOn simule le lancer d'un dé équilibré à six faces à l'aide de la fonction
randintdu modulerandom:random.randint(1, 6)renvoie un entier au hasard entre et inclus.- Écrire une fonction
moyenne_des(n)qui simulenlancers, calcule la somme des résultats et renvoie leur moyenne. - De quelle valeur cette moyenne devrait-elle se rapprocher quand
ndevient grand ? Justifier par un calcul.
Voir un indice
Voir la correction
- Écrire une fonction
- 9
Exercice 9
DifficileOn veut estimer la moyenne et l'écart type des résultats d'un dé équilibré par simulation, sans utiliser de liste. On rappelle que l'écart type vérifie où la variance s'obtient par , en notant la moyenne.
- Compléter le principe : on accumule dans
Sla somme des tirages et dansS2la somme de leurs carrés. - Écrire une fonction
stats(n)renvoyant le couple(m, sigma). - La variance théorique du dé vaut . En déduire une valeur approchée de l'écart type théorique attendu.
Voir un indice
Voir la correction
- Compléter le principe : on accumule dans
