- Détails
En 1936, Alan Turing publie un article fondateur qui définit les bases de l'informatique moderne. En inventant un modèle de calcul universel, il démontre qu'il existe une limite mathématique à ce que les machines peuvent résoudre : c'est le problème de l'arrêt.
- Détails
Pyxel et Python
Pyxel est un moteur de jeu vidéo rétro pour Python.
Grâce à ses spécifications simples inspirées par les consoles rétro, comme le fait que seulement 16 couleurs peuvent être affichées et que seulement 4 sons peuvent être lus en même temps, vous pouvez vous sentir libre de créer des jeux vidéo dans le style pixel art.
1. Installation de Pixel
Voir la section "Comment installer" sur la page de Pyxel.
Pour Windows
- Télécharger Edupyter 38, 39 ou 310 selon votre environnement
- Installer Edupyter
Edupyter est portable et ne nécessite pas de droits administrateur. Edupyter peut être installé dans un dossier sur le disque dur ou sur une clé USB / disque amovible. L'installation ne fait que copier des fichiers et des dossiers dans le dossier d'installation choisi. Le système n'est pas modifié. Pour supprimer Edupyter il suffit de supprimer le dossier dans lequel il a été installé. - Lancer Edupyter et cliquer sur l'icône qui apparaît à côté de l'horloge (voir aide).
- Ouvrir Thonny
- Saisir le code et enregistrer le fichier Python (en .py).
- Exécuter le code en cliquant sur la touche F5 ou le bouton vert. Cette action ouvrira automatiquement la fenêtre du jeu.
Sous Mac
- Après avoir installé Python3 (version 3.7 ou plus), lancez la commande suivante :
python3 -m pip install -U pyxel
- Si vous utilisez Python3, qui est installé par défaut sur Mac, veuillez ajouter
sudoau début de la commande ci-dessus pour activer la commandepyxel.
Pour Repl.it
- Ouvrir le fichier sous Pyxel
- problème pour la gestion des images (à voir)
2. Tutoriels pour débuter avec Pyxel
Le jeu du snake
- Snake.Pyxel : Le td détaillé
Programmer un jeu vidéo avec Pyxel
Doc officielle de Pyxel : https://github.com/kitao/pyxel
Prérequis : avoir fait en groupe le jeu du serpent, qui montre rapidement dans un exemple « tout fait » les fonctionnalités
principales. Dans ce tutoriel, nous allons explorer un peu plus en détail les mécanismes.
- Tutoriel_Pyxel_1 / Correction
- Tutoriel_Pyxel_2 / Correction
- Tutoriel_Pyxel_3 / Correction
- Tutoriel_Pyxel_4 / Correction
- Tutoriel_Pyxel_5 / Correction
- Tutoriel_Pyxel_6 / Correction
Autres Tutoriels
D'autres Tutos et exemples sont proposés sur le site de la Nuit du c0de.
3. Projet : Programmer un jeu vidéo avec Pyxel
- Le jeu de la taupe : télécharger ce dossier
C'est un fichier .ipynb que vous lirez via Jupyter lab - Version PDF : le jeu de la taupe
4. Ajouter des images
- ll est possible d’utiliser un utilitaire
Pyxelpour créer ou éditer des images, ou plus généralement des ressources (sons ...).
On lance cet éditeur depuis un terminal.- Sous EDUPYTER : click droit sur
EDUPYTERpuisConsole - Sous ANACONDA : lancer l'application
CMD.exe Prompt
- Sous EDUPYTER : click droit sur
- On se place dans le répertoire dans lequel se trouve notre jeu puis on exécute l'instruction suivante : pyxel edit image.pyres qui va créer une image nommée ici MonImage (on peut changer le nom !)
pyxel edit MonImage.pyres
- L’interface de l’utilitaire Pyxel s’ouvre :
Cet éditeur permet de dessiner des images façon pixel art.On dessine dans la partie gauche, qui « zoome » sur un carré de pixels découpé en 4 parties de (8x8).
- Pour utiliser une partie de cette image il suffira d'utiliser la méthode
pixel.blt(x,y,img,u,v,h)après avoir chargé l'image en écrivant au début du script, l’instruction :pyxel.load("MonImage.pyxres")
pyxel.load("MonImage.pyxres") pyxel.blt(x, y, img, u, v, w, h)
Cette méthode pixel.blt(x,y,img,u,v,h) copie :
- à la position (x, y) de l’écran de jeu;
- La portion de l'image
MonImage.pyxresqui est située à la position (u, v) et qui a pour taille (w, h). - Elle « découpe » donc un morceau de
MonImage.pyxresdéterminé par u, v, w, h et vient le « coller » au point (x, y) sur l’écran. - Le paramètre img : Par défaut sa valeur est zéro.
Articles Connexes
- Détails
Classes de Première - Evaluations
NSI - Numérique et Sciences Informatiques
Les évaluations de la classe de première.
Année 2025-2026
- Test 1 - Les listes (niveau 1) : énoncé / correction
Testounet sur Capytale - Test 2 - Les listes (niveau 2) et fonctions de base : énoncé / correction
Test sur Genumsi - Test 3 : repésentation des donnés : énoncé - correction
Compléments NSI
Évaluation en fin de première
Les élèves qui ne concerveront pas cette spécialité en terminale, devront passer une épreuve commune en fin d'année de première. En voici les spécificités :
-
- Durée : 2 heures
- Format : QCM en 7 parties avec 4 réponses possibles pour chacune des 6 questions par partie.
Au total donc 42 questions (moins de 3 minutes par question). - Notation : Attention, une bonne réponse rapportera 3 points, une mauvaise ou une multiple \(-1\) point et l'absence de réponse 0 point.
- Exemples
- Tous les sujets de la BDD : Sujets des ECC de NSI
- générateur de QCM : https://genumsi.inria.fr/
{module [104]}
Articles Connexes
- Détails
Classes de Terminale - Evaluations
NSI - Numérique et Sciences Informatiques
Les évaluations de la classe de Terminale NSI.
Année 2025-2026
- DS 1 - POO : Sujet / corrigé.
La POO, les classes - DS 2 - SQL et bases de données : sujet / corrigé.
Bases de données et language SQL - DS 3 - Récursivité et Piles : sujet / corrigé.
Récursivité et Piles/Files - DS 4 - Arbres et POO : Sujet / Corrigé
Les arbres binaires de recherches - DS 5 - BAC BLANC 1 : sujet / corrigé.
Bases de données et language SQL, POO, Récursivité, Piles et Files, Arbres binaires - DS 6 - BAC BLANC 2 :
- sujet J1/ corrigé J1.
- sujet J2/ corrigé J2.
Articles Connexes
- Détails
NSI - Numérique et Sciences Informatiques
Les réseaux
Plan du cours
- 1. Les réseaux informatiques : généralités
- 2. Les modèles OSI et TCP/IP : Le protocole TCP/IP
- 3. Adresse IP et notation CIDR pour les adresses IP
- 4. TP encapsulage et protocoles
- 5. TP de simulation d'un réseau : Filius
- 6. Pour vous tester
- 7. Resources sur les réseaux
- Détails
NSI - Numérique et Sciences Informatiques
Algorithmes gloutons
Présentation des d'algorithmes gloutons avec exemples et TD.
- Présentation de la notion d'algorithme glouton.
- Le problème du rendu de monnaie.
- Le TD sur les algorithmes gloutons et le rendu de monnaie.
- Le problème du sac à dos.
- Détails
NSI - Numérique et Sciences Informatiques
HTML (HyperText Markup Language) ,
PHP Hypertext Preprocessor
et Interation Client-Serveur : Exercices et applications
Prérequis au TD
- Il faut impérativement avoir un environnement de travail PHP, c'est à dire un site Web ou un serveur installé sur votre ordinateur pour effectuer ce TD.
Consulter si ce n'est pas le cas la page : PHP et Interation Client-Serveur : installation. - Il est par ailleurs nécessaire d'avoir traité le TD sur le Javascript : HTML (HyperText Markup Language) et Javascript
- Détails
NSI - Numérique et Sciences Informatiques
La recherche dichotomique
Prérequis au TD
- Python : liste, parcours de listes.
Présentation de la méthode de recherche par dichotomie
La recherche dichotomique, (en anglais : binary search), est un algorithme de recherche pour trouver la position d'un élément dans un tableau trié.
Le principe est le suivant :
- Trier le tableau de nombres ;
- Comparer l'élément que l'on cherche avec la valeur de la case au milieu du tableau ;
- Si les valeurs sont égales, la tâche est accomplie,
- sinon on recommence dans la moitié du tableau pertinente.
Le nombre d'itérations de la procédure, c'est-à-dire le nombre de comparaisons, est logarithmique en la taille du tableau.
Une introduction en vidéo de la recherche dichotomique
- Vidéo : la recherche dichotomique.
Le TD/Cours de recherche par dichotomie
- TD et cours : recherche par dichotomie.
Les exercices proposés sont à traiter sur repl ou via Capytal.
Remarque et compléments
Les algorithmes proposés peuvent s'avérer être faux dans certains langages
Calcul du terme médian
Le problème vient de l'addition des indices \(a\) et \(b\) pour en trouver calculer la moyenne. En général, \(a\) et \(b\) sont des pointeurs, des adresses mémoires. Et leur somme peut dépasser la taille de représentation des adresses. En effet, ce n'est pas parce que \(a\) et \(b\) sont représentables en 64 bits que \(a+b\) l'est aussi. Il peut y avoir un dépassement.
Dans ce cas (qui peut arriver en pratique), le résultat obtenu en effectuant \((a+b)//2\) ne correspondra pas à la moyenne attendue.
Cette erreur est restée pendant plusieurs décennies dans divers bibliothèques (en Java, notamment) avant d'être détectée, (des compléments sur cette page).
Pour éviter cela, une version rigoureuse est
m = a + (b - a) // 2
En Python, cependant, on n'a pas ce problème (en Python3 du moins), car les entiers peuvent être arbitrairement grands.
Articles Connexes
- Un cours très complet : la recherche dichotomique.
- Support eduscol : eduscol.
