NOM et Prénom ……… Classe de Première Spécialité NSI Année 2020 2021
....
....
CONTROLE 3 (55’)
NUMERISATION DES ENTIERS ET TEXTES ; HTML TABLES DE DONNEES ; PROGRAMMATION
Note attendue : Calculette interdite. Relisez-vous !
Bon courage !
➢ Exercice n° 1 (…………..……… / 6 points) : Numérisation des entiers et des textes.
Pour chaque affirmation, 4 choix vous sont proposés dont un seul est vrai. Lequel ? L’entourer.
Barème : réponse juste =1 pt sans réponse ou réponse fausse = 0 pt
Affirmations Choix 1 Choix 2 Choix 3 Choix 4
Pour convertir en base 10 un nombre écrit en base 16, on peut :
effectuer une suite de divisions euclidiennes
par 16.
effectuer une suite de divisions euclidiennes
par 10.
additionner des puissances de 16.
additionner des puissances de 10.
L’écriture hexadécimale du
nombre binaire 00111100 est 3 12 3 D 3 C 60
Entourer l’intrus : Langage HTML Langage C Langage CSS Langage MATHML
HTML est un langage de
programmation. algorithmique. de description. de requêtes.
Quel caractère n’est pas
dans la table ASCII ? . , é 9
L’écriture binaire de -3 sur
4 bits est - 0011 1100 1011 1101
➢ Exercice n° 2 (………..………… / 10 points) : Entourer le seul choix vrai.
(D’après Banque Nationale des sujets, sujet 1 question D5) 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 ?
1) La méthode CRYPT.
2) La méthode GET.
3) La méthode PASSWORD.
4) La méthode POST.
La compréhension de liste ci-dessous génère : [ x.upper( ) for x in ‘nsi’ ]
1) [ ‘NSI’ ] 2) [ N , S , I ] 3) [ ‘N’ , ‘s’ , ‘i’ ] 4) [ ‘N’ , ‘S’ , ‘I’ ]
☺ ☺☺
Numérisation des entiers et textes HTML q3-4 q1-4
Listes, dictionnaires : q2-5 Tables de données q6-7 Programmation q3-8 à 10
Rattrapage. Apporter le contrôle refait sur feuille !
NOM et Prénom ……… Classe de Première Spécialité NSI Année 2020 2021
(D’après Banque Nationale des sujets, sujets 1 et 3 question G2)
Soit n un nombre entier ≥ 2. On exécute le script suivant : for k in range(n):
for j in range(k):
print('NSI')
Combien de fois le mot NSI est-il affiché ?
1) (n − 1)2 2) n²
3) 1 + 2 + … + (n − 1) 4) 1 + 2 + … + (n − 1) + n
(D’après Banque Nationale des sujets, sujets 1 question D3) En HTML, un formulaire commence par la balise :
1) <form>.
2) <input type= ‘form’>.
3) < !--form-->.
4) </form>.
Comment peut-on accéder à la valeur associée à une clé dans un dictionnaire ? (Banque Nationale des sujets, sujet 2 question B2)
1) Il faut parcourir le dictionnaire avec une boucle à la recherche de la clé.
2) On peut y accéder directement à partir de la clé.
3) On ne peut pas accéder à une valeur contenue dans un dictionnaire à partir d’une clé.
4) Il faut d’abord déchiffrer la clé pour accéder à un dictionnaire.
Qu'est-ce que le format de fichier CSV ? (Banque Nationale des sujets, sujet 2 question C2) 1) Un format de fichier mis au point par Microsoft pour Excel.
2) Un format de fichier pour décrire une base de données.
3) Un format de fichier où les données sont séparées par un caractère tel qu'une virgule.
4) Un format de fichier décrivant une page Web.
Soit la table de données suivante : Table = [ ('Jean','Bono','H',2005), ('Rudy', 'Mantair', 'H', 2004),
('Alain', 'Sudemonplingré', 'H', 2005), ('Sarah', 'Sur', 'F', 2003) ]
On définit la fonction sélectionner( ) ci-dessous : def sélectionner(table , valeur):
résultat = [ ] for ligne in table :
if ligne[3] == valeur:
résultat.append(ligne[1]) return résultat
Que retourne sélectionner( Table , 2005 ) ?
1) [ ('Jean','Bono','H',2005),
('Alain', 'Sudemonplingré', 'H', 2005) ] 2) [‘Bono’, ’Sudemonplingré’]
3) [‘Jean’, ‘Alain’]
4) [ ]
NOM et Prénom ……… Classe de Première Spécialité NSI Année 2020 2021
(D’après Banque Nationale des sujets, sujet n°1 question F6) Soit T est un tableau de nombres entiers non vide et la fonction mystère( ) suivante :
def mystere(T) : s = 0
for k in T : if k % 2 == 0 :
s = s+k return s
Que représente la variable s renvoyée par cette fonction ?
1) La somme des valeurs positives du tableau T.
2) La somme des valeurs du tableau T.
3) La somme des valeurs paires du tableau T.
4) La somme des valeurs impaires du tableau T.
Soit L une liste d'entiers et soit N un nombre entier. On définit la fonction suivante : def rechercher_dans_liste(L , N):
for k in range (len( L )) : if ……….. :
return ………
else :
return ………..
Compléter les 3 lignes en pointillés pour que cette fonction retourne s’il existe l’indice du premier élément de la liste L qui est égal à N ; sinon renvoie ‘Non’.
(D’après Banque Nationale des sujets, sujet n°2 question C1) 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] ] for i in range(3) :
for j in range(3) : if ( i + j ) == 2 : image[i][j] = 1
1) [ [0 , 0 , 0] , [0 , 0 , 0] , [1 , 1 , 1] ] 2) [ [0 , 0 , 1] , [0 , 1 , 0] , [1 , 0 , 0] ] 3) [ [0 , 0 , 1] , [0 , 0 , 1] , [0 , 0 , 1] ] 4) [ [0 , 0 , 1] , [0 , 1 , 1] , [1 , 1 , 1] ]
… / …
NOM et Prénom ……… Classe de Première Spécialité NSI Année 2020 2021
➢ Exercice n° 3 (………..………… / 4 points) : Jeu des bâtons ou Jeu de Nim.
Soit le jeu des bâtons avec les caractéristiques suivantes : il y a 20 bâtons au départ et chacun des 2 joueurs enlève à tour de rôle soit 1, soit 2, soit 3 bâtons. Le joueur qui enlève le dernier bâton a perdu.
Guy Niole veut programmer ce jeu en Python. Il sait qu’il aura besoin entre autres :
1. d’une fonction Afficher_batons( ) qui en entrée recevra un nombre de bâtons puis affichera sur une seule ligne ce nombre de bâtons grâce au caractère « | ». (……… / 1 pt)
2. d’une fonction Jouer_ordi( ) qui fera office de joueur machine.
Cette fonction recevra en entrée le nombre de bâtons restants et renverra en sortie le nombre de bâtons enlevés afin de jouer le mieux possible. (……… / 3 pts)
Aider Guy à écrire ces 2 fonctions.