Math93.com
Une Histoire des Mathématiques
  • Accueil
  • Histoire des Maths
    • Les Mathématiciens
    • Mathématiciens - Articles
    • Les Symboles Mathématiques
    • Notions et Théorèmes
    • Les Développements
    • Une Chronologie
    • Analyse à plusieurs Variables
    • Les Nombres : Histoire et numérations
    • Étymologie
    • Citations de Mathématiciens
    • Alexandrie
    • Bibliographie
  • Collège
    • Sixième
    • Cinquième
    • Quatrième
    • Troisième
      • DS de Maths 3e : sujets et corrigés
      • Oral Brevet
    • Programmes Officiels
    • Brevets Blancs de Maths
    • Algorithmique au Collège
      • Ressources : Algorithmique au Collège
    • Exposés Histoire des Maths
    • Fiches Bilan de cours
  • Lycée
    • Seconde
      • Algorithmes 2nd
      • DS de Maths 2nd : sujets et corrigés
    • 1re Spé. Maths
      • Bacs Blancs Maths 1re
      • Algorithmique 1re
      • DS de Maths 1re : sujets et corrigés
    • 1re Non Spé
    • 1re Spé. NSI
    • Tle Spé. NSI
    • Tle Spé. Maths
      • Algorithmique Tle
      • DS de Maths Tle : sujets et corrigés
    • Tle Maths Expertes
    • Programmes Officiels
    • Algorithmique au Lycée
    • Fiches Bilan de Maths : Cours, TD, révisions 6e à Tle
    • Grand Oral Maths & NSI
  • Annales du Bac
    • Annales Spé. Maths
      • Annales Maths 2026
      • Annales Maths 2025
      • Annales Maths 2024
      • Annales Maths 2023
      • Annales Maths 2022
    • Annales Spé. NSI
      • Bac NSI 2026 - Pratique
      • Bac NSI 2026 - écrit
    • Annales 1re Maths
      • Maths 2026
        • Spé. Maths
        • Non Spé.
    • Annales Bac S (old)
    • Annales Bac ES (old)
  • Annales du Brevet
    • Brevet 2026
    • Brevet 2025
    • Brevet 2024
    • Brevet 2023
  • Supérieur
    • Maths Sup.
    • Maths Spé.
    • Agrégation
    • Capes
    • Ingé 1 (Bac+3)
    • Concours CPGE
  • Divers
    • Enigmes
    • Enseignants
      • Latex
      • Règles Typographiques
      • Liens et Ressources
    • Chasse au trésor
    • Humour et Maths
    • Liens Utiles
    • Outils Numériques
    • Vidéoconférences
    • Python
      • Python : l'essentiel
  • Admin
    • Site Admin
  • English Math
Math93 banner
  1. Vous êtes ici :  
  2. Accueil
  3. Lycée
  4. Première NSI Spécialité

NSI (Numérique et Sciences Informatiques) : mémoire et langage machine

Détails
Mis à jour : 27 Décembre 2019
Clics : 52864

NSI - Numérique et Sciences Informatiques


Mémoire et langage machine


En son coeur, la machine effectue des calculs à partir d'instructions simples en binaire qui peuvent être directement traduites dans un langage, l'assembleur.
L'assembleur prend, traite et remplit des cases mémoires.

Avant de consultez cette page, il est conseillé de lire celle consacrée à l'architecture de von Neumann.

 

I. Organisation de la mémoire

I.1. Les différents types de mémoire

Il existe de nombreux mécaniques de mémoires qui se distinguent par leur durabilité (volatile ou permanente), leur mode d'accès (par adresse ou dans l'ordre de rangement).

