Fiches révision NSI Terminale — toutes les fiches (C1 à C19)

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.