Évaluation
CLASSE : Première
VOIE : ☒ Générale ☐ Technologique ☐ Toutes voies (LV)
ENSEIGNEMENT : spécialité Numérique et Sciences Informatiques (NSI)
DURÉE DE L’ÉPREUVE : 02 h 00
Niveaux visés (LV) : LVA LVB
Axes de programme :
CALCULATRICE AUTORISÉE : ☐Oui ☒ Non
DICTIONNAIRE AUTORISÉ : ☐Oui ☒ Non
☒ Ce sujet contient des parties à rendre par le candidat avec sa copie. De ce fait, il ne peut être
dupliqué et doit être imprimé pour chaque candidat afin d’assurer ensuite sa bonne numérisation.
☐ Ce sujet intègre des éléments en couleur. S’il est choisi par l’équipe pédagogique, il est
nécessaire que chaque élève dispose d’une impression en couleur.
☐ Ce sujet contient des pièces jointes de type audio ou vidéo qu’il faudra télécharger et jouer le jour
de l’épreuve.
Nombre total de pages : 18
L'épreuve consiste en 42 questions, rangées en 7 thèmes.
Pour chaque question, le candidat gagne 3 points s'il choisit la bonne réponse, perd 1 point
s'il choisit une réponse fausse. S'il ne répond pas ou choisit plusieurs réponses, il ne gagne ni
ne perd aucun point.
Le total sur chacun des 7 thèmes est ramené à 0 s'il est négatif.
La note finale s'obtient en divisant le total des points par 6,3 et en arrondissant à l'entier
supérieur.
Le candidat indique ses réponses aux questions en pages 3 et 4.
Seules les pages 1 à 4 sont rendues par le candidat à la fin de l'épreuve, pour être
numérisées.
Les questions figurent sur les pages suivantes.
Page 1 sur 18
SPENSI4
Page 2 sur 18
SPENSI4
Thème A : types de base
Réponse à la question 1 A• B• C• D•
Réponse à la question 2 A• B• C• D•
Réponse à la question 3 A• B• C• D•
Réponse à la question 4 A• B• C• D•
Réponse à la question 5 A• B• C• D•
Réponse à la question 6 A• B• C• D•
Thème B : types construits
Réponse à la question 1 A• B• C• D•
Réponse à la question 2 A• B• C• D•
Réponse à la question 3 A• B• C• D•
Réponse à la question 4 A• B• C• D•
Réponse à la question 5 A• B• C• D•
Réponse à la question 6 A• B• C• D•
Thème C : traitement de données en tables
Réponse à la question 1 A• B• C• D•
Réponse à la question 2 A• B• C• D•
Réponse à la question 3 A• B• C• D•
Réponse à la question 4 A• B• C• D•
Réponse à la question 5 A• B• C• D•
Réponse à la question 6 A• B• C• D•
Thème D : interactions entre l'homme et la machine sur le Web
Réponse à la question 1 A• B• C• D•
Réponse à la question 2 A• B• C• D•
Réponse à la question 3 A• B• C• D•
Réponse à la question 4 A• B• C• D•
Réponse à la question 5 A• B• C• D•
Réponse à la question 6 A• B• C• D•
Page 3 sur 18
SPENSI4
Thème E : architectures matérielles et systèmes d'exploitation
Réponse à la question 1 A• B• C• D•
Réponse à la question 2 A• B• C• D•
Réponse à la question 3 A• B• C• D•
Réponse à la question 4 A• B• C• D•
Réponse à la question 5 A• B• C• D•
Réponse à la question 6 A• B• C• D•
Thème F : langages et programmation
Réponse à la question 1 A• B• C• D•
Réponse à la question 2 A• B• C• D•
Réponse à la question 3 A• B• C• D•
Réponse à la question 4 A• B• C• D•
Réponse à la question 5 A• B• C• D•
Réponse à la question 6 A• B• C• D•
Thème G : algorithmique
Réponse à la question 1 A• B• C• D•
Réponse à la question 2 A• B• C• D•
Réponse à la question 3 A• B• C• D•
Réponse à la question 4 A• B• C• D•
Réponse à la question 5 A• B• C• D•
Réponse à la question 6 A• B• C• D•
Page 4 sur 18
SPENSI4
Thème A : types de base
Question A 1
Un nombre entier signé est codé en complément à deux sur 8 bits par : 0111 0101.
Que peut-on dire ?
Réponses
A c'est un nombre positif
B c'est un nombre négatif
C c'est un nombre pair
D 7 bits auraient suffi à représenter cet entier signé en complément à deux
Question A 2
Comment s'écrit en base 16 (en hexadécimal) le nombre dont l'écriture binaire est 0010 1100 ?
Réponses
A 1D
B 2C
C 3C
D 3E
Question A 3
On considère les nombres dont l'écriture en base 16 (en hexadécimal) sont de la forme suivante : un 1 suivi de
0 en nombre quelconque, comme 1, 10, 100, 1000 etc.
Tous ces nombres sont exactement :
Réponses
A les puissances de 2
B les puissances de 8
C les puissances de 10
D les puissances de 16
Question A 4
Quelle est la représentation hexadécimale de l'entier qui s'écrit 106 en base 10 ?
Réponses
A 6A
B A6
C 64
D 46
Question A 5
Quel est le résultat de l'addition binaire 0010 0110 + 1000 1110 ?
Réponses
A 1010 1110
B 0000 0110
C 1011 0100
D 0101 0001
Page 5 sur 18
SPENSI4
Question A 6
Combien de bits doit-on utiliser au minimum pour représenter en base 2 le nombre entier 72 ?
Réponses
A 2
B 6
C 7
D 8
Page 6 sur 18
SPENSI4
Thème B : types construits
Question B 1
On considère le script suivant :
t = [2, 8, 9, 2]
t[2] = t[2] + 5
Quelle est la valeur de t à la fin de son exécution ?
Réponses
A [2, 13, 9, 2]
B [2, 8, 14, 2]
C [7, 13, 14, 7]
D [7, 13, 9, 2]
Question B 2
On considère le code suivant :
t = [0, 3, 5, 7, 9]
t[9] = 3 + t[5]
Que vaut t à la fin de son exécution ?
Réponses
A [0, 3, 5, 7, 9]
B [0, 3, 5, 7, 9, 3]
C [0, 3, 5, 7, 9, 8]
D l'exécution déclenche une erreur
Question B 3
On définit :
resultat = [ i*2 for i in range(10) ]
Quelle est la valeur de resultat ?
Réponses
A [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
B [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
C [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
D [2, 4, 6, 8, 10, 12, 14, 16, 18]
Question B 4
Quel est le type de la variable billes définie par :
billes = {'vert': 6, 'rouge': 15, 'bleu': 11, 'jaune': 2, 'orange': 17 }
Réponses
A c'est une séquence
B c'est une liste
C c'est une liste de listes
D c'est un dictionnaire
Page 7 sur 18
SPENSI4
Question B 5
Considérons le dictionnaire suivant :
resultats = {'Paul':5 , 'Amina':1 , 'Léon' : 9 , 'Benoit':3}
Quelle affirmation est correcte ?
Réponses
A resultats['Amina'] vaut 1
B resultats[1] vaut 'Amina'
C 'Paul' est une valeur de ce dictionnaire
D 9 est une clé de ce dictionnaire
Question B 6
On considère la fonction suivante :
def somme(tab):
s = 0
for i in range(len(tab)):
......
return s
Par quelle instruction faut-il remplacer les points de suspension pour que l'appel somme([10,11,12,13,14])
renvoie 60 ?
Réponses
A s = tab[i]
B s = s + tab[i]
C tab[i] = tab[i] + s
D s = s + i
Page 8 sur 18
SPENSI4
Thème C : traitement de données en tables
Question C 1
Qu'est-ce que le format de fichier CSV ?
Réponses
A un format de fichier mis au point par Microsoft pour Excel
B un format de fichier pour décrire une base de données
C un format de fichier où les données sont séparées par un caractère tel qu'une virgule
D un format de fichier décrivant une page Web
Question C 2
Soit le tableau défini de la manière suivante : tableau = [[1,3,4],[2,7,8],[9,10,6],[12,11,5]]
On souhaite accéder à la valeur 12, on écrit pour cela :
Réponses
A tableau[4][1]
B tableau[1][4]
C tableau[3][0]
D tableau[0][3]
Question C 3
On exécute le script suivant :
asso = []
L = [ ['marc','marie'], ['marie','jean'], ['paul','marie'], ['marie','marie'],
['marc','anne'] ]
for c in L :
if c[1]==’marie’:
[Link](c[0])
Que vaut asso à la fin de l'exécution ?
Réponses
A ['marc', 'jean', 'paul']
B [['marc','marie'], ['paul','marie'], ['marie','marie']]
C ['marc', 'paul', 'marie']
D ['marie', 'anne']
Question C 4
On dispose du fichier « [Link] » donné ci-dessous :
nom, prenom, naissance, deces
lovelace, ada, 1815, 1852
von neumann, john, 1903, 1957
turing, alan, 1912, 1954
mccarthy, john, 1927, 2011
floyd, robert, 1936, 2001
Le programme ci-dessous nous permet de créer un tableau à partir de ce fichier.
file = open("[Link]", "r")
firstLine = [Link]() # chargement de la ligne d’entête
tableau = [[Link](',') for line in file] # chargement des données
Page 9 sur 18
SPENSI4
Les index des lignes de ce tableau vont…
Réponses
A de 0 à 3
B de 1 à 4
C de 0 à 4
D de 0 à 5
Question C 5
On considère l’extraction suivante d'une base de données des départements français. Cette extraction a
ensuite été sauvegardée dans un fichier texte.
"1","01","Ain","AIN","ain","A500"
"2","02","Aisne","AISNE","aisne","A250"
"3","03","Allier","ALLIER","allier","A460"
"4","04","Alpes-de-Haute-Provence","ALPES-DE-HAUTE-PROVENCE","alpes-de-haute-
provence","A412316152"
"5","05","Hautes-Alpes","HAUTES-ALPES","hautes-alpes","H32412"
Quel est le format de ce fichier ?
Réponses
A YML
B XML
C CSV
D JSON
Question C 6
On exécute le script suivant :
a = [1, 2, 3]
b = [4, 5, 6]
c = a + b
Que contient la variable c à la fin de cette exécution ?
Réponses
A [5,7,9]
B [1,4,2,5,3,6]
C [1,2,3,4,5,6]
D [1,2,3,5,7,9]
Page 10 sur 18
SPENSI4
Thème D : interactions entre l'homme et la machine sur le Web
Question D 1
Parmi les éléments suivants, lequel est un protocole ?
Réponses
A GET
B POST
C HTTP
D HTML
Question D 2
Parmi les balises HTML ci-dessous quelle est celle qui permet à l’utilisateur de saisir son nom dans un
formulaire en respectant la norme HTML ?
Réponses
A <select />
B <form />
C <input type="text" />
D <input type="name" />
Question D 3
Pour créer un lien vers la page d'accueil de Wikipédia, que devra-t-on écrire dans une page Web ?
Réponses
A <a target="[Link]
B <a href="[Link] />
C <a href="[Link]
D <link src="[Link]
Question D 4
Que peut-on affirmer au sujet des formulaires de pages Web ?
Réponses
A les variables d'une requête POST sont affichées dans l'URL
B une requête GET peut être utilisée pour transmettre des données sensibles
C une requête GET peut transmettre de grandes quantités de données
D une requête POST peut utiliser des données de façon plus sécurisées
Question D 5
Charles veut accéder à son forum favori. Il saisit son adresse (URL) sur son navigateur Web, qui lui affiche une
erreur 404.
Quel cas de figure n'explique pas sa situation ?
Réponses
A une mise à jour du serveur qui héberge le forum
B une erreur de saisie de sa part
C une panne de sa connexion Internet
D un changement de titre du forum qu'il veut consulter
Question D 6
Page 11 sur 18
SPENSI4
Le site internet d'un quotidien d'information permet aux visiteurs de laisser des commentaires textuels.
Ces commentaires doivent être visibles par les autres visiteurs.
Laquelle des affirmations suivantes est correcte ?
Réponses
A Il suffit que la page HTML contienne des champs de la forme <textarea >
B Il suffit que la page HTML contienne des champs de la forme <textarea > et d'utiliser JavaScript pour
enregistrer les commentaires
C Il faut un programme en PHP ou un script Python sur le serveur pour traiter les données
D Non, ce n'est pas possible avec la technologie actuelle
Page 12 sur 18
SPENSI4
Thème E : architectures matérielles et systèmes d'exploitation
Question E 1
Que peut-on dire du système de fichiers, suite à l’exécution des commandes suivantes ?
% ls
[Link] [Link] [Link]
% mkdir foo
% mv *.py foo
Réponses
A les fichiers [Link], [Link], et foo ont été déplacés dans le répertoire de l’utilisateur
B l’utilisateur foo est propriétaire des fichiers [Link] et [Link]
C le répertoire foo contient le résultat de l’exécution des deux fichiers [Link] et [Link]
D le répertoire foo contient deux fichiers d’extension .py
Question E 2
Quel est le principal rôle d’une carte mère dans un ordinateur ?
Réponses
A stocker les informations en mémoire vive
B exécuter les instructions en langage machine
C reproduire le processeur en plusieurs exemplaires
D connecter les différents composants de l'ordinateur
Question E 3
Sous Linux, on se place dans un répertoire appelé documents. Dans quel répertoire se trouve-t-on après avoir
exécuté la commande cd ../images ?
Réponses
A dans un répertoire images, qui est un sous-répertoire du répertoire documents
B dans un répertoire images, qui est à la racine du système de fichiers
C dans un répertoire images, qui est dans l'arborescence de fichiers à la même hauteur que le répertoire
documents
D dans un répertoire images, qui est sur le CD-ROM du lecteur de l'ordinateur
Question E 4
Dans la console Linux, quelle commande faut-il exécuter pour obtenir la documentation sur la commande pwd ?
Réponses
A man pwd
B cd pwd
C mkdir pwd
D ls pwd
Question E 5
Page 13 sur 18
SPENSI4
On cherche à connaître l’itinéraire vers une destination sur un réseau. On utilisera la commande :
Réponses
A ping
B traceroute
C ipconfig
D arp
Question E 6
Dans l’architecture générale de Von Neumann, la partie qui a pour rôle d’effectuer les opérations de base est :
Réponses
A l'unité de contrôle
B la mémoire
C l'unité arithmétique et logique
D les dispositifs d'entrée-sortie
Page 14 sur 18
SPENSI4
Thème F : langages et programmation
Question F 1
Quelle est la valeur de la variable x à la fin de l'exécution du script suivant :
def f(x):
x = x + 1
return x + 1
x = 0
f(x+1)
Réponses
A 0
B 1
C 2
D 3
Question F 2
On définit la fonction :
def f(a,b):
assert b!=0,'le deuxième argument est nul'
result = a/b
return result
Qu'obtient-on en exécutant la commande r = f(4,0) ?
Réponses
A une erreur ZeroDivisionError: division by zero et l'arrêt de l'exécution
B une erreur NameError: name 'b' is not defined et l'arrêt de l'exécution
C une erreur AssertionError: le deuxième argument est nul et la variable r prend la valeur 0
D une erreur AssertionError: le deuxième argument est nul et l'arrêt de l'exécution
Question F 3
On considère le code suivant
def moyenne(notes):
somme = 0
for cpt in range(len(notes)):
....
m = somme/len(notes)
return m
Par quoi remplacer la ligne en pointillée pour que cette fonction calcule la moyenne d'une liste de nombres ?
Réponses
A somme = somme + notes[cpt]
B somme = notes[cpt]
C somme = cpt
D somme = somme + cpt
Question F 4
Page 15 sur 18
SPENSI4
On considère le code suivant :
if x < 4:
x = x + 3
else:
x = x - 3
Quelle construction élémentaire peut-on identifier ?
Réponses
A une boucle non bornée
B une structure conditionnelle
C une boucle bornée
D un appel de fonction
Question F 5
𝑛 étant un entier strictement positif, la fonction suivante calcule sa factorielle, c'est-à-dire le produit
1 × 2 × 3 × ⋯ × (𝑛 − 1) × 𝑛. Comment faut-il écrire la ligne en pointillés ci-dessous pour ce faire ?
def factorielle(n):
f = 1
.........
f = f * i
return f
Réponses
A for i in range(1,n):
B for i in range(n+1):
C for i in range(0,n):
D for i in range(1,n+1):
Question F 6
On exécute le code suivant :
def f(t):
n = len(t)
for i in range(n-1):
if t[i] > t[i+1]:
t[i],t[i+1] = t[i+1],t[i]
L = [4, 8, -7, 0, 1]
f(L)
Quelle est la valeur de L après l'exécution de ce code ?
Réponses
A [4, -7, 8, 0, 1]
B [-7, 0, 1, 4, 8]
C [4, 8, -7, 0, 1]
D [4, -7, 0, 1, 8]
Page 16 sur 18
SPENSI4
Thème G : algorithmique
Question G 1
On conçoit un algorithme permettant de déterminer la valeur maximale parmi une liste quelconque de valeurs
comparables.
Pour une liste de 100 valeurs, le nombre minimal de comparaisons que doit effectuer cet algorithme est :
Réponses
A 7
B 99
C 200
D 10000
Question G 2
La fonction mystere suivante prend en argument un tableau d'entiers.
def mystere(t):
for i in range(len(t) - 1):
if t[i] != t[i+1] - 1:
return False
return True
À quelle condition la valeur renvoyée par la fonction est-elle True ?
Réponses
A si le tableau passé en argument est une suite d'entiers consécutifs
B si le tableau passé en argument est trié en ordre croissant
C si le tableau passé en argument est trié en ordre décroissant
D si le tableau passé en argument contient des entiers tous identiques
Question G 3
Soit l'algorithme suivant, qui permet de retrouver l'index de l'élément maximum dans un tableau de données :
def maximum(T) :
index= 0
for i in range(len(T)) :
if ...... :
index = i
return index
Compléter l'instruction conditionnelle pour que la fonction calcule le résultat attendu :
Réponses
A i > index
B T[i] < T[index]
C T[i] > T[index]
D T[index] > T[i]
Question G 4
Que renvoie la fonction suivante quand on l'appelle avec un nombre entier et une liste d'entiers ?
def mystere(n,L):
for x in L:
if n == x:
return True
Page 17 sur 18
SPENSI4
return False
Réponses
A une valeur booléenne indiquant si le nombre n est présent au moins une fois dans la liste L
B une valeur booléenne indiquant si le nombre n est présent plusieurs fois dans la liste L
C une valeur booléenne indiquant si le nombre n est le plus grand de la liste L
D une valeur booléenne indiquant si le nombre n est le plus petit de la liste L
Question G 5
Quel est l’ordre de grandeur du coût du tri par insertion (dans le pire des cas) ?
Réponses
A l'ordre de grandeur du coût dépend de l'ordinateur utilisé
B linéaire en la taille du tableau à trier
C quadratique en la taille du tableau à trier
D indépendant de la taille du tableau à trier
Question G 6
Un algorithme de calcul de moyenne est implémenté de la façon suivante :
def moyenne(liste) :
t = 0
for e in liste :
t = t + e
# assertion vraie à cet endroit
return t/len(liste)
Parmi les propositions suivantes, laquelle reste vraie à la fin de chaque itération de la boucle ?
Réponses
A e vaut le nombre de passages dans la boucle
B t vaut la somme des éléments visités de la liste
C t vaut la moyenne des éléments visités de la liste
D après k passages dans la boucle la liste contient k termes
Page 18 sur 18
SPENSI4