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 |
- Coder $(0010\ 1010)_2$ sur $8$ bits revient à additionner les puissances de $2$ correspondants à chaque bits valant $1$, c’est-à-dire :
$=0\times 2^7 + 0\times 2^6 + 1\times 2^5 + 0\times2^4 + 1\times2^3+0\times 2^2+1\times2^1+0\times2^0$ $=0 + 0 + 32 + 0 + 8 + 0 + 2 + 0$
$=42$
Pour revoir comment coder un nombre en binaire, dirigez-vous vers le cours Une machine à calculer : le bit, partie 3.
Quelle est la valeur affichée à l’exécution du programme Python suivant ?
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 |
Le complément à $2$ d’un nombre binaire est le nombre obtenu en prenant son complément et en lui ajoutant $1$.
Pour réviser cette propriété, voir le cours Une machine à calculer : l’octet, partie 2.b.
Que peut-on dire sur ce programme Python de calcul sur les nombres flottants ?
À 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 |
Un algorithme doit se terminer à un moment, c’est pourquoi les séquences d’instructions se compensent notamment de boucles et de branchement conditionnels. Ici, avec la boucle de type
Pour réviser la terminaison d’un algorithme, voir le cours Terminaison et complexité, partie 2.
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})$ | $\textbf{(A and B)}$ $\textbf{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)}$ |
Pour réviser les lois de base de l’algèbre de Boole, voir le cours Une machine à calculer : le bit, partie 2.
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 |
UTF-8 est le format unicode le plus célèbre, les caractères courants sont codés sur $8$ bits ($1$ octet) ou plus rares sur $4$ octets.
Pour réviser les différents formats, voir le cours Une machine électronique, partie 3.
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)$ ?
$(21, 21)$ | $(42, 21)$ | $(21, 42)$ | $(42, 42)$ |
Avec la variable
définie par l’affectation suivante, quelle est l’expression Python permettant d’accéder à la lettre « E » ?
Lorsque l’on compte les variables d’une liste, on commence toujours par $0$, donc, ici la variable « E » est positionnée au rang $4$.
Pour réviser le principe d’une liste, voir le cours Tableaux et matrices.
Dans la définition suivante de la fonction
en Python, quelle est l’instruction à ajouter pour que la valeur retournée par l’appel soit $60$ ?- Il faut effectuer une somme de chaque élément du tableau, donc à chaque tour de boucle il faut ajouter l’élément du tableau à la somme pour obtenir le résultat.
Quel est le résultat de l’évaluation de l’expression Python suivante ?
La fonction
Pour réviser la notion de liste, voir le cours Tableaux et matrices, partie 3.
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é |
L’accés aux éléments d’un dictonnaire se fait à partir d’une clé, si la clé n’existe pas une erreur survient.
Pour réviser la notion de dictionnaire, voir le cours Tableaux et matrices, partie 4.
Quelle est la valeur affichée à l’exécution du programme Python suivant ?
- La fonctionécrit les valeurs des paramètres que nous lui fournissons, cela signifie qu’ici permet d’afficher la valeur de qui $21$.
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 :
- Le liste comporte 3 dictionnaires numérotés de $0$ à $2$. On cherche donc le deuxième dictionnaire avec, puis on récupère le numéro de téléphone avec l’éléments .
Pour réviser la notion de liste et de dictionnaire, voir le cours Tableaux et matrices, partie 2 et 3.
Quelle est l’expression manquante dans le programme Python suivant, pour que son exécution affiche le numéro de Dupond ?
Laquelle de ces listes de chaînes de caractères est triée en ordre croissant ?
Laquelle de ces listes de chaînes de caractères est triée en ordre croissant ?
- C’est une liste de chaînes de caractères, donc le programme prend les caractères dans l’ordre : $1$, puis $2$, puis $3$…
Quelle est la valeur de la variable image après exécution du programme Python suivant :
- Voici un tableau permettant de mieux comprendre le resultat :
$i \downarrow$ \ $j \rightarrow$ | $0$ | $1$ | $2$ | $3$ |
$0$ | $0$ | $0$ | $0$ | $1$ |
$1$ | $0$ | $0$ | $1$ | $0$ |
$2$ | $0$ | $1$ | $0$ | $0$ |
$3$ | $1$ | $0$ | $0$ | $0$ |
Lorsque $i+j=3$, alors l’image est égale à $1$.
Pour réviser la notion de matrice, voir le cours Tableaux et matrices, partie 3.d.
Quelle est la valeur de la variable
après exécution du programme Python suivant :Pour réviser le tri par selection, voir le cours Algorithmes sur tableaux, partie 2.
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 ?
Lors de la création de formulaire en HTML, celui-ci doit comporter certains éléments dont l’élément
Pour réviser le principe d’un formulaire en HTML, voir le cours Interactions client-serveur, partie 3.
Parmi les propriétés suivantes d'une balise
dans une page HTML, laquelle doit être rédigée en langage JavaScript ?La propriété | La propriété | La propriété | La propriété |
Pour revoir comment intégrer du JavaScript dans une page HTML, se diriger vers le cours Pages interactives, partie 1.b.
Quel est le nom de l’événement généré lorsque l’utilisateur clique sur un bouton de type
dans une page HTML ?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 ?
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 |
Pour revoir comment un événement crée avec JavaScript peut être interactif, se diriger vers le cours Pages interactives, partie 3.b.
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 | La méthode | La méthode | La méthode |
Pour réviser la méthode POST, voir le cours Interactions client-serveur, partie 2.b.
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) |
Pour réviser le rôle d’un processeur, voir le cours Une machine programmable, partie 2.b.
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 |
Pour réviser le rôle de la transmission de données, voir le cours TCP et le bit alterné, partie 1.b.
Quelle est l’utilité de la commande
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 |
Pour réviser les commandes relatives au réseau, voir le cours IP et le réseau local, partie 4.
Quel est l'effet de la commande
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 |
Pour réviser les commandes de base afin de manipuler les fichiers et les organiser, voir le cours Système d’exploitation et logiciel, partie 2.b.
Que peut-on dire du système de fichiers, suite à l’exécution des commandes suivantes ?
Le répertoire | contient le résultat de l’exécution des deux fichiers etL’utilisateur | est propriétaire des fichiers etLe répertoire | contient deux fichiers d'extensionLes fichiers | , , et ont été déplacés dans le répertoire de l’utilisateur
- Détail des commandes du code ci-dessus :
: connaître le contenu du répertoire ;
: créer un répertoire dans le répertoire courant, suivi du nom du répertoire à créer ; : déplacer des fichiers ou répertoires.
Pour réviser les commandes de base afin de manipuler les fichiers et les organiser, voir le cours Système d’exploitation et logiciel.
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
?Les accolades | Les instructions qui suivent le mot clé | 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.
Quelle est la précondition sur les arguments de cette fonction ?
Voici la liste des opérateurs de comparaison standards :
- $<$ : inférieur ;
- $>$ : supérieur ;
- $==$ : égal ;
- $<=$ : inférieur ou égal ;
- $>=$ : supérieur ou égal ;
- $!=$ :non égal.
Avec la définition de fonction
suivante, que peut-on toujours affirmer à propos du résultat $n$ retourné par la fonction ?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 ?
- $2^0=1$, alors que dans le programme ci-dessus cela fait $2$.
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 |
Pour réviser la notion de test et de vérification, voir le cours Vérifications, parie 1.
La documentation de la bibliothèque
de Python précise :Quelle est l'expression Python permettant de simuler le tirage d’un dé à $6$ faces après avoir exécuté
?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 ?
et | et | et | et |
Pour revoir le calcule de moyenne, se diriger vers le cours Algorithmes sur tableaux, partie 1.e.
Quelle valeur retourne la fonction
suivante ?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 |
Pour réviser l’algèbre de Boole, voir le cours Une machine à calculer : le bit, partie 2.
Combien d’échanges effectue la fonction Python suivante pour trier un tableau de $10$ éléments au pire des cas ?
45 | 10 | 100 | 55 |
- Pour mieux comprendre ce résultat prenons un exemple avec $4$ éléments, donc un tri de [4, 3, 2, 1] :
$4\ 3\ 2\ 1$
$3\ \textbf{4}\ 2\ 1$ ($1$ permutation)
$3\ 2\ \textbf{4}\ 1$ ($1$ permutation)
$3\ 2\ 1\ \textbf{4}$ ($1$ permutation)
$2\ \textbf{3}\ 1\ 4$ ($1$ permutation)
$2\ 1\ \textbf{3}\ 4$ ($1$ permutation)
$1\ \textbf{2}\ 3\ 4$ ($1$ permutation)
- Nous avons donc au pire $6$ permutations et à chaque permutation nous faisons la somme suivante : $\sum\limits_{n=1}^{n-1} n$ .
Pour revenir à notre question, afin de trier un tableau de $10$ éléments, nous utilisons la même méthode et nous trouvons bien, au pire, $45$ combinaisons, donc $45$ permutations.
Pour réviser la notion de tri, voir le cours Traitement de tables matricielles, partie 3.
Pour réviser la notion de complexité, voir le cours Terminaison et complexité, partie 3.
À 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 |
Pour réviser la méthode des plus proches voisins, voir le cours Algorithmes d’apprentissage.
Avec un algorithme de recherche par dichotomie, combien d’étapes sont nécessaires pour déterminer que $35$ est présent dans le tableau
?9 étapes | 2 étapes | 1 étapes | 11 étapes |
Pour réviser l’algorithme de recherche par dichotomie, voir le cours Terminaison et complexité, partie 4.c.
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 |