Formatirani (Ure Deni) Ispis Podataka I Rad S Datotekama: Numeri Cke Metode
Formatirani (Ure Deni) Ispis Podataka I Rad S Datotekama: Numeri Cke Metode
Citanje s ure
daja - READ
Ostale upis/ispis naredbe
Rad s imenovanim listama - NAMELIST
Razlika izme
du PRINT i WRITE je da PRINT ispisuje na standardni
izlaz (ispis), dok WRITE naredba moe ispisivati na razne ure
daje,
te broj mogu cih opcija i puno ve ci.
INTEGER :: a=1, b=2, c=3
PRINT *, a
PRINT (i),b
PRINT 100,c
100 FORMAT (i)
INTEGER :: a=1, b=2, c=3
WRITE (*,*) a
WRITE (*,(i)) b
WRITE (*,100) c
100 FORMAT (i)
g ure
Iza a ure divanja moe do ci opcionalno broj koji je irina podru cja
unutar kojeg se niz znakova ispisuje.
Ako irina podru cja nije dovoljna za ispis, ispisuje se onoliko znakova
koliko stane u nazna cenu irinu.
PROGRAM znakovi
CHARACTER(LEN=20) :: str
str = 9 znakova
PRINT (1x,a6,a), (a),str
PRINT (1x,a6,a8), (a8),str
PRINT (1x,a6,a9), (a9),str
PRINT (1x,a6,a10),(a10),str
PRINT (1x,a6,a11),(a11),str
PRINT (1x,a6,a15),(a15),str
END PROGRAM
ISPIS:
(a)9 znakova
(a8)9 znakov
(a9)9 znakova
(a10)9 znakova
(a11)9 znakova
(a15)9 znakova
Ure
f 15.5 ure
e15.5 ure
en15.5 ure
es15.5 ure
g15.5 ure
U e ure
divanju, neeksponencijalni dio broja je ozme
du 1.0 i 0.1.
Ure
Broj iza oznake ure divanja ozna cava irinu podru cja unutar kojeg se
ispisuje broj. Ta irina mora obuhvatiti sve, predznak broja,
decimalnu to cku, eksponent i predznak eksponenta.
Iza irine podru cja (odvojeno to ckom) stoji broj decimalnih mjesta koji
se ispisuju.
divanju
x ure
divanje - broj praznih mjesta
$ ure
divanje - ne pre ci na novu liniju nakon ispisa
t ure
divanje slui za pozicioniranje ispisa.
PROGRAM pozicija
INTEGER :: i
INTEGER, DIMENSION(3,2) :: broj
broj(1:3,1) = (/ (i,i=1,3) /)
broj(1:3,2) = (/ (i,i=11,13) /)
PRINT (T20,"prvi",T5,"drugi")
DO i=1,3
PRINT (T20,i3,T5,i3),broj(i,:)
END DO
END PROGRAM
ISPIS:
drugi prvi
11 1
12 2
13 3
Ponavljanje ure
divanja
dajima
Vanjski ure
daji se smatraju tvrdi disk, tra cna jedinica, konzola
(terminal) s tipkovnicom.
Ure
daji koji se automatski otvaraju kod pokretanja programa je
konzola s tipkovnicom. Konzola se tretira kao ure
daj za
standardni ispis (pisanje). Ure
daju je pridruen broj 6.
Tipokovnica je ure
daj za standarni upis (unos, citanje) i pridruen
joj je broj 5.
Ure
daje 5 i 6 ne treba posebno otvarati. Za rad s ostalim
ure
dajima treba ure
daju pridruiti broj ure daja koriste ci naredbu
OPEN.
Otvaranje ure
daja
Naredba OPEN ima veliki broj argumenata, od koji je obavezan broj
ure
daja:
OPEN([UNIT=]<cijeli_broj>,FILE=<ime_datiteke>,ERR=<labela>, &
STATUS=<status>,ACCESS=<metod>,ACTION=<nacin>, ...)
daja>). Pri
tome treba navesti broj ure
daja koji se zatvara. Dodatni argument je
STATUS s dvije mogu ce vrijednosti: KEEP ili DELETE.
INTEGER :: ioerr
OPEN(14, FILE=input.dat, STATUS=OLD, RECL=iexp, &
ACCESS=DIRECT, ACTION=READ, ERR=10, IOSTAT=ioerr)
...
READ(14,..) ....
...
CLOSE(14)
10 IF (ioerr>0) THEN
WRITE (*,*) Greska kod otvaranja :,iostat
STOP
END IF
Pisanje (ispis)
Op ca forma WRITE naredbe je:
WRITE ([UNIT=]<cijeli_broj>,[FMT=]<uredenje>,IOSTAT=<int_var>,
ERR=<labela>,ADVANCE=<yes,no>,...) lista_varijabli
Citanje s ure
daja
Op ca forma READ naredbe:
READ ([UNIT=]<cijeli_broj>,[FMT=]<uredenje>,ADVANCE=<yes,no>,
IOSTAT=<int_var>,ERR=<labela>,END=<labela>,EOR=<label>,
REC=<id_zapisa>,SIZE=<broj_znakova_var>) lista_varijabli
Ve cina argumenata ima standardno zna cenje. Osim njih kao dodatne
opcionalne argumente imamo:
Izme
du po cetka i kraja svakoj varijabli iz liste zadaje se vrijednost
s znakom jednakosti;
&ime_liste
ime_varijable_1 = vrijednost_1,
ime_varijable_2 = vrijednost_2,
...
/
Primjer
Ako neka varijabla tipa niza znakova ima vrijednost cijelog (ili
realnog) broja, ili niza brojeva, te se vrijednosti mogu u citati u
cjelobrojne (ili realne) varijable koritenjem READ naredbe. Pri
tome se umjesto broja ure
daja navodi ime string varijable.
CHARACTER(LEN=10) :: ch = 12345
INTEGER :: i
READ (ch,(i)) i