INITIATION À BASIC-256



        BASIC 256 est un langage adapté à la programmation précoce.
     On pourrait refaire aujourd'hui, les programmes que mes élèves réalisaient vers 1988, mais encore plus facilement.
     Développé sous Linux, BASIC-256 fait partie de la logithèque de Ubuntu. Ce logiciel a été adapté à Windows.
     Voici l'adresse où je l'ai téléchargé:      http://www.basic256.org/index_en
     Je l'ai installé sur une clé USB. BASIC-256 fonctionne aussi bien sous XP, VISTA, Windows 7 que Windows 8.

      Voilà comment j'ai procédé

     Chaque enfant devrait posséder une telle clé. Il pourrait y enregistrer tous ses programmes et y retrouver divers utilitaires. Un travail entrepris à l'école, pourrait être poursuivi, à la maison, chez des camarades, etc.

         Tutorial (Français - 166 pages)   vers là

     Les enfants aiment dessiner. Le premier programme réalisé par un de mes élèves fut le dessin d'une maison qui lui valut le prix du plus jeune programmeur du dernier concours de programmation du Télégramme. Et ensuite, tout le monde essaya de bâtir une maison plus jolie que la sienne, mais aussi d'autres objets, des bateaux, des avions... Puis on essaya de les faire se déplacer sur l'écran. On essaya de résoudre des petits exercices mathématiques avec l'aide de l'ordinateur, puis des problèmes de plus en plus compliqués. L'élève matérialisait ainsi les algorithmes de résolution.
     Ensuite, l'enfant imaginera ses propres problèmes, des jeux, des utilitaires.... Il sera, alors, important, qu'il prenne l'habitude de programmer, d'abord, sur le papier, avec un crayon, en s'inspirant du Chapitre 4 du tutorial : Penser comme un programmeur

     Avec Canvas de HTML5, on peut, aussi, faire des dessins. La syntaxe est différente, mais on utilise les mêmes variables. BASIC-256, c'est plus simple. Cependant, grâce à Canvas, on pourra motiver les enfants, en leur donnant un objectif à atteindre, un travail qu'ils pourront exposer.

     BASIC-256 est doté d'un très bon débogueur (Debug) qui signale avec précision les erreurs de syntaxe. Le bouton (Step) permet d'exécuter le programme pas à pas. C'est intéressant pour comprendre comment fonctionne une boucle.

     Savez-vous résoudre ce problème, autrement que par l'algèbre ?

          A la piscine, il existe le tarif enfant à 4 € et le tarif adulte à 6 €. Il est entré en une heure 10 personnes et la recette s'élève à 46 €.
          Quel est le nombre d'entrées de chaque sorte ?


     Une démonstration originale par un algorithme informatique, tout en bas de la page.

    On retrouvera le code source BASIC-256 dans un fichier texte. Pour obtenir le code source Canvas, cliquez avec le bouton droit de la souris, hors du dessin.

     Important:
     Je tiens à préciser que je ne donne que des exemples. Donner des solutions toutes faites aux enfants, ce n'est pas la meilleure solution. À chacun d'exploiter ces exemples suivant ses conceptions de la pédagogie.
     Demandez par exemple à un enfant de dessiner une fenêtre comportant 1, 4, 8, 16 carreaux. J'espère que vous verrez l'intérêt mathématique de ce problème.

ProgrammeBasic-256Canvas
Dessiner

     Un enfant a besoin de repères, dans toutes ses activités scolaires. Ici, il va apprendre à se repérer, par rapport au coin supérieur gauche de l'écran, dans un espace en deux dimensions. (Concept de longitude et latitude des marins qui se déplacent d'escale en escale.)
     Il va manipuler des nombres qui ont du sens.
     Pour dessiner une fenêtre, par exemple, on va créer deux suites numériques de nombres à intervalles réguliers. Les repères sont des bornes d'intervalles. Une toute petite erreur de coordonnées peut contrarier la beauté du dessin.
     Ce travail précis aura, ensuite, son importance durant toute la scolarité et dans de nombreux domaines de la vie courante.

         Bonjour monde   vers là    
