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 202 – SPENSI202
Extrait de l’annale :
Thème A : types de base
Question A 1
Si A et B sont des variables booléennes, laquelle de ces expressions booléennes est équivalente
à (not A) or B ?
Réponses
A (A and B) or (not A and B)
B (A and B) or (not A and B) or (not A and not B)
C (not A and B) or (not A and not B)
D (A and B) or (not A and not B)
Thème B : types construits
Question B 1
La variable sequence contient une liste de lettres, éventuellement répétées, choisies parmi ‘A’, ‘B’, ‘C’, ‘D’.
On veut créer un dictionnaire effectifs associant à chaque lettre le nombre de fois qu’elle apparaît dans la
liste sequence.
Par exemple si sequence contient [‘A’, ‘B’, ‘B’, ‘D’, ‘B’, ‘A’],
effectifs doit contenir {‘A’:2, ‘B’:3, ‘C’:0, ‘D’:1}.
Parmi les scripts suivants, lequel réalise cet objectif ?
Réponses
A
effectifs = {‘A’:0, ‘B’:0, ‘C’:0, ‘D’:0}
for lettre in sequence:
effectifs[lettre] = effectifs[lettre] + 1
B
effectifs = {}
for lettre in sequence:
effectifs[lettre] = effectifs[lettre] + 1
C
effectifs = {‘A’:0, ‘B’:0, ‘C’:0, ‘D’:0}
for lettre in effectifs.keys():
effectifs[lettre] = len([lettre in effectifs])
D
effectifs = {}
for lettre in effectifs.keys():
effectifs[lettre] = len([lettre in effectifs])
Thème C : traitement de données en tables
Question C 1
Quelle expression Python permet d’accéder au numéro de téléphone de Tournesol, sachant que le répertoire a
été défini par l’affectation suivante :
repertoire = [ {‘nom’: ‘Dupont’, ‘tel’: ‘5234’},
{‘nom’: ‘Tournesol’, ‘tel’: ‘5248’}, {‘nom’: ‘Dupond’, ‘tel’: ‘3452’}]
Réponses
A repertoire[‘Tournesol’]
B repertoire[‘tel’][1]
C repertoire[1][‘tel’]
D repertoire[‘Tournesol’][tel]