Epreuve E3C : spécialité Numérique et Sciences Informatiques (NSI)
Voie : Bac général
Niveau d’études : Classe de première
Session : 2025
Durée de l’épreuve : 2 heures
Calculatrice : Interdite
Dictionnaire : Interdit
Numéro du sujet : Sujet 58 – SPENSI58
Extrait de l’annale :
Thème A : types de base
Question A 1
À quelle affectation sont équivalentes les instructions suivantes, où a, b sont des variables entières et c une
variable booléenne ?
if a==b:
c = True
elif a > b+10:
c = True
else:
c = False
Réponses
A c = (a==b) or (a > b+10)
B c = (a==b) and (a > b+10)
C c = not(a==b)
D c = not(a > b+10)
Thème B : types construits
Question B 1
On s’intéresse à la valeur 14 présente dans la liste suivante:
T = [[1,2,3,4,5], [6,7,8,9,10], [11,12,13,14,15], [16,17,18,19,20]].
Quelle expression vaut 14 parmi les suivantes ?
Réponses
A T[2][3]
B T[3][4]
C T[3][2]
D T[4][3]
Thème C : traitement de données en tables
Question C 1
On écrit la fonction suivante :
def extreme(t, test):
m = t[0]
for x in t:
if test(x,m):
m = x
return m
On dispose d’une liste L dont les éléments sont des couples (nom, note).
Par exemple :
L = [ (‘Alice’, 17), (‘Barnabé’, 18),
(‘Casimir’, 17), (‘Doriane’, 20),
(‘Emilien’, 15), (‘Fabienne’, 16) ]
On aimerait que l’appel de fonction extreme(L, test) renvoie un couple présentant la note maximale.
Quelle définition de la fonction test peut-on utiliser ?
Réponses
A def test(a,b):
return a[0] < b[0] B def test(a,b): return a[0] > b[0]
C def test(a,b):
return a[1] < b[1] D def test(a,b): return a[1] > b[1]