Bac NSI study materials
Bac NSI study resources

Bac NSI practice questions

One question at a time. Build your Bac NSI understanding.

First 50 of 200 questions. Each one lists the choices, the correct answer, and an explanation. The checker at the top of this page saves progress in this browser when it is available.

Continue in the practice tool above to load more questions, 50 at a time.

Question 1Histoire de l'informatique

Quel mathématicien anglais est considéré comme le père de l'informatique pour avoir formalisé en 1936 le concept de machine abstraite calculant par rubans et états ?

  1. John von Neumann
  2. Alan Turing Correct answer.
  3. Blaise Pascal
  4. Charles Babbage

Explanation

La machine de Turing, décrite dans l'article de 1936 sur les nombres calculables, définit un modèle abstrait de calcul fondé sur un ruban, une tête de lecture et une table d'états. Ce modèle sert encore aujourd'hui de base théorique à la calculabilité.

Question 2Histoire de l'informatique

Quelle invention mécanique de Blaise Pascal, conçue vers 1642, effectuait des additions et soustractions par un système de roues dentées ?

  1. La Pascaline Correct answer.
  2. Le métier Jacquard
  3. La machine différentielle
  4. Le boulier chinois

Explanation

La Pascaline est une calculatrice mécanique à roues et pignons permettant d'additionner et de soustraire directement, avec report automatique de la retenue. Elle est l'un des premiers calculateurs mécaniques documentés.

Question 3Histoire de l'informatique

Quel dispositif de 1801 a introduit l'idée de programmer une machine à l'aide de cartes perforées dans l'industrie textile ?

  1. Le télégraphe de Morse
  2. Le métier Jacquard Correct answer.
  3. La tabulatrice de Hollerith
  4. La machine analytique de Babbage

Explanation

Le métier Jacquard utilise une chaîne de cartes perforées pour sélectionner les aiguilles et reproduire un motif de tissage. Cette séparation entre programme et exécution inspira les concepteurs de machines à calculer.

Question 4Histoire de l'informatique

Quel rôle Ada Lovelace a-t-elle joué dans l'histoire de l'informatique en travaillant sur la machine analytique de Babbage ?

  1. Elle a construit le premier ordinateur électronique à lampes
  2. Elle a inventé le langage COBOL
  3. Elle a rédigé des notes décrivant un algorithme et les principes de programmation Correct answer.
  4. Elle a conçu l'architecture à programme enregistré

Explanation

Les notes d'Ada Lovelace sur la machine analytique contiennent une description détaillée d'une suite de calculs, souvent citée comme premier programme. Elle y envisage aussi que la machine puisse manipuler des symboles et pas seulement des nombres.

Question 5Histoire de l'informatique

Quelle machine, achevée en 1946 à l'université de Pennsylvanie, est souvent présentée comme le premier grand calculateur électronique programmable à lampes ?

  1. Z3
  2. IBM 360
  3. ENIAC Correct answer.
  4. Colossus

Explanation

ENIAC est un calculateur électronique à tubes à vide, programmable par câblage et commutateurs, utilisé notamment pour des calculs balistiques. Sa taille et sa consommation illustrent l'état de l'électronique des années 1940.

Question 6Histoire de l'informatique

Quel principe caractérise l'architecture dite de von Neumann ?

  1. Chaque instruction est exécutée par un circuit dédié indépendant
  2. Les instructions et les données sont stockées dans une mémoire unique partagée Correct answer.
  3. Les données sont conservées uniquement sur bandes magnétiques externes
  4. Les instructions sont câblées en dur et ne peuvent pas être modifiées

Explanation

Dans l'architecture de von Neumann, programme et données résident dans la même mémoire, ce qui permet de modifier le programme comme une donnée. Ce partage impose aussi de séquencer les accès entre instructions et données.

Question 7Histoire de l'informatique

Quel composant a remplacé les tubes à vide dans les ordinateurs de la deuxième génération, à partir de la fin des années 1950 ?

  1. Le microprocesseur
  2. Le circuit intégré
  3. La carte perforée
  4. Le transistor Correct answer.

Explanation

