Bac NSI study materials
Bac NSI study resources

Bac NSI key terms

Bac NSI · Get comfortable with the vocabulary.

machine de Turing

Modèle abstrait de calcul imaginé par Alan Turing en 1936 : un ruban infini divisé en cases, une tête de lecture/écriture et une table de transitions. Il définit formellement ce qu'est un calcul et fonde la notion de calculabilité.

Related: calculabilité, architecture de von Neumann
architecture de von Neumann

Organisation d'ordinateur où programmes et données sont stockés dans la même mémoire, lue par un processeur qui exécute les instructions séquentiellement. Elle sépare unité de traitement, mémoire et entrées-sorties, et structure encore la plupart des machines actuelles.

Related: machine de Turing, processeur, mémoire
loi de Moore

Observation formulée en 1965 par Gordon Moore : le nombre de transistors sur une puce double environ tous les deux ans à coût constant. Elle a décrit l'évolution rapide du matériel pendant des décennies, sans être une loi physique.

Related: processeur, transistor
logiciel libre

Logiciel dont la licence accorde à l'utilisateur quatre libertés : exécuter, étudier, modifier et redistribuer le programme et ses versions modifiées. Il s'oppose au logiciel propriétaire et a joué un rôle majeur dans l'histoire de l'informatique.

Related: logiciel propriétaire
logiciel propriétaire

Logiciel distribué sous une licence restrictive qui interdit ou limite l'étude, la modification et la redistribution du code source. L'utilisateur achète un droit d'usage, non le programme lui-même.

Related: logiciel libre
transistor

Composant électronique élémentaire qui se comporte comme un interrupteur commandé par une tension. Son invention en 1947 a remplacé les tubes à vide et permis la miniaturisation des ordinateurs.

Related: loi de Moore, processeur
type de donnée

Ensemble de valeurs partageant une même nature et les opérations autorisées sur elles. En Python, int, float, str et bool sont des types de base ; le type d'une valeur détermine ce qu'on peut en faire.

Related: entier, flottant, chaîne de caractères
entier

Type de donnée représentant un nombre sans partie décimale, positif, négatif ou nul. Le type int de Python n'a pas de taille fixe ; en machine, les entiers sont codés sur un nombre fini de bits.

Related: type de donnée, complément à deux
flottant

Type de donnée représentant un nombre à virgule en mémoire selon la norme IEEE 754 : signe, exposant et mantisse. Sa précision est limitée, ce qui explique des résultats surprenants comme 0.1 + 0.2 != 0.3.

Related: type de donnée, débordement
chaîne de caractères

Type de donnée constitué d'une suite ordonnée de caractères, notée entre guillemets en Python. On peut la parcourir, la découper, la concaténer, mais elle est immuable.

Related: type de donnée, Unicode
booléen

Type de donnée à deux valeurs, True et False, qui résulte d'une comparaison ou alimente un test. En Python, il sert aux conditions et aux boucles, et s'obtient avec les opérateurs ==, <, and, or, not.

Related: type de donnée
complément à deux

Méthode de codage binaire des entiers relatifs sur n bits : les positifs sont écrits normalement, les négatifs comme 2^n moins leur valeur absolue. Elle rend l'addition identique pour les deux signes et évite un zéro double.

Related: entier, octet, débordement
octet

Groupe de huit bits, unité usuelle de mesure des données. Un octet code 256 valeurs distinctes, ce qui suffit pour un caractère en ASCII, et les capacités mémoire s'expriment en multiples d'octets.

Related: bit, complément à deux, Unicode
bit

Plus petite unité d'information, valant 0 ou 1. Toute donnée numérique, texte, image ou son est finalement représentée par une suite de bits, dont le sens dépend de la convention de codage choisie.

Related: octet, codage
codage

Convention qui associe à une information (nombre, caractère, couleur, son) une représentation binaire. Un même motif de bits peut désigner des choses différentes selon le codage appliqué.

Related: bit, Unicode, représentation binaire
Unicode

Standard international attribuant un point de code unique à chaque caractère de toutes les écritures du monde. Ses encodages, notamment UTF-8, coexistent avec l'ASCII, dont ils reprennent les premiers codes.

Related: chaîne de caractères, octet, codage
représentation binaire