Voici comment je procédais pour construire mon triangle
(voir les 6 premières images)
      vers là
         Un triangle   vers là   vers là
         Rectangle et carré   vers là   vers là
         Figures diverses   vers là   vers là
         Un carré chinois   vers là   vers là
         Etoile à 5 branches - Pentagone   vers là   vers là
         Etoile à 6 branches - Hexagone   vers là   vers là
         La rose des vents   vers là   vers là
         Dessin d'une maison   vers là   vers là
         Dessin d'un ordinateur   vers là   vers là
         Le tangram (construction)  vers là   vers là
         Le tangram: Le canard  vers là   vers là
         Le canard : Solution   vers là   vers là
         Tangram Symétrie horizontale   vers là   vers là
         Tangram Symétrie verticale   vers là   vers là
         Le code de la route   vers là   vers là

Utilisation de variables
de boucles

         Quadrillage (Programme)   vers là   vers là
         Une frise   vers là   vers là
         Dessin d'un échiquier   vers là   vers là
         Le tangram (une planche)   vers là   vers là
         Tables de multiplications (simple)   vers là
  vers là  
         Tables de multiplications (plus complexe)   vers là   vers là  
         Déplacement d'une balle   vers là   vers là
         Déplacement d'un bateau   vers là   vers là
     Un instituteur doit savoir quand les calculs et les mesures n'apportent plus rien à la compréhension.
     Inutile d'aller perdre du temps quand on dispose d'un outil simple qui permet d'automatiser le travail.
     Nous allons réaliser l'illustration de la fable «La cigale et la fourmi»...

  Voir la vidéo
16 minutes.

     J'ai réalisé cette vidéo à l'aide d'un appareil de photo numérique. Je recommande de faire la même démonstration avec un vidéo-projecteur.
      Ce sera plus lisible.

  Complément pour créer des fichiers HTML5

         Illustration: La cigale et la fourmi   vers là   vers là
         Carte de France des régions   vers là   vers là
         Une bande dessinée.
Une page canvas, sous Firefox, peut être enregistrée au format png, par clic bouton droit de la souris..
  vers là


ProgrammeBasic-256Canvas

Dichotomie

Un passage instructif de «1, 2, 3.... CODEZ ».
" Enfin, quand on cherche un mot dans un dictionnaire, on l'ouvre à l'endroit le plus probable en fonction de la position de la première lettre de ce mot dans l'alphabet (vers le début pour la lettre «c» ou vers le milieu pour la lettre «p», etc.)... puis, par tâtonnements, on recule ou on avance de quelques pages, en fonction de la lettre qui débute les mots de la page courante. Et lorsque la première lettre du mot est trouvée, on recommence avec la deuxième lettre, et ainsi de suite."

La recherche d'une lettre de l'alphabet est avant tout un exercice mathématique. Ce programme peut servir accessoirement à apprendre l'alphabet.
Avec le "progrès", la recherche dichotomique a disparu de l'école. On recherchait aussi le quotient d'une division par encadrements. Si la division au diviseur à un chiffre n'a besoin que du repère inférieur, on a besoin des deux bornes pour un nombre supérieur à 10, lorsqu'il faut tâtonner. Or comme on ne l'enseigne plus à l'école primaire, il est indispensable de compenser ces lacunes. J'espère que ces deux programmes y contribueront.
         L'alphabet  vers là   vers là
         Recherche d'un nombre.   vers là
Attention !
Dans l'aide, je donne une solution de recherche dichotomique stricte.
Pour un enfant du primaire, il serait préférable d'utiliser une recherche dichotomique élément par élément (centaines, dizaines, unités)
Exemple:
Choix du nombre à trouver: 999
Dichotomie stricte (10 essais):
500 ,750 ,875 ,937 ,968 ,984 ,992 ,996 ,998 ,999

Dichotomie par nombre de centaines, puis de dizaines et enfin d'unités (chiffre par chiffre)
Choix d'arrondir à la borne inférieure (12 essais):
500 ,700 ,800 ,900 ,950 ,970 ,980 ,990 ,995 ,997 ,998 ,999
Choix d'arrondir à la borne supérieure (9 essais):
500 ,800 ,900 ,950 ,980 ,990 ,995 ,998 ,999

    Le jeu de la cible
