APPLICATIONSDIVERS ★ RECHERCHONS UNE SÉQUENCE ★

Recherchons une séquenceApplications Divers
Rechercher une séquence précise parmi une suite de données, tel est le but du programme que nous vous proposons ce mois-ci. Son champ d'application concernera, en premier heu, les recherches sur les nombres aléatoires ou, par exemple, la reconnaissance d'une séquence particulière dans une chaîne d'acides aminés si vous vous passionnez pour la génétique. Quoi qu'il en soit, ce programme permettra au maximum de retrouver ou de mettre en évidence l'absence d'une suite de 2000 données parmi 4 000. Notons que ces limites peuvent être repoussées si vous désirez travailler sur un nombre de données plus important, mais dans la plupart des cas, à notre avis, travailler sur une suite de 400 caractères est largement suffisant. Ceci dit, passons à l'écriture du programme.

En premier lieu nous demanderons à l'Amstrad de travailler en mode 2, ceci afin de disposer du maximum de caractères affichables sur l'écran ; puis CLEAR sera demandé pour permettre l'éventuel rebouclage du programme. Des lignes 70 à 120, nous afficherons la page de présentation; elle résumera succinctement la fonction du programme et restera présente tant qu'aucune touche n'aura été frappée en raison de la présence de la ligne 130. En 200 nous initialiserons les variables nécessaires à l'exécution du programme, puis en 210 nous dimensionnerons îe tableau de mémorisation des données sur lesquelles portera la recherche de séquence. Ensuite, nous dimensionnerons le tableau dans lequel sera mémoriséela séquence à retrouver. Pour cela le programme demandera de lui indiquer le nombre de caractères la composant, ligne 280, et, après contrôle, le tableau sera créé à la ligne 390.

Reste à introduire les données. Pour cela nous commencerons par fournir au programme l'ensemble des données sur lesquelles devra porter la recherche. Leur mémorisation est assurée par les lignes 480 et 560. Notons que deux conditions permettront de sortir de cette partie du programme : la frappe de ENTER ou l'introduction du 4000 caractère. Le programme vérifiera alors si le nombre des données fournies est suffisant par rapport à celui indiqué pour la longueur de la séquence à rechercher, ligne 630. Si tel est le cas, la séquence à rechercher sera tapée. Cette opération sera assurée par la boucle FOR... NEXT des lignes 720 à 780. Le programme rebouclera donc ici tant que le nombre de caractères indiqué n'aura pas été atteint. Cette frappe terminée, la séquence choisie sera affichée pour contrôle par les lignes 880 à 900 et sa validation, ou sa modification, sera demandée.

Dès validation, la recherche pourra débuter. Celle-ci sera assurée par les lignes 1090 à 1170. Si la séquence est découverte, la variable DEB prendra pour valeur le numéro correspondant à la position du premier caractère de cette dernière dans la suite des données fournies, et la recherche s'arrêtera en donnant à C la valeur de N. Si en fin de recherche, DEB vaut toujours 0, cela indiquera que la séquence n'a pas été trouvée. Le programme l'indiquera grâce à la ligne 1290 et on pourra, soit modifier la séquence à rechercher, soit introduire de nouvelles données.

Si, par contre, la séquence existe effectivement, sa position sera indiquée par la ligne 1400 puis sa visualisation pourra être obtenue après avoir répondu aux questions proposées par les lignes 1410 à 1590. Cet affichage sera assuré par les lignes 1610 à 1800 et comportera trois phases. La première, comprise entre les lignes 1680 à 1700, a pour mission d'afficher l'ensemble des caractères précédant la séquence à découvrir. Les lignes 1720 à 1740 affichent la séquence en vidéo inversée —noir sur fond blanc— et enfin, les lignes 1770 à 1800, les caractères placés après la séquence. Ceci terminé, le programme sera prêt pour recevoir soit une nouvelle séquence, soit de nouvelles données. Une seule sous-routine est utilisée pour son fonctionnement. Placée des lignes 1890 à 1950 elle a pour but de permettre le choix concernant le rebouclage de l'ensemble.

L'utilisation de ce programme est extrêmement simple. Après l'avoir entièrement frappé, RUN sera demandé. La page de présentation s'affichera alors. Une touche quelconque devra être tapée pour commencer son exécution. L'écran indiquera dès lors “COMBIEN DE CARACTERES LA SEQUENCE A RECHERCHER COMPORTE-T-ELLE ?”. Ce nombre sera frappé au clavier puis validé en utilisant ENTER. Les caractères sur lesquels portera la recherche seront alors introduits. Une possibilité de correction, en cas de faute de frappe, est prévue. En effet, l'utilisation de la touche DEL permet de supprimer le dernier caractère tapé. Si le nombre de caractères à introduire est inférieur à 4 000, il faudra les valider en tapant ENTER après le dernier. Ensuite le contrôle sur le nombre de caractères sera automatiquement effectué. Dans la plupart des cas ce contrôle restera imperceptible. En effet un message n'est affiché sur l'écran que s'il y a incohérence entre le nombre de données fournies et la longueur de la séquence à trouver. Les caractères de cette dernière seront alors demandés puis réaffichés pour contrôle. La recherche commencera dès que ENTER aura été frappé. Pour terminer, le programme rebouclera soit sur l'introduction d'une nouvelle séquence, soit sur la modification complète des données.

Henri-Pierre PENEL , Science&Vie n°845

★ EDITEUR: Science&Vie
★ ANNÉE: 1988
★ CONFIG: ???
★ LANGAGE:
★ LiCENCE: LISTING
★ AUTEUR: Henri-Pierre PENEL

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listings:
» Recherchons  une  sequence    (Science  et  Vie)    FRENCHDATE: 2020-04-22
DL: 188
TYPE: ZIP
SiZE: 6Ko
NOTE: Uploaded by CPCLOV ; 40 Cyls
.HFE: Χ

» Recherchons  une  Sequence    (Science  et  Vie)    LISTING    FRENCHDATE: 2016-03-11
DL: 244
TYPE: PDF
SiZE: 635Ko
NOTE: 2 pages/PDFlib v1.6

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » 8 and 12 Track MIDI Sequencers
» Applications » Multi - Track Step Time Midi Sequencer
» Applications » 8-spur-Sequenzer (CPC Amstrad International)
» Applications » Sequbild (Happy Computer)
» Applications » Esq1 Sequencer Dump (Amstrad Action)
» Applications » Sequenzer (Schneider Aktiv)
Je participe au site:
» Vous avez des infos personnel, des fichiers que nous ne possédons pas concernent ce programme ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 280 millisecondes et consultée 1214 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.