Écriture d'un nombre en base 2, avec seulement les chiffres 0 et 1, où chaque position vaut une puissance de deux. C'est la représentation naturelle des données dans une machine.

Related: bit, codage, complément à deux
débordement

Situation où un résultat ne tient pas dans le format prévu : un entier codé sur n bits dépasse sa capacité, ou un flottant devient trop grand ou trop petit. Le résultat est alors faux ou remplacé par une valeur spéciale.

Related: flottant, complément à deux
liste

Type construit de Python contenant une suite ordonnée et modifiable d'éléments, indexés à partir de 0. On y accède par crochets, on la parcourt par itération, et ses éléments peuvent être de types différents.

Related: tuple, dictionnaire, index
tuple

Type construit de Python semblable à une liste mais non modifiable après création. On l'écrit entre parenthèses et on l'utilise pour regrouper des valeurs liées ou retourner plusieurs résultats.

Related: liste, immuabilité
dictionnaire

Type construit de Python associant des clés uniques à des valeurs, sans ordre garanti par l'index. On accède à une valeur par sa clé, ce qui en fait la structure naturelle pour les tables d'association.

Related: liste, table de données
index

Position entière d'un élément dans une séquence, numérotée à partir de 0 en Python. Un index négatif compte depuis la fin, et un index hors bornes provoque une erreur.

Related: liste, chaîne de caractères
immuabilité

Propriété d'un objet dont la valeur ne peut pas être modifiée après sa création, comme un tuple, une chaîne ou un entier. Toute opération qui semble le changer crée en réalité un nouvel objet.

Related: tuple, chaîne de caractères
table de données

Ensemble de données organisé en lignes (enregistrements) et colonnes (descripteurs), souvent représenté en Python par une liste de dictionnaires partageant les mêmes clés. C'est le format courant des fichiers CSV.

Related: dictionnaire, CSV, requête
CSV

Format texte de fichier tabulaire où chaque ligne est un enregistrement et où les champs sont séparés par un délimiteur, souvent la virgule. Simple et universel, il ne précise ni les types ni l'encodage des données.

Related: table de données
requête

Opération qui sélectionne, filtre, trie ou agrège les lignes d'une table de données selon un critère. En Python, on l'implémente par des boucles, des compréhensions ou des fonctions comme sorted et sum.

Related: table de données, agrégation
agrégation

Calcul qui résume un ensemble de valeurs en un résultat unique : somme, moyenne, minimum, maximum, comptage. Sur une table, elle s'applique souvent à une colonne ou à des groupes de lignes.

Related: requête, table de données
URL

Adresse d'une ressource sur le Web, composée d'un schéma, d'un nom d'hôte, d'un chemin et éventuellement de paramètres et d'un fragment. Elle permet au navigateur de localiser le serveur et la ressource demandée.

Related: HTTP, client-serveur
HTTP

Protocole de communication du Web : le client envoie une requête (méthode, chemin, en-têtes) et le serveur renvoie une réponse avec un code de statut et un contenu. Il fonctionne sans mémoire entre deux requêtes.

Related: URL, client-serveur, cookie
client-serveur

Modèle d'échange où un programme client formule une demande et un programme serveur y répond, généralement à distance. Le navigateur est client, le serveur Web héberge les pages et traite les requêtes.

Related: HTTP, URL
cookie

Petit ensemble de données qu'un serveur demande au navigateur de stocker et de renvoyer à chaque requête vers ce site. Il sert à maintenir une session ou des préférences malgré le caractère sans état de HTTP.

Related: HTTP
formulaire

Élément HTML regroupant des champs de saisie et un bouton de soumission, qui envoie les données au serveur par une requête GET ou POST. C'est l'un des principaux moyens d'interaction entre l'utilisateur et un site.

Related: HTTP, JavaScript
JavaScript

Langage de programmation exécuté par le navigateur, qui permet de modifier la page après son chargement et de réagir aux actions de l'utilisateur. Il s'ajoute au HTML et au CSS pour rendre les pages interactives.

Related: formulaire, DOM
DOM

Représentation de la page HTML sous forme d'arbre d'objets manipulable par un programme JavaScript. Chaque balise devient un nœud que l'on peut lire ou modifier pour changer dynamiquement l'affichage.

Related: JavaScript, formulaire
processeur