Difficulté : Utilisation du théorème de Pythagore pour calculer la distance de l'impact au centre de la cible
    Lire un thermomètre
    Lire une éprouvette
    Mesure une pointe (en mm)
    Lire le rapporteur
    Lire l'heure
Difficulté : Utilisation de la trigonométrie (sinus et cosinus)
    À la poste: Combien dois-je payer ?


      Lorsque l'enfant aura bien compris comment procéder, qu'il aura assez manipulé, calculé, il saura se repérer correctement dans l'espace et il pourra faire des dessins plus complexes en utilisant le programme suivant qui lui servira ausi bien sous BASIC-256 que sous CANVAS:
         Automatisation de la saisie de coordonnées  vers là
     Le programme, écrit en Basic-256, permet de récupérer les coordonnées mathématiques (abscisses et ordonnées) des points dans un fichier. Ces notions de latéralisation, importantes pour la suite de la scolarité, sont très difficiles à acquérir par des moyens conventionnels. Avec un ordinateur, cela devient facile, même pour les élèves les plus faibles. Cela peut être laborieux au départ, mais une fois qu'ils ont compris, on ne les arrête plus.

Travaux d'élèves :      vers là



ProgrammeBasic-256Canvas
Problèmes

Quelques conseils :
       

         Solution d'un problème   vers là     vers là  
         Problème (temps)   vers là   vers là
         Partages inégaux   vers là   vers là
         Partages inégaux, poids   vers là   vers là
         Parts multiples  vers là   vers là
         Problème d'âges   vers là   vers là
         Certificat d'études primaires
           (Mon frère, en 1936, à 11 ans)    Voir l'original
  vers là  vers là
         Comptage d'allumettes (jeu)  vers là  vers là

     Voici une solution originale à certains types de problèmes. (Utilisation de la boucle while {...}.)
     Nous passons de la solution à la résolution assistée par ordinateur.
     Cela ressemble à l'algèbre, mais c'est le programme qui nous donne la solution à l'intérieur d'une boucle while {...} qui balaie toutes les solutions possibles. C'est la condition IF qui nous permet de retenir celles que l'on désire afficher.

Voici le type même des problèmes qu'on résolvait autrefois en arithmétique
par la méthode de fausse position dite par l'absurde car l'hypothèse de départ est fausse.
Évidemment, c'est loin d'être une démonstration par l'absurde.

