★ APPLICATIONS ★ PROGRAMMATION ★ CROSSREFERENZ (SCHNEIDER AKTIV) ★ |
CROSSREFERENZ (SCHNEIDER AKTIV) | CROSS-REFERENZ-ANPASSUNG AN DEN CPC 6128 |
In der Ausgabe Schneider aktiv 8/86 veröffentlichten Sie das Programm CROSSREFERENZ. Leider läuft das Programm so nur auf dem CPC 464. Ich habe dieses Programm für den CPC 6128 angepaßt und möchte Ihnen diese Anpassung nicht vorenthalten. Diese Version dürfte auch auf dem CPC 664 laufen. Die CPC-Serie verfügt über ein ausgeklügeltes Betriebssystem, in dem ungeahnte Fähigkeiten schlummern. Diese können auch vom BASIC ausgeschöpft werden, wobei das Handbuch nur spärlich Hilfestellung leistet. Aber zum Glück gibt es ja SCHNEIDER AKTIV, das dieses Manko wieder ausbügelt. 1. Das Programm CRLOAD.BAS wird nicht benötigt (Maschinenroutine führt auf CPC 6128 zum Absturz!) 2. CROSSREF.BAS — Zeile 65210 weglassen Das Folgende ist nicht notwendig, ermöglicht aber, Programme bis Zeilennummer 65299 zu analysieren: — In Zeile 65215: KEY 139,"RUN 65315"+CHR$(13) 3. CRAUSG. BAS — Zeile 40 weglassen Als Sortierroutine habe ich den Shell Sort gewählt. Der Quick-Sort ist zwar schneller, doch weiß ich nicht, wie man bei Strings eine sinnvolle Mittelwertbildung erreicht, wie sie beim Quick-Sort erforderlich ist, um die Felder zu teilen. Man könnte zwar die Strings in Zahlen umwandeln und dann den Mittelwert bilden, jedoch wird dann für die Umwandlungsfunktionen mehr Rechenzeit verwendet, als man durch das Verfahren spart. Der Shell-Sort ist nach dem Quick-Sort das am schnellsten mir bekannte Sortier-Verfahren. Man kann aber auch andere Verfahren wählen (evtl. Maschinenprogramme). Ein Diskettensortierprogramm könnte übrigens bei großen Datenmengen sinnvoller sein, um die auftretende Zerstückelung der Listen in mehrere Teillisten zu vermeiden. Die beste Lösung wäre meines Erachtens die, das schon im Programm CROSSREF das Schreiben auf Diskette sortiert erfolgt (entweder als binärer Baum oder im Hash-Verfahren. Um dies sinnvoll zu realisieren, braucht man allerdings MC-Routinen, die eine relative Dateiverwaltung erlauben). Hier aber nun die einfachste Lösung, der Sheil-Sort: 50000 ' |
|
|