Le transistor, inventé en 1947 aux laboratoires Bell, remplace progressivement les tubes à vide : plus petit, plus fiable et moins gourmand en énergie. Les ordinateurs à transistors constituent la deuxième génération.

Question 8Histoire de l'informatique

Quel pionnier a proposé en 1945 le rapport décrivant un ordinateur à programme enregistré, souvent appelé EDVAC ?

  1. Grace Hopper
  2. Konrad Zuse
  3. Alan Turing
  4. John von Neumann Correct answer.

Explanation

Le rapport de 1945 sur l'EDVAC expose la conception d'une machine dont les instructions sont stockées en mémoire, ce qui fonde l'architecture à programme enregistré. Von Neumann y formalise l'organisation des unités de calcul, de contrôle et de mémoire.

Question 9Histoire de l'informatique

Quel langage de programmation, développé par Dennis Ritchie au début des années 1970, a été conçu pour réécrire le système UNIX ?

  1. FORTRAN
  2. Pascal
  3. C Correct answer.
  4. Lisp

Explanation

Le langage C a été créé aux laboratoires Bell pour disposer d'un langage de haut niveau tout en gardant le contrôle bas niveau nécessaire à l'écriture d'un système d'exploitation. UNIX a ensuite été réécrit en C, ce qui a favorisé sa portabilité.

Question 10Histoire de l'informatique

Quelle innovation est associée à Grace Hopper dans les années 1950 ?

  1. La conception du premier microprocesseur commercial
  2. L'invention du protocole TCP/IP
  3. La création du langage Java
  4. Le premier compilateur et l'idée de programmer en langage proche de l'anglais Correct answer.

Explanation

Grace Hopper a développé le compilateur A-0 et défendu l'idée qu'un programme pouvait être écrit dans un langage symbolique puis traduit en code machine. Ses travaux ont préparé les langages de haut niveau et COBOL.

Question 11Histoire de l'informatique

Quel modèle théorique de calcul, proposé par Alonzo Church en 1936, est équivalent en puissance à la machine de Turing ?

  1. Les automates finis
  2. La machine de Post
  3. Les réseaux de Petri
  4. Le lambda-calcul Correct answer.

Explanation

Le lambda-calcul définit le calcul par des fonctions et des réductions, et la thèse de Church-Turing affirme son équivalence avec les machines de Turing. Cette équivalence montre que la notion de calculabilité ne dépend pas du formalisme choisi.

Question 12Histoire de l'informatique

Quel est l'apport principal de la machine de Turing à ruban infini par rapport à un simple automate fini ?

  1. Elle peut lire et écrire sur une mémoire illimitée, ce qui lui permet de reconnaître des langages non réguliers Correct answer.
  2. Elle exécute plusieurs instructions simultanément grâce à plusieurs processeurs
  3. Elle fonctionne sans table d'états ni règle de transition
  4. Elle stocke ses données dans une mémoire vive de taille fixe

Explanation

Le ruban infini fournit une mémoire non bornée, ce qui distingue la machine de Turing d'un automate fini dont l'état interne est limité. Cette mémoire permet de reconnaître des langages comme les mots de la forme a^n b^n.

Question 13Histoire de l'informatique

Quel impact a eu l'invention du circuit intégré sur l'histoire des ordinateurs dans les années 1960 ?

  1. Elle a rendu inutile l'utilisation de la mémoire
  2. Elle a remplacé les langages de programmation par du câblage direct
  3. Elle a permis de regrouper de nombreux transistors sur une puce et de réduire taille et coût Correct answer.
  4. Elle a supprimé la nécessité des systèmes d'exploitation

Explanation

Le circuit intégré, développé à la fin des années 1950, intègre plusieurs transistors et composants sur un même substrat. Cette intégration marque la troisième génération et rend les ordinateurs plus compacts, fiables et abordables.

Question 14Histoire de l'informatique

Quelle loi empirique, formulée par Gordon Moore en 1965, décrit l'évolution du nombre de composants par puce ?

  1. Le coût d'un ordinateur double à chaque génération
  2. Le nombre de transistors par puce double environ tous les deux ans Correct answer.
  3. La fréquence des processeurs double tous les six mois sans limite
  4. La taille des mémoires diminue de moitié tous les dix ans

