Duden/Eingabe Funktionen

War_EOF

Gibt wahr zurück wenn ein EOF Zeichen gelesen wurde.
  • Rückgabe Typ: Wahrheitswert

Aliase

  1. die Benutzereingabe nicht zu Ende gewesen ist
  2. die Benutzereingabe zu Ende gewesen ist
  3. die Benutzereingabe nicht vorbei ist
  4. 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

  1. setzte die Benutzereingabe zurück
  2. 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

  1. die nächste Eingabe
  2. 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

  1. der nächste Text
  2. den nächsten Text
  3. der naechste Text
  4. 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

  1. die nächste Zahl
  2. 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

  1. die nächste Kommazahl
  2. 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

  1. der nächste Buchstabe
  2. der naechste Buchstabe
  3. den nächsten Buchstaben
  4. 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

  1. die nächste Zeile
  2. 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

  1. keine Eingabe vorhanden ist
  2. 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

  1. die nächste Eingabe keine Zahl ist
  2. die nächste Eingabe eine Zahl ist
  3. die naechste Eingabe keine Zahl ist
  4. 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

  1. kein Buchstabe vorhanden ist
  2. 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.