Conversion en binaire - Sujet 38 - EP NSI 2025
Énoncé du problème
Exercice 1
Écrire une fonction moyenne qui prend en paramètre un tableau non vide de nombres flottants et qui renvoie la moyenne des valeurs du tableau. Les tableaux seront représentés sous forme de liste Python.
Exemples :
>>> moyenne([1.0])
1.0
>>> moyenne([1.0, 2.0, 4.0])
2.3333333333333335
Exercice 2
On considère la fonction binaire à la page suivante. Cette fonction prend en paramètre un entier positif a en écriture décimale et renvoie son écriture binaire sous la forme d’une chaine de caractères.
L’algorithme utilise la méthode des divisions euclidiennes successives comme l’illustre l’exemple ci-après.
[Figure : potence de divisions euclidiennes successives par 2 du nombre 201 : 201 divisé par 2 donne 100 reste 1 ; 100 divisé par 2 donne 50 reste 0 ; 50 divisé par 2 donne 25 reste 0 ; 25 divisé par 2 donne 12 reste 1 ; 12 divisé par 2 donne 6 reste 0 ; 6 divisé par 2 donne 3 reste 0 ; 3 divisé par 2 donne 1 reste 1 ; 1 divisé par 2 donne 0 reste 1. Une flèche parcourt les restes du dernier au premier. Légende : 201 s’écrit 1100 1001₂.]
Compléter le code de 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 ...
bin_a = ...
while ... :
bin_a = ... + bin_a
a = ...
return bin_a
Exemples :
>>> binaire(83)
'1010011'
>>> binaire(6)
'110'
>>> binaire(127)
'1111111'
>>> binaire(0)
'0'
Les contraintes ci-dessous sont ajoutées par la plateforme et ne font pas partie du sujet.
Exercice 1
Contraintes :
tabest une liste Python non vide :1 <= len(tab) <= 10^4tab[i]est un nombre flottant (float) pour touti-10^6 <= tab[i] <= 10^6- La valeur renvoyée est un
float: la moyenne des valeurs du tableau, obtenue en ajoutant les valeurs une à une dans l’ordre du tableau, puis en divisant une seule fois par le nombre de valeurs
Exercice 2
Contraintes :
aest un entier (int) avec0 <= a <= 10^9(le casa = 0est inclus)- La valeur renvoyée est une chaine de caractères (
str) composée uniquement des caractères0et1 - L’écriture renvoyée ne comporte pas de zéro initial, sauf pour
a = 0qui donne'0'