Herunterladen Diese Seite drucken

HP 41CX Benutzerhandbuch Seite 154

Band 11
Vorschau ausblenden Andere Handbücher für 41CX:

Werbung

296
Abschnitt 19: Flags
Beispiel.
Ein
Programm ruft
fünf Unterprogramme auf; jedes
dieser
Unterprogramme
ve
rwendet mehrere
Flags.
Zu Beginn
der
Programmausführung kann das Programm eine
Kopie des
Flagstatu
s
jedes Unterprogramms
erstellen und in
verschiedenen Registern
abspeichern.
Das Unterprogramm kann dann
seinen eigenen
Flagstatus
wiederherstellen, die
Flags
testen
und
verändern
und
zum Schluß den momentanen
Status
wieder abspeichern.
Durch
diese Vorgehensweise
können
U nterprogramme
in beliebiger
Rei henfolge aufgerufen werden
,
ohne
sich
gegenseitig zu
beeinflussen.
Beispiel.
Eine Untersuchung analysiert
das
Einkommen
von
Personen
nach
folge nden
Kriterien:
Gesc
hlecht,
Alter
und Ausbildung.
Diese Kriterien
können
mit
Hilre
vo
n
Flags
spezifiziert werden
:
Geschlecht:
Flag
00 gesetzt
=
weiblich,
gelöscht
=
männlich.
Alter:
Flag 01
gesetzt
=
Alter
<
20.
Flag
02 gesetzt
=
20
.;;
Alter
< 35.
Flag 03
gesetzt
=
35
.;;
Alter
<
50.
Flag 04
gesetzt
=
50
.;;
Alter.
Ausb
ildung:
Flag
05 gesetzt
=
ohne
abgeschlossene
Berufsausbildung
.
Flag
06 gesetzt
=
Facharbeiterausbildung.
Flag
07 gesetzt
=
Hochschulstudium.
Jede
Person kann nun durch zwei
Za
hlen charakterisiert
werden: Eine
Za
hl
zwischen
0 und
255,
die
den
Status
der
Flags
00
bis
07
repräsentiert
und
eine
Zahl
für
das Einkommen.
Um die statistischen Daten einer bestimmten
Personen
gruppe
aufzusumm
ieren,
kann
ein
Programm
die
Flagkopie
jeder
Person
überprüfen und
nur
die
Einkommen
der
Personen
berücksichtigen, die
der bestimmten
Personen-
grup
pe angehören.
Wenn
Sie
zum Beispiel
das Einko
mmen
aller
erfaßten Männer
(unabhängig von Alter
und
Ausbildung)
untersuchen wollen
,
nnen
Sie
folgendermaßen
vo rgehen:
Stellen
Sie
den einer Person zugeordneten
Flagstatus
wieder
her und
fragen Sie Flag
00
ab.
Wenn
Flag
00 gelöscht
ist,
ge
hört die Person
der
gewünschten
G
ruppe
an
und Sie können
das
entsprechende
Eink ommen
berücksichtigen.
Nehmen wir
an,
Sie wollen
die
Untergruppe
von
Frauen
zwischen
35
und 50 mit Hochschulstudium
untersuchen.
Diese Definitio
n umfaßt den
Status
aller
acht Flags; Sie
müssen daher
kei ne
einzelnen
Flags
abfragen,
sondern
nur
die
den
Flagstatus
repräsentierende Dezimalzahl
überprüfen. «
Frau zwischen
35
und
50
mit Hochschulstudium
»
bedeutet,
daß die
Flags 00,
03 und
07
gesetzt
sind
(d.
h.
der
entsprechende
Dezimalwert
beträgt
137).
Es genügt
also,
den Dezimalwert der
Flagkopie
einer
Person
zu
überprüfen
;
wenn dieser
Wert
137
ist,
gehört
die
Person
der
gewünschten
Gruppe an
und
Sie
können
das
entsprechende Einkommen
berücksichtigen.
Verwenden von
I
RCLFLAGI
und
ISTOFLAGI
Die
Funkti on
I
RCLFlAG
I
(recal/flags)
speichert
den
Status
der
Flags
00
bis 43.
Der
Status
einiger oder
aller
diese
r
gespeicherten
Flags
kann mit der
Funktion
ISTOFlAG
!
(restare flags) wiederhergestellt
werden
. Diese
beiden
Funktionen
ergänzen
sich;
das
Ergebnis
von
(@lA]]
kann
nur
von
l!!§.FlK§J
ve
rwertet
werden
und
I
STOFlAG
!
wirkt
nur
aur
durch
IRCLFlAG
!
abgerufene
Daten.
Verwenden von
I
RCLFlAG
~
Wenn
Sie die
Funktion
IRClFlAG
!
ausführen
,
wird
der Status
der
Flags
00
bis
43
in
das
X-
Regi ster
zurückgerufen.
Diese
Flagdaten
nnen
dann
in
ei
nem
Regi ster
des
Hauptspeichers
oder
des
erweiterten
Speichers
abgelegt
werden
. (Die
Anzeige der Statusdaten ist
ohne
Bedeutun
g,)
Die Funktion
I
RCLFLAG
I
hebt den
Stack an, sofern
der
Stack
Lift nicht
gesperrt
ist
(vergleiche
IRcLI).

Werbung

loading