Fiche annale
Sujet zéro 2020 - QCM

Numérique et sciences informatiques
Épreuve de contrôle continu

Représentation des données : types de valeurs de base

Quel est l’entier positif codé en base $2$ sur $8$ bits par le code $0010\ 1010$ ?

3 42 21 84

Quelle est la valeur affichée à l’exécution du programme Python suivant ?

x = 1

for i in range(10):

x = x*2

print(x)

1024 2 20000000000 2048

Quel est l’entier relatif codé en complément à $2$ sur un octet par le code $1111\ 1111$ ?

-128 255 -127 -1

Que peut-on dire sur ce programme Python de calcul sur les nombres flottants ?

x = 1.0

while x != 0.0:

x = -0.1

À la fin de l’exécution, la variable $x$ vaut $-0.000001$ L’exécution peut ne pas s’arrêter, si la variable $x$ n’est jamais égale exactement à $0.0$ À la fin de l’exécution, la variable $x$ vaut $0.000001$ L’exécution s’arrête sur une erreur FloatingPointError

Si $\text{A}$ et $\text{B}$ sont des variables booléennes, quelle est l’expression booléenne équivalente à $(\text{not\ A) \text{or B}}$ ?

$\text{(A and B)}$ $\text{or (not A or B)}$ $\text{or (not A or not B})$ $\text{(A and B)}$ $\text{or (not A or B)}$ $\text{(not A or B)}$ $\text{or (not A or not B)}$ $\text{(A or B)}$ $\text{or (not A or not B)}$

Quelle est l’affirmation vraie concernant le codage UTF-8 des caractères ?

Le codage UTF-8 est sur $8$ bits Le codage UTF-8 est sur $8$ octets Le codage UTF-8 est sur $7$ bits Le codage UTF-8 est sur $1$ à $4$ octets

Représentation des données : types construits

Avec la définition de fonction $\text{f}$ suivante en Python, quelle est la valeur retournée par l’appel $\text{f}(42, 21)$ ?

def f(x, y):

if x > y:

return y,x

else:

return x,y

$(21, 21)$ $(42, 21)$ $(21, 42)$ $(42, 42)$

Avec la variable alphabet définie par l’affectation suivante, quelle est l’expression Python permettant d’accéder à la lettre « E » ?

Alt texte

alphabet . E alphabet['E'] alphabet[5] alphabet[4]

Dans la définition suivante de la fonction somme en Python, quelle est l’instruction à ajouter pour que la valeur retournée par l’appel somme([10,11,12,13,14]) soit $60$ ?

def somme(tab):

s = 0

for i in range (len(tab)):

return s

s = s + tab[i] s = tab[i] tab[i] = tab[i] + s s = s + i

Quel est le résultat de l’évaluation de l’expression Python suivante ?

[n * n for n in range (10)]

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100] [0, 2, 4, 8, 16, 32, 64, 128, 256, 512] [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] [0, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024]

Comment peut-on accéder à la valeur associée à une clé dans un dictionnaire ?

On ne peut pas accéder à une valeur contenue dans un dictionnaire à partir d’une clé Il faut d’abord déchiffrer la clé pour accéder à un dictionnaire Il faut parcourir le dictionnaire avec une boucle à la recherche de la clé On peut y accéder directement à partir de la clé

Quelle est la valeur affichée à l’exécution du programme Python suivant ?

ports = {'http' : 80, 'imap' : 142, 'smtp' : 25}

ports = ['ftp'] = 21

print(ports['ftp'])

21 Key not found {'ftp' : 21} 3

Traitement de données en tables

Quelle expression Python permet d’accéder au numéro de téléphone de Tournesol, sachant que le répertoire a été défini par l’affectation suivante :

