Contrôle des acquis

SMCG – Le 28/01/2022 | Durée : 1h30

Sujet

Éléments de correction : réponses attendues, ressources.

Thème : Architecture matérielle et système d’exploitation

Question 1 – Écrire une définition d’un langage de programmation de haut niveau en général puis écrire trois exemples de langage de programmation de haut niveau.

Un langage de programmation est un langage dont le lexique (vocabulaire) est issu de celui d'une langue humaine (anglais), associé à des symboles mathématiques d'une part, et dont les règles d'écriture (grammaire) sont assez proches de celles d'un langage humain 'naturel'. 
Ainsi la syntaxe d'un langage de programmation le rend facile à écrire et à lire pour une personne, mais il est incompréhensible - donc directement inexécutable - pour un microprocesseur.

Trois exemples de langage de programmation (qui ont été utilisés en cours) :
~ Python
~ Javascript
~ PHP

Exercice 1 – Examiner le circuit combinatoire suivant :

Question 2 – Écrire ce que représentent E1, E2 et E3, puis PL1, PL2, PL3, PL4 et PL5 et enfin S1 et S2.

E1, E2 et E3 représentent les "entrées".
PL1, PL2, PL3, PL4 et P¨L5 représentent des "portes logiques".
S1 et S2 représentent des "sorties"

Question 3 – Écrire quel sera l’état logique de S1 et S2 :
• quand E1 est à l’état 1, E2 est à l’état 1 et E3 est à l’état 0 ;
• quand E1 est à l’état 0, E2 est à l’état 1 et E3 est à l’état 1 ;
Pour cela compléter le tableau qui suit :

  • Ressources :
    • Logiciel Logisim (information)
    • Fichier pour Logisim du circuit combinatoire

Exercice 2 – On imagine un ordinateur ultra simplifié, constitué d’un micro-processeur et d’une mémoire vive composée de 32 emplacements, numérotés de 00 à 31.
Le microprocesseur comporte :
• une Unité Arithmétique et Logique (UAL) qui comprend entre autre un ‘accumulateur’ (UALACC) dans lequel se trouve soit une valeur qui vient d’être transférée depuis un emplacement de la mémoire, soit le résultat d’une opération qui vient d’être exécutée ;
• une Unité de Contrôle (UC) qui comprend entre autre un ‘compteur ordinal’ (UCCO) dans lequel se trouve l’emplacement de la mémoire contenant la prochaine instruction à exécuter
Le jeu d’instructions-machine du microprocesseur est le suivant :

Question 4 – Écrire ce que font les programmes qui suivent, et si besoin écrire dans l’un des emplacements mémoire ‘vide’ son contenu après exécution du programme.

Le programme situé à gauche :
- d'abord transfère la valeur en base 10 présente à l’emplacement mémoire n° 05 vers l’accumulateur de l’UAL du processeur : donc l'UAL contient la valeur (12)10 ;
- puis soustrait la valeur en base 10 présente l’emplacement mémoire n° 06 c'est à dire (8)10 à celle qui se trouve dans l’accumulateur de l’UAL du processeur : donc l'UAL contient maintenant la valeur 12 - 8 = 4 ;
- enfin transfère la valeur en base 10 présente  dans l’accumulateur de l’UAL du processeur vers l’emplacement mémoire n° 07 : donc cet emplacement contient la valeur (4)10 maintenant. 
- et s'arrête.
Le programme situé à droite :
- d'abord transfère la valeur en base 2 présente à l’emplacement mémoire n° 07 vers l’accumulateur de l’UAL du processeur : donc l'UAL contient la valeur (01100)2;
- puis additionne la valeur en base 2 présente l’emplacement mémoire n° 06 c'est à dire (01011)2  à celle qui se trouve dans l’accumulateur de l’UAL du processeur : donc l'UAL contient maintenant la valeur en base 2 (01100)2 + (01011)2  = (10111)2 ;
- enfin transfère la valeur présente  dans l’accumulateur de l’UAL du processeur vers l’emplacement mémoire n° 05 : donc cet emplacement contient la valeur (10111)2 maintenant. 
- et s'arrête.

Question 5 – On suppose que les emplacements mémoire 00 et 01 contiennent chacun un nombre entier positif .
L’emplacement mémoire 02 contient la valeur 0.
Écrire un programme ( à partir de l’emplacement mémoire 04) utilisant les instructions-machine indiquées plus haut qui écrit dans l’emplacement mémoire 02 le plus grand des deux nombres contenus dans les emplacements mémoire 00 et 01. Si les deux nombres sont identiques, la valeur 0 est laissée dans l’emplacement mémoire 02.