Explanation

La loi de Moore prédit un doublement régulier du nombre de composants intégrés par puce, avec une période initialement estimée à un an puis ajustée. Elle décrit une tendance industrielle, pas une loi physique garantie indéfiniment.

Question 15Histoire de l'informatique

Quel événement de 1969 est considéré comme la première connexion du réseau ARPANET ?

  1. La normalisation du protocole HTTP
  2. L'envoi du premier courriel commercial
  3. L'échange de messages entre les ordinateurs de l'UCLA et de Stanford Correct answer.
  4. L'ouverture du premier site web au CERN

Explanation

ARPANET relie en 1969 des centres universitaires, avec une première communication entre l'UCLA et le Stanford Research Institute. Ce réseau expérimental est l'ancêtre d'Internet.

Question 16Histoire de l'informatique

Quel protocole de commutation de paquets a été conçu par Vint Cerf et Bob Kahn en 1974 pour interconnecter des réseaux hétérogènes ?

  1. SMTP
  2. HTTP
  3. Ethernet
  4. TCP Correct answer.

Explanation

Le protocole TCP, issu des travaux de Cerf et Kahn, assure le transport fiable des paquets entre réseaux différents et prépare la suite TCP/IP. Il sera scindé plus tard en TCP et IP.

Question 17Histoire de l'informatique

Quel système d'exploitation, développé à partir de 1969 aux laboratoires Bell, a inspiré de nombreux systèmes de type UNIX ?

  1. MS-DOS
  2. CP/M
  3. Windows NT
  4. UNIX Correct answer.

Explanation

UNIX, développé par Thompson et Ritchie, introduit une organisation modulaire autour de fichiers, de processus et d'outils combinables. Sa réécriture en C et sa diffusion universitaire ont influencé des systèmes comme Linux.

Question 18Histoire de l'informatique

Quel microprocesseur, lancé en 1971, est généralement cité comme le premier microprocesseur commercial sur une seule puce ?

  1. Intel 4004 Correct answer.
  2. Zilog Z80
  3. Motorola 68000
  4. Intel 8086

Explanation

L'Intel 4004 intègre l'unité centrale d'un calculateur sur une puce unique et ouvre la voie aux microprocesseurs. Le 8086 et le 68000 sont des successeurs plus puissants des années 1970.

Question 19Histoire de l'informatique

Quel langage, créé par Guido van Rossum et publié en 1991, met l'accent sur la lisibilité et l'indentation significative ?

  1. Perl
  2. Python Correct answer.
  3. Ruby
  4. C++

Explanation

Python utilise l'indentation pour délimiter les blocs et privilégie une syntaxe lisible. Il est aujourd'hui très utilisé en enseignement et en science des données.

Question 20Histoire de l'informatique

Quel est le rôle historique de la thèse de Church-Turing dans la théorie de l'informatique ?

  1. Elle prouve que tout programme se termine nécessairement
  2. Elle affirme que tout calcul effectif peut être réalisé par une machine de Turing Correct answer.
  3. Elle démontre que les ordinateurs quantiques sont plus puissants pour tous les problèmes
  4. Elle établit que la complexité d'un algorithme est toujours linéaire

Explanation

La thèse de Church-Turing identifie la notion intuitive de calcul effectif à celle de calculabilité par machine de Turing, indépendamment du formalisme. Elle ne dit rien sur la terminaison des programmes ni sur la complexité.

Question 21Histoire de l'informatique

Pourquoi le problème de l'arrêt est-il indécidable pour une machine de Turing ?

  1. Parce que la table de transition est toujours incomplète
  2. Parce que le ruban est infini et rend tout calcul impossible
  3. Parce que les machines de Turing n'ont pas assez de mémoire pour simuler les programmes
  4. Parce qu'aucun algorithme général ne peut déterminer, pour tout programme et toute entrée, s'il s'arrête Correct answer.

Explanation

