Concours Avenir — 2021 — NSI
Avenir — NSI 2021
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 2021. Le candidat choisit librement une seule spécialité scientifique parmi Physique, Sciences de l'Ingénieur, SVT ou NSI, et répond aux 30 questions de la spécialité choisie (des questions bonus existent mais portent uniquement sur les 3 autres spécialités, donc hors périmètre NSI).
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. Concernant les clés primaires dans une base de données relationnelle, quelle affirmation est juste ?
a. Une clé primaire ne permet pas de relier des tables entre elles b. Une clé primaire identifie de manière unique chaque enregistrement d'une table c. Une clé primaire est une donnée redondante par nature d. Une clé primaire ne peut jamais être composée de plusieurs champs
Question 2. Comment nomme-t-on l'ensemble des valeurs portées par une ligne d'une table ?
a. Un enregistrement b. Une colonne c. Un champ d. Une clé
Question 3. À quoi sert une table au sein d'une base de données ?
a. À réaliser des calculs b. À stocker une valeur isolée c. À fournir une interface graphique d. À regrouper un ensemble de données homogènes et structurées
Question 4. Parmi les propositions suivantes, laquelle n'est PAS un avantage d'un système de gestion de bases de données (SGBD) ?
a. La persistance des données b. La gestion des accès concurrents c. La sécurisation des données d. L'absence de toute compétence technique requise pour l'utiliser
Question 5. Un schéma relationnel est constitué de :
a. l'ensemble des schémas de relations b. l'ensemble des schémas de champs c. l'ensemble des schémas de clés primaires d. l'ensemble des schémas d'attributs
Question 6. Pourquoi calcule-t-on la complexité d'un algorithme ?
a. Pour évaluer sa performance et comparer différentes solutions algorithmiques b. Pour l'écrire plus rapidement c. Pour le rendre plus facile à lire d. Pour démontrer qu'il se termine
Question 7. Comment appelle-t-on une fonction qui s'appelle elle-même dans son propre corps ?
a. Une fonction répétitive b. Une fonction complexe c. Une fonction récursive d. Une fonction itérative
Question 8. Parmi les propositions suivantes, laquelle désigne un type de parcours d'arbre binaire de recherche ?
a. Le parcours préfixe b. Le parcours « rixe » c. Le parcours « fixe » d. Le parcours « affixe »
Question 9. Quel est le principe général de la programmation dynamique ?
a. Découper les données à traiter en parts égales, appliquer l'algorithme à chaque part puis combiner les résultats b. Résoudre des sous-problèmes, mémoriser leurs solutions, et les réutiliser pour construire la solution du problème global c. Appliquer un algorithme aux données puis découper le résultat obtenu d. Séparer l'algorithme en plusieurs sous-algorithmes indépendants
Question 10. Soit le code Python suivant, où fusion fusionne deux listes déjà triées :
def combine(liste):
if len(liste) < 2:
return liste[:]
else:
milieu = len(liste) // 2
gauche = combine(liste[:milieu])
droite = combine(liste[milieu:])
return fusion(gauche, droite)Que réalise cette fonction ?
a. Un tri fusion b. Un tri par insertion c. Un tri par sélection d. Un tri à bulles
Question 11. Laquelle des listes de chaînes de caractères suivantes est triée par ordre croissant ?
a. ['21', '22', '201']
b. ['21', '201', '22']
c. ['201', '21', '22']
d. ['201', '22', '21']
Question 12. Concernant les listes chaînées, quelle affirmation est correcte ?
a. On ne peut pas supprimer un maillon sans perdre le reste de la liste b. Une liste chaînée n'est accessible qu'à partir de l'adresse de son premier maillon c. Une liste chaînée peut toujours se parcourir dans les deux sens d. Un nouveau maillon ne peut être ajouté qu'en fin de liste
Question 13. Soit le code Python suivant :
def mystere(t):
resultat = t[0]
for c in t:
if c[1] <= resultat[1]:
resultat = c
return resultat
equipe = [('Laura', 21), ('Kevin', 22), ('Fanny', 19),
('Hugo', 19), ('Simon', 18), ('Julie', 22)]Que vaut mystere(equipe) ?
a. ('Kevin', 22)
b. ('Julie', 22)
c. ('Fanny', 19)
d. ('Simon', 18)
Question 14. Quelle structure de données convient le mieux pour résoudre le problème des tours de Hanoï (déplacer des disques d'une tour de départ vers une tour d'arrivée, un seul disque à la fois, jamais un disque sur un plus petit que lui) ?
a. Une pile b. Une file c. Une liste chaînée d. Un tableau
Question 15. Que vaut l'expression [i % 2 for i in range(10)] ?
a. [0, 1, 0, 1, 0, 1, 0, 1, 0, 1]
b. [1, 0, 1, 0, 1, 0, 1, 0, 1, 0]
c. [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
d. [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
Question 16. Soit le code Python suivant :
temp = [['Bretagne', 6.5, 23.4],
['Centre', 5.9, 29.9],
['Hauts de France', 4.8, 21.2],
['Normandie', 5.2, 25.7]]
def amplitude(region):
return region[2] - region[1]
temp.sort(key=amplitude, reverse=True)Après exécution, que vaut la dernière ligne de temp ?
a. ['Bretagne', 6.5, 23.4]
b. ['Centre', 5.9, 29.9]
c. ['Hauts de France', 4.8, 21.2]
d. ['Hauts de France', 'Centre', -1.1, -8.7]
Question 17. Un fichier d'extension .csv contient :
a. des données binaires lisibles uniquement par un SGBD b. des lignes de code permettant de créer les données c. des données au format texte d. des pixels
Question 18. On veut construire la table [[1, 1], [2, 2]]. Quelle ligne de code Python permet de l'obtenir ?
a. [[i + 1] * 2 for i in range(2)]
b. for i in range(2) [i + 1] * 2
c. [[i + 1][i + 1] for i in range(2)]
d. [for i in range(2) [[i + 1][i + 1]]]
Question 19. Dans une méthode d'une classe Python, le paramètre self permet à cette méthode de :
a. s'appeler elle-même b. fonctionner de façon autonome c. créer un objet de la classe d. manipuler les attributs et méthodes de la classe pour l'instance courante
Question 20. En programmation orientée objet avec Python, une classe :
a. définit un style d'affichage particulier pour des pages web
b. contient obligatoirement une méthode nommée __init__
c. permet de définir des attributs et des méthodes
d. est un objet muni de méthodes
Question 21. Quel était le nom du tout premier ordinateur électronique ?
a. EliaSS b. Milus c. Mauchly d. Eniac
Question 22. En quelle année IBM a-t-il commercialisé son premier ordinateur produit en série, l'IBM 650 ?
a. 1943 b. 1953 c. 1963 d. 1973
Question 23. Qui est à l'origine du mot « informatique », et en quelle année ?
a. François Gernelle en 1952 b. Philippe Dreyfus en 1952 c. Philippe Dreyfus en 1962 d. François Gernelle en 1962
Question 24. En Python, que provoque le code suivant ?
if __name__ == "__main__":
maFonction()a. Il crée un nouveau module b. Il exécute le module Python en tant que programme principal c. Il crée de nouveaux objets d. Il définit un générateur
Question 25. Soit une classe Voiture avec deux attributs privés marque et cylindree. Pour récupérer les valeurs de ces attributs depuis une instance v1 = Voiture('Mercedes', 6) en respectant l'encapsulation, on utilise la méthode :
a. def getAttributs(self)
b. def setAttributs(self)
c. def afficher(self)
d. def __init__(self, marque, cylindree)
Question 26. Parmi les énoncés suivants, lequel est correct ?
a. Une exception est une erreur qui se produit lors de l'exécution du programme b. Une erreur de syntaxe est également considérée comme une exception c. Une exception sert à exclure un bloc de code de l'exécution en Python d. Les trois énoncés précédents sont vrais
Question 27. Quel type de mémoire permet à la fois la lecture et l'écriture ?
a. ROM b. RAM c. EPROM d. EEPROM
Question 28. Quelle commande permet de ramener au premier plan un processus toto actuellement en arrière-plan ?
a. bg
b. fg [%job_id]
c. background
d. forground
Question 29. Dans le modèle TCP/IP, lorsque des données sont envoyées d'un hôte A vers un hôte B, quelle couche de B reçoit finalement les données une fois toute la pile traversée ?
a. Couche Transport b. Couche Application c. Couche Session d. Couche Liaison de données
Question 30. Quelle plage d'adresses peut apparaître dans le premier octet d'une adresse réseau de classe B ?
a. 1-127 b. 128-190 c. 128-191 d. 192-220
Corrigé
Créez un compte gratuit : votre première correction est offerte.