Puisque n1 et n2 sont deux entiers positifs :
- si n1 - n2 < 0 alors n2 > n1 : on écrit n2 à l'emplacement mémoire 02 ;
- si n1 - n2 > 0 alors n2 < n1 : on écrit n1 à l'emplacement mémoire 02 ;
- si n1 - n2 = 0 alors n2 = n1 : on laisse 0 à l'emplacement mémoire 02.

Question 6 – Le modèle de protocoles « TCP/IP » comporte le protocole « TCP ». Que signifie la lettre « T » dans « TCP » ?

A – Transmission
B – Téléchargement
C – Transfert
D – Transport

Écrire la réponse choisie sur la copie. Aucune justification demandée
Dans "TCP" la lettre "T" signifie "Transport"

Question 7 – Dans la couche de protocoles « TCP/IP », que devient un « segment » pris en charge par le protocole « IP »  (quel nouveau « nom » lui donne-ton) ? Quelles informations sont ajoutées en entête par le protocole « IP » ?

Un segment pris en charge par le protocole IP "devient" un "paquet". Le protocole IP ajoute : l'adresse IP de l'expéditeur, l'adresse IP du destinataire, et un "TTL" (Time To Live) c'est à dire le nombre de routeur que le paquet est autorisé à franchir pour atteindre la destination.

Question 8 – Parmi les adresses IP version 4 suivantes, laquelle est « correcte » ? Justifier le choix.

A – 192.168.50.5
B – 192.168.500.25
C – 192/168/50/12
D – 192.168.50

Écrire la réponse choisie sur la copie. Aucune justification demandée
L'adresse IP version 4 correcte est la 'A'.

Thème : Représentation des données : types et valeurs de base

Question 9 – Donner l’écriture en base 2 du nombre (226)10 .

A – (11100010)2
B – (11000010)2
C – (10100010)2
D – (11100110)2

Écrire la réponse choisie sur la copie. Aucune justification demandée
L’écriture en base 2 du nombre (226)10 est (11100010)2 donc la proposition 'A'.

Question 10 – Donner l’écriture en hexadécimal du nombre (4113)10 .

A – (2A10)16
B – (1A10)16
C – (11A0)16
D – (1011)16

Écrire la réponse choisie sur la copie. Aucune justification demandée
L’écriture en hexadécimal du nombre (4113)10 est (1011)16 donc la proposition 'D'.

Question 11 – Donner la valeur en base 10 des nombres (1011011)2 et (EDF)16 .

La valeur en base 10 de (1011011)2 est (91)10 .
La valeur en base 10 de (EDF)16 est (3807)10 .

Question 12 – Donner le plus grand nombre que l’on puisse écrire avec 5 bits.

A – 25
B – 25 – 1
C – 52
D – 52 – 1

Écrire la réponse choisie sur la copie. Aucune justification demandée.
La plus grande valeur est lorsque les 5 bits sont à 1, soit :
(1 × 20 =) 1 + (1 × 21 =) 2 + (1 × 22 =) 4 + (1 × 23 =) 8 + (1 × 24 =) 16
soit 31. Or 25 = 32, donc 31 = 25 - 1.
La proposition correcte est donc la 'B'

Question 13 – Indiquer combien de nombres peut-on écrire avec 2 octets.

A – 2 × 28
B – 216
C – 162
D – 2 × 82

Écrire la réponse choisie sur la copie. Aucune justification demandée.
Il est possible d'écrire tous les nombres compris entre '00000000 00000000' - soit (0)10 - et '11111111 11111111' - soit (65535)10, soit 65536 nombres, autrement dit  216 .
La proposition correcte est donc la 'B'.

Thème : Langage et programmation

Exercice 4 – On considère l’algorithme suivant :


Question 14 – Faire fonctionner cet algorithme pour les valeurs de x indiquées dans les tableaux ci-dessous :

