APPLICATIONSDIVERS ★ RSX: TRI ★

Tri (AM-Mag)Applications Divers

La routine de tri ici proposée, constitue une solution performante pour tous ceux qui, dans leurs programmes d'application, se heurtent à la lenteur du Basic lorsqu'il s'agit d'effectuer le tri alphanumérique d'un tableau de grande dimension. Facilement accessible à partir du Basic par deux commandes RSX, cette routine diminue considérablement le temps d'exécution d'un tri.

Le lancement du premier programme génère et sauvegarde

la routine binaire "TRI.RSX", prévue pour être implantée à l'adresse &A000. Toutefois, il est possible de la reloger à une adresse de son choix, pourvu que l'on insère dans le pro-t gramme d'application, les quelques lignes du second programme. Il suffit de spécifier en ligne 20 de 'ce dernier, l'adresse d'implantation dans la variable ADR.

Utilisation

Après avoir chargé (et éventuellement relogé) la routine "TRI.RSX" en mémoire à I'adresse ADR, il suffit de la rendre opérationnelle par CALL ADR, pour disposer des deux commandes RSX suivantes : | INIT, N : permet d'initialiser le compteur d'éléments. N est le nombre d'éléments du tableau à trier.

|TRI,@T$ : permet de trier le tableau T$().

Avant de lancer le tri d'un tableau, il convient d'informer la routine sur le nombre d'éléments à trier. De plus, devant l'absence de mesure veillant à contrôler la cohérence des paramètres, l'utilisateur devra veiller à ce que le tri puisse s'effectuer correctement, sachant que le tableau doit compter au moins K+N éléments, si l'on veut trier N éléments à partir du rang K. Exemple : si le tableau à trier N$() compte 200 éléments; N$(), N$(), N$()..., N$(), N$(), il suffit d'inclure dans le programme les lignes suivantes :

MEMORY &9FFF: LOAD"TRI.RSX": CALL &A000
.............................
|INIT, 200: Initialisation du compteur à 200 éléments.
|TRI, @N$() : Appel de la routine en commençant le tri à l'indice 1.

Le troisième programme est un programme de démonstration comparant les performances des tris en Basic et en langage machine. Il prouve à l'évidence l'intérêt de la routine qui s'avère vingt-cinq fois plus rapide que le Basic sur un tri de cent éléments.

Nota : pour les modèles 464 et 664, modifiez ainsi la ligne suivante :

670 WHILE INKEY$<> "": WEND

AMMAG n°41

★ EDITEUR: AM-MAG
★ ANNÉE: 1987
★ CONFIG: 64K + AMSDOS
★ LANGAGES:
★ LiCENCE: LISTING
★ AUTEUR: Philippe Marin
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» RSX-TRIDATE: 2010-08-13
DL: 408
TYPE: ZIP
SiZE: 6Ko
NOTE: 42 Cyls
.HFE: Χ

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

Lien(s):
» Applications » RSX Sprite (Happy Computer)
» Applications » RSX Printtrans (CPC Amstrad International)
» Applications » RSX Check / Checksummer (CPC Amstrad International)
» Applications » Rsx - Background Printing (Popular Computing Weekly)
» Applications » RSX TestFile (CPC Amstrad International)
» Applications » RSX SCROLL (Moj Micro)
Je participe au site:
» Vous avez des infos personnel ?
» 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
Page créée en 095 millisecondes et consultée 1656 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.