Basic (Autonome)

Accueil Remonter Interface

Version 1. Le problème du cavalier développé en Visual BASIC

 

La première version du programme a été développée en Visual BASIC. Ce programme a été amélioré progressivement du point de vue de l'algorithme afin de réduire le temps de recherche de plusieurs ordres de grandeur (1 heure ... 1 minute ... quelques secondes)

Ce langage propose toute une série de composants graphiques (cases à cocher, boutons, champ d'édition ...)  permettant de développer de manière simple et intuitive une interface Homme/Machine conviviale. Les paramètres de la recherche peuvent être facilement modifiés et  la solution obtenue par l'algorithme est représentée graphiquement. L'approche la plus naturelle consiste à dessiner un échiquier 8x8 et à proposer autour de cet échiquier des contrôles permettant de piloter et de superviser la recherche. On entend ici par superviser la possibilité de tracer des événements liés à la recherche comme le nombre de coups avancés, le nombre de coups reculés ou le temps mis pour aboutir à une solution ... De plus, au fur et à mesure du développements, certaines options concernant aussi bien l'algorithme de recherche que l'affichage du résultat ont été introduites à travers des menus particuliers.

 

Avantage

  1. Simplicité de la mise en oeuvre d'une première solution. En moins d'une journée et sans connaissance préalable ni de l'outil ni du langage BASIC, il est possible de faire tourner une première version.
  2. Les possibilités de l'outil et du langage sont assez importantes.

Inconvénient

  1. L'exécution de ce programme n'est possible que si les bibliothèques associées à la run-time VB6 sont présentes sur le poste du client Web. Les deux bibliothèques nécessaires sont MSVBVM60.DLL et OLEAUT32.DLL. Elles sont disponibles sur le site microsoft (http://www.microsoft.com/)
  2. Tout le programme est géré par un seul thread. L'algorithme de recherche rend le programme ininterruptible. La gestion du multi-thread, bien que théoriquement possible à travers le mot clé "AdresseOf" et les primitives d'appel aux fonctions C, ne fonctionne pas.