Le résultat de Turing de 1936 montre par diagonalisation qu'un programme décidant l'arrêt de tout autre programme conduirait à une contradiction. L'indécidabilité est donc une limite fondamentale du calcul, pas un manque de ressources.

Question 22Histoire de l'informatique

Quelle distinction sépare l'architecture de von Neumann de l'architecture Harvard ?

  1. Von Neumann fonctionne sans horloge, Harvard est cadencé
  2. Von Neumann est parallèle, Harvard est séquentiel
  3. Von Neumann partage une mémoire pour instructions et données, Harvard utilise des espaces mémoire séparés Correct answer.
  4. Von Neumann utilise des transistors, Harvard des tubes à vide

Explanation

L'architecture Harvard sépare physiquement ou logiquement la mémoire des instructions de celle des données, ce qui permet des accès simultanés. Von Neumann les réunit dans un même espace, ce qui simplifie la conception mais crée le goulot d'étranglement du bus.

Question 23Histoire de l'informatique

Quel a été l'effet de la réécriture d'UNIX en langage C sur la diffusion des systèmes de type UNIX ?

  1. Elle a obligé les utilisateurs à réécrire tous les programmes en assembleur
  2. Elle a rendu le système incompatible avec les processeurs 16 bits
  3. Elle a supprimé la nécessité d'un noyau
  4. Elle a rendu le système portable vers d'autres machines, car seul le compilateur C devait être adapté Correct answer.

Explanation

Tant qu'UNIX était écrit en assembleur, il dépendait d'un processeur précis. Sa réécriture en C a permis de le recompiler sur de nouvelles machines avec un effort limité, favorisant sa large adoption universitaire et industrielle.

Question 24Histoire de l'informatique

Quel enchaînement historique relie la machine différentielle de Babbage, la tabulatrice de Hollerith et les premiers ordinateurs électroniques ?

  1. La mécanisation du calcul, puis le traitement de données à grande échelle, puis l'automatisation électronique du calcul Correct answer.
  2. La transmission radio, puis le stockage optique, puis le calcul parallèle
  3. Le calcul analogique, puis le calcul quantique, puis l'intelligence artificielle
  4. La programmation fonctionnelle, puis les bases de données, puis les réseaux

Explanation

Babbage cherche à automatiser le calcul de tables mathématiques par des mécanismes, Hollerith applique les cartes perforées au recensement, et les machines électroniques des années 1940 automatisent le calcul à grande vitesse. Cette progression illustre le passage du mécanique à l'électronique et du calcul isolé au traitement de masse.

Question 25Histoire de l'informatique

Pourquoi le modèle de von Neumann est-il souvent décrit comme souffrant d'un « goulot d'étranglement » ?

  1. La mémoire ne peut contenir qu'un seul programme à la fois
  2. Instructions et données empruntent le même chemin mémoire, ce qui limite le débit entre processeur et mémoire Correct answer.
  3. Les entrées-sorties sont interdites dans ce modèle
  4. Le processeur ne peut exécuter qu'une seule instruction dans toute sa vie

Explanation

Comme instructions et données partagent la même mémoire et souvent le même bus, le processeur ne peut pas les récupérer simultanément. Ce partage crée une limite de performance, atténuée par des caches et des architectures séparées.

Question 26Histoire de l'informatique

Quel langage de programmation, conçu par Niklaus Wirth à la fin des années 1960, a été nommé en hommage au mathématicien et philosophe Blaise Pascal ?

  1. Ada
  2. C
  3. Pascal Correct answer.
  4. Fortran

Explanation

Le langage Pascal a été développé par Niklaus Wirth à la fin des années 1960 et nommé en l'honneur de Blaise Pascal, mathématicien et philosophe français. Il a été conçu pour l'enseignement de la programmation structurée et a connu un large succès dans les années 1970 et 1980.

Question 27Histoire de l'informatique

