Bac Général
Classe : Terminale
Centre d’examen : Asie
Matière : Numérique et Sciences Informatiques
Année : 2022
Session : Normale
Durée de l’épreuve : 3 heures 30
Repère de l’épreuve : 22-NSIJ1JA1
L’usage de la calculatrice n’est pas autorisé.
Le candidat traite au choix 3 exercices parmi les 5 exercices proposés
Chaque exercice est noté sur 4 points.
Exercice 1 (4 points)
Thèmes abordés : algorithmique – chaînes de caractères – complexité.
Cet exercice propose l’étude d’un algorithme de détection de palindrome. On
rappelle les définitions suivantes :
Définition 1 : un mot est un palindrome s’il peut se lire aussi bien dans les deux
sens, par exemple le mot « kayak »
Définition 2 : un variant de boucle est une suite de valeurs d’entiers positifs
strictement décroissante
On considère la fonction palindrome1 qui renvoie un booléen et dont le paramètre mot est une chaîne de caractères de longueur n.
Exercice 2 (4 points)
Thème abordé : bases de données
Un restaurant décide de créer son site de réservation en ligne pour son unique service du midi. Voici le schéma relationnel de la base de données imaginée par le concepteur du site. Elle est composée de 4 relations (tables) :
plat(id_plat, nom_plat, type_plat, prix_plat)
table_salle(num_table, nb_couvert_table, type_table)
client(num_client, nom_client, prenom_client, date_naiss_client,
mel_client, tel_client)
reservation(num_reserv, nb_pers_reserv, date_reserv, num_table, num_client)
Exercice 3 (4 points)
Thème abordé : système d’exploitation
Nous avons l’arborescence ci-dessous sous un environnement Linux.
Exercice 4 (4 points)
Thème abordé : programmation objet en langage Python
Un fabricant de brioches décide d’informatiser sa gestion des stocks. Il écrit pour cela un programme en langage Python. Une partie de son travail consiste à développer une classe Stock dont la première version est la suivante :
class Stock:
def init(self):
self.qt_farine = 0 # quantité de farine initialisée à 0 g
self.nb_oeufs = 0 # nombre d’œufs (0 à l’initialisation)
self.qt_beurre = 0 # quantité de beurre initialisée à 0 g
Exercice 5 (4 points)
Thème abordé : programmation Python.
On considère un jeu de plateforme où un personnage se déplace dans un
espace à deux dimensions. Pour cela, on autorise seulement deux déplacements élémentaires : de la gauche vers la droite ou du bas vers le haut. La longueur d’un déplacement correspond au nombre de déplacements élémentaires qui le constituent. Afin de représenter ces déplacements, on se place dans un repère où les coordonnées sont des nombres entiers positifs. Le personnage au début du jeu est situé à l’origine du repère de coordonnées (0,0) et il souhaite se rendre au point A de coordonnées (5,3).