Bac NSI study materials
Bac NSI study resources

Bac NSI flashcards

Bac NSI · Build recall with a focused review session.

32 cards. Read the term and the definition here. The deck at the top of this page is optional.

Machine de Turing
Modèle abstrait de calcul composé d'un ruban infini, d'une tête de lecture-écriture et d'états. Elle formalise la notion de calcul effectif et fonde la thèse de Church-Turing.
Architecture de von Neumann
Modèle où programme et données sont stockés dans la même mémoire, lue par un processeur qui exécute les instructions séquentiellement. C'est la base des ordinateurs actuels.
Loi de Moore
Constat énoncé en 1965 : le nombre de transistors gravés sur une puce double environ tous les deux ans, ce qui décrit la croissance exponentielle de la puissance de calcul.
Complément à deux
Codage des entiers signés sur n bits : les positifs s'écrivent normalement, les négatifs par inversion des bits puis ajout de 1. L'intervalle est [−2^(n−1), 2^(n−1) − 1].
Nombre de valeurs sur n bits
Avec n bits, on peut coder exactement 2^n valeurs distinctes, de 0 à 2^n − 1 en non signé. Par exemple, 8 bits donnent 256 valeurs de 0 à 255.
Norme IEEE 754
Standard de représentation des nombres à virgule flottante : signe, exposant biaisé et mantisse. En simple précision, 1 bit de signe, 8 bits d'exposant et 23 bits de mantisse.
UTF-8
Encodage de caractères Unicode sur 1 à 4 octets selon le point de code. Il est compatible avec ASCII pour les 128 premiers caractères et reste l'encodage dominant du Web.
Dépassement d'entier
Situation où le résultat d'une opération dépasse l'intervalle représentable sur le nombre de bits fixé. Le résultat est tronqué modulo 2^n, produisant une valeur fausse sans erreur visible.
Liste et tuple en Python
Une liste est une séquence mutable, modifiable après création. Un tuple est immuable : on ne peut pas changer ses éléments, ce qui le rend adapté aux données fixes comme un enregistrement.
Alias de liste
Affecter b = a ne copie pas la liste : les deux noms désignent le même objet. Modifier b modifie donc a. Pour copier, utiliser a[:] ou list(a).
Dictionnaire Python
Structure associative qui associe des clés immuables et uniques à des valeurs. L'accès d[clé] est en temps constant moyen ; l'itération parcourt les clés dans l'ordre d'insertion.
Pile et file
Une pile suit le principe dernier entré, premier sorti (LIFO) : append et pop. Une file suit premier entré, premier sorti (FIFO) : append et popleft sur une deque.
Matrice en liste de listes
Tableau à deux dimensions représenté par une liste de lignes, accédé par M[i][j]. Il faut créer chaque ligne séparément, sinon les lignes partagent la même liste.
Format CSV
Format texte tabulaire où chaque ligne est un enregistrement et les champs sont séparés par un caractère, souvent la virgule. La première ligne contient fréquemment les noms de colonnes.
Filtrage et projection
Le filtrage sélectionne des lignes vérifiant un prédicat ; la projection ne conserve que certaines colonnes. Ces deux opérations de base transforment une table sans la réorganiser globalement.
Jointure de tables
Opération qui fusionne deux tables sur un attribut commun, par exemple un identifiant. En Python, on indexe une table dans un dictionnaire pour éviter un double parcours coûteux.
Agrégation de données
Regroupement de lignes partageant une valeur d'attribut, puis calcul d'un indicateur par groupe : effectif, somme ou moyenne. On l'implémente souvent avec un dictionnaire accumulateur.
Requête HTTP GET
Méthode demandant une ressource au serveur ; les paramètres sont placés dans l'URL après le point d'interrogation. Elle ne doit pas modifier l'état du serveur et reste visible dans l'historique.
Requête HTTP POST
Méthode envoyant des données dans le corps de la requête, souvent issues d'un formulaire. Les paramètres ne figurent pas dans l'URL ; elle sert aux actions qui modifient l'état du serveur.
Code de statut HTTP
Nombre à trois chiffres renvoyé par le serveur : 200 succès, 301 redirection, 404 ressource introuvable, 500 erreur interne. Il indique le résultat du traitement de la requête.
Cookie
Petit fichier texte déposé par un site et renvoyé automatiquement par le navigateur lors des requêtes suivantes vers ce domaine. Il permet de maintenir une session ou des préférences.
Validation côté client
Vérification des données saisies par du code JavaScript exécuté dans le navigateur, avant envoi. Elle améliore l'ergonomie mais doit toujours être doublée d'une validation côté serveur.
Cycle fetch-decode-execute
Déroulement d'une instruction par le processeur : charger l'instruction depuis la mémoire, la décoder, l'exécuter, puis écrire le résultat. Ce cycle se répète au rythme de l'horloge.
Rôle du système d'exploitation
Logiciel qui gère les ressources matérielles : ordonnancement des processus, allocation de la mémoire, système de fichiers, pilotes de périphériques et droits des utilisateurs.
Hiérarchie mémoire
Organisation en niveaux : registres, caches, mémoire vive, stockage persistant. Plus un niveau est proche du processeur, plus il est rapide et petit, ce qui justifie la mise en cache.
Tube Unix
Symbole | qui relie la sortie standard d'une commande à l'entrée standard de la suivante. Il permet de composer des traitements simples, par exemple ls | grep txt.
Spécification de fonction
Description écrite du contrat d'une fonction : types et rôle des paramètres, valeur de retour, préconditions et effets de bord éventuels. Elle guide l'usage et les tests.
Test unitaire
Vérification automatique d'une fonction sur des entrées choisies, souvent avec assert. Un bon jeu de tests couvre les cas normaux et les cas limites comme la liste vide.
Récursivité
Technique où une fonction s'appelle elle-même sur un sous-problème plus petit, jusqu'à un cas de base. Sans cas de base atteignable, l'exécution provoque un débordement de pile.
Recherche dichotomique
Recherche d'une valeur dans une séquence triée en comparant au milieu puis en éliminant la moitié inutile. Sa complexité est O(log n), bien meilleure que la recherche linéaire en O(n).
Complexité algorithmique
Estimation du nombre d'opérations élémentaires en fonction de la taille n des données, en ignorant constantes et termes négligeables. Elle décrit le comportement asymptotique, pas un temps exact.
Tri par fusion
Algorithme diviser pour régner : couper la liste en deux, trier chaque moitié récursivement, puis fusionner. Complexité O(n log n) dans tous les cas, avec mémoire auxiliaire linéaire.