xakCondition k ≥ 0Condition x ≥ 2kAffichage
503Vrai5 ≥ 23 (= 8) : Faux-
502Vrai5 ≥ 22 (= 4) : Vrai-
11001Vrai1 ≥ 21 (= 2) : Faux-
11000Vrai1 ≥ 20 (= 1) : Vrai-
0101-1Faux-101
xakCondition k ≥ 0Condition x ≥ 2kAffichage
1203Vrai12 ≥ 23 (= 8) : Vrai-
410002Vrai4 ≥ 22 (= 4) : Vrai-
011001Vrai0 ≥ 21 (= 2) : Faux-
011000Vrai0 ≥ 20 (= 1) : Faux-
01100-1Faux-1100

Question 15 – A quoi semble correspondre le résultat de l’algorithme ?

L’algorithme semble convertir en base 2 la valeur de x donnée en base 10.


Question 16 – Faire fonctionner à nouveau cet algorithme pour x = 17.

xakCondition k ≥ 0Condition x ≥ 2kAffichage
1703Vrai17 ≥ 23 (= 8) : Vrai-
910002Vrai9 ≥ 22 (= 4) : Vrai-
511001Vrai5 ≥ 21 (= 2) : Vrai-
311100Vrai3 ≥ 20 (= 1) : Vrai-
21111-1Faux-1111

Question 17 – Le résultat obtenu dans le dernier tableau confirme-t-il la conjecture faite à la question 15 ?
Expliquer pourquoi.

La conjecture précédente n'est pas vérifiée avec x = 17.
En effet (1111)2 correspond à (24 - 1)10 soit (15)10 .
La valeur de k  doit correspondre au nombre de bits nécessaires pour effectuer la conversion de base 10 en base 2. En l'occurrence ici, il faudrait que k soit égal à 4, puisque (17)10 correspond à (10001)2 .
xakCondition k ≥ 0Condition x ≥ 2kAffichage
1704Vrai17 ≥ 24 (= 16) : Vrai-
1100003Vrai1 ≥ 23 (=8) : Faux-
1100002Vrai1 ≥ 22 (= 4) : Faux-
1100001Vrai1 ≥ 21 (= 2) : Faux-
1100000Vrai1 ≥ 20 (= 1) : Vrai-
010001-1Faux-1000

Question 18 – Pour quelles valeurs de x le programme donne-t-il une écriture de x en base 2 ?
Justifier

Le programme donne une écriture de x en base 2 pour toutes les valeurs de x comprises entre 0 et 15.
La valeur de k correspond à un nombre de bits.
Puisque k vaut 3, la conversion est possible pour toutes les valeurs comprise entre (000)2 soit (0)10 et (111)2 soit (15)2 ou encore (23 - 1)10.

Question 19 – Traduire cet algorithme en langage Python.


Thème – Interaction entre l’Homme et la machine sur le web

Exercice 5
Dans le code html d’une page web se trouve la ligne suivante :
<a href= »http://nsi.sapiensjmh.top » target= »_blank »>Blog de NSI</a>


Question 20 – Quel est la nature de cet élément ?

Cet élément est un lien hypertexte.

Question 21 – Dans le langage html que représentent « href » et « target » ?

Dans le langage html que représentent « href » et « target » représentent des attributs.

Question 22 – Un internaute clique sur « Blog de NSI » qui est affiché sur la page.
Que va-t-il se passer ? Choisissez l’une des 4 propositions suivantes :
A – Rien
B – Une nouvelle page web s’affiche à la place de celle sur laquelle il se trouve
C – Une nouvelle page web s’affiche dans un nouvel onglet du navigateur
D – Une erreur s’affiche.

Écrire la réponse choisie sur la copie. Aucune justification demandée.
La proposition correcte est 'C'.

Exercice 6 – Dans le code html d’une page web se trouve les lignes suivantes :
<form action= »question.php » method= »POST »>
<input type= »text » name= »reponse » value= »disponible »>
<input type= »radio » name= »choix » value= »Vrai » selected>
<input type= »radio » name= »choix » value= »Faux »>
<button type= »submit »>Soumettre</button>
</form>


Question 23 – Quel est la nature de cet ensemble d’éléments ?

Cet ensemble d'éléments est un formulaire.

Question 24 – On considère que l’internaute n’a pas modifié les valeurs par défaut des éléments qu’on lui propose de renseigner. Quand l’internaute va cliquer sur le bouton « Soumettre » une requête va partir vers un serveur web. Compléter le tableau qui suit correspondant au schéma de cette requête.

Message « Requête »
Entêtes (écrire seulement le contenu de la « start line »)POST question.php HTTP/1.1
Ligne vide de séparation
corps choix=Vrai