Maths & NSI

Concours Avenir — 2024 — NSI

Avenir — NSI 2024

Sujet

Présentation de l'épreuve

Cette épreuve constitue la partie Numérique et Sciences Informatiques de l'épreuve « Sciences » du Concours Avenir (admission post-bac en école d'ingénieurs), édition 2024. Comme en 2023, deux profils de candidats composent sur ce sujet : le profil Violet répond à 30 des 40 questions proposées, le profil Jaune (deux spécialités scientifiques) répond à 15 questions au choix parmi les 40 pour chacune de ses deux spécialités. Ci-dessous, le « Sujet A » NSI dans son intégralité (40 questions).

Barème : chaque réponse exacte rapporte 3 points, chaque réponse fausse fait perdre 1 point, une question non traitée ne rapporte ni ne retire de point. Coefficient 4, durée 1h.

Questions

Question 1. En Python, quel mot-clé permet de définir une classe ?

a. def b. class c. classe d. init

Question 2. Que produit l'exécution du code suivant ?

class Joueur:
    def __init__(nom):
        self.nom = nom
 
moi = Joueur("Tom")
print(moi)

a. Une erreur b. Le programme affiche « Tom » c. Le programme affiche « moi » d. Le programme affiche le nom de la classe et l'adresse de l'objet en mémoire

Question 3. Que produit l'exécution du code suivant ?

class Voilier:
    def __init__(self, nom, longueur, voilure):
        self.nom = nom
        self.longueur = longueur
        self.voilure = voilure
 
    def afficher(self):
        print("Nom=", self.nom, "longueur=", self.longueur, "voilure=", self.voilure)
 
    def comparer(self, autre):
        if self.voilure / self.longueur > autre.voilure / autre.longueur:
            return self
        else:
            return autre
 
bateau1 = Voilier("bateau1", 10, 100)
bateau2 = Voilier("bateau2", 20, 250)
bateau1.comparer(bateau2).afficher()

a. Rien b. Une erreur c. Nom= bateau1 longueur= 10 voilure= 100 d. Nom= bateau2 longueur= 20 voilure= 250

Question 4. Que produit l'exécution du code suivant ?

class Joueur:
    def __init__(self, nom):
        self.nom = nom
 
    def __str__(self):
        return self.nom
 
moi = Joueur("Tom")
print(moi)

a. Une erreur b. Le programme affiche « Tom » c. Le programme affiche « moi » d. Le programme affiche le nom de la classe et l'adresse de l'objet en mémoire

Question 5. Quelle proposition est un identificateur de variable Python valide ?

a. 2nombre b. nombre-2 c. nombre_2 d. nombre/2

Question 6. Que produit l'exécution du code suivant ?

mot = "hello"
print(mot[::-1])

a. Il affiche olleh b. Il affiche hello c. Il affiche elhlo d. Il affiche olhle

Question 7. Que produit l'exécution du code suivant ?

a = 10
b = 20
a, b = b, a + 10
print("a = ", a, "b = ", b)

a. a = 30 b = 20 b. a = 20 b = 30 c. a = 20 b = 20 d. a = 10 b = 20

Question 8. Que représente le mot-clé self en Python ?

a. C'est le nom d'une classe spéciale b. C'est le nom d'un attribut c. C'est le nom du paramètre correspondant à l'instance depuis laquelle la méthode est appelée d. C'est le nom du paramètre correspondant à la classe depuis laquelle la méthode est appelée

Question 9. Quel type de problème provoque une exception de type SyntaxError ?

a. L'accès à un index absent d'une liste b. Un nom de fonction mal orthographié c. Un nom de variable mal orthographié d. Une parenthèse manquante

Question 10. Qui a démontré, en 1936, l'indécidabilité du problème de l'arrêt ?

a. Alan Turing b. Linus Torvalds c. Christopher Morcom d. Max Newman

Question 11. Un système sur puce (SoC) est un système complet embarqué sur :

a. Un microprocesseur b. Plusieurs microprocesseurs c. Un circuit intégré d. Une grande barrette de mémoire

Question 12. Une carte graphique permet principalement :

a. L'affichage d'images à l'écran b. Le partage de connexion réseau c. Le stockage de données biométriques d. La communication NFC

Question 13. Quelle commande permet d'afficher les processus en cours sur un système Unix ?

a. ps b. cat c. man d. proc

Question 14. Qu'appelle-t-on un processus, du point de vue d'un système d'exploitation ?

a. Un code source b. Un programme en cours de compilation c. Un programme en cours d'exécution d. Un programme exécutable stocké sur disque

Question 15. Que possèdent nécessairement tous les processus ?

a. Un PPID b. Un PID c. Un PPID et un PID d. Deux PID

Question 16. Le protocole de routage RIP s'appuie sur l'algorithme de :

a. Dijkstra b. Bellman-Ford c. Turing d. Floyd-Warshall

Question 17. Le protocole de routage OSPF s'appuie sur :

a. Le coût des routes b. Le nombre de sauts entre routeurs c. Le nombre de routes d. Le nombre de routeurs

Question 18. Pour obtenir la métrique d'une route, on doit :

a. Additionner le coût de chaque liaison traversée b. Multiplier les coûts de toutes les liaisons traversées c. Ne considérer que la liaison de coût le plus faible d. Ne considérer que la liaison de coût le plus élevé

Question 19. Le protocole HTTPS utilise :

a. Deux chiffrements symétriques b. Uniquement un chiffrement asymétrique c. Uniquement un chiffrement symétrique d. Un chiffrement symétrique combiné à un chiffrement asymétrique

Question 20. Dans un chiffrement symétrique, pour chiffrer puis déchiffrer un message à l'aide d'une même clé, on utilise typiquement :

