Duden/Eingabe Funktionen
War_EOF
Gibt wahr zurück wenn ein EOF Zeichen gelesen wurde.
- Rückgabe Typ:
Wahrheitswert
Aliase
die Benutzereingabe nicht zu Ende gewesen ist
die Benutzereingabe zu Ende gewesen ist
die Benutzereingabe nicht vorbei ist
die Benutzereingabe vorbei ist
Implementation
Gib war_eof zurück.
Benutzereingabe_Zuruecksetzten
Setzt die interne war_eof variable auf falsch.
- Rückgabe Typ:
nichts
Aliase
setzte die Benutzereingabe zurück
Setzte die Benutzereingabe zurück
Implementation
war_eof ist falsch.
Lies_Token_in_Puffer
Liest eine einzelne Eingabe in Eingabe_Puffer.
Dabei werden vorrangehende Leerzeichen ignoriert
und ein einzelnes darrauffolgendes Leerzeichen in
Gepufferter_Buchstabe gespeichert
- Rückgabe Typ:
Text
Aliase
die nächste Eingabe
die naechste Eingabe
Implementation
[vorangehende Leerstellen überspringen] Speichere das nächste Zeichen aus der Standardeingabe in Gepufferter_Buchstabe. Solange Gepufferter_Buchstabe ein Leerzeichen ist oder Gepufferter_Buchstabe ein Kontrollzeichen ist, mache: Wenn die Benutzereingabe zu Ende gewesen ist, gib "" zurück. Speichere das nächste Zeichen aus der Standardeingabe in Gepufferter_Buchstabe. [Text bis Leerstelle Lesen] Der Text token ist "". Solange nicht (Gepufferter_Buchstabe ein Leerzeichen ist oder Gepufferter_Buchstabe ein Kontrollzeichen ist), mache: Speichere token verkettet mit Gepufferter_Buchstabe in token. Speichere das nächste Zeichen aus der Standardeingabe in Gepufferter_Buchstabe. Gib token zurück.
Lies_Token_Gepuffert
Wenn Eingabe_Puffer eine Eingabe enthält
wird diese zurückgegeben und Eingabe_Puffer geleert.
Ansonsten wird die nächste Eingabe direkt zurückgegeben.
- Rückgabe Typ:
Text
Aliase
der nächste Text
den nächsten Text
der naechste Text
den naechsten Text
Implementation
Wenn die Länge von Eingabe_Puffer größer als 0 ist, dann: Der Text Rückgabe ist Eingabe_Puffer. Eingabe_Puffer ist "". Gib Rückgabe zurück. Wenn die Benutzereingabe nicht vorbei ist, gib die nächste Eingabe zurück. Gib "" zurück.
Lies_Zahl_Gepuffert
Lies_Token_Gepuffert als Zahl.
Vorher sollte Hat_Zahl überprüft werden.
- Rückgabe Typ:
Zahl
Aliase
die nächste Zahl
die naechste Zahl
Implementation
Gib den nächsten Text als Zahl zurück.
Lies_Kommazahl_Gepuffert
Lies_Token_Gepuffert als Kommazahl.
Vorher sollte Hat_Zahl überprüft werden.
- Rückgabe Typ:
Kommazahl
Aliase
die nächste Kommazahl
die naechste Kommazahl
Implementation
Gib den nächsten Text als Kommazahl zurück.
Lies_Buchstabe_Gepuffert
Wenn Eingabe_Puffer eine Eingabe enthält wird
der erste Buchstabe davon zurückgegeben und Eingabe_Puffer
entsprechend angepasst.
Wenn Gepufferter_Buchstabe einen Buchstaben enthält wird dieser
zurückgeben und Gepufferter_Buchstabe auf 0 gesetzt.
Ansonsten wird das nächste Zeichen direkt gelesen.
- Rückgabe Typ:
Buchstabe
Aliase
der nächste Buchstabe
der naechste Buchstabe
den nächsten Buchstaben
den naechsten Buchstaben
Implementation
Wenn die Länge von Eingabe_Puffer ungleich 0 ist, dann: Der Buchstabe Rückgabe ist Eingabe_Puffer an der Stelle 1. Speichere Eingabe_Puffer im Bereich von 2 bis (die Länge von Eingabe_Puffer) in Eingabe_Puffer. Gib Rückgabe zurück. Wenn Gepufferter_Buchstabe als Zahl ungleich 0 ist, dann: Der Buchstabe Rückgabe ist Gepufferter_Buchstabe. Speichere 0 als Buchstabe in Gepufferter_Buchstabe. Gib Rückgabe zurück. Gib das nächste Zeichen aus der Standardeingabe zurück.
Lies_Zeile_Gepuffert
Ignoriert vorrangehende Leerzeichen und gibt
dann die ganze Zeile bis zu, aber ohne '\n' oder EOF zurück.
'\n' bzw. EOF wird dabei nicht nicht in einen Puffer gelegt
sondern verworfen.
- Rückgabe Typ:
Text
Aliase
die nächste Zeile
die naechste Zeile
Implementation
Der Text zeile ist "". Wenn die Länge von Eingabe_Puffer ungleich 0 ist, dann: Füge Eingabe_Puffer an zeile an. Eingabe_Puffer ist "". Wenn Gepufferter_Buchstabe als Zahl ungleich 0 ist, Füge Gepufferter_Buchstabe an zeile an. Speichere das nächste Zeichen aus der Standardeingabe in Gepufferter_Buchstabe. Sonst: Solange Gepufferter_Buchstabe ungleich 'n' ist und (Gepufferter_Buchstabe ein Leerzeichen ist oder Gepufferter_Buchstabe ein Kontrollzeichen ist), mache: Wenn die Benutzereingabe zu Ende gewesen ist, gib "" zurück. Speichere das nächste Zeichen aus der Standardeingabe in Gepufferter_Buchstabe. Solange Gepufferter_Buchstabe ungleich 'n' ist und die Benutzereingabe nicht vorbei ist, mache: Speichere zeile verkettet mit Gepufferter_Buchstabe in zeile. Speichere das nächste Zeichen aus der Standardeingabe in Gepufferter_Buchstabe. Speichere 0 als Buchstabe in Gepufferter_Buchstabe. Gib zeile zurück.
Hat_Token
Gibt an ob etwas mit einer der obigen Funktionen
gelesen werden kann.
- Rückgabe Typ:
Wahrheitswert
Aliase
keine Eingabe vorhanden ist
eine Eingabe vorhanden ist
Implementation
Wenn die Länge von Eingabe_Puffer größer als 0 ist, gib wahr zurück. Wenn die Benutzereingabe zu Ende gewesen ist, gib falsch zurück. Speichere den nächsten Text in Eingabe_Puffer. Gib wahr, wenn die Länge von Eingabe_Puffer größer als 0 ist, zurück.
Hat_Zahl
Gibt an ob die nächste Eingabe (direkt oder im Puffer)
zu einer Zahl umgewandelt werden kann.
- Rückgabe Typ:
Wahrheitswert
Aliase
die nächste Eingabe keine Zahl ist
die nächste Eingabe eine Zahl ist
die naechste Eingabe keine Zahl ist
die naechste Eingabe eine Zahl ist
Implementation
Gib wahr, wenn eine Eingabe vorhanden ist und Eingabe_Puffer in eine Zahl umgewandelt werden kann, zurück.
Hat_Buchstabe
Gibt an ob ein Buchstabe (direkt oder aus dem Puffer)
gelesen werden kann.
- Rückgabe Typ:
Wahrheitswert
Aliase
kein Buchstabe vorhanden ist
ein Buchstabe vorhanden ist
Implementation
Gib wahr, wenn nicht war_eof oder die Länge von Eingabe_Puffer ungleich 0 ist oder Gepufferter_Buchstabe als Zahl ungleich 0 ist, zurück.