Mémoire vive RAM (Random Acces Memory)

  • La mémoire vive (RAM) est une mémoire volatile (qui perd ses données lorsqu'on coupe son alimentation électrique).
  • Il s'agit des registres, des mémoires cache, de la mémoire centrale.
  • Il y a deux types principaux de mémoire vive :

    • la mémoire vive dynamique (DRAM) qui, même sous alimentation électrique, doit être réactualisé périodiquement pour éviter la perte d'information ;
    • la mémoire vive statique (SRAM) qui n'a pas besoin d'un tel processus lorsque sous alimentation électrique.

memoire vive RAM
Deux barrettes de mémoire de 512 Mio chacune

Mémoire morte ROM (Read-Only Memory )

  • La mémoire morte (ROM) est une mémoire non volatile (mémoire rémanente qui conserve ses données même lorsqu'on coupe son alimentation électrique).
  • Par exemple les disque SSD (Solid State Drive), les disques magnétiques.
  • Les mémoires mortes sont utilisées, entre autres, pour stocker :

    • les informations nécessaires au démarrage d’un ordinateur (BIOS, instructions de démarrage, microcode);
    • des tables de constantes ou des tables de facteurs de conversion ;
    • Elle fait aussi partie des microprogrammes présents dans les ordinateurs et la plupart des appareils électroniques (smartphone, baladeur et autres lecteurs de CD/DVD) mais aussi la plupart des appareils programmables (TV, réveil, machine à laver, lave vaisselle, etc.).
        

    Le temps d’accès à la mémoire morte est de l’ordre de grandeur de 150 nanosecondes comparativement à un temps d’accès d’environ 10 nanosecondes pour la mémoire vive. Pour accélérer le traitement des informations, les données stockées dans la mémoire morte sont généralement copiées dans une mémoire vive avant d’être traitées.
    On appelle cette opération le shadowing.

memoire ROMROM (Read-Only Memory)

I.2. Les registres

  • Un registre est un emplacement de mémoire interne à un processeur. Les registres se situent au sommet de la hiérarchie mémoire : il s'agit de la mémoire la plus rapide d'un ordinateur, mais dont le coût de fabrication est le plus élevé car la place dans un microprocesseur est limitée.
      
  • L'accès par le processeur à une information située dans la DDR SDRAM de la mémoire centrale est 100 fois plus lente qu'un accès à une information contenue dans un registre.
      
  • Les registres sont utilisés pour stocker des opérandes et des résultats intermédiaires lors des opérations effectuées dans l'UAL (Unité Arithmétique et Logique) du processeur.
      
  • La plupart des PC actuels ont des registres de tailles 64 bits.

Instruction LOAD

Noms de registres

  • Dans le premier cas, chaque registre se voit attribuer une référence, une sorte d'identifiant qui permettra de le sélectionner parmi tous les autres. C'est un peu la même chose que pour la mémoire RAM : chaque byte de la mémoire RAM se voit attribuer une adresse bien précise. Et bien pour les registres, c'est un peu la même chose : ils se voient attribuer quelque chose d'équivalent à une adresse, une sorte d'identifiant qui permettra de sélectionner un registre pour y accéder.
     
  •  Cet identifiant est ce qu'on appelle un nom de registre.
       
  • Ce nom n'est rien d'autre qu'une suite de bits attribuée à chaque registre, chaque registre se voyant attribuer une suite de bits différente. Celle-ci sera intégrée à toutes les instructions devant manipuler ce registre, afin de sélectionner celui-ci.
    Ce numéro, ou nom de registre, permet d'identifier le registre que l'on veut, mais ne sort jamais du processeur : ce nom de registre, ce numéro, ne se retrouve jamais sur le bus d'adresse. Les registres ne sont donc pas identifiés par une adresse mémoire. 

 

I.3. Mémoires centrales et mémoire cache

La mémoire centrale : RAM (Random Acces Memory)

  • La mémoire centrale est une mémoire vive qui contient les programmes en cours et les données qu'il utilise. Elle est de taille importante (plusieurs Go).
  • Elle est organisée en céllules qui contiennent chacune une donnée ou une instruction repérée par un entier : un adresse mémoire.
  • Le temps d'accès à chaque cellule est identique, on parle improprement de mémoire à accès aléatoire ou RAM (Random Acces Memory) mais on devrait plutôt parler de mémoire à accès direct.

 

La mémoire cache

  • Pour pouvoir adapter la très grande vitesse du processeur à celle bien plus faible de la RAM, on place entre les deux une mémoire très rapide, la mémoire cache.
     
  • Il existe souvent plusieurs niveaux de mémoire cache : L1, L2 ...
  • Généralement la mémoire cache de niveau L1 et celle de niveau L2 sont regroupées dans la même puce que le processeur (cache interne).

registres

 

II. Assembleur et jeu d'instructions

II.1. L'assembleur

  • Un programme écrit dans un langage de haut niveau (comme Python) éloigné du langage machine (dit de bas niveau) dépend le moins possible du processeur et du système d'exploitation.

  • Si on ouvre un fichier exécutable avec un éditeur (hexadécimal), on obtient :

01ebe814063727473747566662e6305f5f43544f525f4c
5f05f5f44544f525f4c4953545f5f05f5f4a43525f4c49
53545f5f05f5f646f5f676c6f62616c5f64746f72735f6
75780636f6d706c657465642e36353331064746f725f69

  • C’est une suite d’instructions comme 01ebe814, que l’on peut traduire directement de façon plus lisible :

add $t7, $t3 , $sp

  • C’est ce qu’on appelle l’assembleur.
    L’assembleur est donc une représentation du langage machine.

  • Il y a autant d’assembleurs que de type de processeurs différents.

II.2. Instructions et assembleur

Il y a trois types d’instructions

  1. instructions de transfert entre registres et mémoire
    • chargement
    • sauvegarde
  2. instructions de calcul
    • additions, multiplications
    • opérations logiques
    • comparaisons, sauvegarde
  3. instructions de saut
    • sauts inconditionnels
    • sauts conditionnels
    • sauvegarde
  4. appels système

 

II.3. Exemples d'assembleurs

 Il existe plusieurs logiciels premattant de programmer en assembleur, citons :

  • MARS (téléchargeable ici)
  • et un simulateur de registre http://www.peterhigginson.co.uk/AQA/.

De nombreux assembleurs coexistent et les instructions diffèrent donc de l'un à l'autre mais beaucoup de fonctions sont communes.

 

II.3.1. Sur l'émulateur MARS par exemple

Exemple 1 : avec MARS (téléchargeable ici)

Ecrire ces ligne puis cliquer sur RUN / Assemble

la  $t1,3   
addi $t2,$t1,5

Cela revient à :

  • la $t1,3  : charger (la = LOAD) 3 dans le registre $t1
  • addi $t2,$t1,5 : Affecter au registre $t2 l'addition de 5 et de la valeur de $t1

Mars nous donne le conversion de ces instructions :

assembleur mars1

 

II.3.2. Sur l'émulateur  de CPU :  http://www.peterhigginson.co.uk/AQA/.

 sim cpu

Dans ce simulateur :

  • à droite, on trouve la mémoire vive ("main memory")
  • au centre, on trouve le microprocesseur (CPU)
  • à gauche on trouve la zone d'édition ("Assembly Language"), c'est dans cette zone que nous allons saisir nos programmes en assembleur.

 Le CPU

Dans la partie centrale du simulateur, nous allons trouver en allant du haut vers le bas :

  • le bloc "registre" ("Registers") : nous avons 13 registres (R0 à R12) + 1 registre (PC) qui contient l'adresse mémoire de l'instruction en court d'exécution
  • le bloc "unité de commande" ("Control Unit") qui contient l'instruction machine en cours d'exécution (au format hexadécimal)
  • le bloc "unité arithmétique et logique" ("Arithmetic and Logic Unit")

 

Exemple 2

  •  1. Dans la partie "éditeur" ("Assembly Language") saisissez les lignes de codes suivantes
MOV R0,#42
STR R0,150
HALT

Ses instructions signifient :

  • MOV R0,#42  : Place le nombre 42 dans le registre R0
  • STR R0,150   : Stocke le contenu de R0 dans la mémoire 150
  • HALT              : on arrête le processus

 

  • 2. Une fois la saisie terminée, cliquez sur le bouton "submit". Vous devriez voir apparaitre des nombres "étranges" dans les cellules mémoires 000, 001 et 002 :

assembleur peterhigginson1

L'assembleur a converti les 3 lignes de notre programme en instructions machines,

  • MOV R0,#42 : la première instruction machine -476053462 est stockée à l'adresse mémoire 000 (elle correspond à "MOV R0,#42" en assembleur),
  • STR R0,150  : la deuxième à l'adresse 001 (elle correspond à "STR R0,150" en assembleur)
  • HALT : et la troisième à l'adresse 002 (elle correspond à "HALT" en assembleur)

Pour avoir une idée des véritables instructions machines, vous devez repasser à un affichage en binaire (bouton "OPTION"->"binary"). Vous devriez obtenir ceci :

 assembleur peterhigginson2

On remarque que l'octet de droite de l'instruction machine "11100011 10100000 00000000 00101010", soit, (00101010)2, est bien égale à (42)10

 

  • 3. Simulation
    Pour exécuter notre programme, il suffit maintenant de cliquer sur le bouton "RUN".
    Vous allez voir le CPU "travailler" en direct grâce à de petites animations.
    Si cela va trop vite (ou trop doucement), vous pouvez régler la vitesse de simulation à l'aide des boutons "<<" et ">>".
    Un appui sur le bouton "STOP" met en pause la simulation, si vous rappuyez une deuxième fois sur ce même bouton "STOP", la simulation reprend là où elle s'était arrêtée.

Une fois la simulation terminée, vous pouvez constater que la cellule mémoire d'adresse 150, contient bien le nombre 42 (en base 10). Vous pouvez aussi constater que le registre R0 a bien stocké le nombre 42.

 assembleur peterhigginson3

Exemple 3

Effectuer les instructions suivantes et commentez-les :

MOV R0,#10
MOV R1,#20
ADD R2,R1,R0
ADD R2,R2,#5

 

Remarque : L'instruction pour effectuer une addition est : ADD R2,R0,R1 (place dans R2 le résultat de R0+R1)

 

 

II.3. Exercices

Pour faire d'autres exercices 

  • TP Assembleur
    Avec le simulateur : http://www.peterhigginson.co.uk/AQA/.

 

Compléments

  • https://www.commentcamarche.net/contents/763-processeur
    L'essentiel sur l'architecture.
  • Assembleur MIPS.
    Un document pdf ressource sur l'assembleur.

 

{module [104]}

Articles Connexes 


NSI (Numérique et Sciences Informatiques) : Architecture von Neumann

Détails
Mis à jour : 18 Janvier 2021
Clics : 51331

NSI - Numérique et Sciences Informatiques


Architecture von Neumann


L'architecture de tous les ordinateurs actuels est conforme à un schéma qui a assez peu évolué depuis les premiers ordinateurs électronique à tubes à vide de 1945 (Colossus et ENIAC). Voir la page Histoire de l'informatique.
Ce modèle est dit de von Neumann.

JohnvonNeumann LosAlamosJohn von Neumann (1903, Budapest - 1957,Washington)

1. L'architecture de von Neumann

1.1 Les principales structures

Dans l'architecture de von Neumann, un ordinateur est constitué de quatre parties distinctes :

  1. Le  CPU : Central Processing Unit (unité centrale de traitement) appelé aussi processeur ;
  2. La  mémoire  où sont stockés les données et les programmes ;
    • La mémoire se divise entre mémoire volatile (RAM ou mémoire vive) qui gère les programmes et données en cours de fonctionnement
    • et mémoire permanente qui gère les programmes et données de base de la machine.
  3. des bus qui sont des fils conduisant des impulsions électriques et qui relient les différents composants ;
  4.  des entrées-sorties (E/S ou I/O input/Output) pour échanger avec l'extérieur.

 modele von neumann

 

1.2 Les sous-structures

  • Les échanges entre la mémoire et les registres du CPU (Central Processing Unit) se font  via des bus  selon une chronologie organisée par l'horloge et suivant la nature des échanges : données ou adresses.
  • Un programme est enregistré dans la mémoire.
  • L'adresse  (un entier)  de l'instruction  en cours de traitement est stockée dans une mémoire interne au processeur, le cp ou pc :  registre compteur de programme
  • La valeur de cette instruction  (un entier) est stockée dans une autre mémoire interne, le ri : registre d'instruction .
     
  • L’architecture d’un processeur (CPU) séquentiel,  comporte 2 parties :

    • 1 - une unité de commande qui analyse les instructions à exécuter et qui séquence les actions élémentaires permettant leur réalisation,
    • 2 - une partie opérative qui comprend les outils permettant de réaliser les actions élémentaires (ordonnées par l’unité de commande).
      • Elle comprend une unité arithmétique et logique (UAL ou encore ALU) permettant de réaliser des opérations arithmétiques sur des entiers et des opérations logiques sur des vecteurs de bits en interprétant les impulsions électriques.
      • Elle comprend également des registres internes (bancs de registres) permettant de stocker de façon très temporaire des opérandes ou résultats intermédiaires de calcul.

architecture processeur

2. Le rôle de l'horloge

Les traitements réalisés par l’ordinateur sont faits sur des représentations binaires des données et des traitements à réaliser, et ce en calculant des fonctions logiques.

2.1 Cadence d'un processeur

  • Le CPU dispose d'une horloge qui cadence l'accomplissement des instructions et dont l'unité est appelée cycle.
  • La fréquence s'exprime en GigaHertz (GHz), elle signifie le nombre d'opérations que fait le processeur en une seconde.
  • 3GHz : 3 milliards d'opération à la seconde. En clair, elle influe sur la vitesse de fonctionnement du processeur.
     
  • En 2020, les processeurs tournent entre 1,5 et 3 GHz. Certains atteignent 3.6 GHz mais la course à la fréquence à pris fin depuis 2005 environ car au-delà d'un certain cap, la chaleur dégagée est trop importante et perturbe la lecture des tensions.

2.2 Cycle d'instructions

Le pipeline d'instruction

  • Dans un processeur, 5 étapes sont nécessaires pour traiter une instruction. Chacune de ces 5 instructions est exécuté lors d'un cycle.
    • LI (ou IF -  Instruction Fetch) : charge l'instruction à exécuter dans le pipeline (fetch = aller chercher).
    • ID : décoder l'instruction  ;
    • EX : exécuter l'opération dans l'UAL  ;
    • MEM : accéder à la mémoire en lecture ou en écriture  ;
    • ER (ou WB, Write Back) : écrire le résultat dans un registre.
       
  • Pour gagner du temps, le processeur n'exécute pas les instruction de façon séquentielle mais il exécute simultanément plusieurs instructions qui sont à des étapes différentes de leur traitement.
    C'est le pipeline d'instruction.
     
  • Grâce au pipeline, le traitement des instructions nécessite au maximum les cinq étapes précédentes. Dans la mesure où l'ordre de ces étapes est invariable (LI, DI, EX, MEM et WB), il est possible de créer dans le processeur un certain nombre de circuits spécialisés pour chacune de ces phases.

Analogie avec une chaine de production

Le pipeline est un concept s'inspirant du fonctionnement d'une ligne de montage. Considérons que l'assemblage d'un véhicule se compose de trois étapes (avec éventuellement des étapes intermédiaires) :

  • 1. Installation du moteur. 2. Installation du capot. 3. Pose des pneus.

  • Un véhicule dans cette ligne de montage ne peut se trouver que dans une seule position à la fois.

  • Une fois le moteur installé, le véhicule V1 continue pour une installation du capot, laissant le poste « installation moteur » disponible pour un prochain véhicule V2.
    Le véhicule V1 se fait installer ses pneumatiques (roues) tandis que le second V2 est à l'étape d'installation du capot. Dans le même temps un véhicule V3 commence l'étape d'installation du moteur.

  • Si l'installation du moteur, du capot et des roues prennent respectivement 20, 5 et 10 minutes, la réalisation de trois véhicules prendra, s'ils occupent un à un toute la chaîne de production, 105 minutes = (20 + 5 + 10) × 3. Si on place un véhicule dans la chaîne de production dès que l'étage auquel le véhicule doit accéder est libre (principe du pipelining), le temps total pour réaliser les trois véhicules est de 75 minutes.

 

Exemple d'un pileline

  • En supposant que chaque étape met 1 cycle d'horloge pour s'exécuter, il faut normalement 5 cycles pour exécuter une instruction, 15 pour 3 instructions :

Nopipeline

  • En utilisant la technique du pipeline, notre processeur peut alors contenir plusieurs instructions, chacune à une étape différente.
    Il faut 9 cycles pour exécuter 5 instructions. À t = 5, tous les étages du pipeline sont sollicités, et les 5 opérations ont lieu en même temps.

pipeline 5 etages

Un gain de cycles

  • Il faut compter en général 1 à 2 cycles d'horloge (rarement plus) pour chaque phase du pipeline, soit 10 cycles d'horloge maximum par instruction.
  • Le premier ordinateur à utiliser cette technique est l'IBM Stretch, conçu en 1961.

 

Compléments

  • https://www.commentcamarche.net/contents/763-processeur

{module [104]}

Articles Connexes 


NSI (Numérique et Sciences Informatiques) : terminale

Détails
Mis à jour : 26 Mars 2026
Clics : 102508

Classes de Terminale
NSI - Numérique et Sciences Informatiques


Le programme de l'enseignement NSI (numérique et sciences informatiques) de terminale s’appuie sur l’universalité de quatre concepts fondamentaux et la variété de leurs interactions : les données, les algorithmes, les langages, les machines, les interfaces.

 

  • Les cours et TD de terminale sont aussi disponibles ici :  NSI Terminale
  • Nous travaillerons sur la plateforme de l'éducation nationnale :
    • Capytale pour les utilisateurs sans ENT
  • Vous pouvez aussi utiliser Basthon pour gérer les nootebook ou GoogleColab.
  • 📜 Tous les programmes officiels de Mathématiques

 

Cours et TD NSI terminale


Histoire de l'informatique

  • Une histoire de l'informatique.
  • http://www.frisechronos.fr/DojoMain.htm
    Outil pour réaliser une frise
        
  1. Programmation Orientée Objet : POO
    • Présentation : Diaporama de M. Courtois
    • Cours et TD 1 NSI sur la POO
      • Cours et activités sur la POO via Capytale
        Nécessite une inscription
      • Cours et activités sur la POO en PDF
        Cours, TD  sur la notion de classe et de POO avec corrigés des exercices.
        => Fichier source LaTex.
          
    • TD 2 sur les Classes
      • TD POO - Classes
           TD composé de 3 exercices relativement simples sur la POO après avoir vu le cours
           
    • Projet 1 - NSI POO : les fractions
      • les fractions (capytale)les fractions (capytale) ;
    • Projets 2 - NSI POO : le case briques
      • le case briques sur Pygame.
        => A faire sur repl.it ou un autre environnement qui supporte pygame
    • Projet 3 - NSI POO : un jeu de carte (optionnel)
      • Version pdf : Un jeu de cartes  ;
           
    • La POO au Bac
      • TP 3 : des exercices tirés du  Bac à faire sur Capytale
          
      • Epreuves écrites 2023 / 2022
        • Par exemple Métropole écrit 2023 : exercice 3 (avec corrigé)
        • Par exemple BAC 2021 (POO et Pile) - Exercice 2 / Le corrigé
           
      • Epreuves pratiques 2023 / 2022
        • Par exemple Sujet N°32 de 2023 / Correction
        • ou Sujet n°32 de 2023 (énoncé et rédaction directe sur Basthon)
        • Sujet n°37 de 2023 (énoncé et rédaction directe sur Basthon)
           
  2. Révisions dictionnaires et listes
    • Dictionnaires :
      1. TP de révision Dictionnaires et Listes / Correction
        TP avec auto correction
      2. TP de première sur les dictionnaire
           
  3. Les Bases de données et SQL
    • Cours : la partie théorique
      • Théorie sur les bases de données
         
    • TD sur les BDD
      • Le TP sous Capytale.
      • Le TP en notebook - (enregistrer le fichier et ouvrez-le sous JupyterLab puis faites-le sur SQLite)
        La base de données (format .db )  
      • (Old version pdf )
           
    • Entrainement :
      • Le site de la CNAM pour s'entrainer aux requétes :
        • Films et SQL 
        • La base de données (format .db )  / schéma E/A (Entité/Association) / schéma sans les relations
      • QCM d'Entrainement (Genumsi) 
      • Des jeux avec des requetes SQL
        • SQL Murder Mystery 
          • ERC (schéma E/A) du jeu
        • https://sql-island.informatik.uni-kl.de/
             
    • Les Bases de données au Bac
      • Epreuves écrites 2023 / 2022
        • Par exemple Métropole écrit 2023 : exercice 1(BDD et SQL) (avec corrigé)
        • Un exercice Type BAC (BDD et SQL) / Le corrigé
        • Un autre exercice Type BAC (BDD et SQL) /Le corrigé
      • Epreuves pratiques 2023 / 2022
        • Pas de (BDD et SQL) lors de l'épreuve pratique (Epreuves pratiques 2023 / 2022)
  4. La récursivité
    • Cours et TD NSI 
      • Cours et activités sur la récursivité 
        • Version PDF (plus complet sur la théorie)
        • Version Capytale
          • Pour visualiser les stackes des appels :
            • https://pythontutor.com/render.html#mode=display
    • Exercices et TP
       
      • Un TP sur le flocon de Von Koch / Sur Capytale
      • Les tours de Hanoi : Sur Capytale / le Notebook
    • Préparation au BAC
      • Un exercice Type BAC, voir Exercice 1 / Le corrigé
      • Un exercice Type BAC un peu plus difficile, voir Exercice 2 / Le corrigé
      • Un QCM d'entrainement (Genumsi)

       

  5. Structures de Données
    • Piles :
      • le TD en pdf  / Le TD sur capytale 
        (version notebook)
         
    • Files :
      • Cours et activités html /notebook sur capytale 
        (version notebook)
          
    • Listes Chainées 
      • Cours et activité html /notebook sur capytale
        ( version notebook)
      • Ressources :
        • https://info.blaisepascal.fr/nsi-listes-chainees/   
        • Le Quick Sort (exercice sur les listes de la fin du td)
            
    • Dictionnaires :
      • Cours et activité (la gestion du temps d'accès dans un dictionnaire)
        • Les dictionnaires,listes et temps d'accès
      • Création d'une rainbow table sur Capytale
        A faire ! 
      • Exercice type BAC :
        • Centres Etrangers (J1) - exercice 2   
             
    • Bilan piles, Files et dictionnaires :
      • QCM d'entrainement: Pile, File, Liste, dictionnaire et activités  
           
    • Arbres :
      • Cours et activités sur les arbres (pdf)  / corrigé
         
              
    • Arbres Binaires :
      • Cours et TD Arbres Binaires :
        • Cours et activités sur les arbres binaires (pdf) /  version Capytale / version notebook
          => Correction du TD Arbres Binaires
             
      • Parcours des arbres : prefixe, postfixe et infixe 
        • Un cours IREM Lyon   
          • parcours préfixe, on liste le noeud la première fois qu’on le rencontre.
          • parcours infixe, on liste le noeud la seconde fois qu’on le rencontre.
          • parcours suffixe ou postfixe, on note le noeud la dernière fois qu’on le rencontre.
        • Parcours prefixe, postfixe et infixe
          • Vidéo 1
               
    • Compléments (projet) : Codage de Huffmann et Compression
      • html / notebook / Notebook Sur Capytal
      • Ressources :
        • Vidéo 1 
          Une explication très claire du processus de construction de l'arbre
        • https://cmps-people.ok.ubc.ca/ylucet/DS/Huffman.html
          Un site proposant la visualisation de divers algorithmes dont Huffmann
    • Point Bac 
      • Epreuve écrite : annales 2025 
        • Piles/Files
          • Centre Etrangers Groupe 1 Sujet 1 - Exercice 2
          • Correction PDF
        • Arbres binaires, récursivité, POO  :
          • Amérique Nord - Sujet 1 - Exercice 1
          • Corrigé de Math93.com
      • Epreuve pratique : annales 2025
        • Piles
          • Sujet N°21 - ex2 / Correction NSI 2025 sujet 21
        • Arbre binaire, Parcours Largeur 
          • Sujet N°11 - ex1 / Correction NSI 2025 sujet 11
  6. Protocoles de routage : 
    • Les réseaux : rappels
      • Rappel sur le modele TCP/IP  
      • Le cours de première.
      • TP Adresses IP
        Adresses IP, masque de sous réseau, adresse réseau et adresse de brodcast
          
    • Protocoles de routages
      • Cours et activités
        • correction  : Exercice bac.
            
    • Algorithme de Dijkstra :
      • Le noteBook sur Capytale   
      • Une Vidéo
        • Un exemple en vidéo  : Méthode par l'exemple .
        • Le td associé à l'exemple en vidéo : TD et méthode .
      • Compléments :
        • ancien cours de Terminale ES
              
    • Pour le Bac
      • Entrainement Type BAC (2 exercices)
        • correction 22-NSIJ1ME1
        • correction NSI Sujet 0a - 2023 - Ex 2
           
    • TP filius  :
      • Modelisation et Routage
      • Si besoin telecharger le logiciel de simulation reseau : Filius
          
  7. Processus : 
    • Cours
      • Le Diaporama du cours 
      • Le cours complet de Pixee
      • Equivalent sous Powershell : https://devops-collective-inc.gitbook.io/a-unix-person-s-guide-to-powershell/commands-detail-p
      • L'ordonnancement des processus
        • Un cours 
        • Pour s’entrainer : un Simulateur sur Android ou sur Simulateur sur PC (FCFS et JSF seulement) 
            
    • Processus au BAC
      • Exercice Sujet Polynésie 2023 Exercice 2 / Correction.
      • Sujet 0 - B 2024  - exercice 2 / Corrigé de math93
             
    • TP Processus sous Linux
      • LINUX qu'est-ce-que c'est ?
        Linux ou GNU/Linux est une famille de systèmes d'exploitation open source de type Unix fondés sur le noyau Linux créé en 1991 par Linus Torvalds.
           
      • TP Processus sur console UNIX
        • si besoin aller réviser les commandes UNIX vues en premiere.
      • Emulateur LINUX : https://bellard.org/jslinux/
              
    • Exercices Bilan
      • Exercices / Correction
      • Bash et Linux
        • Un petit QCM de rappel sur bash et linux  
            
    • Un TP sous Python
      • Simulation d'ordonnancement 
  8. Algorithmique et diviser pour régner : 
    • Rappel sur la dichotomie :
      • Le TP sur Capytale / Cours et activités / Correction
    • Rappel sur les tris.
      • Cours et activités
      • La complexité des algorithmes de tri (Wikipedia)
    • Diviser pour régner : Exercices sur les tris et Méthode « diviser pour régner » :
      • Une définition :
        Le paradigme de programmation « diviser pour régner » consiste à décomposer un problème général en petits sous-problèmes plus simples à résoudre, permettant par recomposition d'aboutir à la résolution du problème général.
        Cette méthode est appelée ainsi en référence à sa désignation anglaise : divide and conquer
        .
      • TP1 Diviser pour Régner  : exemples de base (Tri Fusion, par selection et insertion)
        • Notebook sur Capytale / Correction
      • TP2 Diviser pour Régner  : les deux points les plus proches
        • Points raprochés (Capytale) / Le Notebook
        • Help Spoiler : Une aide
      • Un autre Projet sur capytale L'algorithme de Karatsuba
      • 2 sujets de Bac :
        • Métropole (J2) 2022 - Exercice 5  / Correction
        • Amérique du Sud (J2) 2022 - exercice 4 / Correction
  9. Composants intégrés d’un système sur puce : 
    • Cours :
      • Présentation sur Capytale
      • Cours et activités Format Notebook
    • Exercice type Bac
      • Polynésie 2021 : Au coeur des machines / Corrrection    
          
  10. Structures de données (Suites) : Les Graphes
    • Une chaine Youtube qui aborde les graphes de façon trés complète.
    • Le cours.
    • Graphes et dictionnaires
      • Représentation d'un graphe sous forme de dictionnaire sous capytale . / Correction
    • Représentation avec la bibliothéque networkx sous capytale.
    • Recherche en largeur sur un graphe :
      • TD de Recherche en largeur (BFS) / Correction
    • Recherche en profondeur sur un graphe :
      • TP de recherche dans un graphe en profondeur (DFS) / Correction .
    • Un Labyrinthe :
      • TP de Génération de labyrinthe   / Correction .
    • TP Word Ladder Puzzle : 
      • Recherche dans un graphe : Word Ladder Puzzle / Correction .
    • TP Coloration d'un graphe : 
      • Coloration d'un graphe / Correction .
  11. Machine de Turing, Calculabilité et Décidabilité
    • Les cours 
      • Le cours en diaporama
      • Une page complete sur : Machine de Turing, Calculabilité et Décidabilité
        Avec toutes les définitions
    • Exemples :
      • Une machine à 2 états.
    • Le TD sur Capytale / Le TD en pdf (moins complet)
  12. Programmation dynamique.
    • Le cours avec l'exemple de la suite de Fibonnacci :
      • Notebook Cours et activités sur capytale
      • Complément sur la compléxité des algorithmes :
        • Complexité et Fibonacci (Niveau Universitaire)
    • Un TP autour du rendu de monnaie :
      • TP Notebook sur capytale
    • Une analyse complete, le decoupage d'une barre :
      • TP Notebook sur capytale
  13. Sécurisation des communications.
    • Le cours : Diaporama
    • Consultez la page dédiée de Math93.com
      • NSI – Sécurisation des communications : cryptographie, chiffre de César, RSA, AES, HTTPS 
           
    • Bilan du cours
      • Chiffrement Symétrique : clé unique pour chiffrer et déchiffrer 
        • La cryptographie symétrique, également dite à clé secrète (par opposition à la cryptographie asymétrique), est la plus ancienne forme de chiffrement. Elle permet à la fois de chiffrer et de déchiffrer des messages à l'aide d'un même mot clé.
        • Exemple : le code de César par décalage des lettres
      • Chiffement Asymétrique : couple (clé privée , clé publique)
        • Le chiffrement asymétrique est une méthode de cryptographie qui utilise deux clés différentes :
          • une clé publique, utilisée pour chiffrer les messages,
          • une clé privée, gardée secrète et utilisée pour déchiffrer.
            Cela permet d'échanger des informations de manière sécurisée sans avoir à partager une clé secrète au préalable.
        • Exemple : le systéme RSA, acronyme du noms de ses inventeurs : Rivest, Shamir et Adleman, trois chercheurs du MIT en 1977.
      • Chiffrement Hybride (comme HTTPS)
        • Bien que le système RSA à clé publique soit a priori sûr et pratique puisqu’il n’est pas nécessaire d’échanger la clé de chiffrement comme dans le cas du chiffrement symétrique.
          On utilise en pratique plutôt un système hybride, car le système à clé asymétrique est assez lourd à exécuter et prend du temps.
        • Regardons par exemple le cas d’échange d’informations sécurisées grâce au protocole HTTPS.
          • Voici comment fonctionne un échange sécurisé via le protocole HTTPS, qui utilise à la fois :
            • Le chiffrement asymétrique (comme RSA) pour établir la connexion de manière sécurisée,
            • Puis le chiffrement symétrique (comme AES) pour échanger rapidement les données une fois la connexion établie.

            🔐 Détail du processus :

            1. Le navigateur (client) demande une connexion sécurisée.
            2. Le serveur (ex : Wikipédia) envoie un certificat contenant :
              • Son identité (vérifiée par une autorité de certification),
              • Sa clé publique.
            3. Le navigateur :
              • Vérifie le certificat,
              • Génère une clé symétrique aléatoire,
              • La chiffre avec la clé publique du serveur (grâce à RSA, par exemple),
              • Et l’envoie au serveur.
            4. Le serveur déchiffre la clé symétrique avec sa clé privée.
            5. Ensuite, tous les échanges sont chiffrés symétriquement (plus rapide et plus efficace pour des gros volumes de données).

            🔁 C’est donc une combinaison intelligente :

            • Asymétrique pour l’échange initial de la clé,
            • Symétrique pour la suite des communications.

             

    • Vidéo de Sciences étonnantes :
      • Le chiffrement RSA et les modulos
      • Les codes secrets (8mn10)
      • Comment déchiffrer (presque) n'importe quel message codé ? (13mn24)
    • Cours complet :
      • Sécurisation des communications
          
    • Les TD :
      • TP Chiffrement Symétrique : TP Notebook
      • TP Chiffrement Asymétrique, RSA : TP Notebook
      • Quelques énigmes à décrypter. C'est un peu un DS type.
      • TP sur le masque jetable avec un codage sur 2 chiffres : XOR et masque jetable
    • Pour aller plus loin : 
      •  Le puzzle de Merkle
      • Pour les plus curieux : Entrainez vous au Hacking éthique sur https://www.root-me.org/
  14. Préparation au bac :
    • Devoir type Bac / Correction .
        
  15. Paradigmes de programmation.
    • Cours sur les paradigmes de programation. 
        
  16. Recherche d'un motif dans un texte : Algorithme de Boyer-Moor-Horspool
    • Cours et TD NSI : Cours et activités.
      Cours, TD sur la recherche d'un motif dans un texte de différentes façons. On insistera sur le traitement du motif.
       Extrait de roman à tester : "La Disparition" de G. Perec.
    • Des animations avec présentation de la méthode et du traitement du motif :
      • La recherche naîve : pdf / opd.
      • Boyer-Moore-Horspool : pdf / opd.
      • Boyer-Moore : vidéo.
    • Proposition de projet
      Concevoir un code permettant de visualiser les différentes étapes de l'algorithme.
      Animation sous Python avec Tkinter : https://repl.it/@fduffaud/Boyer-Moore-animation1.
      Animation sous de la recherche naive, Boyer-Moore une table et mulkti tables : https://repl.it/@fduffaud/Boyer-Moore-animation2 .

 

Activités complémentaires et projets

Vous devez choisir en binôme un projet sur lequel vous travaillerez 2 h par semaine au lycée. Evidemment ce projet doit évoluer aussi chez vous.
La liste de projets est une indication, vous pouvez proposer d'autres choix si vous ne trouvez pas ce qui vous correspond.

  • 1ère étape : travail préparatoire avec un journal de bord :
    • idées, problèmes, solutions ou échec ...
  • 2ème étape : Faire une partie du projet pour en faire une présentation avec un diaporama pour la fin du mois de mars.
  • 3ème étape : Finalisez du projet pour en faire une présentation technique vers le moi de mai.
  • Projet le lien sur Capytale
  • Gestion d'images
    • TP 1 : modifications d'une image
  • Projet Boyer-Moore
    • Projet proposition
  • Sites proposant des projets
      • Projet du lycée de Balagne
      • Des jeux simples à realiser
      • Des idees tirées du lycée Blaise Pascal
      • maths-code.fr.
  • Concours Prologin
    • Prologin 2025 - level 1 et 2
    • Prologin 2025 - level 3

 

Documents ressources

  • La recherche dichotomique : Document des IREM
    La recherche dichotomique, complexité et terminaison

 

Evaluations NSI

  • Evaluations NSI terminale : toutes les évaluations de NSI terminale avec les corrigés

 

Compléments NSI


LaTeX : produire des documents scientifiques

  1. NSI : LaTex
    Un outil permettant de produire des documents de qualité.
  2. NSI : Documents Python
    Pour produire des documents intégrants du code Python

 

{module [104]}

Articles Connexes 


NSI (Numérique et Sciences Informatiques) : Une histoire de l'informatique

Détails
Mis à jour : 27 Décembre 2019
Clics : 70130

Classes de Première et terminale
NSI - Numérique et Sciences Informatiques


Une brève histoire de l'informatique


Cette rubrique transversale se décline dans chacune des parties du programme de NSI.

I. Introduction


Comme toute connaissance scientifique et technique, les concepts de l’informatique ont une histoire et ont été forgés par des personnes.

Les algorithmes sont présents dès l’Antiquité, les machines à calculer apparaissent progressivement au XVIIe siècle, les sciences de l’information sont fondées au XIXe siècle, mais c’est en 1936 qu’apparaît le concept de machine universelle, capable d’exécuter tous les algorithmes, et que les notions de machine, algorithme, langage et information sont pensées comme un tout cohérent.

Les premiers ordinateurs ont été construits en 1938 et leur puissance a ensuite évolué exponentiellement. Parallèlement, les ordinateurs se sont diversifiés dans leur taille, leur forme et leur emploi : téléphones, tablettes, montres connectées, ordinateurs personnels, serveurs, fermes de calcul, méga-ordinateurs.

Le réseau internet, développé depuis 1969, relie aujourd’hui ordinateurs et objets connectés.

 

II - Histoire des ordinateurs

1. Machines à programmes externes

1.1 Machines électromécaniques

  • L'allemand Konrad Zuse achève le Z1 en 1938, un ordinateur mécanique en binaire, puis le Z3 en 1941 qui lisait son programme sur une bande perforée.
  • Le Z3 utilisait le calcul en virgule flottante et réalisait 3 ou 4 additions à la seconde.
  • En 1944, L'américain Howard H . Aiken construit l'ordinateur électromécanique Mark I qui pesait 5 tonnes.

 

1.2  Machines électroniques

  • L'apparition des tubes à vides marque le début de l'électronique.
  • John Vincent Atanasoff en 1942 construit la première machine électronique sans l'achever complètement.
  • Entre 1943 et 1945 les Britaniques Max Newmann et Tomy Flowers utilisent les premiers ordinateurs à tubes à vides nommés Colossus pour déchiffrer le code de Lorenz employé par les Allemands.
  • Le premier, Colossus Mark 1, est construit en l’espace de onze mois et opérationnel en décembre 1943, par une équipe dirigée par Thomas “Tommy” Flowers et installé près de Londres, à Bletchley Park : constitué de 1 500, puis 2 400 tubes à vide, il accomplissait 5 000 opérations par seconde. 
  • Plus rapide, le Colossus Mark II servit notamment pour le lancement surprise du Débarquement.
  • Le célèbre ENIAC de John W. Mauchly et J. presper Eckert est achevé en 1945 et permet avec ses 18 000 tubes à vide d'effectuer des calculs balistiques.
  • L'ENIAC (acronyme de l'expression anglaise Electronic Numerical Integrator And Computer) est  construit pour être Turing-complet. Il peut être reprogrammé pour résoudre, en principe, tous les problèmes calculatoires.

 

EniacENIAC (Electronic Numerical Integrator And Computer) à Philadelphia, Pennsylvania.
Glen Beck (au fond) et Betty Snyder (premier plan) programment l'ENIAC au building 328 dans le "Ballistic Research Laboratory (BRL).

 

2. Machines à programmes enregistrés

  • En 1948 apparaissent les premières machines à programmes enregistrés, ancêtres directs des ordinateurs actuels. Les données et programmes résident en mémoire.
  • Ces machines sont basés sur les travaux de Mauchly, Eckert et von Neumann.
  • Au début des années 1950 apparaisent les premiers ordinateurs commerciaux avec IBM, DEC et Bull (en France depuis 1931).

 

3. Du mini-ordibateur à la micro-informatique

3.1. Miniaturisation

  • Le transistor apparaît en 1947 à la place des tubes à vide et on commence à le fabriquer à faible coût au milieu des années 1950.
     
  • Le circuit intégré apparaît en 1958.
     
  • En 1971 le premier microprocesseur voit le jour, c'est l'Intel 4001. L'informatique s'ouvre alors aux particuliers.
     
  • De multiples machines sont commercialisées : l'Altair 8008, l'Apple II (1977), l'IBM PC (1981), le ZX 81 (1981), le commodore 64 (1982), le Macintosh (1984) ...
     
  • Le ZX 81 est considéré à son époque comme le premier ordinateur familial en kit en France, sa résolution et sa capacité mémoire (1 ko) ne permettait pas énormément de prouesses au niveau des jeux.

 1280px Sinclair ZX81

 

II.  Histoire du langage informatique et des systèmes d'exploitation

II.1. Langages

  • Après le premier compilateur conçu en 1951 par Grace Hopper, le langage Fortran (FORmula TRANslator) est spécifié en 1954 et achevé en 1956 par John Backus. C'est le premier langage dit de haut niveau. Il est utilisé pour le calcul scientifique, encore de nos fours.
     
  • Suivent ensuite : le Lisp, le Cobol et le Basic en 1964.
     
  • Puis de 1970 à 1980 : le C (1972), le ML (1973) dont est issu Caml, Ada (1983) et C++ (1986).
     
  • La première version de Python date de 1991 (Guido van Rossum) et JavaScript a été publié en 1995.
      
  • On peut observer sur ces sites les différents langages utilisés par les programmeurs. Les trois premiers sont en 2019 : JavaScript, Python et Java.
    • Developpez.com
    • Spectrum
       

II.2. Et les systèmes d'exploitation

  • Au milieu des années 1960, chaque constructeur développe son propre système d'exploitation : OS/360, puis MSV chez IBM, système Unix (1970) chez AT&T (Bell ...)
     
  • MS-DOS écrit par Microsoft pour IBM s'impose. Il est suivi par Windows en 1985.
     
  • En 1984 Richard Stallman (ancien au MIT) débute la création du système GNU et promeut le mouvement du logiciel libre.
     
  • Le 27 septembre 1983, Richard Stallman dévoile son projet de développer un système d’exploitation compatible UNIX appelé GNU — acronyme récursif (la forme développée du sigle contient sa forme réduite) qui signifie en anglais « GNU’s Not UNIX » (littéralement, « GNU n’est pas UNIX ») , en invitant la communauté hacker à le rejoindre et participer à son développement.

 

 

II.3. Compléments

Voici quelques dates importantes dont vous trouverez des développement sur la page : http://www.histoire-cigref.org/blog/langage-informatique-savoir-coder-une-longue-histoire/

Histoire du language informatique

 

 

3. Une frise

Je vous propose de compléter une frise chronologique, tout au long de l'année en utilisant par exemple l'outil suivant :

  • http://www.frisechronos.fr/DojoMain.htm

 

 

{module [104]}

Articles Connexes 


NSI (Numérique et Sciences Informatiques) : première

Détails
Mis à jour : 2 Février 2026
Clics : 200279

Classes de Première — NSI

Classes de Première
NSI - Numérique et Sciences Informatiques


  • Le programme de l'enseignement NSI (numérique et sciences informatiques) de première générale s’appuie sur l’universalité de quatre concepts fondamentaux et la variété de leurs interactions : les données, les algorithmes, les langages, les machines, les interfaces.
  • Evaluations NSI première : toutes les évaluations de NSI première avec les corrigés.
  • Tous les sujets de la BDD : Sujets des ECC de NSI.
  • Tous les TD sont aussi disponibles ici : https://prolifaxe.github.io/coursdecourtois/NSI_1ere.html

 

Cours et TD NSI première


  1. Histoire de l'informatique
    • Une histoire de l'informatique.
    • http://www.frisechronos.fr/DojoMain.htm
      Outil pour réaliser une frise
  2. Python ... les premiers pas
    • Le TD de découverte :
      • Débuter Python (TD 1 à 4)
        Des exercices avec quelques rappels de cours afin de maitriser l'essentiel de Python.
          
      • Pour s'entrainer sur les fonctions vues en cours.
        Seriez vous capable de les refaire sans la correction ? :
        Revision des basiques sur Capytale , avec correction automatique.
  3. Python : Les Listes
    • TD 5 — Découverte de Python - partie 2
      Découverte des Listes (1re maths et NSI)
      • Version Capytale / Version PDF
             
    • TD 6 — Recherche des occurrences sur des valeurs de type quelconque / Correction.
      Introduction des listes, parcours séquentiel sur une liste, fonction .append
       
    • Compléments sur les listes
      • TD 7A : Les listes, version Capytale (version PDF) / Correction partie 1
      • TD 7B : TD Listes : Exercices d'entrainement sur les listes (avec correction automatique) 
    • Premier Bilan
      • Pour vous auto-évaluer sur Genumsi, votre identifiant n'est pas important ici.
        Les listes, tuples et fonctions de base (avec corrigé).
        • QCM 1A : 41 questions
        • QCM 1B : 36 questions
        • QCM 1 : regroupe les 77 questions
    • ⊕ Avant de passer à la suite il faut bien maitriser les bases, si ce n'est pas le cas il faut S'entrainer sur les bases de hackingScience.
  4. Les dictionnaires
    • Cours et TD sur les dictionnaires
      • Les dictionnaires, version Notebook
           
    • TP Dictionnaires et listes
      • TP de révision Dictionnaires et Listes
           
    • QCM : Dictionnaires et listes de niveau 2.
      49 questions
         
  5. Liste de projets 1 : PROJETS
     
    • Liste de projets 2023 Niveau 1
      D'après le concours prologin, une liste de nombreux projets.
      • Réaliser les 8 projets du TD :
        • Version notebook sur Capytale.
        • Version pdf
              
    • Liste de projets Niveau 2
      D'après le concours prologin, une liste de nombreux projets.
      • Réaliser les 8 projets du TD :
        • Version notebook sur Capytale.
        • Version pdf (A faire) 
              
    • Liste de projets quelconques :
      • Vérification du numero de carte bleue d'aprés l'algorithme de Lhun.
      • ASCII Art Challenge
        Consigne : pour chaque défi, écrire une fonction qui permet d'afficher la forme demandée sous forme de caractères ASCII, puis un exemple d'appel de cette fonction.
           

        
  6. Représentation des données : types et valeurs de base
      • Introduction : Comment comptent les Shadoks ?
      • Cours NSI : Cours NSI types et valeurs de base / Cours avec corrigé des exercices.
        Représentation des entiers, décimaux, approximation des réels et représentation du texte.

          
      • TD 1 NSI : représentation binaire d'un entier relatif / Correction du td.
        => Une astuce en vidéo (une petite confusion droite <-> gauche mais c'est assez clair)
           
      • TD 2 NSI : représentation des nombres
        Exercices divers dont certains tirés du sujet 0
        => TD 2 sur Capytale : Exercices 1 et 2 sur Capytale
           
      • TD 3 NSI : TD python sur le changement de base quelconque sur Capytale (Trés guidé)
      • TD 3 bis NSI : TD python changement de base 2, 10 ou 16 (Peu guidé)
        • Correction : https://capytale2.ac-paris.fr/web/c/fa30-8071435
              
      • Entrainement : 
        •   QCM pour vous tester (71 questions) / Correction
      • Entrainement Sur les flottants
        • QCM pour vous tester / Correction (14 questions)
  7. Circuits et logique booléeenne
    •  
    • Cours : Cours circuits et logique booléenne
      Logique booléenne, propriétés, Transistors, portes logiques et fonctions booléennes
        
    • TD NSI 1 : Variables booléennes.
      Variables booléennes et fonctions booléennes
          
    • TD 2 NSI  : Circuits logiques et logisim / Correction.
      => A faire sur Capytale
      • Exercice 3.1 et 3.2
      • Exercice 3.3
      • Exercice 3.4 et 3.5 :multiplexeur
      • Exercice 3.6 et 3.7
      • Exercice 3.8
      • Exercice 3.9
      • Exercice 3.10
    • Le meilleur logiciel pour faire les exercices c'est Logisim
      Il ne s'utilise qu'en local. Vous devez utiliser Logisim si vous voulez faire l'exercice 3.5 rapidement.
      • Télécharger Logisim.
      • Cependant Logisim nécessite l'installation de Java
             
    • Projets sur circuits logiques : Enoncés des projets
        
        Liens Vers Capytale
      • Décoration de Noël
      • Affichage Digitale de 0 à 3
      • Comparateur
      • Fonction majorité et fonction carré
      • Un dé
      • Additionneur

    •  => QCM pour vous tester. (32 questions)
        
    • => Exercices sur l'algèbre de Boole avec des propriétés supplémentaires ou avec correction
        
    • Pour vous entrainer sur un devoir type. :
      • Sujet A: un devoir type sur Capytale / l'énoncé à compléter. / le même en .circ pour Logisim
      • Sujet B: un devoir type sur Capytale

             
  8. Traitement de données en tables
    • TD 1 NSI : Gestion de Fichiers / Correction : https://repl.it/.
      Gestion de fichiers, repertoires sous Python
    • Suite du TD1 sur Capytale : Chapitre IV et V.
      • Extrait de roman à tester : "La Disparition" de G. Perec.
      • Fichier à importer : Demi.txt.
           
    • Entrainement NSI : Un devoir type sur la gestion de fichier / Correction
      • TD 2 Compléments :
        • Manipulation des fichiers csv (PDF) / correction : Sur Capytale
        • Version Capytale (Partie II et III)
          Gestion des fichiers csv via un tableur ou via Python. Création de tables.
             

    • TD 3 NSI :
      • Opérations sur les Tables / Sur Capytale:
      • Exercices 1, 2, 3, 4 et 5 / correction dans Capytale (sans le projet)
        Recherche dans une table. Rechercher les lignes d’une table vérifiant des critères exprimés en logique propositionnelle. Tri d'une table. Trier une table suivant une colonne.
        Jointures ou fusions de tables. Construire une nouvelle table en combinant les données de deux tables.
           
    • DS type opération sur les tables et fichiers CSV
    • OU
      Projet sur les prénoms
      • Dépot du projet sur Capytale
      • Table des prénoms 2003 : Prenoms2003.csv.
      • Table des prénoms 2004 : Prenoms2004.csv.
      • Compléments - tous les prénoms 1900-2018 : nom_naissance2018.csv.
      • Source : https://www.data.gouv.fr/fr/datasets/ficher-des-prenoms-de-1900-a-2019/
      • Site US avec les prénoms par état : https://www.ssa.gov/cgi-bin/namesbystate.cgi
  9. Architecture Matérielles et systèmes d'exploitation
    • Histoire des ordinateurs
      • Cours en ligne / Cours version pdf.
    • Architecture von neumann
      • Cours en ligne / Cours version pdf.
    • Mémoire et langage machine
      • Cours en ligne / Cours version pdf.
      • Assembleur : émulateur MARS.
      • Assembleur : émulateur et visualiseur CPU.
      • TP Assembleur : TP et émulateur CPU.
    • Linux et Bash
      • Cours version pdf.
    • Un QCM pour vous tester.
  10. Algorithmes de tri
      • TD NSI : Algorithmes de tri
        Notion de tri, tri par insertion, tri par sélection.
        • Correction du TD sur les TRIS
    • TP NSI : Programmation sur Capytale / Correction.
    • Entrainement Devoir Type sur les Tris : Programmation sur Capytale / Correction.
  11. Algorithmique - Projet 2 : PROJET 2 / Version Capytale du projet

    • C'est une adaptation et un prolongement du projet GPS de niveau 2.
    • On va manipuler des listes, générer des listes de tuples d'entiers aléatoires, calculer des distances dans un repère orthonomé et utiliser matplotlib pour les graphiques. On va aussi utiliser les algorithmes de tri en les adaptant.
    • Consultez la page matplotlib pour obtenir de l'aide.
  12. HTML (HyperText Markup Language) et CSS (Cascading Style Sheets )
    • Le HyperText Markup ou HTML est le langage de balisage conçu pour représenter les pages web.
      Il est souvent utilisé conjointement avec le langage de programmation JavaScript et des feuilles de style en cascade (CSS).
    • Cours et exercices sur la page dédiée : HTML et CSS.
  13. HTML (HyperText Markup Language) et Javascript
    • Le JavaScript est un langage de programmation de scripts principalement employé dans les pages web interactives.
    • Cours et exercices sur la page dédiée : Javascript et HTML.
  14. PHP et Interaction Client-serveur
    • Le PHP — PHP: Hypertext Preprocessor — est un langage de programmation libre, principalement utilisé pour produire des pages Web dynamiques via un serveur HTTP.
    • Cours et exercices sur les pages dédiées :
      • PHP et interaction client-serveur : présentation et installation du serveur.
        A consulter impérativement avant de vous lancer dans le TD.
      • PHP et interaction client-serveur : exercices et apllications.
  15. La recherche dichotomique
    • Vidéo : La recherche dichotomique
    • Le TP sur Capytale : Recherche Dichotomique
    • Cours et TD NSI : La recherche dichotomique.
  16. Une premiére approche de l'Intelligence Artificielle (AI) : Les k plus proches voisins
    • Cours et TD NSI : les k plus proches voisins.
    • Le TP sur Capytale : les k plus proches voisins
    • Un TP sur la reconnaisssance de caractères : classification de chiffres 2 et 7
    • ressources sur la reconnaisssance de caractère classification de chiffres 2 et 7
  17. Les algorithmes gloutons
    • Cours et TD NSI : les algorithmes gloutons.
    • Le TD CAPYTALE sur : Le rendu de monnaie.
    • Le probleme du sac à dos : TP en pdf à faire sur Capytale
  18. Reseaux
    • Cours et TD NSI : les réseaux.
  19. PROJETS
    • Projets Logissim
      De nombreux petits projets de niveau identifié
    • Projet France/USA
      • Le jeu de la taupe sur processing.
        Format notebook .ipynb
      • Quelques tutos processing :
        • https://www.redohm.fr/2017/06/le-langage-pour-processing/

 

Evaluations NSI

  • Evaluations NSI première : toutes les évaluations de NSI première avec les corrigés.
  • Les sujets d'épreuves du BAC de NSI (première)
    • Tous les sujets de la BDD : Sujets des ECC de NSI.
    • générateur de QCM : https://genumsi.inria.fr/

 

Compléments NSI


LaTeX : produire des documents scientifiques

  • NSI : LaTex
    Un outil permettant de produire des documents de qualité.
  • NSI : Documents Python
    Pour produire des documents intégrants du code Python
  • Programmer en jouant
    • Révisons avec un pirate : PYRATES
    • CheckIO propose de petits challenges à programmer. On peut demander la traduction en Français des problèmes.
      https://py.checkio.org/

 

{module [104]}

Articles Connexes


Page 4 sur 4

  • 1
  • 2
  • 3
  • 4

Derniers Articles

  • Brevet Maths 2026 Métropole – Sujet et corrigé
  • Brevet Maths 2026 Polynésie : sujet, corrigé et exercices
  • Brevet Maths 2026 Centres Etrangers – Sujet et corrigé
  • Bac Maths 2026 Métropole – Sujets et corrigés
  • Brevet Maths 2026 Asie-Pacifique – Sujet et corrigé

©1999 / ISSN 2272-5318 / Contact