NSI Terminale — fiches de révision
Retrouve ici toutes les fiches de révision NSI Terminale regroupées par thèmes. Ouvre les menus pour accéder aux fiches C1 à C19 : bases de données, SQL, récursivité, structures de données, arbres, graphes, réseaux, programmation, systèmes et processus.
En résumé
Cette page regroupe les fiches essentielles de révision NSI Terminale, classées dans l’ordre du programme. Elle permet de retrouver rapidement une notion, de relire les définitions importantes et de préparer les exercices du bac avec une vision d’ensemble.
C1 — Introduction — Révision
Les bases de données permettent de stocker des données. Pour les manipuler, on utilise un système de gestion de base de données, ou SGBD.
Un SGBD gère la lecture, l’écriture, les modifications, les autorisations d’accès, la redondance des données et les accès concurrents.
Un fichier CSV reste limité : pas de contrôle fin des droits, pas de redondance automatique, pas de vraie gestion simultanée de plusieurs utilisateurs.
C2 — Bases de données relationnelles — Révision
Une relation peut être vue comme un tableau : les colonnes sont des attributs et les lignes sont des tuples.
La clé primaire identifie un tuple de façon unique. Une clé étrangère relie une table à une autre et garantit la cohérence entre relations.
Exemple : AUTEURS(id, nom, prenom, ann_naissance) et LIVRES(id, titre, #id_auteur, ann_publi).
C3 — Langage SQL — Révision
SQL permet d’ajouter, consulter, modifier et supprimer des données avec INSERT, SELECT, UPDATE et DELETE.
Les jointures, comme INNER JOIN, permettent de croiser les informations de plusieurs tables.
À savoir faire : écrire une requête simple, filtrer avec WHERE, trier, compter et réaliser une jointure.
C4 — Récursivité — Révision
Une fonction récursive s’appelle elle-même. Elle doit toujours comporter un cas d’arrêt pour éviter une exécution infinie.
À savoir faire : analyser une fonction récursive simple, repérer le cas d’arrêt et écrire une récursion de base en Python.
C5 — Listes, piles, files — Révision
Une liste regroupe des données. Une pile fonctionne en LIFO : le dernier élément ajouté est le premier retiré. Une file fonctionne en FIFO : le premier ajouté est le premier retiré.
À savoir faire : implémenter une pile et une file, utiliser empiler, dépiler, enfiler et défiler.
C6 — Dictionnaires — Révision
Un dictionnaire associe des clés à des valeurs. Il permet l’ajout, la recherche, la modification et la suppression d’une association.
Les tables de hachage expliquent l’accès rapide aux valeurs, souvent en temps moyen constant.
C7 — Arbres — Révision
Un arbre est une structure hiérarchique composée de nœuds, d’une racine, de feuilles et de sous-arbres.
Dans un arbre binaire de recherche, les valeurs du sous-arbre gauche sont inférieures ou égales à la racine, et celles du sous-arbre droit sont supérieures ou égales.
C8 — Algorithmes sur arbres binaires — Révision
Les algorithmes classiques portent sur la hauteur, la taille et les parcours : infixe, préfixe, suffixe et largeur.
La recherche dans un ABR est efficace si l’arbre est équilibré, mais peut devenir linéaire si l’arbre est filiforme.
C9 — Les graphes — Révision
Un graphe est défini par un ensemble de sommets et d’arêtes. Il peut être orienté, non orienté ou pondéré.
On peut le représenter par une matrice d’adjacence ou par des listes d’adjacence.
C10 — Algorithmes sur graphes — Révision
Les parcours BFS et DFS permettent d’explorer un graphe. Ils servent aussi à détecter des cycles ou à rechercher un chemin.
À savoir faire : appliquer un parcours en largeur ou en profondeur sur un graphe donné.
C11 — Protocoles de routage — Révision
Un routeur transmet des paquets entre réseaux à l’aide d’une table de routage.
RIP repose sur le nombre de sauts ; OSPF utilise une notion de coût et s’appuie sur une logique de plus court chemin.
C12 — Sécurisation des communications — Révision
Le chiffrement symétrique utilise la même clé pour chiffrer et déchiffrer. Le chiffrement asymétrique utilise une clé publique et une clé privée.
HTTPS combine ces idées : échange sécurisé puis communication chiffrée.
C13 — Calculabilité / décidabilité — Révision
Certains problèmes ne peuvent pas être résolus par un algorithme général. Le problème de l’arrêt est un exemple classique de problème indécidable.
À savoir faire : distinguer problème calculable, non calculable, décidable et indécidable.
C14 — Paradigmes de programmation — Révision
La programmation fonctionnelle privilégie les fonctions sans effet de bord. La programmation objet organise le code autour de classes, attributs et méthodes.
À savoir faire : analyser un petit programme fonctionnel ou objet en Python.
C15 — Méthode « Diviser pour régner » — Révision
La méthode consiste à diviser un problème en sous-problèmes, les résoudre, puis combiner les résultats.
Le tri fusion est l’exemple classique : il découpe, trie puis fusionne.
C16 — Programmation dynamique — Révision
La programmation dynamique résout un problème d’optimisation en mémorisant les résultats de sous-problèmes.
Elle évite de recalculer plusieurs fois les mêmes valeurs.
C17 — Recherche textuelle — Révision
La recherche textuelle consiste à trouver un motif dans un texte.
L’algorithme de Boyer-Moore compare de droite à gauche et peut effectuer de grands décalages.
C18 — Système sur puce (SoC) — Révision
Un SoC regroupe plusieurs composants sur une même puce : processeur, mémoire, GPU, interfaces de communication.
On en trouve dans les smartphones, cartes embarquées, consoles portables et ordinateurs compacts.
C19 — Processus — Révision
Un processus est un programme en cours d’exécution. Il peut être prêt, élu ou bloqué.
Chaque processus possède un PID. Sous Unix, on peut lister les processus avec ps ou top, et en arrêter un avec kill.