.      On peut continuer à jouer avec les algorithmes en construisant un problème analogue, mais avec des valeurs différentes:      On peut aussi créer des problèmes différents:
  •     au format HTML5       Je vous laisse le plaisir de le traduire en Basic.

  •     Formules (a - b) : n    et    (c - a) : n

         En utilisant la logique de l'ordinateur, j'ai pu établir ces formules.
         Elles permettent de résoudre tous les problèmes de fausse hypothèse (résolution par l'absurde).
         Il est dommage que les candidats au certif ne connaissaient pas les algorithmes informatiques.
         Attention ! Il faut bien comprendre une formule avant de l'utiliser.

  •     Voir la démonstration de ces formules

  •     Résolution informatique (boucle while {...} ) des 12 problèmes.


    Un problème amusant encore plus difficile
    trouvé par hasard sur un site Internet.

    J'élève des araignées (toutes de la même espèce), des poules et des lapins.
    Je compte 148 pattes, 26 têtes et 142 yeux...
    Puisque aucun de mes animaux n'est mutilé, combien mes araignées ont-elles d'yeux chacune ?


    Saurez-vous le résoudre ?
    On résolvait ce type de problèmes, autrefois, en classe de seconde ou de première. (Systèmes d'équations à plusieurs inconnues.)
    Voir     une solution algébrique.

    Voici une solution informatique (imbrication de 2 boucles)


    Quelle que soit la méthode utilisée, pour être certain de pouvoir le refaire de nouveau, on peut imaginer des problèmes avec des données arbitraires.
    Attention ! Un tel problème peut avoir plusieurs solutions.
    L'entraînement à la résolution provoquera une image mentale de ce type de problème.


    On trouvera le code source de ces deux programmes, par clic droit de la souris.

    On pourra même proposer ces problèmes, avec des petits nombres, aux enfants, pour qu'ils tentent de les résoudre par tâtonnements.
    Par exemple: Je compte 24 pattes, 5 têtes et 18 yeux...
    On pourra leur apprendre à ordonner les lignes, pourquoi pas par notre programme informatique simplifié.
    J'ai trouvé deux démarches cohérentes:         Voir mes deux solutions
    Il est tout de même utopique de pouvoir espérer une généralisation, la construction d'un algorithme arithmétique, à l'école primaire. Et il vaut mieux réserver l'algorithme algébrique au secondaire.

Autres exemples de résolution de problèmes
par les boucles informatiques.
         Jeux mathématiques: énigme n°1  vers là   vers là
         Jeux mathématiques: énigme n°2  vers là   vers là
         Jeux mathématiques: énigme n°3  vers là   vers là
         Jeux mathématiques: énigme n°4  vers là   vers là
         Jeux mathématiques: énigme n°5  vers là   vers là
         Jeux mathématiques: énigme n°6  vers là   vers là
         Jeux mathématiques: énigme n°7  vers là   vers là
         Jeux mathématiques: énigme n°8  vers là   vers là
         Jeux mathématiques: énigme n°9  vers là   vers là
Ces énigmes sont extraites de Eurêka

 
 
Jouer

Initiation à la cryptologie

Les codes ASCII

   Définition de la Cryptologie       Wikipedia

En appuyant sur une touche du clavier, on communique à l'unité centrale de l'ordinateur un code. La lettre A, c'est la valeur 65 (soixante cinq). Elle sera ensuite affichée à l'écran.
Vous pouvez obtenir la lettre A, dans un éditeur ou un traitement de texte, en appuyant sur la touche Alt et en tapant 65 sur le pavé numérique, 66 pour B, etc...
Autres exemples, on obtient les guillements ( " par Alt 34), (« par Alt 174), (» par Alt 175)
Ces codages peuvent être retrouvés à l'adresse ci-dessous.

   Les tables ASCII      table-ascii.com

On pourra commencer par proposer différents jeux de codages en remplaçant les lettres par leurs codes ASCII, en utilisant les tables ASCII et de décodages en utilisant la touche Alt pour les écrire dans un traitement de texte.

Cette fonction de la touche «Alt» ne fonctionne pas sous LINUX.

Ensuite, on pourra s'aider de programmes:
   Pour coder
   Pour décoder
On pourra traduire ces programmes JavaScript en Basic 256.
   codage.kbs
   decodage.kbs

Vous pouvez donc, sans ordinateur, procéder à différents petits codages puis plus tard passer au cryptage en remplaçant une valeur par une autre en suivant un algorithme précis, connu de vous et du seul destinataire du message.
Avec un programme informatique, on pourra crypter un texte plus long, l'envoyer par mail à un correspondant. Bien sûr, lui seul doit connaître la clé.
L'algorithme des programmes suivants consite à ajouter le nombre 3 à chaque code ASCII. Pour le décoder, il suffira de retirer 3.
Evidemment, plus l'algorithme est simple, plus il est facile à décrypter.

Voici un message que je vous propose de décrypter. Sélectionnez-le. Copier. Coller dans le formulaire (HTML5). Choisir l'option 2.

®.Oruvtxh.wx.idlv.txhotxh.fkrvh/?EUAvdfkh.txh.wx.dxudv.frqwuh.wrl.fhx{.txl.yrxodlhqw.idluh.od.píph.fkrvh/?EUA.fhx{.txl.yrxodlhqw.idluh.oh.frqwudluh?EUA.hw.o*lpphqvh.pdmrulwì.gh.fhx{.txl.qh.yrxodlhqw.ulhq.idluh1.¾?EUA.+Frqixflxv,

  Alan Turing, un génie dans la guerre

ProgrammeBasic-256HTML5
         Cryptographie  vers là   vers là
 
 
 

      « Lorsque tu fais quelque chose, sache que tu auras contre toi ceux qui voulaient faire la même chose, ceux qui voulaient faire le contraire et l'immense majorité de ceux qui ne voulaient rien faire. » (Confucius)