En vous appuyant sur l'architecture de von Neumann, comment explique-t-on que l'exécution d'une instruction puisse nécessiter plusieurs cycles d'horloge, alors que le processeur pourrait théoriquement aller plus vite ?

  1. Parce que le processeur doit systématiquement vider le cache avant chaque instruction, ce qui ralentit l'exécution.
  2. Parce que les instructions sont décodées par un circuit séparé qui fonctionne à une fréquence plus élevée que le processeur.
  3. Parce que le processeur doit attendre que les données soient transférées depuis la mémoire via un bus unique, ce qui crée un goulot d'étranglement. Correct answer.
  4. Parce que la mémoire est organisée en deux bus distincts, ce qui permet des accès simultanés aux instructions et aux données.

Explanation

Dans l'architecture de von Neumann, les instructions et les données partagent le même espace mémoire et le même bus de communication avec le processeur. Ainsi, le processeur ne peut pas lire une instruction et une donnée en même temps, ce qui limite le débit et explique que plusieurs cycles soient nécessaires pour exécuter une instruction. Ce phénomène est souvent appelé goulot d'étranglement de von Neumann.

Question 28Histoire de l'informatique

En 1983, le système d'exploitation GNU est lancé par Richard Stallman dans le but de créer un système d'exploitation entièrement libre. Quelle a été la principale difficulté qui a retardé la complétude de GNU jusqu'à l'arrivée du noyau Linux en 1991 ?

  1. Les bibliothèques GNU ne pouvaient pas être utilisées sans un noyau propriétaire.
  2. La licence GPL interdisait la distribution du noyau GNU tant qu'il n'était pas terminé.
  3. Le noyau Hurd, développé pour GNU, a pris beaucoup de retard en raison de sa complexité architecturale. Correct answer.
  4. Les outils de développement de GNU n'étaient pas compatibles avec les processeurs de l'époque.

Explanation

Le projet GNU avait développé de nombreux composants essentiels (compilateur, utilitaires, bibliothèques), mais son noyau, le Hurd, a rencontré des difficultés de conception qui ont retardé son achèvement. C'est pourquoi l'arrivée du noyau Linux, développé séparément par Linus Torvalds, a permis de compléter un système d'exploitation libre fonctionnel en combinant les outils GNU avec le noyau Linux.

Question 29Représentation des données : types et valeurs de base

En base 2, combien de valeurs différentes un octet peut-il représenter ?

  1. 8
  2. 256 Correct answer.
  3. 1024
  4. 128

Explanation

Un octet est composé de 8 bits, et chaque bit vaut 0 ou 1. Le nombre de combinaisons possibles est donc 2 puissance 8, soit 256 valeurs distinctes, de 0 à 255 en non signé.

Question 30Représentation des données : types et valeurs de base

Quelle est l'écriture binaire du nombre décimal 13 ?

  1. 1110
  2. 1101 Correct answer.
  3. 1011
  4. 1001

Explanation

On décompose 13 en puissances de 2 : 8 + 4 + 1, soit 2³ + 2² + 2⁰. Les bits de poids 3, 2 et 0 valent donc 1, ce qui donne 1101.

Question 31Représentation des données : types et valeurs de base

Quel est le résultat en décimal de l'addition binaire 1011 + 0110 ?

  1. 16
  2. 17 Correct answer.
  3. 18
  4. 15

Explanation

1011 vaut 11 et 0110 vaut 6 en décimal. Leur somme vaut donc 17, ce qui correspond à 10001 en binaire, avec une retenue propagée depuis le bit de poids 1.

Question 32Représentation des données : types et valeurs de base

En complément à deux sur 8 bits, quelle est la représentation de l'entier -1 ?

  1. 10000001
  2. 00000001
  3. 01111111
  4. 11111111 Correct answer.

Explanation

En complément à deux, on inverse tous les bits de 1 (00000001) puis on ajoute 1, ce qui donne 11111111. Cette configuration correspond bien à -1 et non à 255, car le bit de poids fort indique le signe.

Question 33Représentation des données : types et valeurs de base

Sur 8 bits en complément à deux, quel intervalle d'entiers peut-on coder ?

  1. -127 à 127
  2. -255 à 255
  3. 0 à 255
  4. -128 à 127 Correct answer.

Explanation

Avec un bit réservé au signe, il reste 7 bits de valeur, soit 128 valeurs négatives et 128 valeurs positives ou nulles. L'intervalle est donc asymétrique : de -128 à +127.

