Maths & NSI

Baccalauréat — Épreuve pratique — 2024 — NSI

Épreuve pratique NSI 2024 — Sujet 29 : moyenne pondérée, triangle de Pascal

Sujet

Épreuve pratique de NSI, session 2024 — sujet n°29 de la banque nationale. Durée : 1 heure, sur ordinateur. Le candidat traite les deux exercices, notés chacun sur 10 points.

Exercice 1 — moyenne pondérée d'une liste de couples

Écrire une fonction moyenne(notes) qui renvoie la moyenne pondérée des résultats contenus dans le tableau notes, non vide, donné en paramètre. Ce tableau contient des couples (note, coefficient) dans lesquels :

  • note est un nombre de type flottant (float) compris entre 0 et 20 ;
  • coefficient est un nombre entier strictement positif.

Ainsi l'expression moyenne([(15.0,2),(9.0,1),(12.0,3)]) devra renvoyer 12.5 comme résultat du calcul suivant :

2×15+1×9+3×122+1+3=12,5\frac{2 \times 15 + 1 \times 9 + 3 \times 12}{2 + 1 + 3} = 12{,}5

Exercice 2 — triangle de Pascal

On cherche à déterminer les valeurs du triangle de Pascal, dont voici les premières lignes :

1
1  1
1  2  1
1  3  3  1
1  4  6  4  1
1  5 10 10  5  1

Dans le triangle de Pascal, chaque ligne commence et se termine par le nombre 1. On additionne deux valeurs successives d'une ligne pour obtenir la valeur qui se situe sous la deuxième valeur : par exemple, 1+1=21 + 1 = 2 donne le 2 de la troisième ligne, 3+3=63 + 3 = 6 donne le 6 de la cinquième ligne, et 1+4=51 + 4 = 5 donne le 5 de la sixième ligne.

Compléter les fonctions ligne_suivante et pascal ci-dessous. La fonction ligne_suivante prend en paramètre une liste d'entiers ligne correspondant à une ligne du triangle de Pascal et renvoie la liste correspondant à la ligne suivante du triangle de Pascal. La fonction pascal prend en paramètre un entier n et l'utilise pour construire le triangle de Pascal ayant n+1 lignes sous la forme d'une liste de listes.

def ligne_suivante(ligne):
    '''Renvoie la ligne suivant ligne du triangle de Pascal'''
    ligne_suiv = [...]
    for i in range(...):
        ligne_suiv.append(...)
    ligne_suiv.append(...)
    return ligne_suiv
 
def pascal(n):
    '''Renvoie le triangle de Pascal de hauteur n'''
    triangle = [ [1] ]
    for k in range(...):
        ligne_k = ...
        triangle.append(ligne_k)
    return triangle

Exemples :

>>> ligne_suivante([1, 3, 3, 1])
[1, 4, 6, 4, 1]
>>> pascal(2)
[[1], [1, 1], [1, 2, 1]]
>>> pascal(3)
[[1], [1, 1], [1, 2, 1], [1, 3, 3, 1]]

Corrigé

Corrigé réservé aux abonnés Premium.

Créez un compte gratuit : votre première correction est offerte.

Sujet officiel de la banque nationale de sujets 2024 de l'épreuve pratique de NSI (ministère de l'Éducation nationale). Corrigé rédigé pour ce site.