Aller au contenu

Index des sujets 2023

23-NSIJ1G11 : Corrigé⚓︎

Année : 2023
Centre : Centres-Etrangers
Jour : J1
Enoncé :

Exercice 1 (3 points)⚓︎

SQL

  1. a.

    theme annee
    Le système d'enseignement supérieur français est-il juste et efficace ? 2022
    Trois innovations pour la croissance futurez (1/3) : la révolution blockchain 2021

    b.

    🗂️ Requête SQL
    SELECT theme
    FROM podcast
    WHERE annee=2019
    

    c.

    🗂️ Requête SQL
    SELECT theme, annee
    FROM podcast
    ORDER BY annee ASC
    

  2. a. La requête affiche les divers thèmes présent dans la table podcast sans doublon.

    b.

    🗂️ Requête SQL
    DELETE
    FROM podcast
    WHERE id_podcast=40
    

  3. a.

    🗂️ Requête SQL
    UPDATE emission
    SET animateur='Emmanuel L.'
    WHERE nom='Le Temps du débat"
    

    b.

    🗂️ Requête SQL
    INSERT INTO emission (id_emission, nom, radio, animateur) VALUES (12850,'Hastag','France Inter','Mathieu V.')
    

5.

🗂️ Requête SQL
SELECT podcast.theme, emission.nom, description.resume
FROM description
JOIN emission ON emission.id_emission = podcast.id_emission
JOIN podcast ON description.id_emission=podcast.id_emission
WHERE description.duree < 5

Exercice 2 (3 points)⚓︎

Réséaux et protocoles de routages

  1. a. On a :

    • 164 = 10100100
    • 178 = 10110010
    • 2 = 00000010
    • 13 = 00001101
      On obtient donc 10100100.10110010.00000010.00001101

    b. L'adresse en notation CIDR 164.172.2.13/24 signifie que les 24 premiers bits sont reservés pour l'adresse réseau, on a alors :
    - 164.178.2.0 comme adresse réseau.

  2. Protocole RIP :

    • A - D - F - G
    • A - D - E - G
    • A - B - E - G
  3. a.

    b. Le protocole OSPF optimise le coût, donc ici on obtient :
    - A - D - F -G soit un coût de 1 + 10 + 1 = 12.

    c. Avec le routeur F en panne, on obtient :
    - A - B - C - H - G pour un coût de 1 + 10 + 0.1 + 1 = 12.1.

Exercice 3 (6 points)⚓︎

Structures de Files

  1. 🐍 Script Python
    1
    2
    3
    4
    5
    def ajout(f):
        couleurs = ("bleu", "rouge", "jaune", "vert")
        indice = randint(0, 3)
        enfiler(f, couleur[indice])
        return f
    
  2. 🐍 Script Python
    def vider(f):
        while not est_vide(f):
            defiler(f)
    
  3. 🐍 Script Python
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    def affich_seq(sequence):
        stock = creer_file_vide()
        ajout(sequence)
        while not est_vide(sequence):
            c = defiler(sequence)
            affichage(c)
            time.sleep(0.5)
            enfiler(stock, c)
        while not est_vide(stock):
            enfiler(sequence, defiler(stock))        
    
  4. a.

    🐍 Script Python
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    def tour_de_jeu(sequence):
        affich_seq(sequence)
        stock = creer_file_vide()
        while not est_vide(sequence):
            c_joueur = saisie_joueur()
            c_seq = defiler(sequence)
            if c_joueur == c_seq:
                enfiler(stock, c_seq)
            else:
                vider(sequence)
        while not est_vide(stock):
            enfiler(sequence, defiler(stock))
    

  5. b. Question bizarre...

    🐍 Script Python
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    def tour_de_jeu_modifie(sequence):
        while True:
            affich_seq(sequence)
            stock = creer_file_vide()
            while not est_vide(sequence):
                c_joueur = saisie_joueur()
                c_seq = defiler(sequence)
                if c_joueur == c_seq:
                    enfiler(stock, c_seq)
                else:
                    vider(sequence)
                    vider(stock)
            while not est_vide(stock):
                enfiler(sequence, defiler(stock))
    

    ou bien

    🐍 Script Python
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    def tour_de_jeu_modifie(sequence):
        affich_seq(sequence)
        stock = creer_file_vide()
        while not est_vide(sequence):
            c_joueur = saisie_joueur()
            c_seq = defiler(sequence)
            if c_joueur == c_seq:
                enfiler(stock, c_seq)
            else:
                vider(sequence)
                print("Perdu ! On rejoue !")
                tour_de_jeu_modifie(sequence)
        while not est_vide(stock):
            enfiler(sequence, defiler(stock))
        tour_de_jeu_modifie(sequence)