Bac Général
Classe : Terminale
Matière : Numérique et Sciences Informatiques Épreuve pratique
Année : 2025
Session : Normale
Durée de l’épreuve : 1 heure
Numéro du sujet : 12
Extrait
EXERCICE 1 (10 points)
Programmer la fonction fusion prenant en paramètres deux tableaux non vides tab1 et tab2 (type list) d’entiers, chacun dans l’ordre croissant, et renvoyant un tableau trié dans l’ordre croissant et contenant l’ensemble des valeurs de tab1 et tab2.
EXERCICE 2 (10 points)
Le but de cet exercice est d’écrire une fonction récursive traduire_romain qui prend en paramètre une chaîne de caractères, non vide, représentant un nombre écrit en chiffres romains et qui renvoie son écriture décimale.
Les chiffres romains considérés sont : I, V, X, L, C, D et M. Ils représentent respectivement les nombres 1, 5, 10, 50, 100, 500, et 1000 en base dix.
On dispose d’un dictionnaire romains dont les clés sont les caractères apparaissant dans l’écriture en chiffres romains et les valeurs sont les nombres entiers associés en écriture décimale :
romains = {« I »:1, « V »:5, « X »:10, « L »:50, « C »:100, « D »:500,
↪ « M »:1000}