Bac 1
Bac 1
Bac 1
SESSION 2021
Jour 1
Dès que ce sujet vous est remis, assurez-vous qu’il est complet.
Ce sujet comporte 16 pages numérotées de 1/16 à 16/16.
Les valeurs associées aux clés "type", "etat", "station" de dict_velo sont de type
chaînes de caractères ou nombre entier :
"type" : chaîne de caractères qui peut prendre la valeur "electrique" ou
"classique"
"état" : nombre entier qui peut prendre la valeur 1 si le vélo est disponible, 0 si le
vélo est en déplacement, -1 si le vélo est en panne
"station" : chaînes de caractères qui identifie la station où est garé le vélo.
Dans le cas où le vélo est en déplacement ou en panne, "station" correspond à celle
où il a été dernièrement stationné.
Voici un extrait de la table de données :
flotte = {
12 : {"type" : "electrique", "etat" : 1, "station" : "Prefecture"},
80 : {"type" : "classique", "etat" : 0, "station" : "Saint-Leu"},
45 : {"type" : "classique", "etat" : 1, "station" : "Baraban"},
41 : {"type" : "classique", "etat" : -1, "station" : "Citadelle"},
26 : {"type" : "classique", "etat" : 1, "station" : "Coliseum"},
28 : {"type" : "electrique", "etat" : 0, "station" : "Coliseum"},
74 : {"type" : "electrique", "etat" : 1, "station" : "Jacobins"},
13 : {"type" : "classique", "etat" : 0, "station" : "Citadelle"},
83 : {"type" : "classique", "etat" : -1, "station" : "Saint-Leu"},
22 : {"type" : "electrique", "etat" : -1, "station" : "Joffre"}
}
flotte étant une variable globale du programme.
3.
3.a. Écrire un script en langage Python qui affiche les identifiants (id_velo) de
tous les vélos disponibles à la station "Citadelle".
3.b. Écrire un script en langage Python qui permet d'afficher l'identifiant
(id_velo) et la station de tous les vélos électriques qui ne sont pas en panne.
4. On dispose d'une table de données des positions GPS de toutes les stations,
dont un extrait est donné ci-dessous. Cette table est stockée sous forme d’un
dictionnaire.
Chaque élément du dictionnaire est du type:
'nom de la station' : (latitude, longitude)
stations = {
'Prefecture' : (49.8905, 2.2967) ,
'Saint-Leu' : (49.8982, 2.3017),
'Coliseum' : (49.8942, 2.2874),
'Jacobins' : (49.8912, 2.3016)
}
2. Préciser toutes les valeurs entières que l’on peut stocker dans le nœud fils
gauche du nœud04 (vide pour l'instant), en respectant les règles sur les arbres
binaires de recherche ?
Soit un réseau informatique dont le schéma structurel simplifié est représenté ci-
dessous. Il est composé de 8 PC, 3 switchs, et 3 routeurs.
Dans cet exercice, on utilisera l’adressage CIDR composé d’une adresse IPv4 et
d’une indication sur le masque de sous réseau. Par exemple : 172.16.1.10 / 16
signifie :
Adresse IP : 172.16.1.10
Masque de sous-réseau en notation CIDR : 16
Ecrire une fonction en langage Python que l'on appellera IP_bin qui:
o prend en paramètre d'entrée une liste de 4 entiers compris entre 0 et 255
correspondant à l'adresse IP en notation décimale
o retourne une liste de 4 listes correspondant à l'adresse IP en notation
binaire.
Dans cet exercice, seule l'utilisation de ces quatre fonctions sur la structure de
données pile est autorisée.
1. Recopier le schéma ci-dessous et le compléter sur votre copie en exécutant
les appels de fonctions donnés. On écrira ce que renvoie la fonction utilisée
dans chaque cas, et on indiquera None si la fonction ne retourne aucune
valeur.
1
l’exécution de
transforme(P)
renvoie
( , )
5
3. Ecrire une fonction en langage Python maximum(P) recevant une pile P comme
argument et qui renvoie la valeur maximale de cette pile. On ne s’interdit pas
qu’après exécution de la fonction, la pile soit vide.
On souhaite connaître le nombre d’éléments d’une pile à l’aide de la fonction taille(P)
P
12
Objet itérable contenant les clés. ce n'est pas un objet de type list dico.keys()
Objet itérable contenant les valeurs. ce n'est pas un objet de type list dico.values()
Objet itérable contenant les couples (clé,valeur) dico.items()
for cle in dico:
Afficher les associations cle:valeur du dictionnaire dico
print(cle, dico[cle])
Masque de Ligne 3
sous réseau
Ligne 4 255
Pour obtenir l'adresse réseau binaire, on réalise un ET(&) logique entre chaque bit de
l'adresse IP (ligne 2) et du masque de sous réseau (ligne3)
Ligne 5
Adresse du
réseau
Ligne 6 168