Adloun

enseignement scientifique (première) · Chapitre 13 · Exercice supplémentaire

Un programme qui calcule une dose

Entendre et protéger son audition · niveau 2

Énoncé

On étudie le programme suivant.


def duree_max(niveau_db):
    """Duree quotidienne admissible, en heures, a partir de 85 dB / 8 h."""
    return 8 * 0.5 ** ((niveau_db - 85) / 3)

def dose(journee):
    """journee : liste de couples (niveau en dB, duree en heures)."""
    total = 0.0
    for niveau, duree in journee:
        if niveau > 80:                 # en dessous, on neglige
            total += duree / duree_max(niveau)
    return total

ma_journee = [(88, 2.0), (94, 0.5), (100, 0.25), (91, 0.75)]
print("duree max a 100 dB :", round(duree_max(100)*60), "min")
print("dose du jour :", round(dose(ma_journee)*100), "% de la dose admissible")

Calcul d'une dose sonore quotidienne : le programme applique la règle des trois décibels, sans autre modèle.

1. Qu'affiche la première ligne de résultat ? 2. Qu'affiche la seconde ? 3. Le test if niveau > 80 est-il justifié ? Que se passerait-il sans lui ? 4. Un élève ajoute (75, 8.0) à la liste et s'étonne que le résultat ne bouge pas. Expliquer, puis dire en quoi ce programme reste un modèle et non la réalité.

Un exercice à chercher : son corrigé n'est pas publié. Sur Adloun, le tuteur guide par questions, sans donner la réponse.

100 % gratuit

Cherche cet exercice avec le tuteur

Commencer avec le tuteur, sans compte

Sans compte : le cours, 2 minutes de podcast et de vidéo et un exercice avec le tuteur. Pour tout le reste : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Chercher avec le tuteur →