repertoire = [{'nom':'Dupont', 'tel':'5234}, {'nom':'Tournesol', 'tel':'5248'}, {'nom':'Dupont', 'tel':'3452'}]

repertoire ['Tournesol'] repertoire [1] ['tel'] repertoire ['tel'] [1] repertoire ['Tournesol'] ['tel']

Quelle est l’expression manquante dans le programme Python suivant, pour que son exécution affiche le numéro de Dupond ?

repertoire = [{'nom':'Dupont', 'tel':'5234'}, {'nom':'Tournesol', 'tel':'5248'}, {'nom':'Dupond', 'tel':'3452'}]

for i in range(len(repertoire)):

if … :

print(repertoire[i]['tel'])

repertoire['nom'] == 'Dupond' repertoire[i]['nom'] == 'Dupond' repertoire[i] == 'Dupond' repertoire ['Tournesol'] ['tel']

Laquelle de ces listes de chaînes de caractères est triée en ordre croissant ?

['Chat', 'Cochon', 'Cheval', 'Chien'] ['Cochon', 'Chat', 'Cheval', 'Chien'] ['Cheval', 'Chien', 'Chat', 'Cochon'] ['Chat', 'Cheval', 'Chien', 'Cochon']

Laquelle de ces listes de chaînes de caractères est triée en ordre croissant ?

['12', '142', '21', '8'] ['8', '12', '21', '142'] ['8', '12', '142', '21'] ['12', '21', '8', '142']

Quelle est la valeur de la variable image après exécution du programme Python suivant :

image = [[0, 0, 0, 0],[0, 0, 0, 0],[0, 0, 0, 0],[0, 0, 0, 0]]

for i in range(4):

for j in range(4):

if (i+j) == 3:

image[i][j] = 1

[[0, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 1]] [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [1, 1, 1, 1]] [[0, 0, 0, 1], [0, 0, 1, 1], [0, 1, 1, 1], [1, 1, 1, 1]] [[0, 0, 0, 1], [0, 0, 1, 0], [0, 1, 0, 0], [1, 0, 0, 0]]

Quelle est la valeur de la variable table après exécution du programme Python suivant :

table = [12, 43, 6, 22, 37]

for i in range(len(table) - 1):

if table[i]>table[i+1]:

table[i],table[i+1] = table[i+1],table[i]

[6, 12, 22, 37, 43] [12, 6, 22, 37, 43] [43, 12, 22, 37, 6] [43, 37, 22, 12, 6]

Interactions entre l'homme et la machine sur le Web

Parmi les balises HTML ci-dessous, quelle est celle qui permet à l’utilisateur de saisir son nom dans un formulaire en respectant la norme HTML ?

<input type="text"/> <input type="name"/> <select/> <form/>

Parmi les propriétés suivantes d'une balise <button> dans une page HTML, laquelle doit être rédigée en langage JavaScript ?

La propriété name La propriété onclick La propriété type La propriété id

Quel est le nom de l’événement généré lorsque l’utilisateur clique sur un bouton de type button dans une page HTML ?

submit click mouse action

Lors de la consultation d’une page HTML, contenant un bouton auquel est associée la fonction suivante, que se passe-t-il quand on clique sur ce bouton ?

function action(event) {

this.style.color = "blue"

}

Le pointeur de la souris devient bleu quand il arrive sur le bouton Le texte de la page passe en bleu Le texte du bouton est changé et affiche maintenant le mot "bleu" Le texte du bouton passe en bleu

Quelle est la machine qui va exécuter un programme JavaScript inclus dans une page HTML ?

Le serveur web sur lequel est stockée la page HTML La machine de l'utilisateur ou du serveur, selon la disponibilité de chacune La machine de l’utilisateur sur laquelle s'exécute le navigateur web La machine de l'utilisateur ou du serveur, suivant la confidentialité des données manipulées

Quelle méthode d'envoi des paramètres est-il préférable d'utiliser, pour un formulaire d’une page web, destiné à demander à l’utilisateur un mot de passe pour se connecter (le protocole utilisé est HTTPS) ?

La méthode PASSWORD La méthode CRYPT La méthode GET La méthode POST

Architectures matérielles et systèmes d'exploitation

Quel est le rôle de l'unité arithmétique et logique dans un processeur ?

Effectuer les calculs Réaliser les branchements Gérer le contrôle interne du processeur Définir la base des opérations arithmétiques (binaire, octale, hexadécimale)

Dans un réseau informatique, que peut-on dire de la transmission de données par paquets ?

Cela nécessite la réservation d’un chemin entre l’émetteur et le récepteur Cela garantit que toutes les données empruntent le même chemin Cela empêche l’interception des données transmises Cela assure une utilisation efficace des liens de connexion

Quelle est l’utilité de la commande ping dans un réseau informatique ?

Obtenir la route suivie par un paquet dans le réseau Tester si la connexion peut être établie avec une machine distante Mesurer les performances d'une machine distante Établir un réseau privé virtuel

Quel est l'effet de la commande shell suivante?
% cd ..

Changer le répertoire courant vers le répertoire supérieur Copier le contenu du répertoire courant dans un répertoire caché Éjecter le CD Supprimer le répertoire courant

Que peut-on dire du système de fichiers, suite à l’exécution des commandes suivantes ?

% ls

entier.py flottant.py readme.md

% mkdir foo

% mv *.py foo

Le répertoire foo contient le résultat de l’exécution des deux fichiers entier.py et flottant.py L’utilisateur foo est propriétaire des fichiers entier. py et flottant.py Le répertoire foo contient deux fichiers d'extension .py Les fichiers entier.py, flottant.py, et foo ont été déplacés dans le répertoire de l’utilisateur

Parmi les dispositifs d’entrée et de sortie suivants, lequel est uniquement un capteur ?

Le thermomètre L’écran tactile La diode Le moteur pas à pas

Langages et programmation

Dans le programme JavaScript suivant, quelle est la notation qui délimite le bloc d'instructions exécuté à chaque passage dans la boucle while ?

i = 0

while (i < 10) {

alert(i)

i = i + 1

}

alert("Fin")

Les accolades Les instructions qui suivent le mot clé while Les instructions qui sont indentées de $4$ caractères Les parenthèses

La fonction suivante calcule la racine carrée du double d’un nombre flottant.

from math import sqrt

def racine_du_double(x):

return sqrt(2*x)

Quelle est la précondition sur les arguments de cette fonction ?

2 * x > 0 x < 0 sqrt(x) >= 0 x >= 0

Avec la définition de fonction capital-double suivante, que peut-on toujours affirmer à propos du résultat $n$ retourné par la fonction ?

def capital-double (capital, interet):

montant = capital

n = 0

while montant <= 2 * capital:

montant = montant + interet

n = n + 1

return n

n = capital / interet capital + n * interet > 2 * capital n = 2 * capital / interet capital * n * interet > 2 * capital

Le programme Python suivant ne calcule pas toujours correctement le résultat de $x^y$. Parmi les tests suivants, lequel va permettre de détecter l’erreur ?

def puissance (x,y):

p = x

for i in range (y - 1):

p = p * x

return p

puissance(2,1) puissance(2,0) puissance(2,2) puissance(2,10)

On a écrit une fonction qui prend en paramètre une liste non vide et qui renvoie son plus grand élément. Combien de tests faudrait-il écrire pour garantir que la fonction donne un résultat correct pour toute liste ?

Deux tests : pour le cas où le plus grand élément est en début de liste, et pour le cas où le plus grand élément n'est pas en début de liste Deux tests : pour une liste à un élément et pour une liste à deux éléments ou plus Trois tests : pour une liste vide, pour une liste à un élément, et pour une liste à deux éléments ou plus Une infinité de tests : on ne peut pas prouver que cette fonction est correcte, simplement en la testant

La documentation de la bibliothèque random de Python précise :

random.randint(a, b)

Renvoie un entier aléatoire N tel que a <= N <= b

Quelle est l'expression Python permettant de simuler le tirage d’un dé à $6$ faces après avoir exécuté import random ?

random.randint(1,7) random.randint(6) random.randint(1,6) random.randint(0,6)

Algorithmique

La fonction suivante doit calculer la moyenne d’un tableau de nombres, passé en paramètre. Avec quelles expressions, faut-il compléter l'écriture pour que la fonction soit correcte ?

def moyenne(tableau):

total = …

for valeur in tableau:

total = total + valeur

return total / …

1 et len(tableau) 1 et len(tableau) + 1 0 et len(tableau) + 1 0 et len(tableau)

Quelle valeur retourne la fonction mystere suivante ?

def mystere(liste):

valeur_de_retour = True

indice = 0

while indice < len(liste) - 1:

if liste[indice] > liste[indice + 1]:

valeur_de_retour = False

indice = indice + 1

return valeur_de_retour

La valeur du plus grand élément de la liste passée en paramètre Une valeur booléenne indiquant si la liste passée en paramètre est triée La valeur du plus petit élément de la liste passée en paramètre Une valeur booléenne indiquant si la liste passée en paramètre contient plusieurs fois le même élément

Combien d’échanges effectue la fonction Python suivante pour trier un tableau de $10$ éléments au pire des cas ?

def tri (tab):

for i in range (1, len(tab)):

for j in range (len(tab) - i):

if tab[j]>tab[j+1]:

tab[j],tab[j+1] = tab[j+1], tab[j]

45 10 100 55

À quelle catégorie, appartient l'algorithme des $k$ plus proches voisins ?

Algorithmes de tri Algorithmes de classification et d'apprentissage Algorithmes gloutons Algorithmes de recherche de chemins

Avec un algorithme de recherche par dichotomie, combien d’étapes sont nécessaires pour déterminer que $35$ est présent dans le tableau $[1, 7, 12, 16, 18, 20, 24, 28, 35, 43, 69]$ ?

9 étapes 2 étapes 1 étapes 11 étapes

Pour pouvoir utiliser un algorithme de recherche par dichotomie dans une liste, quelle précondition doit être vraie ?

La liste ne doit pas comporter de doublons La liste doit comporter uniquement des entiers positifs La liste doit être de longueur inférieure à $1024$ La liste doit être triée