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