Maths & NSI

Baccalauréat — Épreuve pratique — 2024 — NSI

Épreuve pratique NSI 2024 — Sujet 17 : nombre d'occurrences, écriture binaire

Sujet

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

Exercice 1 — compter les répétitions d'un élément

Écrire une fonction Python appelée nb_repetitions qui prend en paramètres un élément elt et un tableau tab (type list) d'éléments du même type et qui renvoie le nombre de fois où l'élément apparaît dans le tableau.

Exemples :

>>> nb_repetitions(5, [2, 5, 3, 5, 6, 9, 5])
3
>>> nb_repetitions('A', ['B', 'A', 'B', 'A', 'R'])
2
>>> nb_repetitions(12, [1, '!', 7, 21, 36, 44])
0

Exercice 2 — écriture binaire par divisions successives

Pour rappel, la conversion d'un nombre entier positif en binaire peut s'effectuer à l'aide des divisions successives par 2. Pour 77 :

77=2×38+1,38=2×19+0,19=2×9+1,9=2×4+1,77 = 2 \times 38 + 1,\quad 38 = 2 \times 19 + 0,\quad 19 = 2 \times 9 + 1,\quad 9 = 2 \times 4 + 1, 4=2×2+0,2=2×1+0,1=2×0+1.4 = 2 \times 2 + 0,\quad 2 = 2 \times 1 + 0,\quad 1 = 2 \times 0 + 1.

On lit les restes du dernier au premier : l'écriture binaire de 77 est 1001101.

Voici une fonction Python basée sur la méthode des divisions successives permettant de convertir un nombre entier positif en binaire. Compléter la fonction binaire.

def binaire(a):
    '''convertit un nombre entier a en sa representation
    binaire sous forme de chaine de caractères.'''
    if a == 0:
        return '0'
    bin_a = ...
    while ...:
        bin_a = ... + bin_a
        a = ...
    return bin_a

Exemples :

>>> binaire(0)
'0'
>>> binaire(77)
'1001101'

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.