a. Une fonction AND bit à bit b. Une fonction OR bit à bit c. Une fonction XOR bit à bit d. Une fonction NOT bit à bit

Question 21. Quel mot-clé SQL permet de sélectionner des données issues d'une table ?

a. SELECT b. FROM c. SHOW d. JOIN

Question 22. Quelle requête SQL met à jour le prix d'un produit précis dans une table produits ?

a. UPDATE produits.prix TO nouveau_prix WHERE nom = 'nom_produit' b. UPDATE produits MODIFY prix = nouveau_prix WHERE nom = 'nom_produit' c. UPDATE prix SET produits WHERE nom = 'nom_produit' d. UPDATE produits SET prix = nouveau_prix WHERE nom = 'nom_produit'

Question 23. Qu'est-ce qu'une clé primaire dans une table de base de données ?

a. Une contrainte de vérification des données b. Un attribut qui garantit l'unicité des enregistrements c. Une colonne ordinaire dont les valeurs sont uniques par hasard d. Une fonction de tri des enregistrements

Question 24. Qu'est-ce qu'une clé étrangère, dans une relation entre deux tables ?

a. La colonne de données la plus récente b. L'attribut de la table enfant qui référence la clé primaire de la table parente c. Une contrainte de vérification des données d. Un index destiné aux opérations de jointure

Question 25. On dispose d'une table clients. Quelle requête SQL affiche tous ses enregistrements ?

a. SELECT * FROM clients b. SELECT clients FROM * c. SHOW TABLE clients d. SHOW * FROM clients

Question 26. On dispose d'une table clients (colonnes id, nom) et d'une table commandes (colonnes id, client_id). Quelle requête liste les noms des clients ayant passé au moins une commande, via une jointure ?

a. SHOW clients.nom WHERE commandes.id IS NOT EMPTY b. SELECT clients.nom FROM clients WHERE commandes.id IS NOT NULL c. SELECT clients.nom INNER JOIN commandes d. SELECT clients.nom FROM clients INNER JOIN commandes ON clients.id = commandes.client_id

Question 27. On dispose d'une table commandes (colonnes client, montant). Quelle requête affiche toutes les commandes et leurs montants ?

a. SELECT commandes.client, commandes.montant b. SHOW * FROM commandes c. SELECT client, montant FROM commandes d. SHOW commandes.* WHERE montant IS NOT NULL

Question 28. Dans une base de données, quelle requête SQL affiche les employés dont le poste est « manager » ?

a. SELECT * FROM employes WHERE poste = 'manager' b. SELECT employes.poste WHERE poste = 'manager' c. SHOW employes.* WHERE poste = 'manager' d. SHOW * FROM employes POSTE = 'manager'

Question 29. Quelle est la complexité du tri rapide (quicksort) dans le pire des cas ?

a. O(nlog⁡n)O(n \log n) b. O(n2)O(n^2) c. O(n)O(n) d. O(log⁡n)O(\log n)

Question 30. Quel algorithme de tri repose sur le principe « diviser pour régner » ?

a. Le tri par insertion b. Le tri fusion c. Le tri à bulles d. Le tri par sélection

Question 31. Quel algorithme de tri a une complexité linéaire O(n)O(n) dans le pire des cas ?

a. Le tri rapide b. Le tri par comptage c. Le tri à bulles d. Le tri par insertion

Question 32. Dans un arbre binaire de recherche, comment nomme-t-on le nœud situé au sommet de la hiérarchie ?

a. Un enfant b. Une feuille c. Un sous-arbre d. La racine

Question 33. Quelle est la hauteur minimale d'un arbre binaire de recherche contenant 10 éléments ?

a. 10 b. 5 c. 3 d. 4

Question 34. Quel est le parcours préfixe de l'arbre suivant ?

      3
     / \
    2    6
   / \
  1   4

a. 3, 2, 4, 1, 6 b. 3, 2, 1, 4, 6 c. 3, 2, 1, 6, 4 d. 3, 6, 4, 2, 1

Question 35. Quel est le parcours infixe de l'arbre suivant ?

      5
     / \
    2    8
   / \
  1   4

a. 1, 2, 4, 5, 8 b. 1, 4, 2, 8, 5 c. 5, 4, 2, 1, 8 d. 1, 2, 4, 8, 5

Question 36. Qu'est-ce qu'un nœud feuille dans un arbre binaire de recherche ?

a. Un nœud situé à la racine b. Un nœud portant la valeur maximale c. Un nœud qui n'a pas d'enfant d. Un nœud qui a exactement deux enfants

Question 37. Laquelle de ces machines est considérée comme un ancêtre de l'ordinateur ?

a. La Pythagorine b. La Pauline c. La Caroline d. La Pascaline

Question 38. Quelle affirmation est vraie ?

a. On peut ajouter un élément à un tuple b. Les éléments d'un tableau sont immuables c. On ne peut pas modifier un élément d'un tableau d. Les éléments d'un tableau peuvent être des tuples

Question 39. En Python, quel type est immuable ?

a. Dictionnaire b. Tableau (liste) c. Tuple d. Aucune des réponses précédentes

Question 40. Quelle expression est mal parenthésée ?

a. (1, 2, [3, 4, {5: 'a', 6: 'b'}], (7, 8)) b. ({'a': 1, 'b': 2}, [{'x': [3, 4}, {'y': (5, 6)}], 7, 8)) c. [{'a': (1, 2)}, {'b': [3, 4]}, {'c': {'x': 5, 'y': 6}}] d. ({'a': 1, 'b': 2}, [{'x': (3, 4)}, {'y': [5, 6]}], (7, 8))

Corrigé

Corrigé réservé aux abonnés Premium.

Créez un compte gratuit : votre première correction est offerte.