Sign in Join
Wiki copytemporary

Basic Pascal Tutorial/Chapter 2/Input/de: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11## 2A - Eingabe
22
33*(Autor: Tao Yue, Übersetzung ins Deutsche)*
44
55Eingabe 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.
66
77Wir 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.
88
99Das grundlegende Format für das Einlesen der Daten ist:
1010
1111``` pascal
1212read (Variable_List);
1313```
1414
1515`Variable_List` ist eine Reihe von Variablenbezeichnern, die durch Kommas getrennt sind.
1616
1717`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:
1818
1919``` pascal
2020readln (Variable_List);
2121```
2222
2323Angenommen, Du hättest diese Eingabe vom Benutzer und `a, b, c,` und `d` sind alles ganze Zahlen.
2424
2525`45 97 3`\
2626`1 2 3`
2727
2828Hier sind einige Beispiele `read` und `readln` Anweisungen, zusammen mit den in die entsprechenden Variablen eingelesenen Werten.
2929
30-<table>
3130<thead>
32-<tr>
33-<th>Anweisung(en)</th>
34-<th>a</th>
35-<th>b</th>
36-<th>c</th>
37-<th>d</th>
38-</tr>
31+
3932</thead>
4033<tbody>
41-<tr>
42-<td>read (a);</td>
43-<td rowspan="2">45</td>
44-<td rowspan="2">97</td>
45-<td rowspan="2"></td>
46-<td rowspan="2"></td>
47-</tr>
48-<tr>
49-<td>read (b);</td>
50-</tr>
51-<tr>
52-<td>readln (a);</td>
53-<td rowspan="2">45</td>
54-<td rowspan="2" style="text-align: right;">1</td>
55-<td rowspan="2"></td>
56-<td rowspan="2"></td>
57-</tr>
58-<tr>
59-<td>read (b);</td>
60-</tr>
61-<tr>
62-<td>read (a, b, c, d);</td>
63-<td>45</td>
64-<td>97</td>
65-<td>3</td>
66-<td>1</td>
67-</tr>
68-<tr>
69-<td>readln (a, b);</td>
70-<td rowspan="2">45</td>
71-<td rowspan="2">97</td>
72-<td rowspan="2">1</td>
73-<td rowspan="2">2</td>
74-</tr>
75-<tr>
76-<td>readln (c, d);</td>
77-</tr>
34+
7835</tbody>
79-</table>
8036
8137Beim 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).
8238
8339`8352.38`
8440
8541Wenn 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.
8642
8743Angenommen, 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.
8844
8945Bei 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.
9046
9147Stelle sicher, dass sich alle Bezeichner in der Argumentliste auf Variablen beziehen! Konstanten können keinen Wert zugewiesen werden, ebenso wenig wie literale Werte.
9248
9349---
9450*From the Free Pascal wiki, page "Basic Pascal Tutorial/Chapter 2/Input/de", as it stood on 2022-08-20 after a change by Kai Burghardt, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history