SlideShare une entreprise Scribd logo
22-NSIJ1ME1 Page : 1/14
BACCALAURÉAT GÉNÉRAL
ÉPREUVE D’ENSEIGNEMENT DE SPÉCIALITÉ
SESSION 2022
NUMÉRIQUE ET SCIENCES INFORMATIQUES
Mercredi 11 mai 2022
Durée de l’épreuve : 3 heures 30
L’usage de la calculatrice n’est pas autorisé.
Dès que ce sujet vous est remis, assurez-vous qu’il est complet.
Ce sujet comporte 14 pages numérotées de 1/14 à 14 /14.
Le candidat traite au choix 3 exercices parmi les 5 exercices
proposés
Chaque exercice est noté sur 4 points.
22-NSIJ1ME1 Page : 2/14
EXERCICE 1 (4 points)
Cet exercice composé de deux parties A et B, porte sur les structures de données.
Partie A : Expression correctement parenthésée
On veut déterminer si une expression arithmétique est correctement parenthésée.
Pour chaque parenthèse fermante ")" correspond une parenthèse précédemment
ouverte "(".
Exemples :
- L’expression arithmétique "(2 + 3) × (18/(4 + 2))" est correctement parenthésée.
- L’expression arithmétique "(2 + 3) × (18/(4 + 2" est non correctement
parenthésée.
Pour simplifier les expressions arithmétiques, on enregistre, dans une structure de
données, uniquement les parenthèses dans leur ordre d’apparition. On appelle
expression simplifiée cette structure.
"(2 + 3) × (18/(4 + 2))"
Expression arithmétique Structure de données
1. Indiquer si la phrase « les éléments sont maintenant retirés (pour être lus) de cette
structure de données dans le même ordre qu’ils y ont été ajoutés lors de
l’enregistrement » décrit le comportement d’une file ou d’une pile. Justifier.
Pour vérifier le parenthésage, on peut utiliser une variable controleur qui :
 est un nombre entier égal à 0 en début d’analyse de l’expression simplifiée ;
 augmente de 1 si l’on rencontre une parenthèse ouvrante "(" ;
 diminue de 1 si l’on rencontre une parenthèse fermante ")".
