Basic Pascal Tutorial/Chapter 2/Input/de
│
български (bg) │
Deutsch (de) │
English (en) │
français (fr) │
日本語 (ja) │
한국어 (ko) │
русский (ru) │
中文(中国大陆) (zh_CN) │
2A - Eingabe
(Autor: Tao Yue, Übersetzung ins Deutsche)
Eingabe ist das, was in das Programm kommt. Es kann von der Tastatur, der Maus, einer Datei auf der Festplatte, einem Scanner, einem Joystick, etc. sein.
Wir werden uns nicht im Detail mit der Maus befassen, da diese Syntax von Maschine zu Maschine unterschiedlich ist. Darüber hinaus übernehmen die heutigen ereignisgesteuerten Windowing-Betriebssysteme in der Regel die Mauseingabe für Sie.
Das grundlegende Format für das Einlesen der Daten ist:
read (Variable_List);
Variable_List ist eine Reihe von Variablenbezeichnern, die durch Kommas getrennt sind.
read behandelt die Eingabe als einen Zeichenstrom, wobei die Zeilen durch ein spezielles Zeilenendezeichen getrennt sind. readln hingegen springt nach dem Lesen eines Wertes zur nächsten Zeile, indem er automatisch auf das nächsten Zeilenende springt:
readln (Variable_List);
Angenommen, Du hättest diese Eingabe vom Benutzer und a, b, c, und d sind alles ganze Zahlen.
45 97 3 1 2 3
Hier sind einige Beispiele read und readln Anweisungen, zusammen mit den in die entsprechenden Variablen eingelesenen Werten.
Anweisung(en) | a | b | c | d |
---|---|---|---|---|
read (a); | 45 | 97 | ||
read (b); | ||||
readln (a); | 45 | 1 | ||
read (b); | ||||
read (a, b, c, d); | 45 | 97 | 3 | 1 |
readln (a, b); | 45 | 97 | 1 | 2 |
readln (c, d); |
Beim Einlesen von ganzen Zahlen werden alle Leerzeichen übersprungen, bis eine Zahl gefunden wird. Dann werden alle nachfolgenden Ziffern gelesen, bis ein nichtnumerisches Zeichen erreicht ist (einschließlich, aber nicht beschränkt auf ein Leerzeichen).
8352.38
Wenn eine ganze Zahl aus der obigen Eingabe gelesen wird, wird ihr Wert 8352. Wenn Du unmittelbar danach ein Zeichen einliest, wäre der Wert '.', da der Lesekopf beim ersten alphanumerischen Zeichen stehen geblieben ist.
Angenommen, Du hast versucht, zwei ganze Zahlen einzulesen. Das würde nicht funktionieren, denn wenn der Computer nach Daten sucht, um die zweite Variable zu füllen, sieht er das '.' und stoppt, da er keine Daten zum Lesen finden konnte.
Bei realen Werten überspringt der Computer auch Leerzeichen und liest dann so viel, wie er lesen kann. Viele Pascal-Compiler setzen jedoch eine zusätzliche Einschränkung: ein Real, das keinen ganzen Teil hat, muss mit 0.> So .678 beginnen, ist ungültig, und der Computer kann keinen Real einlesen, aber 0.678 ist in Ordnung.
Stelle sicher, dass sich alle Bezeichner in der Argumentliste auf Variablen beziehen! Konstanten können keinen Wert zugewiesen werden, ebenso wenig wie literale Werte.