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. b. c. d.
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 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é
Créez un compte gratuit : votre première correction est offerte.