Exemple : On considère l’ expression simplifiée A : "( )( ( ) )"
Lors de l’analyse de l’expression A, controleur (initialement égal à 0) prend
successivement pour valeur 1, 0, 1, 2, 1, 0. Le parenthésage est correct.
2. Écrire, pour chacune des 2 expressions simplifiées B et C suivantes, les valeurs
successives prises par la variable controleur lors de leur analyse.
Expression simplifiée B : " ((( )( )"
Expression simplifiée C : "(( )))("
( ) ( ( ) )
22-NSIJ1ME1 Page : 3/14
3. L’expression simplifiée B précédente est mal parenthésée (parenthèses fermantes
manquantes) car le controleur est différent de zéro en fin d’analyse.
L’expression simplifiée C précédente est également mal parenthésée (parenthèse
fermante sans parenthèse ouvrante) car le controleur prend une valeur
négative pendant l’analyse.
Recopier et compléter uniquement les lignes 13 et 16 du code ci-dessous pour
que la fonction parenthesage_correct réponde à sa description.
1 def parenthesage_correct(expression):
2 ’’’ fonction retournant True si l'expression arithmétique
3 simplifiée (str) est correctement parenthésée, False
4 sinon.
5 Condition: expression ne contient que des parenthèses
6 ouvrantes et fermantes ’’’
7 controleur = 0
8 for parenthese in expression: #pour chaque parenthèse
9 if parenthese == '(':
10 controleur = controleur + 1
11 else:# parenthese == ')'
12 controleur = controleur - 1
13 if controleur ... : # test 1 (à recopier et compléter)
14 #parenthèse fermante sans parenthèse ouvrante
15 return False
16 if controleur ... : # test 2 (à recopier et compléter)
17 return True #le parenthésage est correct
18 else:
19 return False #parenthèse(s) fermante(s) manquante(s)
Partie B : Texte correctement balisé
On peut faire l’analogie entre le texte simplifié des fichiers HTML (uniquement
constitué de balises ouvrantes <nom> et fermantes </nom>) et les expressions
parenthésées :
Par exemple, l’expression HTML simplifiée :
"<p><strong><em></em></strong></p>" est correctement balisée.
On ne tiendra pas compte dans cette partie des balises ne comportant pas de
fermeture comme <br> ou <img …>.
22-NSIJ1ME1 Page : 4/14
Afin de vérifier qu’une expression HTML simplifiée est correctement balisée, on peut
utiliser une pile (initialement vide) selon l’algorithme suivant :
On parcourt successivement chaque balise de l’expression :
 lorsque l’on rencontre une balise ouvrante, on l’empile ;
 lorsque l’on rencontre une balise fermante :
 si la pile est vide, alors l’analyse s’arrête : le balisage est incorrect ,
 sinon, on dépile et on vérifie que les deux balises (la balise fermante
rencontrée et la balise ouvrante dépilée) correspondent (c’est-à-dire ont le
même nom) si ce n’est pas le cas, l’analyse s’arrête (balisage incorrect).
Exemple : État de la pile lors du déroulement de cet algorithme pour l’expression
simplifiée "<p><em></p></em>" qui n’est pas correctement balisée.
État de la pile lors du déroulement de l’algorithme
4. Cette question traite de l’état de la pile lors du déroulement de l’algorithme.
a. Représenter la pile à chaque étape du déroulement de cet algorithme pour
l’expression "<p><em></em></p>" (balisage correct).
b. Indiquer quelle condition simple (sur le contenu de la pile) permet alors de dire
que le balisage est correct lorsque toute l’expression HTML simplifiée a été
entièrement parcourue, sans que l’analyse ne s’arrête.
5. Une expression HTML correctement balisée contient 12 balises.
Indiquer le nombre d’éléments que pourrait contenir au maximum la pile lors de
son analyse.
22-NSIJ1ME1 Page : 5/14
Requête 1
Requête 2
EXERCICE 2 (4 points)
Cet exercice porte sur les bases de données.
On pourra utiliser les mots clés SQL suivants : SELECT, FROM, WHERE, JOIN,
ON, INSERT, INTO, VALUES, UPDATE, SET, AND.
Nous allons étudier une base de données traitant du cinéma dont voici le schéma
relationnel qui comporte 3 relations :
- la relation individu (id_ind, nom, prenom, naissance)
- la relation realisation (id_rea, titre, annee, type)
- la relation emploi (id_emp, description, #id_ind, #id_rea)
Les clés primaires sont soulignées et les clés étrangères sont précédées d’un #.
Ainsi emploi.id_ind est une clé étrangère faisant référence à individu.id_ind.
Voici un extrait des tables individu et realisation :
1. On s’intéresse ici à la récupération de données dans une relation.
a. Écrire ce que renvoie la requête ci-dessous :
SELECT nom, prenom, naissance
FROM individu
WHERE nom = 'Crog';
b. Fournir une requête SQL permettant de récupérer le titre et la clé primaire de
chaque film dont la date de sortie est strictement supérieure à 2020.
2. Cette question traite de la modification de relations.
a. Dire s’il faut utiliser la requête 1 ou la requête 2 proposées ci-dessous pour
modifier la date de naissance de Daniel Crog. Justifier votre réponse en
expliquant pourquoi la requête refusée ne pourra pas fonctionner.
UPDATE individu
SET naissance = '02-03-1968'
WHERE id_ind = 688 AND nom = 'Crog' AND prenom = 'Daniel';
INSERT INTO individu
VALUES (688, 'Crog', 'Daniel', '02-03-1968');
extrait de individu extrait de realisation
id_ind nom prenom naissance id_rea titre annee type
105 'Hulka’ 'Daniel' '01-06-1968' 105 'Casino Imperial’ 2006 ’action’
403 ’Travis' 'Daniel' '10-03-1968' 325 'Ciel tombant' 2012 ’action’
688 'Crog' 'Daniel' '07-07-1968' 655 'Fantôme' 2015 ’action’
695 'Pollock’ ’Daniel' '24-08-1968' 950 'Mourir pour attendre' 2021 ’action’
22-NSIJ1ME1 Page : 6/14
b. Expliquer si la relation individu peut accepter (ou pas) deux individus
portant le même nom, le même prénom et la même date de naissance.
3. Cette question porte sur la notion de clés étrangères.
a. Recopier sur votre copie les demandes ci-dessous, dans leur intégralité, et les
compléter correctement pour qu’elles ajoutent dans la relation emploi les
rôles de Daniel Crog en tant que James Bond dans le film nommé ‘Casino
Impérial’ puis dans le film ‘Ciel tombant’.
INSERT INTO emploi
VALUES (5400, 'Acteur(James Bond)', ... );
INSERT INTO emploi
VALUES (5401, 'Acteur(James Bond)', ... );
b. On désire rajouter un nouvel emploi de Daniel Crog en tant que James Bond
dans le film 'Docteur Yes'.
Expliquer si l’on doit d’abord créer l’enregistrement du film dans la relation
realisation ou si l’on doit d’abord créer le rôle dans la relation emploi.
4. Cette question traite des jointures.
a. Recopier sur votre copie la requête SQL ci-dessous, dans son intégralité, et
la compléter de façon à ce qu’elle renvoie le nom de l’acteur, le titre du film et
l’année de sortie du film, à partir de tous les enregistrements de la relation
emploi pour lesquels la description de l’emploi est 'Acteur(James Bond)'.
SELECT ...
FROM emploi
JOIN individu ON ...
JOIN realisation ON ...
WHERE emploi.description = 'Acteur(James Bond)';
b. Fournir une requête SQL permettant de trouver toutes les descriptions des
emplois de Denis Johnson (Denis est son prénom et Johnson est son nom).
On veillera à n’afficher que la description des emplois et non les films associés
à ces emplois.
22-NSIJ1ME1 Page : 7/14
EXERCICE 3 (4 points)
Cet exercice porte sur les représentations binaires et les protocoles de routage.
1. Une adresse IPv4 est représentée sous la forme de 4 nombres séparés par des
points. Chacun de ces 4 nombres peut être représenté sur un octet.
a. Donner en écriture décimale l’adresse IPv4 correspondant à l’écriture binaire :
11000000.10101000.10000000.10000011
b. Tous les ordinateurs du réseau A ont une adresse IPv4 de la forme :
192.168.128._ _ _ , où seul le dernier octet (représenté par _ _ _ ) diffère.
Donner le nombre d’adresses différentes possibles du réseau A.
2. On rappelle que le protocole RIP cherche à minimiser le nombre de routeurs
traversés (qui correspond à la métrique). On donne les tables de routage d’un
réseau informatique composé de 5 routeurs (appelés A, B, C, D et E), chacun
associé directement à un réseau du même nom obtenues avec le protocole RIP :
.
Routeur D
Destination Métrique
A 1
B 1
C 1
D 0
E 1
Routeur A
Destination Métrique
A 0
B 1
C 1
D 1
E 2
Routeur B
Destination Métrique
A 1
B 0
C 2
D 1
E 2
Routeur C
Destination Métrique
A 1
B 2
C 0
D 1
E 2
Routeur E
Destination Métrique
A 2
B 2
C 2
D 1
E 0
22-NSIJ1ME1 Page : 8/14
a. Donner la liste des routeurs avec lesquels le routeur A est directement
relié.
b. Représenter graphiquement et de manière sommaire les 5 routeurs
ainsi que les liaisons existantes entre ceux-ci.
3. Le protocole OSPF est un protocole de routage qui cherche à minimiser la
somme des métriques des liaisons entre routeurs.
Dans le protocole de routage OSPF le débit des liaisons entre routeurs agit
sur la métrique via la relation : 𝑚é𝑡𝑟𝑖𝑞𝑢𝑒 = é
dans laquelle le débit est
exprimé en bit par seconde (bps).
On rappelle qu’un kbps est égal à 10 bps et qu’un Mbps est égal à 10 bps.
Recopier sur votre copie et compléter le tableau suivant :
Débit 100 kbps 500 kbps ? 100 Mbps
Métrique associée 1 000 ? 10 1
4. Voici la représentation d’un réseau et la table de routage incomplète du routeur F
obtenue avec le protocole OSPF :
Les nombres présents sur les liaisons représentent les coûts des routes avec le
protocole OSPF.
a. Indiquer le chemin emprunté par un message d’un ordinateur du réseau F à
destination d’un ordinateur du réseau I.
Justifier votre réponse.
b. Recopier et compléter la table de routage du routeur F.
c. Citer une unique panne qui suffirait à ce que toutes les données des échanges
de tout autre réseau à destination du réseau F transitent par le routeur G.
Expliquer en détail votre réponse.
Routeur F
Destination Métrique
F 0
G 8
H 5
I
J
K
L
22-NSIJ1ME1 Page : 9/14
EXERCICE 4 (4 points)
Cet exercice, composé de deux parties A et B, porte sur le parcours des arbres
binaires, le principe “diviser pour régner” et la récursivité.
Cet exercice traite du calcul de la somme d’un arbre binaire. Cette somme consiste à
additionner toutes les valeurs numériques contenues dans les nœuds de l’arbre.
L’arbre utilisé dans les parties A et B est le suivant :
Partie A : Parcours d’un arbre
1. Donner la somme de l’arbre précédent. Justifier la réponse en explicitant le calcul
qui a permis de l’obtenir.
2. Indiquer la lettre correspondante aux noms ‘racine’, ‘feuille’, ‘nœud’, ‘SAG’ (Sous
Arbre Gauche) et ‘SAD’ (Sous Arbre Droit). Chaque lettre A, B, C, D et E devra
être utilisée une seule fois.
Arbre avec les lettres à associer
3. Parmi les quatre propositions A, B, C et D ci-dessous, donnant un parcours en
largeur d’abord de l’arbre, une seule est correcte. Indiquer laquelle.
Proposition A : 7 - 6 - 4 - 3 - 9 - 2 - 1
Proposition B : 3 - 6 - 7 - 4 - 2 - 9 - 1
Proposition C : 3 - 6 - 2 - 7 - 4 - 9 - 1
Proposition D : 7 - 4 - 6 - 9 - 1 - 2 – 3
4. Écrire en langage Python la fonction somme qui prend en paramètre une liste de
nombres et qui renvoie la somme de ses éléments.
Exemple : somme([1, 2, 3, 4]) est égale à 10.
22-NSIJ1ME1 Page : 10/14
5. La fonction parcourir(arbre) pourrait se traduire en langage naturel par :
parcourir(A):
L = liste_vide
F = file_vide
enfiler A dans F
Tant que F n’est pas vide
défiler S de F
ajouter la valeur de la racine de S dans L
Pour chaque sous arbre SA non vide de S
enfiler SA dans F
renvoyer L
Donner le type de parcours obtenu grâce à la fonction parcourir.
Partie B : Méthode ‘diviser pour régner’
6. Parmi les quatre propositions A,B, C et D ci-dessous, indiquer la seule
proposition correcte.
En informatique, le principe diviser pour régner signifie :
Proposition A : diviser une fonction en deux fonctions plus petites
Proposition B : utiliser plusieurs modules
Proposition C : séparer les informations en fonction de leur types
Proposition D : diviser un problème en deux problèmes plus petits et
indépendants.
7. L’arbre présenté dans le problème peut être décomposé en racine et sous
arbres :
Indiquer dans l’esprit de ‘diviser pour régner’ l’égalité donnant la somme d’un arbre
en fonction de la somme des sous arbres et de la valeur numérique de la racine.
22-NSIJ1ME1 Page : 11/14
8. Écrire en langage Python une fonction récursive calcul_somme(arbre).
Cette fonction calcule la somme de l’arbre passé en paramètre.
Les fonctions suivantes sont disponibles :
- est_vide(arbre) : renvoie True si arbre est vide et renvoie False
sinon ;
- valeur_racine(arbre) : renvoie la valeur numérique de la racine de
arbre ;
- arbre_gauche(arbre) : renvoie le sous arbre gauche de arbre ;
- arbre_droit(arbre) : renvoie le sous arbre droit de arbre.
22-NSIJ1ME1 Page : 12/14
EXERCICE 5 (4 points)
Cet exercice porte sur la Programmation Orientée Objet.
Les participants à un jeu de LaserGame sont répartis en équipes et s’affrontent dans
ce jeu de tir, revêtus d’une veste à capteurs et munis d’une arme factice émettant
des infrarouges.
Les ordinateurs embarqués dans ces vestes utilisent la programmation orientée objet
pour modéliser les joueurs. La classe Joueur est définie comme suit :
1 class Joueur:
2 def __init__(self, pseudo, identifiant, equipe):
3 ’’’ constructeur ’’’
4 self.pseudo = pseudo
5 self.equipe = equipe
6 self.id = identifiant
7 self.nb_de_tirs_emis = 0
8 self.liste_id_tirs_recus = []
9 self.est_actif = True
10 def tire(self):
11 ’’’méthode déclenchée par l'appui sur la gachette’’’
12 if self.est_actif == True:
13 self.nb_de_tirs_emis = self.nb_de_tirs_emis + 1
14 def est_determine(self):
15 ’’’methode qui renvoie True si le joueur réalise un
16 grand nombre de tirs’’’
17 return self.nb_de_tirs_emis > 500
18 def subit_un_tir(self, id_recu):
19 ’’’méthode déclenchée par les capteurs de la
20 veste’’’
21 if self.est_actif == True:
22 self.est_actif = False
23 self.liste_id_tirs_recus.append(id_recu)
1. Parmi les instructions suivantes, recopier celle qui permet de déclarer un objet
joueur1, instance de la classe Joueur, correspondant à un joueur dont le
pseudo est “Sniper”, dont l’identifiant est 319 et qui est intégré à l’équipe “A”:
Instruction 1 : joueur1 = ["Sniper", 319, "A"]
Instruction 2 : joueur1 = new Joueur["Sniper", 319, "A"]
Instruction 3 : joueur1 = Joueur("Sniper", 319, "A")
Instruction 4 : joueur1 = Joueur{"pseudo":"Sniper",
"id":319, "equipe":"A"}
22-NSIJ1ME1 Page : 13/14
2. La méthode subit_un_tir réalise les actions suivantes :
Lorsqu’un joueur actif subit un tir capté par sa veste, l’identifiant du tireur est
ajouté à l’attribut liste_id_tirs_recus et l’attribut est_actif prend la
valeur False (le joueur est désactivé). Il doit alors revenir à son camp de base
pour être de nouveau actif.
a. Écrire la méthode redevenir_actif qui rend à nouveau le joueur actif
uniquement s’il était précédemment désactivé.
b. Écrire la méthode nb_de_tirs_recus qui renvoie le nombre de tirs reçus
par un joueur en utilisant son attribut liste_id_tirs_recus.
3. Lorsque la partie est terminée, les participants rejoignent leur camp de base
respectif où un ordinateur, qui utilise la classe Base, récupère les données.
La classe Base est définie par :
- ses attributs :
– equipe : nom de l’équipe (str). Par exemple, “A” ,
– liste_des_id_de_l_equipe qui correspond à la liste (list) des
identifiants connus des joueurs de l’équipe,
– score : score (int) de l’équipe, dont la valeur initiale est 1000 ;
- ses méthodes :
– est_un_id_allie qui renvoie True si l’identifiant passé en paramètre
est un identifiant d’un joueur de l’équipe, False sinon,
– incremente_score qui fait varier l’attribut score du nombre passé en
paramètre,
– collecte_information qui récupère les statistiques d’un participant
passé en paramètre (instance de la classe Joueur) pour calculer le score
de l’équipe .
1 def collecte_information(self,participant):
2 if participant.equipe == self.equipe : # test 1
3 for id in participant.liste_id_tirs_recus:
4 if self.est_un_id_allie(id): # test 2
5 self.incremente_score(-20)
6 else:
7 self.incremente_score(-10)
a. Indiquer le numéro du test (test 1 ou test 2) qui permet de vérifier qu’en fin de
partie un participant égaré n’a pas rejoint par erreur la base adverse.
b. Décrire comment varie quantitativement le score de la base lorsqu’un joueur
de cette équipe a été touché par le tir d’un coéquipier.
22-NSIJ1ME1 Page : 14/14
On souhaite accorder à la base un bonus de 40 points pour chaque joueur
particulièrement déterminé (qui réalise un grand nombre de tirs).
4. Recopier et compléter, en utilisant les méthodes des classes Joueur et Base,
les 2 lignes de codes suivantes qu’il faut ajouter à la fin de la méthode
collecte_information :
........ #si le participant réalise un grand nombre de tirs
......... #le score de la Base augmente de 40

Contenu connexe

Tendances

Serie recurrents & arithmetiques
Serie recurrents & arithmetiquesSerie recurrents & arithmetiques
Serie recurrents & arithmetiquesmohamed_SAYARI
 
Corrige exercices pascal_fenni_2018
Corrige exercices pascal_fenni_2018Corrige exercices pascal_fenni_2018
Corrige exercices pascal_fenni_2018
salah fenni
 
Fiche3 ex-sous-programme
Fiche3 ex-sous-programmeFiche3 ex-sous-programme
Fiche3 ex-sous-programme
Baghdadi Wajih
 
Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références
Aziz Darouichi
 
Algorithmes d'approximation
Algorithmes d'approximationAlgorithmes d'approximation
Algorithmes d'approximationmohamed_SAYARI
 
Cours algorithme: structures répétitives
Cours algorithme: structures répétitivesCours algorithme: structures répétitives
Cours algorithme: structures répétitives
InforMatica34
 
resume algo 2023.pdf
resume algo 2023.pdfresume algo 2023.pdf
resume algo 2023.pdf
salah fenni
 
éNoncés+corrections bac2010
éNoncés+corrections bac2010éNoncés+corrections bac2010
éNoncés+corrections bac2010Morom Bil Morom
 
Sujets de preparation bac tp (sayari)
Sujets de preparation bac tp (sayari)Sujets de preparation bac tp (sayari)
Sujets de preparation bac tp (sayari)mohamed_SAYARI
 
Résumer sur les fichier et les enregistrement
Résumer sur les fichier et les enregistrementRésumer sur les fichier et les enregistrement
Résumer sur les fichier et les enregistrementborhen boukthir
 
Chapitre-02-Les-application-1ere-SM-www.etude-generale.com_.pdf
Chapitre-02-Les-application-1ere-SM-www.etude-generale.com_.pdfChapitre-02-Les-application-1ere-SM-www.etude-generale.com_.pdf
Chapitre-02-Les-application-1ere-SM-www.etude-generale.com_.pdf
etude-generale
 
4 m t2
4 m t24 m t2
Chapitre 4 Fonctions et procédures.pdf
Chapitre 4 Fonctions et procédures.pdfChapitre 4 Fonctions et procédures.pdf
Chapitre 4 Fonctions et procédures.pdf
C00LiMoUn
 
Exercices en turbo pascal sur les nombres
Exercices en turbo pascal sur les nombresExercices en turbo pascal sur les nombres
Exercices en turbo pascal sur les nombres
salah fenni
 
éNoncés+corrections bac2008
éNoncés+corrections bac2008éNoncés+corrections bac2008
éNoncés+corrections bac2008Morom Bil Morom
 
Serie algos approximationx
Serie algos approximationxSerie algos approximationx
Serie algos approximationxmohamed_SAYARI
 
Exercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfExercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdf
salah fenni
 

Tendances (20)

Serie recurrents & arithmetiques
Serie recurrents & arithmetiquesSerie recurrents & arithmetiques
Serie recurrents & arithmetiques
 
Corrige exercices pascal_fenni_2018
Corrige exercices pascal_fenni_2018Corrige exercices pascal_fenni_2018
Corrige exercices pascal_fenni_2018
 
Fiche3 ex-sous-programme
Fiche3 ex-sous-programmeFiche3 ex-sous-programme
Fiche3 ex-sous-programme
 
Td02
Td02Td02
Td02
 
Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références
 
Recursiviteeeeeeeeee
RecursiviteeeeeeeeeeRecursiviteeeeeeeeee
Recursiviteeeeeeeeee
 
Algorithmes d'approximation
Algorithmes d'approximationAlgorithmes d'approximation
Algorithmes d'approximation
 
Cours algorithme: structures répétitives
Cours algorithme: structures répétitivesCours algorithme: structures répétitives
Cours algorithme: structures répétitives
 
resume algo 2023.pdf
resume algo 2023.pdfresume algo 2023.pdf
resume algo 2023.pdf
 
éNoncés+corrections bac2010
éNoncés+corrections bac2010éNoncés+corrections bac2010
éNoncés+corrections bac2010
 
Sujets de preparation bac tp (sayari)
Sujets de preparation bac tp (sayari)Sujets de preparation bac tp (sayari)
Sujets de preparation bac tp (sayari)
 
Résumer sur les fichier et les enregistrement
Résumer sur les fichier et les enregistrementRésumer sur les fichier et les enregistrement
Résumer sur les fichier et les enregistrement
 
Chapitre-02-Les-application-1ere-SM-www.etude-generale.com_.pdf
Chapitre-02-Les-application-1ere-SM-www.etude-generale.com_.pdfChapitre-02-Les-application-1ere-SM-www.etude-generale.com_.pdf
Chapitre-02-Les-application-1ere-SM-www.etude-generale.com_.pdf
 
Exo algo
Exo algoExo algo
Exo algo
 
4 m t2
4 m t24 m t2
4 m t2
 
Chapitre 4 Fonctions et procédures.pdf
Chapitre 4 Fonctions et procédures.pdfChapitre 4 Fonctions et procédures.pdf
Chapitre 4 Fonctions et procédures.pdf
 
Exercices en turbo pascal sur les nombres
Exercices en turbo pascal sur les nombresExercices en turbo pascal sur les nombres
Exercices en turbo pascal sur les nombres
 
éNoncés+corrections bac2008
éNoncés+corrections bac2008éNoncés+corrections bac2008
éNoncés+corrections bac2008
 
Serie algos approximationx
Serie algos approximationxSerie algos approximationx
Serie algos approximationx
 
Exercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfExercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdf
 

Similaire à Bac 2022- NSI journée 1

bhaj_inspiration.pdf
bhaj_inspiration.pdfbhaj_inspiration.pdf
bhaj_inspiration.pdf
Kaoutar Dahmane
 
TD systèmes logiques.pdf----------------
TD systèmes logiques.pdf----------------TD systèmes logiques.pdf----------------
TD systèmes logiques.pdf----------------
NasriMohsen2
 
Cours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdfCours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdf
adeljaouadi
 
condition et boucle (2).pptx
condition et boucle  (2).pptxcondition et boucle  (2).pptx
condition et boucle (2).pptx
MohammedErritali2
 
POO_Java_BasesLangage.pdf
POO_Java_BasesLangage.pdfPOO_Java_BasesLangage.pdf
POO_Java_BasesLangage.pdf
LarbaSAWADOGO2
 
Numeration et codage_de_linfo
Numeration et codage_de_linfoNumeration et codage_de_linfo
Numeration et codage_de_linfoyarsenv47
 
Need it help in Operating System quiz(computer language) and in some course
Need it help in Operating System quiz(computer language) and in some courseNeed it help in Operating System quiz(computer language) and in some course
Need it help in Operating System quiz(computer language) and in some course
Douria Zohbi
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
ABID Mehdi
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
ABID Mehdi
 
Td logique
Td logiqueTd logique
Série sous programmes (bac scientifique)
Série sous programmes (bac scientifique)Série sous programmes (bac scientifique)
Série sous programmes (bac scientifique)
Hichem Kemali
 
Polynesie2014maths s-oblig&spe
Polynesie2014maths s-oblig&spePolynesie2014maths s-oblig&spe
Polynesie2014maths s-oblig&speFabrice Lallemand
 
Algorithmique seconde (corrigés et commentaires)
Algorithmique seconde (corrigés et commentaires)Algorithmique seconde (corrigés et commentaires)
Algorithmique seconde (corrigés et commentaires)DriNox NordisTe
 
Formation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptxFormation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptx
betalab
 
syntax-matlab.pdf
syntax-matlab.pdfsyntax-matlab.pdf
syntax-matlab.pdf
YasmineChihab
 
Excel : Les fonctions mathématiques
Excel : Les fonctions mathématiquesExcel : Les fonctions mathématiques
Excel : Les fonctions mathématiques
Zakariyaa AIT ELMOUDEN
 
Ch3 algebreboole
Ch3 algebrebooleCh3 algebreboole
Ch3 algebreboolemickel iron
 
Ch3 algebreboole
Ch3 algebrebooleCh3 algebreboole
Ch3 algebreboole
mickel iron
 

Similaire à Bac 2022- NSI journée 1 (20)

bhaj_inspiration.pdf
bhaj_inspiration.pdfbhaj_inspiration.pdf
bhaj_inspiration.pdf
 
TD systèmes logiques.pdf----------------
TD systèmes logiques.pdf----------------TD systèmes logiques.pdf----------------
TD systèmes logiques.pdf----------------
 
Cours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdfCours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdf
 
condition et boucle (2).pptx
condition et boucle  (2).pptxcondition et boucle  (2).pptx
condition et boucle (2).pptx
 
POO_Java_BasesLangage.pdf
POO_Java_BasesLangage.pdfPOO_Java_BasesLangage.pdf
POO_Java_BasesLangage.pdf
 
Numeration et codage_de_linfo
Numeration et codage_de_linfoNumeration et codage_de_linfo
Numeration et codage_de_linfo
 
Need it help in Operating System quiz(computer language) and in some course
Need it help in Operating System quiz(computer language) and in some courseNeed it help in Operating System quiz(computer language) and in some course
Need it help in Operating System quiz(computer language) and in some course
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
Td logique
Td logiqueTd logique
Td logique
 
Série sous programmes (bac scientifique)
Série sous programmes (bac scientifique)Série sous programmes (bac scientifique)
Série sous programmes (bac scientifique)
 
Polynesie2014maths s-oblig&spe
Polynesie2014maths s-oblig&spePolynesie2014maths s-oblig&spe
Polynesie2014maths s-oblig&spe
 
Algorithmique seconde (corrigés et commentaires)
Algorithmique seconde (corrigés et commentaires)Algorithmique seconde (corrigés et commentaires)
Algorithmique seconde (corrigés et commentaires)
 
Formation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptxFormation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptx
 
Cours architecture
Cours architectureCours architecture
Cours architecture
 
Chapitre 2
Chapitre 2Chapitre 2
Chapitre 2
 
syntax-matlab.pdf
syntax-matlab.pdfsyntax-matlab.pdf
syntax-matlab.pdf
 
Excel : Les fonctions mathématiques
Excel : Les fonctions mathématiquesExcel : Les fonctions mathématiques
Excel : Les fonctions mathématiques
 
Ch3 algebreboole
Ch3 algebrebooleCh3 algebreboole
Ch3 algebreboole
 
Ch3 algebreboole
Ch3 algebrebooleCh3 algebreboole
Ch3 algebreboole
 

Plus de LETUDIANT1

bac 2022 correction sujet 2 OK
bac 2022 correction sujet 2 OKbac 2022 correction sujet 2 OK
bac 2022 correction sujet 2 OK
LETUDIANT1
 
Correction bac STSS 2022
Correction bac STSS 2022Correction bac STSS 2022
Correction bac STSS 2022
LETUDIANT1
 
bac 2022 - correction SES jour 2
bac 2022 - correction SES jour 2bac 2022 - correction SES jour 2
bac 2022 - correction SES jour 2
LETUDIANT1
 
Correction HLP
Correction HLPCorrection HLP
Correction HLP
LETUDIANT1
 
bac 2022 correction HGGSP Jour 2
bac 2022 correction HGGSP Jour 2bac 2022 correction HGGSP Jour 2
bac 2022 correction HGGSP Jour 2
LETUDIANT1
 
Bac 2022 Correction SVT Jour 2
Bac 2022 Correction SVT Jour 2Bac 2022 Correction SVT Jour 2
Bac 2022 Correction SVT Jour 2
LETUDIANT1
 
Correction bac LLCER anglais
Correction bac LLCER anglaisCorrection bac LLCER anglais
Correction bac LLCER anglais
LETUDIANT1
 
Correction bac LLCER anglais
Correction bac LLCER anglaisCorrection bac LLCER anglais
Correction bac LLCER anglais
LETUDIANT1
 
Correction-bac-physique-chimie-12.05.pdf
Correction-bac-physique-chimie-12.05.pdfCorrection-bac-physique-chimie-12.05.pdf
Correction-bac-physique-chimie-12.05.pdf
LETUDIANT1
 
Bac 2022 - Physique Chimie Sujet jour 2
Bac 2022 - Physique Chimie Sujet jour 2Bac 2022 - Physique Chimie Sujet jour 2
Bac 2022 - Physique Chimie Sujet jour 2
LETUDIANT1
 
BAC 2022 - SVT
BAC 2022 - SVTBAC 2022 - SVT
BAC 2022 - SVT
LETUDIANT1
 
22-LLCERALME1.pdf
22-LLCERALME1.pdf22-LLCERALME1.pdf
22-LLCERALME1.pdf
LETUDIANT1
 
BAC 2022 STMG éco droit Sujet 2
BAC 2022 STMG éco droit Sujet 2BAC 2022 STMG éco droit Sujet 2
BAC 2022 STMG éco droit Sujet 2
LETUDIANT1
 
22-LLCERPort.pdf
22-LLCERPort.pdf22-LLCERPort.pdf
22-LLCERPort.pdf
LETUDIANT1
 
22-LLCERITME1.pdf
22-LLCERITME1.pdf22-LLCERITME1.pdf
22-LLCERITME1.pdf
LETUDIANT1
 
22-LLCERESPA.pdf
22-LLCERESPA.pdf22-LLCERESPA.pdf
22-LLCERESPA.pdf
LETUDIANT1
 
BAC 2022 - Ingénierie, innovation et développement durable
BAC 2022 - Ingénierie, innovation et développement durable BAC 2022 - Ingénierie, innovation et développement durable
BAC 2022 - Ingénierie, innovation et développement durable
LETUDIANT1
 
bac 2022 HLP Sujet jour 2
bac 2022 HLP Sujet jour 2bac 2022 HLP Sujet jour 2
bac 2022 HLP Sujet jour 2
LETUDIANT1
 
22-LLCERANGLAIS.pdf
22-LLCERANGLAIS.pdf22-LLCERANGLAIS.pdf
22-LLCERANGLAIS.pdf
LETUDIANT1
 
BAC 2022 - SES - Jour 2
BAC 2022 - SES - Jour 2BAC 2022 - SES - Jour 2
BAC 2022 - SES - Jour 2
LETUDIANT1
 

Plus de LETUDIANT1 (20)

bac 2022 correction sujet 2 OK
bac 2022 correction sujet 2 OKbac 2022 correction sujet 2 OK
bac 2022 correction sujet 2 OK
 
Correction bac STSS 2022
Correction bac STSS 2022Correction bac STSS 2022
Correction bac STSS 2022
 
bac 2022 - correction SES jour 2
bac 2022 - correction SES jour 2bac 2022 - correction SES jour 2
bac 2022 - correction SES jour 2
 
Correction HLP
Correction HLPCorrection HLP
Correction HLP
 
bac 2022 correction HGGSP Jour 2
bac 2022 correction HGGSP Jour 2bac 2022 correction HGGSP Jour 2
bac 2022 correction HGGSP Jour 2
 
Bac 2022 Correction SVT Jour 2
Bac 2022 Correction SVT Jour 2Bac 2022 Correction SVT Jour 2
Bac 2022 Correction SVT Jour 2
 
Correction bac LLCER anglais
Correction bac LLCER anglaisCorrection bac LLCER anglais
Correction bac LLCER anglais
 
Correction bac LLCER anglais
Correction bac LLCER anglaisCorrection bac LLCER anglais
Correction bac LLCER anglais
 
Correction-bac-physique-chimie-12.05.pdf
Correction-bac-physique-chimie-12.05.pdfCorrection-bac-physique-chimie-12.05.pdf
Correction-bac-physique-chimie-12.05.pdf
 
Bac 2022 - Physique Chimie Sujet jour 2
Bac 2022 - Physique Chimie Sujet jour 2Bac 2022 - Physique Chimie Sujet jour 2
Bac 2022 - Physique Chimie Sujet jour 2
 
BAC 2022 - SVT
BAC 2022 - SVTBAC 2022 - SVT
BAC 2022 - SVT
 
22-LLCERALME1.pdf
22-LLCERALME1.pdf22-LLCERALME1.pdf
22-LLCERALME1.pdf
 
BAC 2022 STMG éco droit Sujet 2
BAC 2022 STMG éco droit Sujet 2BAC 2022 STMG éco droit Sujet 2
BAC 2022 STMG éco droit Sujet 2
 
22-LLCERPort.pdf
22-LLCERPort.pdf22-LLCERPort.pdf
22-LLCERPort.pdf
 
22-LLCERITME1.pdf
22-LLCERITME1.pdf22-LLCERITME1.pdf
22-LLCERITME1.pdf
 
22-LLCERESPA.pdf
22-LLCERESPA.pdf22-LLCERESPA.pdf
22-LLCERESPA.pdf
 
BAC 2022 - Ingénierie, innovation et développement durable
BAC 2022 - Ingénierie, innovation et développement durable BAC 2022 - Ingénierie, innovation et développement durable
BAC 2022 - Ingénierie, innovation et développement durable
 
bac 2022 HLP Sujet jour 2
bac 2022 HLP Sujet jour 2bac 2022 HLP Sujet jour 2
bac 2022 HLP Sujet jour 2
 
22-LLCERANGLAIS.pdf
22-LLCERANGLAIS.pdf22-LLCERANGLAIS.pdf
22-LLCERANGLAIS.pdf
 
BAC 2022 - SES - Jour 2
BAC 2022 - SES - Jour 2BAC 2022 - SES - Jour 2
BAC 2022 - SES - Jour 2
 

Dernier

1-IMP-Tuto-Recherche simple avancée-V4-20240425-BS.pptx
1-IMP-Tuto-Recherche simple avancée-V4-20240425-BS.pptx1-IMP-Tuto-Recherche simple avancée-V4-20240425-BS.pptx
1-IMP-Tuto-Recherche simple avancée-V4-20240425-BS.pptx
schneiderbeatrice78
 
Exame DELF - A2 Francês pout tout public
Exame DELF - A2  Francês pout tout publicExame DELF - A2  Francês pout tout public
Exame DELF - A2 Francês pout tout public
GiselaAlves15
 
Contrôle fiscale en république de guinée
Contrôle fiscale en république de guinéeContrôle fiscale en république de guinée
Contrôle fiscale en république de guinée
bangalykaba146
 
4 expositions à voir à Paris.pptx
4   expositions    à   voir   à Paris.pptx4   expositions    à   voir   à Paris.pptx
4 expositions à voir à Paris.pptx
Txaruka
 
Mémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et auditMémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et audit
MelDjobo
 
Festival de Cannes 2024.pptx
Festival      de      Cannes     2024.pptxFestival      de      Cannes     2024.pptx
Festival de Cannes 2024.pptx
Txaruka
 
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
BenotGeorges3
 
Méthodologie de recherche et de rédaction de mémoire.pptx
Méthodologie de recherche et de rédaction de mémoire.pptxMéthodologie de recherche et de rédaction de mémoire.pptx
Méthodologie de recherche et de rédaction de mémoire.pptx
LamoussaPaulOuattara1
 
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Formation
 
Cours SE - Gestion de la mémoire- Cours IG IPSET.pdf
Cours SE - Gestion de la mémoire- Cours IG IPSET.pdfCours SE - Gestion de la mémoire- Cours IG IPSET.pdf
Cours SE - Gestion de la mémoire- Cours IG IPSET.pdf
MedBechir
 
Iris et les hommes.pptx
Iris      et         les      hommes.pptxIris      et         les      hommes.pptx
Iris et les hommes.pptx
Txaruka
 
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
IES Turina/Rodrigo/Itaca/Palomeras
 
Calendrier du 3 juin 2024 et compte rendu.pdf
Calendrier du 3 juin 2024 et compte rendu.pdfCalendrier du 3 juin 2024 et compte rendu.pdf
Calendrier du 3 juin 2024 et compte rendu.pdf
frizzole
 
Bilan schéma pour réun concertation SDLP V4.pptx
Bilan schéma pour réun concertation SDLP V4.pptxBilan schéma pour réun concertation SDLP V4.pptx
Bilan schéma pour réun concertation SDLP V4.pptx
bibliogard
 

Dernier (14)

1-IMP-Tuto-Recherche simple avancée-V4-20240425-BS.pptx
1-IMP-Tuto-Recherche simple avancée-V4-20240425-BS.pptx1-IMP-Tuto-Recherche simple avancée-V4-20240425-BS.pptx
1-IMP-Tuto-Recherche simple avancée-V4-20240425-BS.pptx
 
Exame DELF - A2 Francês pout tout public
Exame DELF - A2  Francês pout tout publicExame DELF - A2  Francês pout tout public
Exame DELF - A2 Francês pout tout public
 
Contrôle fiscale en république de guinée
Contrôle fiscale en république de guinéeContrôle fiscale en république de guinée
Contrôle fiscale en république de guinée
 
4 expositions à voir à Paris.pptx
4   expositions    à   voir   à Paris.pptx4   expositions    à   voir   à Paris.pptx
4 expositions à voir à Paris.pptx
 
Mémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et auditMémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et audit
 
Festival de Cannes 2024.pptx
Festival      de      Cannes     2024.pptxFestival      de      Cannes     2024.pptx
Festival de Cannes 2024.pptx
 
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
 
Méthodologie de recherche et de rédaction de mémoire.pptx
Méthodologie de recherche et de rédaction de mémoire.pptxMéthodologie de recherche et de rédaction de mémoire.pptx
Méthodologie de recherche et de rédaction de mémoire.pptx
 
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
 
Cours SE - Gestion de la mémoire- Cours IG IPSET.pdf
Cours SE - Gestion de la mémoire- Cours IG IPSET.pdfCours SE - Gestion de la mémoire- Cours IG IPSET.pdf
Cours SE - Gestion de la mémoire- Cours IG IPSET.pdf
 
Iris et les hommes.pptx
Iris      et         les      hommes.pptxIris      et         les      hommes.pptx
Iris et les hommes.pptx
 
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
 
Calendrier du 3 juin 2024 et compte rendu.pdf
Calendrier du 3 juin 2024 et compte rendu.pdfCalendrier du 3 juin 2024 et compte rendu.pdf
Calendrier du 3 juin 2024 et compte rendu.pdf
 
Bilan schéma pour réun concertation SDLP V4.pptx
Bilan schéma pour réun concertation SDLP V4.pptxBilan schéma pour réun concertation SDLP V4.pptx
Bilan schéma pour réun concertation SDLP V4.pptx
 

Bac 2022- NSI journée 1

  • 1. 22-NSIJ1ME1 Page : 1/14 BACCALAURÉAT GÉNÉRAL ÉPREUVE D’ENSEIGNEMENT DE SPÉCIALITÉ SESSION 2022 NUMÉRIQUE ET SCIENCES INFORMATIQUES Mercredi 11 mai 2022 Durée de l’épreuve : 3 heures 30 L’usage de la calculatrice n’est pas autorisé. Dès que ce sujet vous est remis, assurez-vous qu’il est complet. Ce sujet comporte 14 pages numérotées de 1/14 à 14 /14. Le candidat traite au choix 3 exercices parmi les 5 exercices proposés Chaque exercice est noté sur 4 points.
  • 2. 22-NSIJ1ME1 Page : 2/14 EXERCICE 1 (4 points) Cet exercice composé de deux parties A et B, porte sur les structures de données. Partie A : Expression correctement parenthésée On veut déterminer si une expression arithmétique est correctement parenthésée. Pour chaque parenthèse fermante ")" correspond une parenthèse précédemment ouverte "(". Exemples : - L’expression arithmétique "(2 + 3) × (18/(4 + 2))" est correctement parenthésée. - L’expression arithmétique "(2 + 3) × (18/(4 + 2" est non correctement parenthésée. Pour simplifier les expressions arithmétiques, on enregistre, dans une structure de données, uniquement les parenthèses dans leur ordre d’apparition. On appelle expression simplifiée cette structure. "(2 + 3) × (18/(4 + 2))" Expression arithmétique Structure de données 1. Indiquer si la phrase « les éléments sont maintenant retirés (pour être lus) de cette structure de données dans le même ordre qu’ils y ont été ajoutés lors de l’enregistrement » décrit le comportement d’une file ou d’une pile. Justifier. Pour vérifier le parenthésage, on peut utiliser une variable controleur qui :  est un nombre entier égal à 0 en début d’analyse de l’expression simplifiée ;  augmente de 1 si l’on rencontre une parenthèse ouvrante "(" ;  diminue de 1 si l’on rencontre une parenthèse fermante ")". Exemple : On considère l’ expression simplifiée A : "( )( ( ) )" Lors de l’analyse de l’expression A, controleur (initialement égal à 0) prend successivement pour valeur 1, 0, 1, 2, 1, 0. Le parenthésage est correct. 2. Écrire, pour chacune des 2 expressions simplifiées B et C suivantes, les valeurs successives prises par la variable controleur lors de leur analyse. Expression simplifiée B : " ((( )( )" Expression simplifiée C : "(( )))(" ( ) ( ( ) )
  • 3. 22-NSIJ1ME1 Page : 3/14 3. L’expression simplifiée B précédente est mal parenthésée (parenthèses fermantes manquantes) car le controleur est différent de zéro en fin d’analyse. L’expression simplifiée C précédente est également mal parenthésée (parenthèse fermante sans parenthèse ouvrante) car le controleur prend une valeur négative pendant l’analyse. Recopier et compléter uniquement les lignes 13 et 16 du code ci-dessous pour que la fonction parenthesage_correct réponde à sa description. 1 def parenthesage_correct(expression): 2 ’’’ fonction retournant True si l'expression arithmétique 3 simplifiée (str) est correctement parenthésée, False 4 sinon. 5 Condition: expression ne contient que des parenthèses 6 ouvrantes et fermantes ’’’ 7 controleur = 0 8 for parenthese in expression: #pour chaque parenthèse 9 if parenthese == '(': 10 controleur = controleur + 1 11 else:# parenthese == ')' 12 controleur = controleur - 1 13 if controleur ... : # test 1 (à recopier et compléter) 14 #parenthèse fermante sans parenthèse ouvrante 15 return False 16 if controleur ... : # test 2 (à recopier et compléter) 17 return True #le parenthésage est correct 18 else: 19 return False #parenthèse(s) fermante(s) manquante(s) Partie B : Texte correctement balisé On peut faire l’analogie entre le texte simplifié des fichiers HTML (uniquement constitué de balises ouvrantes <nom> et fermantes </nom>) et les expressions parenthésées : Par exemple, l’expression HTML simplifiée : "<p><strong><em></em></strong></p>" est correctement balisée. On ne tiendra pas compte dans cette partie des balises ne comportant pas de fermeture comme <br> ou <img …>.
  • 4. 22-NSIJ1ME1 Page : 4/14 Afin de vérifier qu’une expression HTML simplifiée est correctement balisée, on peut utiliser une pile (initialement vide) selon l’algorithme suivant : On parcourt successivement chaque balise de l’expression :  lorsque l’on rencontre une balise ouvrante, on l’empile ;  lorsque l’on rencontre une balise fermante :  si la pile est vide, alors l’analyse s’arrête : le balisage est incorrect ,  sinon, on dépile et on vérifie que les deux balises (la balise fermante rencontrée et la balise ouvrante dépilée) correspondent (c’est-à-dire ont le même nom) si ce n’est pas le cas, l’analyse s’arrête (balisage incorrect). Exemple : État de la pile lors du déroulement de cet algorithme pour l’expression simplifiée "<p><em></p></em>" qui n’est pas correctement balisée. État de la pile lors du déroulement de l’algorithme 4. Cette question traite de l’état de la pile lors du déroulement de l’algorithme. a. Représenter la pile à chaque étape du déroulement de cet algorithme pour l’expression "<p><em></em></p>" (balisage correct). b. Indiquer quelle condition simple (sur le contenu de la pile) permet alors de dire que le balisage est correct lorsque toute l’expression HTML simplifiée a été entièrement parcourue, sans que l’analyse ne s’arrête. 5. Une expression HTML correctement balisée contient 12 balises. Indiquer le nombre d’éléments que pourrait contenir au maximum la pile lors de son analyse.
  • 5. 22-NSIJ1ME1 Page : 5/14 Requête 1 Requête 2 EXERCICE 2 (4 points) Cet exercice porte sur les bases de données. On pourra utiliser les mots clés SQL suivants : SELECT, FROM, WHERE, JOIN, ON, INSERT, INTO, VALUES, UPDATE, SET, AND. Nous allons étudier une base de données traitant du cinéma dont voici le schéma relationnel qui comporte 3 relations : - la relation individu (id_ind, nom, prenom, naissance) - la relation realisation (id_rea, titre, annee, type) - la relation emploi (id_emp, description, #id_ind, #id_rea) Les clés primaires sont soulignées et les clés étrangères sont précédées d’un #. Ainsi emploi.id_ind est une clé étrangère faisant référence à individu.id_ind. Voici un extrait des tables individu et realisation : 1. On s’intéresse ici à la récupération de données dans une relation. a. Écrire ce que renvoie la requête ci-dessous : SELECT nom, prenom, naissance FROM individu WHERE nom = 'Crog'; b. Fournir une requête SQL permettant de récupérer le titre et la clé primaire de chaque film dont la date de sortie est strictement supérieure à 2020. 2. Cette question traite de la modification de relations. a. Dire s’il faut utiliser la requête 1 ou la requête 2 proposées ci-dessous pour modifier la date de naissance de Daniel Crog. Justifier votre réponse en expliquant pourquoi la requête refusée ne pourra pas fonctionner. UPDATE individu SET naissance = '02-03-1968' WHERE id_ind = 688 AND nom = 'Crog' AND prenom = 'Daniel'; INSERT INTO individu VALUES (688, 'Crog', 'Daniel', '02-03-1968'); extrait de individu extrait de realisation id_ind nom prenom naissance id_rea titre annee type 105 'Hulka’ 'Daniel' '01-06-1968' 105 'Casino Imperial’ 2006 ’action’ 403 ’Travis' 'Daniel' '10-03-1968' 325 'Ciel tombant' 2012 ’action’ 688 'Crog' 'Daniel' '07-07-1968' 655 'Fantôme' 2015 ’action’ 695 'Pollock’ ’Daniel' '24-08-1968' 950 'Mourir pour attendre' 2021 ’action’
  • 6. 22-NSIJ1ME1 Page : 6/14 b. Expliquer si la relation individu peut accepter (ou pas) deux individus portant le même nom, le même prénom et la même date de naissance. 3. Cette question porte sur la notion de clés étrangères. a. Recopier sur votre copie les demandes ci-dessous, dans leur intégralité, et les compléter correctement pour qu’elles ajoutent dans la relation emploi les rôles de Daniel Crog en tant que James Bond dans le film nommé ‘Casino Impérial’ puis dans le film ‘Ciel tombant’. INSERT INTO emploi VALUES (5400, 'Acteur(James Bond)', ... ); INSERT INTO emploi VALUES (5401, 'Acteur(James Bond)', ... ); b. On désire rajouter un nouvel emploi de Daniel Crog en tant que James Bond dans le film 'Docteur Yes'. Expliquer si l’on doit d’abord créer l’enregistrement du film dans la relation realisation ou si l’on doit d’abord créer le rôle dans la relation emploi. 4. Cette question traite des jointures. a. Recopier sur votre copie la requête SQL ci-dessous, dans son intégralité, et la compléter de façon à ce qu’elle renvoie le nom de l’acteur, le titre du film et l’année de sortie du film, à partir de tous les enregistrements de la relation emploi pour lesquels la description de l’emploi est 'Acteur(James Bond)'. SELECT ... FROM emploi JOIN individu ON ... JOIN realisation ON ... WHERE emploi.description = 'Acteur(James Bond)'; b. Fournir une requête SQL permettant de trouver toutes les descriptions des emplois de Denis Johnson (Denis est son prénom et Johnson est son nom). On veillera à n’afficher que la description des emplois et non les films associés à ces emplois.
  • 7. 22-NSIJ1ME1 Page : 7/14 EXERCICE 3 (4 points) Cet exercice porte sur les représentations binaires et les protocoles de routage. 1. Une adresse IPv4 est représentée sous la forme de 4 nombres séparés par des points. Chacun de ces 4 nombres peut être représenté sur un octet. a. Donner en écriture décimale l’adresse IPv4 correspondant à l’écriture binaire : 11000000.10101000.10000000.10000011 b. Tous les ordinateurs du réseau A ont une adresse IPv4 de la forme : 192.168.128._ _ _ , où seul le dernier octet (représenté par _ _ _ ) diffère. Donner le nombre d’adresses différentes possibles du réseau A. 2. On rappelle que le protocole RIP cherche à minimiser le nombre de routeurs traversés (qui correspond à la métrique). On donne les tables de routage d’un réseau informatique composé de 5 routeurs (appelés A, B, C, D et E), chacun associé directement à un réseau du même nom obtenues avec le protocole RIP : . Routeur D Destination Métrique A 1 B 1 C 1 D 0 E 1 Routeur A Destination Métrique A 0 B 1 C 1 D 1 E 2 Routeur B Destination Métrique A 1 B 0 C 2 D 1 E 2 Routeur C Destination Métrique A 1 B 2 C 0 D 1 E 2 Routeur E Destination Métrique A 2 B 2 C 2 D 1 E 0
  • 8. 22-NSIJ1ME1 Page : 8/14 a. Donner la liste des routeurs avec lesquels le routeur A est directement relié. b. Représenter graphiquement et de manière sommaire les 5 routeurs ainsi que les liaisons existantes entre ceux-ci. 3. Le protocole OSPF est un protocole de routage qui cherche à minimiser la somme des métriques des liaisons entre routeurs. Dans le protocole de routage OSPF le débit des liaisons entre routeurs agit sur la métrique via la relation : 𝑚é𝑡𝑟𝑖𝑞𝑢𝑒 = é dans laquelle le débit est exprimé en bit par seconde (bps). On rappelle qu’un kbps est égal à 10 bps et qu’un Mbps est égal à 10 bps. Recopier sur votre copie et compléter le tableau suivant : Débit 100 kbps 500 kbps ? 100 Mbps Métrique associée 1 000 ? 10 1 4. Voici la représentation d’un réseau et la table de routage incomplète du routeur F obtenue avec le protocole OSPF : Les nombres présents sur les liaisons représentent les coûts des routes avec le protocole OSPF. a. Indiquer le chemin emprunté par un message d’un ordinateur du réseau F à destination d’un ordinateur du réseau I. Justifier votre réponse. b. Recopier et compléter la table de routage du routeur F. c. Citer une unique panne qui suffirait à ce que toutes les données des échanges de tout autre réseau à destination du réseau F transitent par le routeur G. Expliquer en détail votre réponse. Routeur F Destination Métrique F 0 G 8 H 5 I J K L
  • 9. 22-NSIJ1ME1 Page : 9/14 EXERCICE 4 (4 points) Cet exercice, composé de deux parties A et B, porte sur le parcours des arbres binaires, le principe “diviser pour régner” et la récursivité. Cet exercice traite du calcul de la somme d’un arbre binaire. Cette somme consiste à additionner toutes les valeurs numériques contenues dans les nœuds de l’arbre. L’arbre utilisé dans les parties A et B est le suivant : Partie A : Parcours d’un arbre 1. Donner la somme de l’arbre précédent. Justifier la réponse en explicitant le calcul qui a permis de l’obtenir. 2. Indiquer la lettre correspondante aux noms ‘racine’, ‘feuille’, ‘nœud’, ‘SAG’ (Sous Arbre Gauche) et ‘SAD’ (Sous Arbre Droit). Chaque lettre A, B, C, D et E devra être utilisée une seule fois. Arbre avec les lettres à associer 3. Parmi les quatre propositions A, B, C et D ci-dessous, donnant un parcours en largeur d’abord de l’arbre, une seule est correcte. Indiquer laquelle. Proposition A : 7 - 6 - 4 - 3 - 9 - 2 - 1 Proposition B : 3 - 6 - 7 - 4 - 2 - 9 - 1 Proposition C : 3 - 6 - 2 - 7 - 4 - 9 - 1 Proposition D : 7 - 4 - 6 - 9 - 1 - 2 – 3 4. Écrire en langage Python la fonction somme qui prend en paramètre une liste de nombres et qui renvoie la somme de ses éléments. Exemple : somme([1, 2, 3, 4]) est égale à 10.
  • 10. 22-NSIJ1ME1 Page : 10/14 5. La fonction parcourir(arbre) pourrait se traduire en langage naturel par : parcourir(A): L = liste_vide F = file_vide enfiler A dans F Tant que F n’est pas vide défiler S de F ajouter la valeur de la racine de S dans L Pour chaque sous arbre SA non vide de S enfiler SA dans F renvoyer L Donner le type de parcours obtenu grâce à la fonction parcourir. Partie B : Méthode ‘diviser pour régner’ 6. Parmi les quatre propositions A,B, C et D ci-dessous, indiquer la seule proposition correcte. En informatique, le principe diviser pour régner signifie : Proposition A : diviser une fonction en deux fonctions plus petites Proposition B : utiliser plusieurs modules Proposition C : séparer les informations en fonction de leur types Proposition D : diviser un problème en deux problèmes plus petits et indépendants. 7. L’arbre présenté dans le problème peut être décomposé en racine et sous arbres : Indiquer dans l’esprit de ‘diviser pour régner’ l’égalité donnant la somme d’un arbre en fonction de la somme des sous arbres et de la valeur numérique de la racine.
  • 11. 22-NSIJ1ME1 Page : 11/14 8. Écrire en langage Python une fonction récursive calcul_somme(arbre). Cette fonction calcule la somme de l’arbre passé en paramètre. Les fonctions suivantes sont disponibles : - est_vide(arbre) : renvoie True si arbre est vide et renvoie False sinon ; - valeur_racine(arbre) : renvoie la valeur numérique de la racine de arbre ; - arbre_gauche(arbre) : renvoie le sous arbre gauche de arbre ; - arbre_droit(arbre) : renvoie le sous arbre droit de arbre.
  • 12. 22-NSIJ1ME1 Page : 12/14 EXERCICE 5 (4 points) Cet exercice porte sur la Programmation Orientée Objet. Les participants à un jeu de LaserGame sont répartis en équipes et s’affrontent dans ce jeu de tir, revêtus d’une veste à capteurs et munis d’une arme factice émettant des infrarouges. Les ordinateurs embarqués dans ces vestes utilisent la programmation orientée objet pour modéliser les joueurs. La classe Joueur est définie comme suit : 1 class Joueur: 2 def __init__(self, pseudo, identifiant, equipe): 3 ’’’ constructeur ’’’ 4 self.pseudo = pseudo 5 self.equipe = equipe 6 self.id = identifiant 7 self.nb_de_tirs_emis = 0 8 self.liste_id_tirs_recus = [] 9 self.est_actif = True 10 def tire(self): 11 ’’’méthode déclenchée par l'appui sur la gachette’’’ 12 if self.est_actif == True: 13 self.nb_de_tirs_emis = self.nb_de_tirs_emis + 1 14 def est_determine(self): 15 ’’’methode qui renvoie True si le joueur réalise un 16 grand nombre de tirs’’’ 17 return self.nb_de_tirs_emis > 500 18 def subit_un_tir(self, id_recu): 19 ’’’méthode déclenchée par les capteurs de la 20 veste’’’ 21 if self.est_actif == True: 22 self.est_actif = False 23 self.liste_id_tirs_recus.append(id_recu) 1. Parmi les instructions suivantes, recopier celle qui permet de déclarer un objet joueur1, instance de la classe Joueur, correspondant à un joueur dont le pseudo est “Sniper”, dont l’identifiant est 319 et qui est intégré à l’équipe “A”: Instruction 1 : joueur1 = ["Sniper", 319, "A"] Instruction 2 : joueur1 = new Joueur["Sniper", 319, "A"] Instruction 3 : joueur1 = Joueur("Sniper", 319, "A") Instruction 4 : joueur1 = Joueur{"pseudo":"Sniper", "id":319, "equipe":"A"}
  • 13. 22-NSIJ1ME1 Page : 13/14 2. La méthode subit_un_tir réalise les actions suivantes : Lorsqu’un joueur actif subit un tir capté par sa veste, l’identifiant du tireur est ajouté à l’attribut liste_id_tirs_recus et l’attribut est_actif prend la valeur False (le joueur est désactivé). Il doit alors revenir à son camp de base pour être de nouveau actif. a. Écrire la méthode redevenir_actif qui rend à nouveau le joueur actif uniquement s’il était précédemment désactivé. b. Écrire la méthode nb_de_tirs_recus qui renvoie le nombre de tirs reçus par un joueur en utilisant son attribut liste_id_tirs_recus. 3. Lorsque la partie est terminée, les participants rejoignent leur camp de base respectif où un ordinateur, qui utilise la classe Base, récupère les données. La classe Base est définie par : - ses attributs : – equipe : nom de l’équipe (str). Par exemple, “A” , – liste_des_id_de_l_equipe qui correspond à la liste (list) des identifiants connus des joueurs de l’équipe, – score : score (int) de l’équipe, dont la valeur initiale est 1000 ; - ses méthodes : – est_un_id_allie qui renvoie True si l’identifiant passé en paramètre est un identifiant d’un joueur de l’équipe, False sinon, – incremente_score qui fait varier l’attribut score du nombre passé en paramètre, – collecte_information qui récupère les statistiques d’un participant passé en paramètre (instance de la classe Joueur) pour calculer le score de l’équipe . 1 def collecte_information(self,participant): 2 if participant.equipe == self.equipe : # test 1 3 for id in participant.liste_id_tirs_recus: 4 if self.est_un_id_allie(id): # test 2 5 self.incremente_score(-20) 6 else: 7 self.incremente_score(-10) a. Indiquer le numéro du test (test 1 ou test 2) qui permet de vérifier qu’en fin de partie un participant égaré n’a pas rejoint par erreur la base adverse. b. Décrire comment varie quantitativement le score de la base lorsqu’un joueur de cette équipe a été touché par le tir d’un coéquipier.
  • 14. 22-NSIJ1ME1 Page : 14/14 On souhaite accorder à la base un bonus de 40 points pour chaque joueur particulièrement déterminé (qui réalise un grand nombre de tirs). 4. Recopier et compléter, en utilisant les méthodes des classes Joueur et Base, les 2 lignes de codes suivantes qu’il faut ajouter à la fin de la méthode collecte_information : ........ #si le participant réalise un grand nombre de tirs ......... #le score de la Base augmente de 40