★ APPLICATIONS ★ DIVERS ★ AMSTRAD TRADUCTEUR MORSE ★ |
Amstrad traducteur morse | Applications Divers |
Certes à l'époque du téléphone et des media il peut paraître désuet de parler encore de morse. Cependant si vous désirez devenir radio amateur une parfaite connaissance du morse vous sera demandée. D'autre part si vous êtes un fanatique des bandes ondes courtes ou des scanners c'est probablement grâce au morse que vous obtiendrez les informations les plus palpitantes. Notre programme pourra donc vous aider à faire connaissance avec cet alphabet.Les possibilités de réglage de sa vitesse de frappe, ou plutôt dans ce cas de manipulations, sont telles qu'elles permettront à tout débutant de s'initier à la pratique du “bip-bip” et aux autres de se perfectionner. Enfin il peut constituer un jeu de société amusant où le maître du jeu pourra être tiré au sort puisque, même s'il ne comprend pas la signification des sons émis, le programme se chargera de traduire fidèlement son texte. Ce dernier sera directement tapé au clavier, le haut-parleur inclu dans l'Amstrad émettra les “bip”, et le texte tapé sera affiché sur l'écran au fur et à mesure de sa traduction. Comme vous pouvez vous en douter notre programme comportera donc un tableau de conversion des caractères entrés au clavier associé à un programme d'affichage. Passons donc à son étude. Une page de présentation sera, en premier lieu, affichée. Elle indiquera le contenu du programme puis demandera de préciser à l'ordinateur la vitesse de frappe choisie. Les options disponibles seront indiquées : “10 lent, 1 rapide”. Notons au passage que les deux bornes extrêmes du choix proposé sont des cas limite. En effet, pour la vitesse la plus lente, il est presque possible de consulter un dictionnaire entre chaque lettre et la plus rapide ne pourra guère être utilisée que par des personnes expertes en matière de morse. Les dix niveaux de vitesse de frappe permettront donc de trouver facilement le mieux adapté à l'utilisation choisie. Ce choix sera vérifié, puis mémorisé par les lignes 90 et 95. Si le nombre frappé au clavier ne correspond pas à un choix proposé, le programme sera renvoyé en ligne 25 où la page de présentation sera de nouveau proposée. En cas contraire l'écran sera effacé et la page de travail mise en place. En effet le morse ne prenant en compte ni les accents ni les cédilles ou les trémas, le plus simple consiste à utiliser systématiquement les majuscules. Si le texte était tapé en minuscules, il serait tout simplement ignoré par le programme. Notons qu'un tel oubü n'aurait rien de dramatique : en effet il suffirait d'appuyer sur “Caps Lock” et de retaper le texte pour que le programme fonctionne normalement. Nous trouverons ensuite le tableau de traduction des divers caractères de l'alphabet en code morse. Pour des raisons de simplification nous avons remplacé ses points et ses traits par des symboles plus facilement exploitables par le programme. Les points seront représentés par 1, les traits par 4, et 0 indiquera la fin d'un caractère. Cette table de conversion occupe les lignes 150 à 345. Notons que nous avons séparé les caractères alphabétiques des chiffres. Ensuite chaque touche tapée au clavier sera lue par la ligne 365 ou la variable A$ prendra la valeur du caractère frappé. A$ sera alors affiché sur l'écran juste après le dernier symbole demandé ; ceci grâce à l'ordre PRINT de la ligne 370. Le permet, dans ce cas de placer les caractères à la suite les uns des autres. Ensuite chaque caractère frappé sera analysé. Si aucune touche du clavier n'est enfoncée, toute cette séquence sera ignorée et le programme reviendra en ligne 345 en raison de l'ordre GOTO 345 de la ligne 430. En cas contraire les divers cas seront étudiés. S'il s'agit d'un espace, la ligne 380 aiguillera directement le programme vers la sous-routine 450 chargée de créer un temps “mort” correspondant en morse à la durée séparant deux mots. De même, une sous-routine particulière sera utilisée pour le codage du point (aiguillage vers la sous-routine 650 de la ligne 385). Si le caractère demandé fait partie de ceux disponibles, la variable C. associée à la ligne 415, indiquera au programme la route à suivre pour assurer sa traduction en morse. En effet une série de sous-routines indiquera les données à utiliser, grâce à l'ordre RESTORE (lignes 470 à 650) et enverront toutes en 670, sous-routine chargée de l'émission des “bips”. Une pause de courte durée est prévue afin de marquer la séparation entre chaque caractère'(ligne 700). Notons que cette pause est fonction de la vitesse de frappe choisie, tout comme celle de la ligne 690 destinée à espacer deux points, deux traits ou toute combinaison de ces deux “bips". L'émission du message traduit terminé, le programme reviendra, pour analyser le caractère suivant, en ligne 345 et rebouclera ainsi indéfiniment. Un point à préciser à ce sujet : si vous désirez modifier la vitesse de frappe en cours de programme, la seule solution consistera à interrompre son exécution —en appuyant deux fois sur la touche ESC— puis à le relancer en demandant RUN. La page de présentation sera alors de nouveau proposée et la vitesse pourra être choisie. L'Amstrad ne possédant pas de mot-clé, la frappe de ce programme ne doit pas poser de problème particulier. Cependant, afin de simplifier son adaptation sur d'autres machines, nous n'avons pas utilisé les abréviations que comporte cet appareil. De même toutes les variables seront déclarées à l'aide de l'instruction LET; instruction inutile sur cet appareil. L'utilisation de ce programme reste aussi simple. Après avoir tapé RUN, la page de présentation apparaîtra sur l'écran et la vitesse de frappe sera déterminée à votre choix. Une fois la touche ENTER appuyée, la page de présentation sera remplacée par la page de travail et tout caractère tapé au clavier sera immédiatement traduit en morse. Notons que si votre vitesse de frappe est supérieure à celle choisie pour la transmission, le texte sera mémorisé. Cependant les divers caractères ne seront affichés sur l'écran qu'au fur et à mesure de leur émission. Aux vitesses lentes il sera donc conseillé de consulter régulièrement l'écran afin de vérifier à quel phase en est l'émission et, par voie de conséquence, d'éviter les fautes de frappe ou les répétitions. Enfin, pour terminer, précisons que nous n'avons pas prévu l'utiiisation du code morse “ERREUR DE TRANSMISSION”. Normalement, ce cas ne devrait pas se produire. Si, malgré tout, vos doigts ont une fâcheuse tendance a appuyer sur les touches plus rapidement que le souhaiterait votre cerveau, il ne vous sera sûrement pas difficile de compenser cette lacune du programme, en utilisant une chaîne DATA complémentaire associée à une sous-routine. Henri-Pierre PENEL , Science&Vie n°824
|