Algorithmique et programmation (Python)
🟡 MoyenLes énoncés sont gratuits, et les 2 premiers corrigés sont offerts. Les autres corrigés détaillés sont réservés aux abonnés.
- 1
On simule la somme de deux dés équilibrés à 6 faces :
import random
def somme_deux_des():
return random.randint(1, 6) + random.randint(1, 6)
a) Entre quelles valeurs se trouve le résultat renvoyé ?
b) Quelle somme a la plus grande probabilité d'apparaître ? Justifie.Voir le corrigéoffert
a) random.randint(1, 6) renvoie un entier entre 1 et 6 INCLUS. La plus petite somme possible est 1 + 1 = 2, la plus grande est 6 + 6 = 12. Le résultat est donc un entier entre 2 et 12.
b) Chaque dé a 6 faces, ce qui donne 6 × 6 = 36 tirages également possibles. Comptons ceux qui donnent chaque somme : la somme 7 est obtenue par (1,6), (2,5), (3,4), (4,3), (5,2), (6,1), soit 6 façons — c'est le maximum. Aucune autre somme n'a autant de possibilités (par exemple 2 n'en a qu'une : (1,1)).
La somme la plus probable est donc 7, avec une probabilité de = . - 2
Que compte ce programme ? Donne la valeur finale de c.
c = 0
for n in range(1, 101):
if n % 7 == 0:
c = c + 1
print(c)Voir le corrigéoffert
La boucle parcourt les entiers de 1 à 100 (range(1, 101), donc 101 exclu). À chaque tour, si n est divisible par 7 (reste nul), on ajoute 1 au compteur.
Le programme compte donc les multiples de 7 entre 1 et 100 : ce sont 7, 14, 21, …, 98.
Pour les compter, on divise le plus grand par 7 : 98 ÷ 7 = 14.
Donc c = 14, et print(c) affiche 14.
Vérifions : le plus grand multiple de 7 inférieur ou égal à 100 est 98, et il y a bien 14 multiples de 7 dans cet intervalle. - 3
Que contient la liste L construite par cette compréhension ?
L = [n*n - 1 for n in range(1, 8) if n % 2 == 1]🔒 Corrigé réservé aux abonnésS'abonner → - 4
On répète 20 fois une épreuve qui réussit avec probabilité p = 0,3, et on compte les succès :
import random
def experience():
s = 0
for i in range(20):
if random.random() < 0.3:
s = s + 1
return s
a) Quelle loi suit la variable renvoyée par experience() ?
b) Quelle est l'espérance du nombre de succès ? Autour de quelle valeur s se situe-t-il ?🔒 Corrigé réservé aux abonnésS'abonner → - 5
On donne la fonction :
def compte(L, v):
c = 0
for x in L:
if x == v:
c = c + 1
return c
Que renvoie compte([2, 5, 2, 7, 2, 5], 2) ?🔒 Corrigé réservé aux abonnésS'abonner → - 6
On donne la fonction :
def somme_chiffres(n):
s = 0
while n > 0:
s = s + n % 10
n = n // 10
return s
Que renvoie somme_chiffres(2734) ?🔒 Corrigé réservé aux abonnésS'abonner → - 7
On dispose des notes d'un échantillon d'élèves : . Écris une fonction moyenne(L) qui calcule la moyenne des nombres d'une liste, puis applique-la à cet échantillon.
🔒 Corrigé réservé aux abonnésS'abonner → - 8
Écris une fonction indice_max(L) qui renvoie l'INDICE (la position) du plus grand élément d'une liste L. Applique-la à .
🔒 Corrigé réservé aux abonnésS'abonner → - 9
On considère la suite définie par et .
a) Écris une fonction terme(n) qui renvoie .
b) Calcule , et à la main.🔒 Corrigé réservé aux abonnésS'abonner → - 10
La suite est définie par = 1000 et = 0,8 . On cherche le plus petit n tel que < 100 :
def seuil():
u = 1000
n = 0
while u >= 100:
u = 0.8 * u
n = n + 1
return n
Déroule la boucle et donne la valeur renvoyée.🔒 Corrigé réservé aux abonnésS'abonner →
Comment ça s'est passé ?
Retrouve tout dans Mon suivi.
