Bedeutung von LESEN in Fortran
Was bedeutet READ()
tun in Fortran?
Beispiel:
READ(1,82)
- Ich bin mir nicht sicher, "fortran" und "Anfänger" sollten immer kombiniert werden.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Was bedeutet READ()
tun in Fortran?
Beispiel:
READ(1,82)
Du musst angemeldet sein, um einen Kommentar abzugeben.
1 ist das handle der Datei, die Sie öffnen-mit dem richtigen Aufruf von open.
82 ist eine Bezeichnung, die sich auf ein format, was bedeutet, wie Sie melden die Daten in Bezug auf die visuelle Formatierung.
In diesem Beispiel, das Programm akzeptiert von der standard-Eingabe (deren Einheit Anzahl ist nicht angegeben, also habe ich eine *) eine integer-und floating-point-Wert. das format sagt, dass die ganze Zahl belegt die ersten vier Spalten, dann habe ich ein schweben, das bleibt in 8 Spalten, mit 3 stellen nach dem Komma
Wenn ich das Programm jetzt, und ich weiß nicht genau dieses format, das Programm wird sich beschweren, und Absturz, weil die ersten 4 Spalten werden erwartet und repräsentieren eine ganze Zahl (aufgrund der I4-format), und "5 3." ist kein Gültiger integer -
Jedoch eine korrekte Spezifikation (beachten Sie bitte die drei Leerzeichen vor der Zahl 5) führen die richtige operation (mit ein wenig Toleranz, es ist nicht , dass strengen)
Liest aus "Einheit" (geöffnete Datei) die Nummer 1, entsprechend der FORMAT-Anweisung bei label-82. Da jedoch die Anweisung nicht aufgeführt werden alle Variablen, es hat keinen Platz, um die Daten zu Lesen, das ist unwahrscheinlich, um zu helfen;
READ(1,82) FOOBAR
wäre sinnvoller die Daten es beim Lesen in der variable FOOBAR.Können Sie tun, ein paar mehr Dinge mit dem fortran "read" - Anweisung.
betrachten:
Lesen (Einheit:#, format, Optionen) ... generic
Wo ist "7" ist die Nummer der Einheit gelesen von "*" ist das format (Standard in diesem Fall), und "10" ist die Nummer der Zeile, die Programmsteuerung springt an, wenn das lese-Gerät /Datei erreicht das eof -. Die "Optionen" - slot gefüllt werden können mit Sachen wie "err='Zeilennummer zu gehen'", oder iostat, advance="no". Sie können sich ein paar von diesen
Den format-Teil ist, wo Sie angeben können, genauer gesagt, das format der Daten, die Sie erwarten. Zum Beispiel, wenn Sie einen Formatbezeichner, wie:
Hier, das "2X" bezieht sich auf 2 Bereiche, die "2I5", bezieht sich auf 2 ganze zahlen sind 5-stellig, "F7.3", bezieht sich auf einen decimal-Wert hat eine Gesamtlänge von 7, mit drei stellen nach dem Komma. Das "A" bezieht sich auf einen Charakter. Sie können sich einige mehr diese
PROST!
"1" die Einheit, die Sie verwendet, um eine Datei zu öffnen, die in fortran und "82" legt das format für den read-Befehl.
Der obige code öffnet eine Datei namens "fname" der read-Befehl liest aus der Datei fname, als er geöffnet wurde, die mit einer Einheit "1" und der read-Befehl liest in dem format angegebenen format-82. Details über die Formatierung in fortran wird unten gegeben:
Liest es von Gerät 1 mit dem format, spezifiziert durch die Anweisung gezählte 82.
Wenn Fortran aus einer Datei liest, ist es erforderlich, dass die LESE-Anweisungen, die eindeutige Identifizierung der Datei. Die Identifizierung erfolgt mit Hilfe der Fortran-unit identifier.
Einer Einheit-id kann eine der folgenden sein:
1) Eine integer-variable oder ein Ausdruck, dessen Wert größer ist als oder gleich 0 ist.
2) Ein Sternchen (*) ist erlaubt nur auf READ und WRITE-Anweisungen. Auf die READ-Anweisungen, die ein Sternchen bezieht sich auf die Einheit 100 (standard-Eingabe).
Einheit zahlen sind am besten versorgt mit newunit
Verwenden Sie die Anfrage-Anweisung zur überprüfung der Gültigkeit (die Existenz) eines unit-Nummer, bevor Sie Sie verwenden, wie im folgenden Beispiel:
Dann haben wir die FORMAT-Anweisung einen beschrifteten Anweisung, die auftreten können in jedem Teil des Programms, in dem das format ist sichtbar.
Es ist von der form
Die FORMAT-Anweisung
Einem etwas anderen FORMAT-Anweisung ist
welche wiederum liefert drei Rechtsbündig ganzen Breite 10 aber diese Zeit erfordert ein minimum von 8 Ziffern gedruckt werden.
newunit
Planer;*
bedeutet nicht, 100; 100--102 sind möglicherweise erlaubt; Einheiten 0, 5 und 6 sind nicht die, freilich verbunden mit etwas; während einformat
- Anweisung kann an beliebiger Stelle erscheinen, muss es in der gleichen inclusive Umfang der übermittelten Daten Aussagen auf Sie verweisen.6
für die Ausgabe auf dem Bildschirm. Was sind die details genau?*
fürREAD
Funktionen bezieht sich auf die Zahl 5, die diestdin
. Ist es nicht der Fall?!