Circuit qui exécute les instructions d'un programme : il lit une instruction en mémoire, la décode, effectue l'opération puis passe à la suivante. Sa fréquence et son nombre de cœurs influencent les performances.

Related: architecture de von Neumann, mémoire, système d'exploitation
mémoire

Espace de stockage des programmes et des données, organisé en cases repérées par une adresse. La mémoire vive est rapide mais volatile, alors que le disque conserve les données durablement.

Related: processeur, système d'exploitation
système d'exploitation

Logiciel qui gère les ressources d'une machine (processeur, mémoire, fichiers, périphériques) et offre des services aux programmes. Il assure l'ordonnancement des tâches et l'isolation entre utilisateurs.

Related: processus, mémoire, droits d'accès
processus

Programme en cours d'exécution, disposant de son propre espace mémoire et d'un état suivi par le système d'exploitation. Plusieurs processus peuvent coexister et se partager le processeur.

Related: système d'exploitation, processeur
droits d'accès

Permissions attachées à un fichier ou à un répertoire, par exemple lecture, écriture et exécution pour le propriétaire, le groupe ou les autres. Ils protègent les données et limitent ce qu'un programme peut modifier.

Related: système d'exploitation, répertoire
répertoire

Conteneur du système de fichiers regroupant des fichiers et d'autres répertoires, formant une arborescence depuis la racine. Un chemin absolu part de la racine, un chemin relatif part du répertoire courant.

Related: droits d'accès, système d'exploitation
fonction

Bloc de code nommé, éventuellement paramétré, qui effectue une tâche et peut renvoyer une valeur. En Python, on la définit avec def ; elle favorise la réutilisation et la lisibilité du programme.

Related: paramètre, portée des variables, spécification
paramètre

Variable déclarée dans la définition d'une fonction pour recevoir une valeur à chaque appel. L'argument est la valeur effectivement transmise lors de l'appel.

Related: fonction, portée des variables
portée des variables

Règle qui détermine où une variable est visible : locale à une fonction, ou globale au module. En Python, une variable affectée dans une fonction est locale sauf déclaration global.

Related: fonction, paramètre
spécification

Description précise de ce qu'une fonction doit faire : paramètres attendus, résultat renvoyé, conditions et effets. Elle guide l'écriture des tests et permet de vérifier le programme sans lire son code.

Related: test, fonction
test

Exécution contrôlée d'un programme sur des entrées choisies pour comparer le résultat obtenu au résultat attendu. Les jeux de tests doivent couvrir cas normaux, cas limites et cas erronés.

Related: spécification, débogage
débogage

Activité qui consiste à localiser et corriger une erreur dans un programme, à l'aide de messages, d'affichages intermédiaires ou d'un outil pas à pas. Elle suppose d'abord de reproduire le dysfonctionnement.

Related: test, exception
exception

Erreur détectée pendant l'exécution d'un programme, comme une division par zéro ou un index hors bornes. En Python, elle interrompt le cours normal sauf si elle est interceptée par try et except.

Related: débogage
algorithme

Suite finie et non ambiguë d'instructions permettant de résoudre un problème à partir de données d'entrée. Un algorithme doit se terminer et produire le résultat attendu pour toutes les entrées valides.

Related: complexité, recherche dichotomique, tri
complexité

Mesure de l'évolution du temps ou de la mémoire consommés par un algorithme quand la taille des données augmente, exprimée en notation grand O. Elle compare les algorithmes indépendamment de la machine.

Related: algorithme, recherche dichotomique, tri
recherche dichotomique

Algorithme qui cherche une valeur dans un tableau trié en comparant avec l'élément du milieu et en éliminant la moitié restante à chaque étape. Sa complexité est logarithmique, bien meilleure qu'un parcours linéaire.

Related: complexité, tri, algorithme
tri

Réorganisation d'une collection selon un ordre défini, par exemple croissant. Les algorithmes de tri par insertion, par sélection ou par fusion illustrent des complexités et des stratégies différentes.

Related: complexité, recherche dichotomique
récursivité

Propriété d'une fonction qui s'appelle elle-même sur un cas plus petit, jusqu'à un cas de base qui arrête les appels. Elle permet d'écrire simplement des algorithmes sur des structures récursives.

Related: algorithme, complexité