Question 34Représentation des données : types et valeurs de base

Quel est le résultat de l'opération logique 1010 AND 1100 ?

  1. 0110
  2. 1010
  3. 1110
  4. 1000 Correct answer.

Explanation

Le ET bit à bit renvoie 1 seulement lorsque les deux bits correspondants valent 1. Seul le bit de poids 3 est à 1 dans les deux opérandes, ce qui donne 1000.

Question 35Représentation des données : types et valeurs de base

Quelle opération logique bit à bit permet d'inverser la valeur de chaque bit d'un mot binaire ?

  1. Le OU avec un masque de 0
  2. Le décalage à gauche
  3. Le OU exclusif avec un masque de 1 Correct answer.
  4. Le ET avec un masque de 1

Explanation

Le OU exclusif avec 1 renvoie l'inverse du bit : 0 XOR 1 donne 1 et 1 XOR 1 donne 0. Appliqué bit à bit avec un masque de 1, il réalise donc le complément à un du mot.

Question 36Représentation des données : types et valeurs de base

Combien d'octets contient un kibioctet (Kio) ?

  1. 1000
  2. 1024 x 1024
  3. 1024 Correct answer.
  4. 100

Explanation

Le préfixe binaire Kio repose sur les puissances de 2 et vaut 2 puissance 10 octets, soit 1024 octets. Il se distingue du kilooctet décimal qui vaut 1000 octets.

Question 37Représentation des données : types et valeurs de base

Quelle est la représentation hexadécimale du nombre binaire 11111111 ?

  1. FF Correct answer.
  2. 0F
  3. F0
  4. 1F

Explanation

On regroupe les bits par quatre : 1111 et 1111, qui valent chacun 15 en décimal, soit F en hexadécimal. Le résultat est donc FF.

Question 38Représentation des données : types et valeurs de base

Pourquoi l'hexadécimal est-il souvent utilisé pour afficher des données binaires ?

  1. Parce que les processeurs calculent directement en hexadécimal
  2. Parce qu'il utilise moins de mémoire que le binaire
  3. Parce qu'un chiffre hexadécimal code exactement quatre bits Correct answer.
  4. Parce qu'il permet de représenter des nombres négatifs sans signe

Explanation

Chaque chiffre hexadécimal correspond à un groupe de quatre bits, si bien qu'un octet s'écrit avec exactement deux chiffres. La conversion avec le binaire est donc immédiate et la lecture plus compacte.

Question 39Représentation des données : types et valeurs de base

Quel est le code ASCII décimal de la lettre majuscule A ?

  1. 97
  2. 41
  3. 65 Correct answer.
  4. 48

Explanation

Dans la table ASCII, la majuscule A correspond à 65 en décimal, soit 0x41. Les lettres majuscules se suivent ensuite de façon contiguë jusqu'à Z.

Question 40Représentation des données : types et valeurs de base

Combien de caractères différents le codage ASCII standard peut-il représenter ?

  1. 128 Correct answer.
  2. 1024
  3. 64
  4. 256

Explanation

L'ASCII standard utilise 7 bits par caractère, ce qui donne 2 puissance 7, soit 128 codes possibles. L'ASCII étendu, sur 8 bits, porte ce total à 256.

Question 41Représentation des données : types et valeurs de base

Quelle affirmation décrit correctement la différence entre ASCII et Unicode ?

  1. ASCII code les caractères sur 7 bits, Unicode vise à couvrir l'ensemble des systèmes d'écriture Correct answer.
  2. ASCII et Unicode sont deux noms du même standard
  3. Unicode est limité aux langues européennes, ASCII couvre toutes les langues
  4. Unicode ne peut coder que 256 caractères, ASCII en code davantage

Explanation

L'ASCII est un jeu de 128 caractères centré sur l'anglais, codé sur 7 bits. Unicode est un répertoire beaucoup plus vaste, conçu pour représenter les caractères de nombreuses écritures, avec plusieurs encodages possibles comme UTF-8.

Question 42Représentation des données : types et valeurs de base

