Patentanspruch 1                                           Patentanspruch 2

 

                Verfahren  zum  stabilen  Sortieren  oder stabilen         Anordnung  zum Betrieb des Verfahrens nach Patent-

                Suchen  von  Datensätzen ohne  diese untereinander         anspruch 1 , gekennzeichnet  durch  folgende  Vor-

                vergleichen zu müssen, dadurch gekennzeichnet,dass         richtungen:

                die Datensätze in  die kleinsten, direkt ansprech-

                baren Zeichen zerlegt werden und dass durch Zählen         a) ein Registersatz um daraus den Bearbeitungszu-

                der  Zeichen (5,Fig.2), in  der  Reihenfolge, nach         stand eines  Datensatzes  zu erkennen (32,Fig.2) ;

                welcher wünschenswert sortiert oder gesucht werden

                soll (8,Fig.2), an denen Stellen,welche wünschens-         b) ein  Registersatz  um  die Anzahl gleicher vor-

                wert  beim  Sortieren  oder  Suchen berücksichtigt         kommender Zeichen der aktuell bearbeitenden Stelle

                werden  sollen  (12,Fig.2) , vom  ersten  bis  zum         aller zu sortierenden oder zu suchenden Datensätze

                letzten  Datensatz, der  zu  sortierenden  oder zu         zu zählen (5,Fig.2) ;

                suchenden Datensätze, die Startadresse  Dieser be-

                rechnet werden (6,Fig.2), an welcher das jeweilige         c) ein Registersatz,in welchen fortlaufend die be-

                Zeichen in der  Datenbank der  Sortierordnung ent-         rechnete  Adresse von  allen  vorkommenden Zeichen

                sprechend angesprochen werden muss;                        der aktuell  betrachtenden  Stelle aller  zu  sor-

                und dass  in einer  Liste (33,Fig.2) , aufsteigend         tierenden oder zu suchenden Datensätze eingetragen

                nummeriert, die  der Sortierordnung  entsprechende         werden (6,Fig.2) ; und

                Reihenfolge der Datensätze eingetragen wird;   und

                dass in einer Liste eingetragen wird (32,Fig.2),ob         d) ein  Registersatz, in  welchem  die Reihenfolge

                der Sortier-  oder  Such- Vorgang für den jeweilig         der  sortierten oder ausgewählten Datensätze fest-

                angesprochenen Datensatz abgeschlossen ist.                gehalten wird (33,Fig.2).

 

 

                                Unteransprüche                                             Unteransprüche

 

                1. Verfahren  nach  Patentanspruch  1, dadurch ge-         5. Anordnung  nach  Patentanspruch 2 , dadurch ge-

                kennzeichnet,dass wenn ein Datensatz an einer oder         kennzeichnet, dass  für  jede  zu sortierende oder

                mehreren beliebig  gewünschten Stelle(n) ,ein oder         beim  Suchen zu berücksichtigende Stelle, eine be-

                eine Auswahl beliebig gewünschte(s,r) Zeichen ent-         liebige  Folge  von  Sortier- oder Such- kriterien

                hält, dieser Datensatz für weiteres Sortieren oder         zugewiesen werden kann (8,Fig.2).

                Suchen gesperrt wird (10,Fig.2).

                                                                           6. Anordnung nach Patentanspruch 2, zur Ausführung

                2. Verfahren  nach  Patentanspruch 1,  dadurch ge-         des Verfahrens  nach  Unteranspruch 1, dadurch ge-

                kennzeichnet , dass  ein  bestimmtes  Zeichen (30,         kennzeichnet, dass  für jede  zu  sortierende oder

                Fig.2) das  Ende  eines  Objekts  kennzeichnet und         beim  Suchen zu berücksichtigende Stelle, eine be-

                dass  beim Erkennen  von  diesem Zeichen  der ent-         liebige Folge von Sperrkriterien zugewiesen werden

                sprechende  Datensatz  für weiteres Sortieren oder         kann (10,Fig.2).

                Suchen gesperrt wird.

                                                                           7. Anordnung  nach  Patentanspruch 2 , dadurch ge-

                3. Verfahren nach Patentanspruch 1, zur Ausführung         kennzeichnet , dass  die  Reihenfolge der  zu  be-

                des Verfahrens  nach  Unteranspruch 2, dadurch ge-         arbeitenden Stellen beliebig  gewählt  werden kann

                kennzeichnet, dass  wenn die Datensätze in mehrere         (12,Fig.2).

                Felder  aufgeteilt sind  (13,Fig.2) und  beim Sor-

                tieren oder Suchen mindestens zwei Datensätze auf-         8. Anordnung  nach  Patentanspruch 2 , dadurch ge-

                treten, welche  durch die Objektendemarkierung be-         kennzeichnet, dass in einem  Register  die  Anzahl

                grenzt, identisch sind,jedoch für diese Datensätze         gefundener Datensätze eingetragen wird (25,Fig.2).

                noch  Stellen zu  untersuchen sind, ausserhalb des

                aktuellen Feldes, so wird  in der Liste (32,Fig.2)

                mit den  Eintragungen über den Bearbeitungszustand

                der entsprechenden Datensätze vermerkt, dass diese

                noch für weiteres Suchen oder Sortieren betrachtet

                werden müssen.

 

                4. Verfahren nach Patentanspruch 1, zur Ausführung

                des  Verfahrens  nach  Unteranspruch 1 oder Unter-

                anspruch 3, dadurch gekennzeichnet, dass bei einem

                Suchvorgang  die Anzahl  gefundener Datensätze aus

                einem  Register  gelesen werden können (25,Fig.2)

 

 

                                                                                                                            1

 

 

 

 

 

 

 

 

 

                Anordnung zum  Sortieren,  Suchen oder  geordneten

                Auswählen  von  Datensätzen und  Verfahren zum Be-

                trieb dieser Anordnung.

 

 

                Bei der Datenverarbeitung ist es oft erforderlich,         Der  vorliegenden  Erfindung liegt die Aufgabe zu-

                dass  aus  einer  Datenbank  gespeichert  auf per-         grunde,eine Anordnung und ein Verfahren anzugeben,

                ipheren Speichern, z.B. optische oder  magnetische         die es erlauben, beliebige Daten, gespeichert  auf

                Plattenspeicher,Datensätze die bestimmte Kriterien         einem Speichermedium mit  wahlfreiem  Zugriff, die

                erfüllen, Diese  nach bestimmten Kriterien zu sor-         Daten  nach  verschiedensten  Kriterien  stabil zu

                tieren oder zu suchen.                                     sortieren oder  stabil zu suchen, ohne  dass Diese

                                                                           untereinander  oder mit  fremden  Daten verglichen

                Eine  Datenbank kann beispielsweise Adressen aller         werden müssen.

                in der Schweiz  wohnhaften Personen enthalten. Die         Das Sortieren oder Suchen erfolgt durch Zählen von

                Daten  für  jede  einzelne Person sind dabei in je         gleichen , kleinsten  direkt ansprechbaren Zeichen

                einem Datensatz  in  definierter  Reihenfolge  zu-         aus  Datensätzen  und dem, anhand der Zählung, be-

                sammengefasst. Im genannten Beispiel enthält jeder         rechneten  Eingliedern der  Zeichen, unter berück-

                Datensatz den Namen, den Vornamen, die Strasse und         sichtigung der Kriterien,welche die Sortierordnung

                den Wohnort. Die  verschiedenen  Angaben wie Namen         oder die Auswahl  beim  Suchen  definieren. In der

                oder Strasse werden hier Objekte genannt. Wenn nun         vorliegenden  Einrichtung  werden  die zu sortier-

                z.B  die  Daten  aller  Personen  benötigt werden,         enden  oder  bei  einem  Suchprozess  ausgewählten

                welche in Bern wohnen und an  zweiter Stelle ihres         Daten nicht  untereinander  vertauscht  um die ge-

                Vornamens den Buchstaben A enthalten und zum Nach-         wünschte  Ordnung zu erreichen, sondern es wird in

                namen Meier heissen, sollen alle Datensätze,welche         einer Liste, die der Ordnung entsprechenden Daten-

                diese Kriterien erfüllen,in analphabetischer Reih-         satzadressen  eingetragen.  Der  Zugriff  auf  die

                enfolge geordnet, bezogen auf den Vornamen,aus der         Datensätze  erfolgt  mittels dem  Verweis der Ein-

                Datenbank ausgewählt werden.                               träge in der Liste. Die  Datenbank bleibt also un-

                                                                           berührt  und  es  können mehrere solche Listen mit

                Es  könnte  auch  Aufgabe  sein , alle  Datensätze         unterschiedlicher Ordnung angelegt werden.

                alphabetisch zu sortieren. Oder etwas schwieriger,         Durch  die sehr gute Effizienz beim Sortieren oder

                die Datensätze analphabetisch zu sortieren  jedoch         Suchen  von  Daten  auf  Peripheren  Speichern mit

                so , dass  alle  mit  'F'  beginnenden Datensätze,         wahlfreiem  Zugriff, eignet sich das Verfahren und

                zuerst erscheinen.                                         die Einrichtung insbesondere um grosse Datenmengen

                                                                           zu bearbeiten.

                                                                           Die Erfindung vereinitgt  mittels diesem Verfahren

                Es sind schon Anordnungen und Verfahren zur Lösung         und  dieser  Anordnung auch  eine Lösung  um damit

                solcher Sortier- oder Such- probleme bekannt.              Datensätze  mit mehreren  Felder, nach  nahezu be-

                Beim Sortieren  werden  dabei  mit Hilfe bekannter         liebig  vielen  Kriterien, zu  sortieren  oder  zu

                Sortieralgorithmen , durch Vergleichen und Austau-         suchen. Durch die richtige Vorgabe  der Kriterien,

                schen von Objekten nach einem ersten Kriterium die         lassen sich  auch  vorzeichenbehaftete Zahlen sor-

                Datensätze sortiert. Sind weitere Arbeitsgänge er-         tieren.

                forderlich , werden dann aus dieser Vorauswahl die

                Datensätze  nach  weiteren  Kriterien  geprüft und

                wiederum  durch  Vergleichen  und  Austauschen  in         Im Folgenden wird die Erfindung  anhand von Zeich-

                die  gewünschte Ordnung gebracht.                          nungen beschrieben.

                Beim  dem  Suchen von  Objekten werden oftmals die

                Objekte sortiert um  danach eine  Auswahl zu tref-

                fen. Es gibt auch  Verfahren , welche mittels Ver-

                gleichen von  bestimmten Merkmalen der Datensätze,

                direkt  eine  Auswahl  treffen . Sollen  aber  die

                ausgewählten Datensätze in sortierter  Reihenfolge

                ausgewählt  werden , so  sind wiederum weitere Ar-

                beitsgänge notwendig.

                                                                                                                            2

 

 

 

 

 

 

                Es zeigen:                                                 Dateneinheit:

                                                                           Eine Dateneinheit bezeichnet ein kleinstes, direkt

                Fig.1 die  schematische Uebersicht einer Datenver-         ansprechbares Register einer Anordnung.Die Aussage

                arbeitungsanlage, in der die vorliegende Erfindung         einer Dateneinheit ist definiert durch ihr binäres

                verwendung finden kann ;                                   Muster. Eine  Dateneinheit kann beliebig viele, im

                                                                           Minimum zwei Zustände haben.

                Fig.2 ein  Beispiel  der Verteilung  von Register-         In  der  vorliegenden Anordnung  wird  eine solche

                sätzen und Register in  den Haupt- und Peripherie-         Dateneinheit Byte genannt. Ein Byte wird üblicher-

                Speicher, wie sie  Ausgangslage  für die Beschrei-         weise definiert, durch 8-binäre  Zustände. Die An-

                bung ist ;                                                 zahl verschiedener  binärer Zustände einer solchen

                                                                           Dateneinheit  beträgt  somit die zweite Potenz von

                Fig.3 eine Datenbank wie  sie als Ausgangslage für         '8' gleich '256'.

                Beispiele verwendet wird ;

                                                                           Zeichen:

                Fig.4 eine  Datenbank  entsprechend  dem  Ergebnis         Jeder  beliebige  Inhalt  einer  Dateneinheit  be-

                eines Sortierbeispiels ;                                   schreibt ein Zeichen.

 

                Fig.5 eine  Datenbank  entsprechend  dem  Ergebnis         Kriterium:

                eines Suchbeispiels ;                                      Ein Kriterium  ist immer ein beliebiger Inhalt ei-

                                                                           ner  Dateneinheit. Es ist ein Zeichen, mit welchem

                Fig.6 ein Verfahrensablaufplan um die Arbeitsweise         die Sortierordnung  oder  die  Auswahl beim Suchen

                der Datenverarbeitungsanlage  besser  verstehen zu         beeinflusst wird.

                können.

                                                                           Register:

                                                                           Ein Register  bezeichnet einen  Speicherplatz  zur

                Fig.1 zeigt eine Datenverarbeitungsanlage mit ein-         Aufnahme von einer beliebigen Anzahl, jedoch  min-

                nem Prozessor  (Zentrale Verarbeitungseinheit=CPU)         destens einer  Dateneinheit .  Ein  Register  wird

                1,einem Hauptspeicher 2,eine Speichersteuereinheit         mittels  einem  zugeordneten  Registernamen  ange-

                ( mit  welcher  der  Zugriff  und  der  Datenfluss         sprochen.

                zwischen  dem Prozessor und dem Peripheriespeicher

                gesteuert wird ) 3  und einem peripheren Speicher-         Registersatz:

                medium 4 mit wahlfreiem Zugriff.                           Ein  Registersatz  ist  bezeichnend  für eine  be-

                                                                           liebige Anzahl, jedoch mindestens  einem Register.

                                                                           Enthält  ein  Registersatz  mehrere  Register , so

                Es ist notwendig um ein gerechtes Erscheinungsbild         sind die  Register  mit '0' beginnend  nummeriert.

                der vorliegenden  Erfindung  wiederzugeben, einige         Alle Register eines Registersatzes werden mit dem-

                Begriffe  zu erklären, welche bei der Formulierung         selben Namen angesprochen.

                der Erfindung verwendung finden.                           Werden  mehrere  Registersätze mit demselben Namen

                                                                           angesprochen, so  sind  die  Registersätze mit '0'

                Datenbank:                                                 beginnend nummeriert.Um ein Register eines solchen

                Eine Datenbank  beinhaltet  eine Aneinanderreihung         Registersatzes anzusprechen,wird der Registersatz-

                einer beliebigen Anzahl Datensätzen.                       name, gefolgt von der  Registersatznummer, gefolgt

                                                                           von  der  Bezeichnung Register  und  der Register-

                Datensatz:                                                 nummer genannt.

                Ein Datensatz besteht aus einer beliebigen Anzahl,

                jedoch mindestens einem Datenfeld. Ein Suchen oder         Stelle:

                Sortieren  erfolgt  immer  nach  Datensätzen . Für         Eine  Stelle  bezeichnet  eine  Position  in einem

                Datensatz wird  oft die Abkürzung DS verwendet.            Datensatz.  Die Stelle  '0' ist  die  1.Stelle und

                                                                           deutet  auf  die  erste Dateneinheit  eines Daten-

                Datenfeld:                                                 satzes.

                Ein Datenfeld besteht aus einer beliebigen Anzahl,

                jedoch  mindestens einer Dateneinheit. Der Eintrag

                in ein Datenfeld wird als Objekt bezeichnet.

 

                Objekt:

                Ein  Objekt besteht  aus  einer beliebigen  Anzahl

                Dateneinheiten. Die Bezeichnug des Objekts ist der

                Name vom Datenfeld, in welches das  Objekt  einge-

                tragen wird.

 

 

 

                                                                                                                            3

 

 

 

 

 

 

 

 

 

                Im  Hauptspeicher ,  sowie  im  Peripheriespeicher         7 Ein  oder  mehrere  Registersätze um  darin Kri-

                werden Register angelegt , deren  Grössen  wie sie         terien zu  speichern. In  jedes Register wird  ein

                in der vorliegenden  Anordnung  verwendet  werden,         Kriterium eingetragen.

                wie folgt definiert sind:                                  Registergrösse D,    Bez.: FOLGE-REG-SATZ(Nr.0...)

 

                Registergrösse A  (entspricht  in der vorliegenden         8 Ein  Registersatz, in  welchem  für  jede Stelle

                Anordnung 2 Byte) ; ist so bemessen,dass darin die         eines  Datensatzes , welche  beim  Sortieren  oder

                Nummer der letzten Stelle eines Datensatzes einge-         Suchen  betrachtet  werden soll, ein  Register zur

                tragen werden kann.                                        Verfügung  gestellt wird in  welches  die  Adresse

                                                                           eines  Registersatzes  eingetragen  werden  kann ,

                Registergrösse B  (entspricht in der  vorliegenden         dessen Register Kriterien zum  Sortieren  oder Su-

                Anordnung 4 Byte) ; ist so bemessen,dass darin die         chen von Datensätzen enthält.

                Nummer des  letzten zu  bearbeitenden  Datensatzes         Registergrösse C,   Bezeichnung: SO-FOLGE-REG-SATZ

                eingetragen werden kann.

                                                                           9 Ein  Registersatz, in  welchem  für  jede Stelle

                Registergrösse C  (entspricht in  der vorliegenden         eines Datensatzes, welche beim Sortieren  oder Su-

                Anordnung 4 Byte) ; ist  so bemessen , dass  darin         chen  betrachtet  werden soll,  ein  Register  zur

                die Adresse  eines  anderen Registers  eingetragen         Verfügung gestellt  wird in welches die Anzahl der

                werden kann.                                               Kriterien  betreffend  der  zugewiesenen  Sortier-

                                                                           folge oder Suchfolge eingetragen werden kann.

                Registergrösse D (entspricht in  der  vorliegenden         Registergrösse D,      Bez.: LEN-SO-FOLGE-REG-SATZ

                Anordnung 1 Byte) ; ist so  bemessen , dass  darin

                eine Dateneinheit  eingetragen werden kann.                10 Ein Registersatz,in welchem für jede Stelle ei-

                                                                           nes Datensatzes, welche beim Sortieren oder Suchen

                                                                           betrachtet werden soll, ein Register zur Verfügung

                In  der vorliegenden Datenverarbeitungsanlage sind         gestellt  wird  in  welches  die Adresse eines Re-

                die verwendeten Registersätze verteilt aufzufinden         gistersatzes  eingetragen  werden kann, dessen Re-

                in dem  Hauptspeicher 2 und dem Peripheriespeicher         gister  Kriterien zum Sperren von Datensätzen ent-

                4. Andere  Anordnungen, in welchen das vorliegende         hält.

                Verfahren, welches Teil der vorliegenden Erfindung         Registergrösse C,   Bezeichnung: SP-FOLGE-REG-SATZ

                ist, angewendet  wird, mögen  diese  Registersätze

                anders  in  Hauptspeicher  und  Peripheriespeicher         11 Ein Registersatz,in welchem für jede Stelle ei-

                verteilen. Es ist jedoch nicht ein Merkmal der Er-         nes Datensatzes, welche beim Sortieren oder Suchen

                findung zu definieren , in welche  Speicher  diese         betrachtet werden soll, ein Register zur Verfügung

                Registersätze eingetragen werden sollen.                   gestellt wird in welches die Anzahl der Kriterien,

                                                                           betreffend der zugewiesenen Sperrfolge,eingetragen

                                                                           werden kann.

                In der vorliegenden  Datenverarbeitungsanlage kann         Registergrösse D, Bez.: LEN-SP-FOLGE-REG-SATZ

                der  Prozessor 1 gemäss  Fig.2, folgende im Haupt-

                speicher 2 angelegten Registersätze ansprechen:            12 Ein  Registersatz  aus  welchem  gelesen werden

                                                                           kann, in welcher Reihenfolge die Stellen eines Da-

                5 Ein  Registersatz  um  Zeichen  zu  zählen . Die         tensatzes für ein Sortieren oder Suchen betrachtet

                Registernummer entspricht dem Zeichen, von welchem         werden sollen. Jeder  zu bearbeitenden Stelle wird

                die Anzahl in dieses Register eingetragen wird.Für         ein Register zur Verfügung gestellt.

                jedes mögliche Zeichen, welches bei einem Sortier-         Registergrösse A,   Bezeichnung: ST-FOLGE-REG-SATZ

                oder Such- prozess  auftreten kann , wird  ein Re-

                gister benötigt.                                           13 Ein  Registersatz  aus  welchem  gelesen werden

                Registergrösse: B,       Bezeichnung: ANZ-REG-SATZ         kann, welche Stelle eines Datensatzes welchem Feld

                                                                           angehört. Für jede Stelle eines Datensatzes welche

                6 Ein  Registersatz  um  berechnete  Adressen  von         beim  Sortieren  betrachtet  werden soll, wird ein

                Zeichen einzutragen. Die Registernummer entspricht         Register zur Verfügung gestellt.

                dem Zeichen, von welchem die Adresse in dieses Re-         Registergrösse A, Bezeichnung: ST-FELD-REG-SATZ

                gister  eingetragen  wird. Für jedes mögliche Zei-         Z.B.

                chen,welches bei einem Sortier- oder Such- prozess         Im folgenden Beispiel  ist ersichtlich, welche Re-

                auftreten kann, wird ein Register benötigt.                gistereinträge für eine Feldeinteilung nötig sind.

                Registergrösse B,        Bezeichnung: ADR-REG-SATZ

                                                                           Datensatz:                 Hans Meier  Langstr. 59

                                                                           ST-FELD-REGISTER-SATZ      00000111111122222222222

 

 

 

 

                                                                                                                            4

 

 

 

 

 

 

 

 

 

                Die  Stelle  ST-FELD-REGISTER '4'(5.Stelle) gehört         25 In  das Register ANZ-GEFUNDEN  wird  die Anzahl

                zum 1.Feld  des  Datensatzes. In  diesem  Beispiel         gefundener  Datensätze  eines Suchprozesses einge-

                dem Vornamen. Die  Stelle ST-FELD-REGISTER '5' (6.         tragen.

                Stelle)  gehört  zum  2.Feld  des  Datensatzes. In         Registergrösse B

                diesem Beispiel dem Nachnamen.    usw.

                                                                           26 In das  Register    ADR-SO-KRITERIUM   wird die

                                                                           Adresse von einem Register eingetragen.

                In der  vorliegenden Datenverarbeitungsanlage kann         Registergrösse C

                der  Prozessor 1 gemäss Fig.2, folgende  im Haupt-

                speicher 2 angelegten Register ansprechen:                 27 In  das Register    ADR-SP-KRITERIUM   wird die

                                                                           Adresse von einem Register eingetragen.

                14 In  das  Register  DS-ANZAHL  wird  die  Anzahl         Registergrösse C

                Datensätze eingetragen , welche für  den  Sortier-

                oder Such- prozess berücksichtigt werden.                  28 In  das Register   ADR-AKT-KRITERIUM   wird die

                Registergrösse B                                           Adresse von einem Register eingetragen.

                                                                           Registergrösse C

                15 In das Register ST-ANZAHL wird die  Anzahl beim

                Sortieren oder beim Suchen  berücksichtigter Stel-         29 Das  Register ZEICHEN-TEMP dient dem temporären

                len eingetragen. Registergrösse A                          Speichern eines Zeichens.

                                                                           Registergrösse D

                16 In  das Register ST-AKTUELL wird die Nummer der

                aktuell bearbeitenden Stelle eingetragen.                  30 In das Register  OBJ-EM wird die Objektendemar-

                Registergrösse A                                           kierung eingetragen.

                                                                           Registergrösse D

                17 In  das  Register  ST-ZUVOR wird die Nummer der

                zuvor bearbeiteten Stelle eingetragen.

                Registergrösse A                                           In  der  vorliegenden Datenverarbeitungsanlage sei

                                                                           zum Zwecke  der  Beschreibung angenommen, dass der

                18 In das Register ST-ZAEHLER wird  die Anzahl der         Peripheriespeicher 4 ein Magnetplattenspeicher ist

                bereits bearbeiteten Stellen eingetragen.                  und  dass  der  Prozessor 1 auf Diesem via Steuer-

                Registergrösse A                                           einheit 3  folgende Registersätze gemäss Fig.2 an-

                                                                           sprechen kann:

                19 Das  Register A-TEMP dient  dem temporären Auf-

                bewahren von Daten.                                        31 Den  Datenbank-Registersatz  in  welchem die zu

                Registergrösse B                                           sortierenden oder  zu  suchenden Datensätze einge-

                                                                           tragen sind. Die  Anzahl Register ist abhängig von

                20 Das  Register B-TEMP dient  dem temporären Auf-         Länge und Anzahl der Datensätze.

                bewahren von Daten.                                        Registergrösse D,         Bezeichnung: DB-REG-SATZ

                Registergrösse B

                                                                           32 Ein Registersatz, in  welchem der Bearbeitungs-

                21 Das  Register C-TEMP dient  dem temporären Auf-         zustand eines Datensatzes  festgehalten  wird. Die

                bewahren von Daten.                                        Anzahl Register entspricht einem Register mehr als

                Registergrösse B                                           Datensäzte vorhanden sind.

                                                                           Registergrösse D,         Bezeichnung: ZU-REG-SATZ

                22 In  das  Register SO-START  wird die Datensatz-

                nummer eingetragen, bei welcher  ein Sortier- oder         33 Ein  Registersatz  in welchem eine Nummerierung

                Such- vorgang beginnt.                                     (Indexierung)  der  Datensätze  eingetragen werden

                Registergrösse B                                           kann . Die Anzahl Register, entspricht der  Anzahl

                                                                           Datensätze.Nachdem ein Sortier- oder Such- prozess

                23 Das Register SO-START-TEMP dient dem temporären         abgeschlossen ist, enthält dieser Registersatz bei

                Aufbewahren einer Datensatznummer.                         '0' beginnend, die der Sortier- oder Such- ordnung

                Registergrösse B                                           entsprechende Nummerierung um damit die Datensätze

                                                                           in der Datenbank anzusprechen.

                24 In das Register SO-ENDE wird eine binäre Infor-         Registergrösse C,         Bezeichnung: Z1-REG-SATZ

                mation, mit welcher  das Ende  eines Sortier- oder

                Such- Prozesses angezeigt wird, eingetragen.               34 Ein  Registersatz, welcher  verwendet  wird  um

                Registergrösse D                                           darin  die  Datensatznummern entsprechend der Sor-

                                                                           tier- oder Such- ordnung  einzutragen. Die  Anzahl

                                                                           Register entspricht der Anzahl Datensätze.

                                                                           Registergrösse C,         Bezeichnung: Z2-REG-SATZ

 

 

                                                                                                                            5

 

 

 

 

 

 

 

 

 

                Die Uebertragung  von  Daten zwischen  dem  Haupt-         In  das  Register ANZ-GEFUNDEN wird der Inhalt von

                speicher 2 und  dem  Peripheriespeicher 4, wird in         DS-ANZAHL eingetragen 107 .

                vielen  Installationen  durch  den Prozessor 1 be-

                wirkt. In dem  hier beschriebenen  Ausführungsbei-         Solange der Inhalt vom Register ST-ZAEHLER kleiner

                spiel  der  Erfindung, ist  jedoch  eine Speicher-         ist  als der Inhalt vom Register ST-ANZAHL und der

                steuereinheit 3 in  Verbindung  mit  dem Prozessor         Inhalt vom  Register  ENDE-SORT '0' ist, wird  der

                vorgesehen um die  Datenübertragungen  zu steuern.         folgende Schritt BB ausgeführt 108 :

 

                Daten  für das System entstammen üblichen Eingabe/         BB-Beginn

                Ausgabe  Geräten, zu  denen  auch der in Fig.1 ge-

                zeigte Peripheriespeicher 4 gehört.                        In  das  Register ST-ZUVOR wird der Inhalt vom Re-

                                                                           gister ST-AKTUELL eingetragen 109 .

                Folgend werden  alle Register aufgeführt, in  wel-

                chen vor  jedem Sortier-  oder  Such- Start, Defi-         In das Register ST-AKTUELL wird der Inhalt vom Re-

                nitionen  bezüglich  der gewünschten Sortier- oder         gister  ST-FOLGE-REG(Inhalt von ST-ZAEHLER) einge-

                Such- ordnung eingetragen sein müssen.                     tragen 110 .

                Es sind dies:

                                                                           Ist der Inhalt vom Register ST-FELD-REG(Inhalt von

                FOLGE-REG-SATZ         7,Fig.2;                            ST-AKTUELL )  ungleich  dem  Inhalt  vom  Register

                SO-FOLGE-REG-SATZ      8,Fig.2;                            ST-FELD-REG(Inhalt von ST-ZUVOR), so wird der fol-

                LEN-SO-FOLGE-REG-SATZ  9,Fig.2;                            gende Schritt CC ausgeführt 111 :

                SP-FOLGE-REG-SATZ     10,Fig.2;

                LEN-SP-FOLGE-REG-SATZ 11,Fig.2;                            CC-Beginn

                ST-FOLGE-REG-SATZ     12,Fig.2;

                ST-FELD-REG-SATZ      13,Fig.2;                            In das  Register B-TEMP wird '0' eingetragen 112 .

                DS-ANZAHL             14,Fig.2;

                ST-ANZAHL             15,Fig.2;                            Solange der Inhalt vom Register B-TEMP kleiner ist

                OBJ-EM                30,Fig.2                             als  der Inhalt  vom  Register DS-ANZAHL, wird der

                                                                           folgende Schritt DD ausgeführt 113 :

                                                                           DD-Beginn

                Die Anordnung,mit deren zusammenwirken des genann-         Ist der Inhalt  vom Register  ZU-REG(Inhalt von B-

                ten Verfahrens  der  Betrieb der  Erfindung  ermö-         TEMP) grösser als '1' , wird in dieses Register'0'

                glicht wird, ist im folgenden  Ausführungsbeispiel         eingetragen 114 .

                von AA-Start bis AA-Ende beschrieben.

                                                                           Der  Inhalt  vom  Register  B-TEMP wird um '1' er-

                Die  Beschreibung  nimmt ausschliesslich Bezug auf         höht 115 .

                die Darstellung in Fig.6.

                                                                           DD-Ende

 

                AA-Start                                                   CC-Ende

 

                Alle  Register  vom  Z1-REG-SATZ enthalten in auf-         In das Register SO-ENDE wird '1' eingetragen 116 .

                steigender Reihenfolge  die  Startadressen  der zu

                bearbeitenden Datensätze 101 .                             In  das Register  B-TEMP wird '0' eingetragen 117.

 

                Der  Prozessor  initialisiert  alle  Register  vom         Solange der Inhalt vom Register B-TEMP kleiner ist

                ANZ-REG-SATZ mit '0' 102 .                                 als  der  Inhalt vom  Register DS-ANZAHL, wird der

                                                                           folgende Schritt EE ausgeführt 118 .

                Der  Prozessor  initialisiert  alle  Register  vom

                ZU-REG-SATZ mit '0' ausser in das erste und letzte         EE-Beginn

                Register wird '1' eingetragen 103 .

                                                                           Ist, der  Eintrag vom  Register  ZU-REG(Inhalt von

                In das Register ST-AKTUELL wird der Inhalt vom Re-         B-TEMP) grösser '0' und  der  Eintrag vom Register

                gister ST-FOLGE-REG(Nr.0)  eingetragen. ST-AKTUELL         ZU-REG(Inhalt von B-TEMP +1)  gleich '0', so  wird

                enthält jetzt die Stelle welche als erste sortiert         folgender Schritt FF ausgeführt 119 :

                werden soll 104 .

                                                                           FF-Beginn

                In das Register SORT-ENDE wird '0'eingetragen 105.

                                                                           In das Register SO-ENDE wird '0' eingetragen 120 .

                In das Register ST-ZAEHLER wird'0'eingetragen 106.

 

 

                                                                                                                            6

 

 

 

 

 

 

 

 

 

                In  das  Register  SO-START  wird  der  Inhalt vom         HH-Beginn

                Register B_TEMP eingetragen 121 .

                                                                           In  das  Register  ADR-REG(Inhalt von dem Register

                Der Inhalt vom Register ANZ-REG(Inhalt von dem Re-         mit  der  Adresse (Inhalt von  ADR-AKT-KRITERIUM))

                gister mit  der Adresse (Z1-REG(Inhalt von B-TEMP)         wird der Inhalt vom  Register SO-START-TEMP einge-

                plus Inhalt von Register  ST-AKTUELL)) wird um '1'         tragen 135 .

                erhöht 122 .

                                                                           In  das  Register ZU-REG(Inhalt von SO-START-TEMP)

                Der  Inhalt  vom  Register  B-TEMP wird um '1' er-         wird '1' eingetragen 136 .

                höht 123 .

                                                                           Zum Inhalt vom Register SO-START-TEMP wird der In-

                Solange  der  Inhalt von ZU-REG(Inhalt von B-TEMP)         halt vom Register ANZ-REG(Inhalt von dem  Register

                '0' ist 124, wird  der Inhalt vom Register ANZ-REG         mit der Adresse  (Inhalt  von  ADR-AKT-KRITERIUM))

                (Inhalt von dem Register mit  der  Adresse (Z1-REG         addiert 137 .

                (Inhalt von B-TEMP)  plus Inhalt  von Register ST-

                AKTUELL)) um '1' erhöht 125 und der Inhalt vom Re-         HH-Ende

                gister B-TEMP um '1' erhöht 126 .

                                                                           Der Inhalt  vom Register ADR-AKT-KRITERIUM wird um

                In das Register ADR-AKT-KRITERIUM  wird der Inhalt         '1' erhöht 138 .

                vom  Register  SO-FOLGE-REG( Inhalt  vom  Register

                ST-ZAEHLER) eingetragen 127 .                              GG-Ende

 

                In  das Register  ADR-SO-KRITERIUM wird die Summe,         Ist  der  Inhalt vom  Register  ANZ-REG(Inhalt von

                Inhalt vom  Register SO-FOLGE-REG(Inhalt  von  ST-         OBJ-EM) grösser als '1', wird der folgende Schritt

                ZAEHLER) addiert  mit dem Inhalt vom Register LEN-         II ausgeführt 139 :

                SO-FOLGE-REG(Inhalt von ST-ZAEHLER), minus '1'ein-

                getragen 128 .                                             II-Beginn

 

                In  das  Register  ADR-REG(Inhalt von dem Register         In  das  Register C-TEMP  wird  der Inhalt vom Re-

                mit  der  Adresse  (Inhalt von ADR-AKT-KRITERIUM))         gister ADR-REG(Inhalt von  OBJ-EM) plus '1' einge-

                wird  der Inhalt  vom Register  SO-START eingetra-         tragen 140 .

                gen 129 .

                                                                           Solange  der Inhalt  vom  Register  C-TEMP kleiner

                In  das  Register  ZU-REG(Inhalt  von dem Register         ist, als die Summe vom Inhalt vom Register ADR-REG

                ADR-REG(Inhalt von dem Register mit der Adresse            (Inhalt von OBJ-EM) addiert mit dem Inhalt vom Re-

                (Inhalt  von  ADR-AKT-KRITERIUM))) wird '1' einge-         gister ANZ-REG(Inhalt von OBJ-EM) 141, wird in das

                tragen 130 .                                               Register ZU-REG(Inhalt von C-TEMP) '2' eingetragen

                                                                           142 und das Register C-TEMP um '1' erhöht 143 .

                In das  Register SO-START-TEMP wird der Inhalt vom

                Register  ADR-REG(Inhalt von dem Register  mit der         II-Ende

                Adresse (Inhalt von ADR-AKT-KRITERIUM))  plus  der

                Inhalt  vom  Register  ANZ-REG(Inhalt von  dem Re-         In  das  Register ADR-SP-KRITERIUM wird der Inhalt

                gister  mit  der  Adresse  ( Inhalt  von  ADR-AKT-         vom Register  SP-FOLGE-REG(Inhalt von  ST-ZAEHLER)

                KRITERIUM)) eingetragen 131 .                              eingetragen 144 .

 

                Der Inhalt  vom Register ADR-AKT-KRITERIUM wird um         In das Register A-TEMP  wird '0' eingetragen 145 .

                '1' erhöht 132 .

                                                                           Solange der  Inhalt vom  Register  A-TEMP  kleiner

                Solange  der Inhalt vom Register ADR-AKT-KRITERIUM         ist als  der Inhalt  vom Register LEN-SP-FOLGE-REG

                kleiner oder gleich dem Inhalt vom Register ADR-SO         (Inhalt von ST-ZAEHLER) wird  der folgende Schritt

                -KRITERIUM ist, wird  der folgende Schritt GG aus-         KK ausgeführt 146 :

                geführt 133 :

                                                                           KK-Beginn

                GG-Beginn

                                                                           In das  Register C-TEMP  wird der  Inhalt  vom Re-

                Ist der Inhalt vom Register ANZ-REG(Inhalt von dem         gister ADR-REG(Inhalt vom Register mit der Adresse

                Register  mit  der  Adresse (Inhalt  von  ADR-AKT-         (Inhalt  von  ADR-SP-KRITERIUM))  eingetragen 147

                KRITERIUM)) grösser '0', wird der folgende Schritt

                HH ausgeführt 134 :

 

 

 

                                                                                                                            7

 

 

 

 

 

 

 

 

 

                Solange der Inhalt vom Register C-TEMP kleiner ist         MM-Beginn

                als der Inhalt vom Register ADR-REG(Inhalt von dem

                Register  mit  der  Adresse ( Inhalt  von  ADR-SP-         Ist der Inhalt vom Register SO-ENDE gleich '1' und

                KRITERIUM )) plus der Inhalt vom Register ANZ-REG(         der Inhalt vom Register  ZU-REG(Inhalt von B-TEMP)

                Inhalt  von dem  Register mit  der Adresse (Inhalt         grösser '1' 165, so wird in  das  Register SO-ENDE

                von ADR-SP-KRITERIUM)) 148 , wird, in das Register         '2' eingetragen 166 .

                ZU-REG(Inhalt von C-TEMP) '1' eingetragen 149 ,der

                Inhalt vom Register C-TEMP  um '1' erhöht 150  und         Das Register B-TEMP wird um '1' erhöht 167 .

                der Inhalt vom Register ANZ-GEFUNDEN um '1' ernie-

                drigt 151 .                                                MM-Ende

 

                Der Inhalt vom Register ADR-SP-KRITERIUM wird um 1         EE-Ende

                erhöht 152 .

                                                                           Das  Register  ST-ZAEHLER wird um '1' erhöht 168 .

                KK-Ende

                                                                           Ist  der  Inhalt  vom Register  SO-ENDE gleich '2'

                In  das  Register  A-TEMP  wird der Inhalt vom Re-         wird der folgende Schritt NN ausgeführt 169 :

                gister SO-START eingetragen 153 .

                                                                           NN-Beginn

                Solange  der  Inhalt  vom Register  A-TEMP kleiner

                ist als der Inhalt vom Register  B-TEMP , wird der         Solange der Inhalt vom Register ST-ZAEHLER kleiner

                folgende Schritt  LL ausgeführt 154 .                      ist  als der Inhalt vom Register ST_ANZAHL und der

                                                                           Inhalt vom  Register  ST-FELD-REG(Inhalt  von  ST-

                LL-Beginn                                                  AKTUELL) gleich  ist wie  der Inhalt vom  Register

                                                                           ST-FELD-REG(Inhalt von ST-FOLGE-REG(Inhalt von ST-

                In das  Register ZEICHEN-TEMP wird der  Inhalt von         ZAEHLER)) 170, wird  der  Inhalt  vom Register ST-

                dem Register mit  der  Adresse (Inhalt von  Z1-REG         ZAEHLER um '1' erhöht 171 .

                (Inhalt  von  A-TEMP  plus Inhalt von ST-AKTUELL))

                eingetragen 155 .                                          172 In das Register SO-ENDE  wird '0' eingetragen.

 

                In das Register  Z2-REG(Inhalt  von ADR-REG(Inhalt         NN-Ende

                von  ZEICHEN-TEMP)) wird der  Inhalt  vom Register

                Z1-REG(Inhalt von A-TEMP) eingetragen 156 .                BB-Ende

 

                Der Inhalt vom Register ADR-REG(Inhalt von ZEICHEN         AA-Ende

                -TEMP) wird um '1'erhöht 157 .

 

                Der Inhalt vom Register ANZ-REG(Inhalt von ZEICHEN

                -TEMP) wird um '1' erniedrigt 158 .                        Folgend wird anhand von Beispielen erklärt, welche

                                                                           Registereinträge notwendig sind um eine gewünschte

                Das Register A-TEMP wird um '1' erhöht 159 .               Sortierordnung oder Suchordnung zu erreichen.

 

                LL-Ende                                                    Die  Datenbank in Fig.3  ist Ausgangslage  für die

                                                                           Beispiele '1' und '2'.

                In  das  Register  A-TEMP  wird der Inhalt vom Re-

                gister SO-START eingetragen 160 .

                                                                           Folgende Information  kann der Datenbank entnommen

                Solange der Inhalt vom Register A-TEMP kleiner ist         werden:

                als der Inhalt vom Register  B-TEMP 161 , wird  in

                das Register  Z1-REG(Inhalt von A-TEMP) der Inhalt         Die  Datenbank  enthält '12' Datensätze mit Daten-

                vom Register Z2-REG(Inhalt von A-TEMP) eingetragen         satzlänge '9'. Die  Datensätze sind eingeteilt  in

                162  und  das  Register A-TEMP um '1' erhöht 163 .         '2' Felder. Das 1. Feld beginnt  an der Stelle '0'

                                                                           und ist '6' Zeichen  lang. Das  2. Feld beginnt an

                FF-Ende                                                    der Stelle '6'und ist '3'Zeichen lang. Die Objekt-

                                                                           endemarke ist das Minuszeichen ('-').

                Ist  der  Eintrag  vom  Register ZU-REG(Inhalt von

                B-TEMP) gleich '0', und  oder ist  der Eintrag vom

                Register  ZU-REG(Inhalt  von B-TEMP  plus '1') un-

                gleich '0' , so  wird  folgender Schritt MM ausge-

                führt 164 .

 

 

                                                                                                                            8

 

 

 

 

 

 

 

 

 

                Anhand der  Datenbankinformation können einige Re-         Registereinträge:

                gister  bereits initialisiert werden.

                Registereinträge  mit Gültikeit  für die Beispiele         Folgend sind die  Registereinträge beschrieben  um

                '1' und '2'.                                               die  Sortierordnung gemäss  den Anforderungen  des

                                                                           1.Beispiels zu erreichen.

                Alle Register vom  Z1-REG-SATZ  enthalten in  auf-

                steigender  Reihenfolge  die  Startadressen der zu         ST-ANZAHL(Anzahl Stellen welche untersucht werden)

                sortierenden Datensätze. Ersichtl.in Fig.3(I.Nr.).         Registereintrag: '3'

 

                In das  Register  DS-Anzahl wird  '12' eingetragen         Die Reihenfolge nach der die  Stellen eines Daten-

                Das  Entspricht  der Anzahl zu sortierenden Daten-         satzes  sortiert  werden, wird in den Registersatz

                sätze.                                                     ST-FOLGE-REG-SATZ wie folgt eingetragen:

 

                In  das  Register OBJ-EM wird '-' eingetragen. Das         In das 1.Register ST-FOLGE-REG(Nr.0) wird '0' ein-

                Entspricht der Feldendemarkierung.                         getragen. (1.Stelle)

                                                                           In das 2.Register ST-FOLGE-REG(Nr.1) wird '1' ein-

                Der Registersatz ST-FELD-REG-SATZ wird mit der Da-         getragen. (2.Stelle)

                tensatzeinteilung wie folgt initialisiert:                 In das 3.Register ST-FOLGE-REG(Nr.2) wird '6' ein-

                                                                           getragen. (7.Stelle)

                1. Registereintrag: '0' <ÄÄ Beginn 1.Feld

                2. Registereintrag: '0'                                    Um die Stellen '0','1'und'6' zu sortieren, braucht

                3. Registereintrag: '0'                                    man zwei Sortierfolge-Definitionen und eine Sperr-

                4. Registereintrag: '0'                                    folgen-Definition.

                5. Registereintrag: '0'

                6. Registereintrag: '0'                                    Für die 1.Sortierfolge-Definition wird  der FOLGE-

                7. Registereintrag: '1' <ÄÄ Beginn 2.Feld                  -REG-SATZ(Nr.0) verwendet.

                8. Registereintrag: '1'

                9. Registereintrag: '1'                                    1. Registereintrag: C

                                                                           2. Registereintrag: N

                                                                           3. Registereintrag: E

                1. Beispiel:

                                                                           Für die 2.Sortierfolge-Definition wird  der FOLGE-

                Stabiles Sortieren der Datensätze.                         -REG-SATZ(Nr.1) verwendet.

 

                Die  Datensätze  sollen nach  folgenden  Kriterien         1. Registereintrag: -

                sortiert werden:                                           2. Registereintrag: A

                                                                           3. Registereintrag: K

                - Die 1.Stelle hat 1.Priorität (höchste)  und soll         4. Registereintrag: S

                  in  folgender  Ordnung  sortiert  werden : C,N,E

                                                                           Für die 1.Sperrfolgen-Definition verwenden wir den

                - Alle  Datensätze , welche mit E  beginnen sollen         FOLGE-REG-SATZ(Nr.2)

                  für weiteres sortieren nicht mehr berücksichtigt

                  werden.                                                  1. Registereintrag: E

 

                - Die 2.Stelle hat 2.Priorität und soll in folgen-         Für die Stelle '0'wird die Sortierfolge vom FOLGE-

                  der Ordnung sortiert werden: -,A,K,S                     REG-SATZ(Nr.0) verwendet.

 

                - Die 7.Stelle hat 3.Priorität und soll in folgen-         In  das  1.Register  SO-FOLGE-REG(Nr.0)  wird  die

                  der Ordnung sortiert werden: -,A,K,S                     Adresse vom  FOLGE-REG-SATZ(Nr.0)  eingetragen. In

                                                                           das 1.Register LEN-SO-FOLGE-REG(Nr.0) wird die An-

                                                                           zahl im  FOLGE-REG-SATZ(Nr.0)  vorhandenen Zeichen

                Das Ergebnis, sortiert nach dem Index I.Nr. ist in         eingetragen, also '3'.

                Fig.4 eingetragen  (I.Nr. entspricht  den Register

                von Z1-REG-SATZ).                                          Für die Stelle '0' wird  die Sperrfolge vom FOLGE-

                                                                           REG-SATZ(Nr.2) verwendet werden.

                Aus  dem Resultat  ist  ersichtlich, dass die Sor-

                tierung stabil  erfolgt ist. Ersichtlich bei  Ds.1

                und Ds.3,  sowie bei Ds.5  und  Ds.6. als auch bei

                Ds.2, Ds.8 und Ds.10.

 

 

 

                                                                                                                            9

 

 

 

 

 

 

 

 

 

                In  das  1.Register  SP-FOLGE-REG(Nr.0)  wird  die         Die Reihenfolge nach der die Stellen eines  Daten-

                Adresse vom  FOLGE-REG-SATZ(Nr.2)  eingetragen. In         satzes sortiert werden , wird in  den Registersatz

                das 1.Register LEN-SP-FOLGE-REG(Nr.0) wird die An-         ST-FOLGE-REG-SATZ wie folgt eingetragen:

                zahl im  FOLGE-REG-SATZ(Nr.2)  vorhandenen Zeichen

                eingetragen, also '1'.                                     In das 1.Register ST-FOLGE-REG(Nr.0) wird '0' ein-

                                                                           getragen. (1.Stelle)

                Für die Stellen '1' und  '6' wird die Sortierfolge         In das 2.Register ST-FOLGE-REG(Nr.1) wird '7' ein-

                vom FOLGE-REG-SATZ(Nr.1) verwendet.                        getragen. (8.Stelle)

 

                In  das  2.Register  SO-FOLGE-REG(Nr.1)  wird  die         Um in den Stellen '0' und '7' zu suchen, wird eine

                Adresse vom  FOLGE-REG-SATZ(Nr.1)  eingetragen. In         Suchfolge-Definition und  eine  Sperrfolgedefi-

                das 2.Register LEN-SO-FOLGE-REG(Nr.1) wird die An-         nition benötigt.

                zahl im FOLGE-REG-SATZ(Nr.1)  vorhandenen  Zeichen

                eingetragen, also '4'.                                     Für die 1.Suchfolge-Definition wird der FOLGE-REG-

                                                                           SATZ(Nr.0) verwendet.

                In  das  7.Register  SO-FOLGE-REG(Nr.6) wird eben-

                falls die Adresse vom FOLGE-REG-SATZ(Nr.1)  einge-         1. Registereintrag: C

                tragen. In das  7.Register  LEN-SO-FOLGE-REG(Nr.6)         2. Registereintrag: N

                wird  die  Anzahl  im  FOLGE-REG-SATZ(Nr.1)  vor-          3. Registereintrag: E

                handenen Zeichen eingetragen, also '4'.

                                                                           Für  die  1.Sperrfolgen-Definition wird der FOLGE-

                Für die  Stelle '1' und '6' wird keine  Sperrfolge         REG-SATZ(Nr.1) verwendet.

                verlangt.

                In  das 2.Register LEN-SP-FOLGE-REG(Nr.1) wird '0'         1. Registereintrag: E

                eingetragen.                                               2. Registereintrag: N

                In  das 7.Register LEN-SP-FOLGE-REG(Nr.6) wird '0'

                eingetragen.                                               In das 1. und 8.Register SO-FOLGE-REG(Nr.0,7) wird

                                                                           die Adresse  FOLGE-REG-SATZ(Nr.0)  eingetragen. In

                                                                           das  1.  und 8. Register  LEN-SO-FOLGE-REG(Nr.0,7)

                2. Beispiel:                                               wird  die Anzahl der im FOLGE-REG-SATZ(Nr.0)  vor-

                                                                           handenen Zeichen eingetragen, also '3'.

                Stabiles Suchen einer Gruppe von Datensätze

                                                                           In das 1. und 8.Register SP-FOLGE-REG(Nr.0,7) wird

                Die  Datensätze  sollen nach  folgenden  Kriterien         die Adresse  vom FOLGE-REG-SATZ(Nr.1) eingetragen.

                ausgewählt werden:                                         In das 1. und 8. Register LEN-SP-FOLGE-REG(Nr.0,7)

                                                                           wird die Anzahl der im  FOLGE-REG-SATZ(Nr.1)  vor-

                - Es sollen alle Datensätze gesucht werden, welche         handenen Zeichen eingetragen, also '2'.

                  an  der Stelle '0'  und  an  der  Stelle '7' den

                  Buchstaben C haben.

                                                                           3. Beispiel:

 

                Das Ergebnis, ist in Fig.5 eingetragen                     Es  sollen  Datensätze mit  beliebigem Inhalt, von

                (I.Nr. entspricht den Register von  Z1-REG-SATZ ).         links  nach  rechts alphabetisch  sortiert werden.

                                                                           Dafür sind folgende Registerdefinitionen nötig:

                Der  Inhalt vom Register  ANZ_GEFUNDEN  entspricht

                der Anzahl der Datensätze , welche  den  Kriterien         Registereinträge:

                entsprechend gefunden  worden sind, also '3'.  Aus

                dem Resultat ist  ersichtlich,dass  die Sortierung         ST-ANZAHL(Anzahl Stellen welche untersucht werden)

                stabil  erfolgt ist. Ersichtlich bei Ds.3 und Ds.7         Registereintrag: .... (Datensatzlaenge)

                und Ds.9.

                                                                           Die Reihenfolge nach der  die Stellen eines Daten-

                                                                           satzes  sortiert werden, wird  in den Registersatz

                Registereinträge:                                          ST-FOLGE-REG-SATZ wie folgt eingetragen:

 

                Folgend sind  die Registereinträge  beschrieben um         In das 1.Register ST-FOLGE-REG(Nr.0) wird 0 einge-

                das Suchen gemäss dem 2.Beispiel zu erreichen.             tragen. (Stelle 0)

                                                                           In das 2.Register ST-FOLGE-REG(Nr.1) wird 1 einge-

                ST-ANZAHL(Anzahl Stellen welche untersucht werden)         tragen. (Stelle 1)

                Registereintrag: '2'                                              3.                                 2

                                                                                  .      usw. (ST-ANZAHL)            .

 

 

                                                                                                                           10

 

 

 

 

 

 

 

 

 

                Um  alle Stellen zu  sortieren wird nur  eine Sor-         Die Reihenfolge  nach der die Stellen eines Daten-

                tierfolge-Definition benoetigt. Eine  Sperrfolgen-         satzes sortiert werden, wird in  den  Registersatz

                Definition ist nicht nötig.                                ST-FOLGE-REG-SATZ wie folgt eingetragen:

 

                Für die Sortierfolge-Definition  wird  der  FOLGE-         In das 1.Register ST-FOLGE-REG(Nr.0) wird '3' ein-

                REG-SATZ(Nr.0) verwendet.                                  getragen. (4.Stelle)

                                                                           In das 2.Register ST-FOLGE-REG(Nr.1) wird '2' ein-

                Der  Eintrag in die  Register  vom  FOLGE-REG-SATZ         getragen. (3.Stelle)

                (Nr.0) erfolgt  mittels  natürlichen  Zahlen , von         In das 3.Register ST-FOLGE-REG(Nr.2) wird '1' ein-

                '0' beginnend bis '255'.                                   getragen. (2.Stelle)

                                                                           In das 4.Register ST-FOLGE-REG(Nr.3) wird '0' ein-

                001. Registereintrag:   '0'                                getragen. (1.Stelle)

                002. Registereintrag:   '1'

                003. Registereintrag:   '2'                                Um alle '4' Stellen zu sortieren brauchen wir zwei

                ...      usw.           .                                  Sortierfolge-Definitionen.  Es  ist  keine  Sperr-

                256. Registereintrag: '255'                                folgen-Definition nötig.

 

                In  alle Register  vom SO-FOLGE-REG-SATZ (Nr.0 bis         Für die 1. Sortierfolge-Definition wird der FOLGE-

                Inhalt von ST-ANZAHL) wird  die Adresse vom FOLGE-         REG-SATZ(Nr.0) verwendet.

                REG-SATZ(Nr.0) eingetragen. Für alle  Register vom         Der Eintrag in  die Register  erfolgt  mittels den

                LEN-SO-FOLGE-REG-SATZ ( Nr.0 bis  Inhalt  von  ST-         natürlichen  Zahlen , von '0' beginnend bis '255'.

                ANZAHL )  wird die  Anzahl im FOLGE-REG-SATZ(Nr.0)

                vorhandenen Zeichen  eingetragen , also '256'. Für         001. Registereintrag:   '0'  (1.Register vom FOLGE

                alle Register vom  LEN-SP-FOLGE-REG-SATZ (Nr.0 bis         002. Registereintrag:   '1'   -REG-SATZ(Nr.0))

                Inhalt von ST-ANZAHL) wird '0' eingetragen. (keine         003. Registereintrag:   '2'

                Sperrkriterien)                                            ...      usw.            .

                                                                           256. Registereintrag: '255'

 

                4. Beispiel:                                               Für die 2.Sortierfolge-Definition  wird der FOLGE-

                                                                           REG-SATZ(Nr.1) verwendet.

                Sortieren von ganzen Zahlen

                                                                           Der  Eintrag in die  Register  erfolgt mittels den

                Angenommen eine Dateneinheit besteht aus 8-Bit, so         natürlichen Zahlen,

                sind  mit einer  Dateneinheit  '256'  verschiedene         von '0' beginnend bis '255'.

                Kombinationen möglich.

                                                                           001 .Reg.-Eintrag:'128'    128. Reg.-Eintrag:  '0'

                Mit '4' Dateneinheiten  ist es möglich den Bereich         002 .Reg.-Eintrag:'129'    129. Reg.-Eintrag:  '1'

                von ganzen  Zahlen beginnend  bei -2147483648  bis         003 .Reg.-Eintrag:'130'    130. Reg.-Eintrag:  '2'

                +2147483647 abzudecken.                                    ...      usw.      ...     ...      usw.      ...

                                                                           127. Reg.-Eintrag:'255'    256. Reg.-Eintrag:'127'

                Bei den meisten  Computer ist diese Definition ein

                4-Byte Datentyp mit Vorzeichen.                            In das 1., 2.und 3.Register SO-FOLGE-REG(Nr.0,1,2)

                                                                           wird  die  Adresse vom FOLGE-REG-SATZ(Nr.0) einge-

                Für  Zahlen mit Vorzeichen ist ein Bit eines Bytes         tragen. In das 1., 2. und 3.Register LEN-SO-FOLGE-

                bestimmend um  eine  positive  Zahl  von einer ne-         REG(Nr.0,1,2)  wird  die Anzahl im  FOLGE-REG-SATZ

                gativen Zahl zu unterscheiden.                             (Nr.0) vorhandenen Zeichen eingetragen,also '256'.

                                                                           In  das  4. Register SO-FOLGE-REG(Nr.3)  wird  die

                Für dieses Beispiel  gehen wir davon aus, dass das         Adresse vom  FOLGE-REG-SATZ(Nr.1)  eingetragen. In

                4.Byte  das  Vorzeichenbit  enthält  und dass eine         das 4.Register LEN-FOLGE-REG(Nr.3) wird die Anzahl

                Dateneinheit 8-Bit aufweist.                               im FOLGE-REG-SATZ(Nr.1) vorhandenen Zeichen einge-

                                                                           tragen , also '256'. In  das 1., 2., 3.  und 4.Re-

                Sollen  nun  solche  Zahlen  aufsteigend  sortiert         gister LEN-SP-FOLGE-REG(Nr.0,1,2,3)  wird '0' ein-

                werden, ist folgende Registerdefinition notwendig:         getragen. (Keine Sperrkriterien)

 

                Registereinträge:

 

                ST-ANZAHL(Anzahl Stellen welche untersucht werden)

                Registereintrag: '4'

 

 

 

 

                                                                                                                           11

 

 

 

 

 

 

 

 

 

                Die  Erfindung  betrifft  ein  Verfahren  und eine

                Anordnung,zum Sortieren oder Suchen von beliebigen

                Daten mit wahlfreiem Zugriff. Ein besonderes Merk-

                mal dieser Erfindung ist,dass die  zu sortierenden

                oder zu suchenden Objekte nicht untereinander ver-

                glichen werden müssen. Es ist auch nicht notwendig

                die zu sortierenden oder  zu suchenden Objekte mit

                fremden Objekten zu vergleichen. Die Grundlage zur

                Lösung des Sortier- oder Such-Problems, bildet die

                Idee,mittels Zählen von bestimmten,immer bekannten

                Eigenschaften der Objekte, eine Ordnung oder  eine

                Auswahl zu treffen. Das Sortieren sowie das Suchen

                der Datensätze erfolgt stabil. Durch  die Vielfalt

                der Datenverarbeitungsmöglichkeiten,lässt sich die

                Erfindung vom einfachen Sortierern oder Suchen bis

                zum komplexen Auswerten von Daten verwenden.

 

 

 

 

                                                                                                                           12

 

 

Zurück

Diese Seiten drucken