Retour
2024
2024 Sujet Zero B
Session 2024
Durée : 3h30
3 Exercices
"Sujet officiel."
EXERCICE 1 : (6 points)
Thème : NSI6 points
(6 points) Cet exercice porte sur la notion de listes, la récursivité et la programmation dynamique. Pour extraire de l’eau dans des zones de terrain instable, on souhaite forer un conduit dans le sol pour réaliser un puits tout en préservant l’intégrité du terrain. Pour représenter cette situation, on va considérer qu’en forant à partir d’une position en surface, on s’enfonce dans le sol en allant à gauche ou à droite à chaque niveau, jusqu’à atteindre le niveau de la nappe phréatique. Le sol pourra donc être représenté par une pyramide d’entiers où chaque entier est le score de confiance qu’on a dans le forage de la zone correspondante. Une telle pyramide est présentée sur la figure 1, à gauche, les flèches indiquant les différents déplacements possibles d’une zone à une autre au cours du forage. Un conduit doit partir du sommet de la pyramide et descendre jusqu’au niveau le plus bas, où se situe l’eau, en suivant des déplacements élémentaires, c’est-à-dire en choisissant à chaque niveau de descendre sur la gauche ou sur la droite. Le score de confiance d’un conduit est la somme des nombres rencontrés le long de ce conduit. Le conduit gris représenté à droite sur la figure 1 a pour score de confiance 4+2+5+1+3=15. Figure 1. On va utiliser un ordinateur pour chercher à résoudre ce problème. Pour cela, on représente chaque niveau par la liste des nombres de ce niveau et une pyramide par une liste de niveaux. La pyramide ci-dessus est donc représentée par la liste de listes ex1 = [[4],[6,2],[3,5,7],[5,1,6,2],[4,7,3,5,2]].
1
Voir le sujet complet pour les détails.
EXERCICE 2 : (6 points)
Thème : NSI6 points
(6 points) Cet exercice porte sur les systèmes d’exploitation, les commandes UNIX, les structures de données (de type LIFO et FIFO) et les processus. “Linux ou GNU/Linux est une famille de systèmes d’exploitation open source de type Unix fondée sur le noyau Linux, créé en 1991 par Linus Torvalds. De nombreuses distributions Linux ont depuis vu le jour et constituent un important vecteur de popularisation du mouvement du logiciel libre.” Source : Wikipédia, extrait de l’article consacré à GNU/Linux. “Windows est au départ une interface graphique unifiée produite par Microsoft, qui est devenue ensuite une gamme de systèmes d’exploitation à part entière, principalement destinés aux ordinateurs compatibles PC. Windows est un système d’exploitation propriétaire.” Source : Wikipédia, extrait de l’article consacré à Windows.
1
Voir le sujet complet pour les détails.
EXERCICE 3 : (8 points)
Thème : NSI8 points
(8 points) Cet exercice porte sur la programmation Python (dictionnaire), la programmation orientée objet, les bases de données relationnelles et les requêtes SQL. Cet exercice est composé de 3 parties indépendantes. On veut créer une application permettant de stocker et de traiter des informations sur des livres de science-fiction. On désire stocker les informations suivantes : • l’identifiant du livre (id) ; • le titre (titre) ; • le nom de l’auteur (nom_auteur) ; • l’année de première publication (ann_pub) ; • une note sur 10 (note). Voici un extrait des informations que l’on cherche à stocker : Livres de science-fiction id titre auteur ann_pub note 1 1984 Orwell 1949 10 2 Dune Herbert 1965 8 14 Fondation Asimov 1951 9 4 Ubik K.Dick 1953 9 8 Blade Runner K.Dick 1968 8 7 Les Robots Asimov 1950 10 15 Ravage Barjavel 1943 6 17 Chroniques martiennes Bradbury 1950 7 9 Dragon déchu Hamilton 2003 8 10 Fahrenheit 451 Bradbury 1953 8 Page : 9 / 14 Partie A Dans cette première partie, on utilise un dictionnaire Python. On considère le programme suivant : 1 dico_livres = { 'id' : [1, 2, 14, 4, 5, 8, 7, 15, 9, 10], 'titre' : ['1984', 'Dune', 'Fondation', 'Ubik', 'Blade Runner', 'Les Robots', 'Ravage', 'Chroniques martiennes', 'Dragon déchu', 'Fahrenheit 451'], 'auteur' : ['Orwell', 'Herbert', 'Asimov', 'K.Dick', 'K.Dick', 'Asimov', 'Barjavel', 'Bradbury', 'Hamilton', 'Bradbury'], 'ann_pub' : [1949, 1965, 1951, 1953,1968, 1950, 1943, 1950, 2003, 1953], 'note' : [10, 8, 9, 9, 8, 10, 6, 7, 8, 8] } 2 a = dico_livres['note'] 3 b = dico_livres['titre'][2]
1
Voir le sujet complet pour les détails.