next up previous contents
Next: Zastaralé příkazy a konstrukce Up: Fortran 77 a jeho hlavní Previous: Smyčky   Obsah

Vstupy a výstupy

Jednou z předností, jimiž si Fortran rychle po svém vzniku získal takovou popularitu, bylo v té době nevídaně komplexní ovládání vstupů a výstupů.

Základním pojmem je zde soubor. Některé prameny jej definují jako "cokoli, k čemu se dá přistupovat pomocí příkazů READ WRITE" (což zhruba odpovídá ``datovým proudům'' v C++).

Interní soubory proto nejsou nic jiného než dočasné proměnné a pole, existující pouze za běhu programu. Přes příkazy READ WRITE k nim přistupujeme, když požadujeme formátovaný vstup nebo výstup.

Externími soubory potom rozumíme kromě skutečných datových souborů na disku také veškeré periferie jako terminály, tiskárny, a podobně Protože při překladu programu nemusíme vědět nic o jejich existenci, případně stavu, máme pro ně k dispozici ještě další příkaz INQUIRE.

Dalším důležitým pojmem je I/O jednotka. Jedná se o virtuální kanál, označený celým číslem od nuly do limitu daného systémem (zpravidla minimálně 99). Před použitím musí být externí soubor připojen příkazem OPEN k I/O jednotce, pomocí jejíhož čísla je pak jednoznačně identifikován ostatníni příkazy. Například


      OPEN( UNIT=1, FILE='b:\vstup.dat', STATUS='OLD' )
      OPEN( UNIT=9, FILE='PRINTOUT', STATUS='NEW' )
Tím je soubor připojen až do té doby, než nastane jedna ze tří situací: Pro interaktivní ovládání ze standardního terminálu používáme speciální I/O jednotku. Ta není, narozdíl od ostatních, označena číslem, ale hvězdičkou. Je připojena automaticky při spuštění programu a odpojena na konci, takže ji jako jedinou nemusíme otevírat příkazem OPEN. Ovládání vstupů a výstupů tedy zdaleka není tak složité, jak by se mohlo zdát z předchozího popisu. Pro nejjednodušší zápis na obrazovku a čtení z klávesnice stačí

      WRITE(*,*) ' Hello World !!! '
resp.

      READ(*,*) CISLO
kde druhá hvězdička označuje opět standardní, předdefinovaný formát, který lze změnit příkazem FORMAT.

Kromě dělení na formátovaný a neformátoavný, rozlišujeme přístup k souborům ještě na přímý (disky apod.) a sekvenční (např. tiskárny). Posledně jmenovaný způsob zpracování usnadňují příkazy REWIND a BACKSPACE.


next up previous contents
Next: Zastaralé příkazy a konstrukce Up: Fortran 77 a jeho hlavní Previous: Smyčky   Obsah
Pavel Vachal
2001-05-31