Quel est l'intérêt principal de l'encodage UTF-8 par rapport à UTF-32 ?

  1. Il utilise un nombre variable d'octets et économise la place pour les caractères latins Correct answer.
  2. Il est le seul encodage compatible avec Unicode
  3. Il code chaque caractère sur exactement 4 octets
  4. Il ne peut coder que les caractères ASCII

Explanation

UTF-8 est un encodage à longueur variable : un caractère ASCII tient sur 1 octet, les autres sur 2 à 4 octets. Il réduit donc fortement la taille des textes majoritairement latins par rapport à UTF-32, qui utilise 4 octets par caractère.

Question 43Représentation des données : types et valeurs de base

Quelle est la valeur booléenne de l'expression Python 7 // 2 == 3 ?

  1. None
  2. Une erreur est levée
  3. True Correct answer.
  4. False

Explanation

En Python, l'opérateur // effectue une division entière par défaut, donc 7 // 2 vaut 3. La comparaison 3 == 3 renvoie donc True.

Question 44Représentation des données : types et valeurs de base

En Python, quel est le type de la valeur renvoyée par l'expression 3 / 2 ?

  1. float Correct answer.
  2. bool
  3. str
  4. int

Explanation

En Python 3, l'opérateur / réalise toujours une division flottante, même entre deux entiers. Le résultat de 3 / 2 est donc 1.5, de type float.

Question 45Représentation des données : types et valeurs de base

En Python, que vaut l'expression 0.1 + 0.2 == 0.3 ?

  1. False Correct answer.
  2. Une exception est levée
  3. None
  4. True

Explanation

Les nombres flottants sont codés en binaire selon la norme IEEE 754 et ne représentent pas exactement 0.1 ni 0.2. Leur somme vaut environ 0.30000000000000004, donc la comparaison d'égalité stricte renvoie False.

Question 46Représentation des données : types et valeurs de base

Quel est le plus petit entier positif non représentable exactement en flottant simple précision IEEE 754 ?

  1. 2^32
  2. 2^24 + 1 Correct answer.
  3. 2^53 + 1
  4. 2^23

Explanation

En simple précision, la mantisse comporte 23 bits stockés plus un bit implicite, soit 24 bits de précision. Tous les entiers jusqu'à 2^24 sont exacts, mais 2^24 + 1 exige 25 bits significatifs et est arrondi.

Question 47Représentation des données : types et valeurs de base

Quelle affirmation est vraie à propos des chaînes de caractères en Python ?

  1. Elles ne peuvent contenir que des caractères ASCII
  2. Elles sont immuables : toute transformation produit une nouvelle chaîne Correct answer.
  3. Elles sont mutables : on peut modifier un caractère par affectation d'indice
  4. Leur longueur est fixée à la création et ne peut être connue

Explanation

En Python, un objet str est immuable : l'affectation à un indice comme s[0] = 'a' lève une TypeError. Les opérations comme upper ou la concaténation créent une nouvelle chaîne.

Question 48Représentation des données : types et valeurs de base

En Python, quel est le résultat de l'expression booléenne True and not False ?

  1. None
  2. 1
  3. True Correct answer.
  4. False

Explanation

not False vaut True, puis True and True vaut True. La priorité des opérateurs applique d'abord la négation, puis la conjonction.

Question 49Représentation des données : types et valeurs de base

Quel type Python utiliser pour stocker une valeur vraie ou fausse de façon explicite ?

  1. int
  2. str
  3. bool Correct answer.
  4. float

Explanation

Le type bool possède exactement deux valeurs, True et False. Il est une sous-classe de int, mais son usage explicite rend l'intention du programme plus claire.

Question 50Représentation des données : types et valeurs de base

En Python, quelle expression permet d'obtenir le reste de la division de 17 par 5 ?

  1. 17 / 5
  2. 17 % 5 Correct answer.
  3. 17 ** 5
  4. 17 // 5

Explanation

L'opérateur modulo % renvoie le reste de la division entière : 17 % 5 vaut 2. C'est l'outil usuel pour tester la divisibilité ou cycler sur des indices.