QCM Exercices Revision1069949641
QCM Exercices Revision1069949641
QCM Exercices Revision1069949641
en première.
Pour chaque question, une seule réponse est correcte parmi les quatre proposées.
Question 1 : On considère le nombre 1000 écrit en base dix. Quelle affirmation est exacte ?
1. Ce nombre s’écrit AAA en hexadécimal
2. Ce nombre s’écrit avec neuf chiffre en binaire
3. Ce nombre s’écrit avec 3 chiffres en hexadécimal
4. L’écriture de ce nombre en binaire se termine par 001
Question 4 : Si on utilise 5 bits pour coder les entiers relatifs en complément à deux, comment est
codé le nombre -5 ?
1. 10010
2. 01011
3. 01110
4. 00111
Question 5 : L’expression 0.2+0.1 > 0.3 est vrai en python. Quelle en est la raison ?
1. C’est une erreur de la machine
2. C’est parce-que la machine n’utilise que 32 bits pour coder les flottants
3. C’est parce-que 0.1 ne peut pas être représenté en flottant de manière exacte.
4. C’est parce-que > signifie ≥ pour l’interpréteur python
Exercice 1
On utilise 9 bits pour coder les entiers relatifs.
1. Combien de nombre peut-on coder et lesquels. (Vous schématiserez la figure représentant
le complément à deux sur 9 bits pour répondre à la question)
2. Comment est alors codé le nombre 49 ?
3. Comment est codé le nombre -122 ?
Question 8 : On dispose d’une liste L=[15,17,12,23]. Après l’instruction L[2]=25 la liste L a pour
valeur :
1. L=[15,17,25,23]
2. L=[15,25,12,23]
3. L=[15,17,25,12,23]
4. L=[15,25,17,12,23]
Question 12 : Parmi les termes suivants lequel n’est pas une méthode d’un dictionnaire ?
1. data
2. items
3. keys
4. values
Question 13 : On considère le code Python :
def f() :
liste1.append(2)
liste2=liste1 + [3]
liste1=[0,1]
liste2=[0,1]
f()
Quel résultat obtient-on après l’appel f() ?
1. La liste liste1 a pour valeur [0,1,2] et la liste liste2 a pour valeur [0,1,2,3]
2. La liste liste1 a pour valeur [0,1,2] et la liste liste2 a pour valeur [0,1,3]
3. La liste liste1 a pour valeur [0,1,2] et la liste liste2 a pour valeur [0,1]
4. La liste liste1 a pour valeur [0,1] et la liste liste2 a pour valeur [0,1]
Question 14 : Considérons un dictionnaire d={″if″ : ″si″,″yes″ : ″oui″,″no″ : ″non″} et le code suivant :
for c in d.values:
print(c)
Qu’ obtient-on dans l’interpréteur ?
1. L’affichage de if, yes et no
2. L’affichage de si, oui et non
3. L’affichage des couples (‘if’,’si’),(‘yes’,’oui’), (‘no’,’non’)
4. Une erreur
Question 15 : La chaine de caractère ch a pour valeur ″123456789″. Quelle est la valeur de
l’expression ch[5]+ch[8]
1. 13
2. 15
3. ‘69’
4. ‘58’
Question 16 : Quelle est la valeur affichée à l’exécution du programme python suivant ?
x=1
for i in range(3,10) :
x=x*2
print(x)
1. 64
2. 256
3. 7
4. 128
Question 17 : Avec la définition de la fonction f suivante en Python, quelle est la valeur retournée par
l’appel f(21,23)
def f(x,y) :
if x > y :
return y,x
else :
return x,y
1. (21,21)
2. (21,23)
3. (23,21)
4. (23,23)
Question 18 : Avec la variable alphabet définie par l’affectation suivante, quelle est l’expression
Python permettant d’accéder à la lettre J ?
alphabet=[‘A’,’B’,’C’,’D’,’E’,’F’,’G’,’H’,’I’,’J’,’K’,’L’,’M’,’N’,’O’,’P’,’Q’,’R’,’S’,’T’,’U’,’V’,’W’,’X’,’Y’,’Z’]
1. alphabet[8]
2. alphabet[9]
3. alphabet[‘J’]
4. alphabet.J
Exercice 4 :
On modélise des informations (nom,taille,poids) sur des Pokémons de la façon suivante :
exemple_pokemons = {
‘Bulbizarre’ : (70,7),
‘Herbizarre’ : (100,13),
‘Abo’ : (200,7),
‘Jungko’ : (170,52) }
Par exemple , Bulbizarre est un Pokémon qui mesure 70 cm et pèse 7 kg.
1. Quel est le type de exemple_pokemons ?
2. Quelle instruction permet d’ajouter à cette structure de données le Pokémon Goupix qui
mesure 60 cm et qui pèse 10 kg ?
3. On donne le code suivant :
def le_plus_grand(pokemons) :
grand = None
taille_max = None
for (nom,(taile,poids)) in pokemons.items() :
if taille_max is None or taile > taille_max :
taille_max = taille
grand = nom
return (grand,taille_max)
a. Quelle est la valeur de le_plus_grand(exemple_pokemons) ?
b. Ecrire le code d’une fonction le_plus_leger qui prend des Pokemons en paramètre et renvoie
un tuple dont la première composante est le nom du Pokemon le plus léger et la deuxième
composante est son poids.
Exemple : print(le_plus_leger(exemple_pokemons)) renvoie (‘Bulbizarre’,7)
4. Ecrire le code d’une fonction taille qui prend en paramètre un dictionnaire de Pokémons ainsi
que le nom d’un Pokémon, et qui renvoie la taille de ce Pokémon.
Question 19 : 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
1. s=tab[i]
2. tab[i]=tab[i] + s
3. s=s + tab[i]
4. s=s + i
Question 20 : Quel est le résultat de l’évaluation de l’expression Python suivante ?
[n**2 for n in range(10)]
1. [0,1,4,9,16,25,36,49,64,81]
2. [0,1,4,9,16,25,36,49,64,81,100]
3. [0,2,4,8,16,32,64,128,256,512]
4. [0,2,4,8,16,32,64,128,256,512,1024]
Question 21 : Quelle expression Python permet d’accéder au numéro de téléphone de Dupond,
sachant que le répertoire a été défini par l’affectation suivante :
repertoire =[{‘nom’ : ’Dupont’, ‘tel’ :’5234’}, {‘nom’ : ‘Tournesol’, ‘tel’ : ‘5248’},
{‘nom’ : ‘Dupond’, ‘tel’ : ‘3452’}]
1. repertoire[‘tel’][2]
2. repertoire[‘Dupond’]
3. repertoire[‘Dupond’][‘tel’]
4. repertoire[2][‘tel’]
Question 22 : Quelle est l’expression manquante dans le programme Python suivant, pour que son
exécution affiche le numéro Tournesol ?
Exercice 6 : Pour chacun des fichiers suivants, donner le nom de l’utilisateur auquel il appartient, les
droits qu’il a sur le fichier, ceux du groupe et des autres
-rwx------ 1 alice etu 43M 14 jui 11:55 fichier1
-rw-r--r-- 1 roza staff 54K 14 jui 11:56 fichier2
-rwx--x--x 1 bob admin 3M 14 jui 11 :57 fichier3
-r-xr----- 1 john john 1B 14 jui 11 :58 fichier4
Question 36 : Dans un terminal sous linux, on tape cd pour se placer dans HOME. Quelle commande
doit-on ensuite entrer pour déplacer dans le répertoire courant le fichier exo1.py qui se trouve dans
Documents/python/ en sachant que Documents est dans HOME ?
1. cp Documents/python/exo1.py ~
2. mv Documents/python/exo1.py /Documents/python/exo1.py
3. mv Documents/python/exo1.py ./Documents/python/exo1.py
4. rm Documents/python/exo1.py
Question 38 : Dans le quadrillage ci-dessous, 14 points sont dessinés, dont 7 de la classe C1 (avec des
ronds noirs) et 7 de la classe C2 (avec des losanges)
On introduit un nouveau point A, dont on cherche la classe à l’aide d’un algorithme des k plus
proches voisins pour la distance géométrique habituelle, en faisant varier la valeur de k parmi 1, 3 et
5.
Quelle est la bonne réponse (sous la forme d’un triplet (1,3,5) des valeurs de k) ?
1. C1,C2,C3
2. C2,C1,C2
3. C2,C2,C2
4. C2,C1,C1
Question 39 : Quel est le coût en temps dans le pire cas de l’algorithme du tri par insertion (pour une
liste de taille n) ?
1. Ɵ(n)
2. Ɵ(n.log(n))
3. Ɵ(n2)
4. Ɵ(2n)
Question 40 : Quel est le coût en temps dans le pire cas de l’algorithme du tri par sélection (pour une
liste de taille n) ?
1. Ɵ(n)
2. Ɵ(n.log(n))
3. Ɵ(n2)
4. Ɵ(2n)
Question 41 : En supposant que vous aviez une liste qui est presque déjà triée, quel algorithme de tri
utiliseriez-vous pour trier une telle liste ?
1. l’algorithme de tri par insertion
2. l’algorithme de tri par sélection
3. Aucun des deux, ils ont la même complexité quand la liste est presque déjà triée.
4. un autre algorithme, ceux-ci ne fonctionnent pas quand une liste est presque déjà triée.
Exercice 7 : On souhaite écrire une fonction qui prend en paramètre une liste et renvoie le second plus
petit élément de la liste. S’il n’y en a pas, la fonction devra renvoyer None.
Par exemple si la liste d’entrée est [4, 7, 1, -1, 3], la fonction devra renvoyer 1.
Si la liste d’entrée est [4], ou[ ] ou [3,3], la fonction devra renvoyer None
1. Ecrire l’algorithme « naïf » qui consiste à rechercher le plus petit élément, puis à recommencer la
recherche en retenant le plus petit élément qui soit différent du plus petit élément déjà trouvé.
2. Etudier la complexité en temps de votre algorithme, pour cela expliquer pour chaque étape le
nombre d’opérations effectué, puis indiquer la complexité en Ɵ.
Question 42 : 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]
1. 45
2. 100
3. 10
4. 55
Question 43 : Avec un algorithme de recherche par dichotomie, combien d’étapes sont nécessaires
pour déterminer que 43 est présent dans le tableau [1, 7, 12, 16, 18, 20, 24, 28, 35, 43, 69]
1. 1 étape
2. 2 étapes
3. 3 étapes
4. 4 étapes
Question 44 : Pour pouvoir utiliser un algorithme de recherche par dichotomie dans une liste, quelle
précondition doit être vraie ?
1. La liste de doit pas comporter de doublons
2. La liste doit comporter uniquement des entiers positifs
3. La liste doit être triée en ordre croissant
4. La liste doit être triée en ordre décroissant