Hidrológiai Közlöny 1987 (67. évfolyam)

2-3. szám - Gauzer Balázs: Néhány FORTRAN szubrutin hidrológiai adatok elsődleges feldolgozásához

152 HIDROLÓGIAI! KÖZLÖNY 1987. 67. ÉVFOLYAM, 2—3. SzA M Paraméterek: RESP — A felhasználó által megadott válasz —INP— ANSDEF — a (CR) gomb válasz gyanánt történő megnyomása esetén érvényes ún. „default" válasz —INP— ANS — A másik lehetséges válasz —INP— Hívott szubrutin: NINCS. A NAN INP függvény A kérdés szövegét kiírja a képernyőre. Beolvas egy karaktert a képernyőről, és összehasonlítja ezt az ANSDEF és az ANS CHARACTER típusú vál­tozókban definiált karakterekkel. NANINP — 1—az ANS-ban megadott válasz érzezett. = 0—az ANSDEF-ben megadott vá­lasz, vagy blank érkezett. — —1—dollár (S) jel érkezett válaszként. ÍSTORAGE:2 FUNCTION NANTST(RESP,ANSDEF, ANS) CHARACTER RESP, ANSDEF, ANS, BLK, ANSD DATA BLK /' '/ C ANSD=ANSDEF IFtRESP.EQ.ANSD) GOTO 1 ANSD-CHAR(ICHAR(ANSDEF)^2) IFtRESP.EQ.ANSD) GOTO 1 IFtRESP.EQ.BLK) GOTO 1 ANSD=ANS IFtRESP.EQ.ANSD) GOTO 2 ANSD=CHAR( ICHARt ANS ) + 32) IFtRESP.EQ.ANSD) GOTO 2 CALL BADRSP NANTST=-1 GOTO 10 1 NANTST=0 GOTO 10 2 NANTST^l C 10 RETURN END $STORAGE:2 FUNCTION NANINPtINSCR,ANSDEF,ANS) CHARACTER INSCR(l), ANSDEF, ANS, RESP, 3LK, DLR, AST DATA BLK /' '/, DLR /'$'/, AST /'#'/ C K=80 DO 1 1=1,30 • IFtINSCR(K) .NE .BLK ) GOTO 2 1 K=K-1 STOP 'STOP S/P NANINP ' 2 K=K+1 3 CALL NEWLIN(0, 1 ) CALL OUTPUT(0,K,INSCR) READ (0,4) RESP 4 FORMAT(AI) IFtRESP.EQ.AST) GOTO 9 IFtRESP.EQ.DLR) GOTO 8 IFtNANTSTtRESP,ANSDEF,ANS)) 3, 5, 6 5 NANINP=0 GOTO 10 6 NANINP^l GOTO 10 C 8 NANINP=-1 GOTO 10 9 NANINP=-2 10 RETURN END Paraméterek: INSCR — A kérdés szövegét tartalmazó karakter­sor —INP— ANSDEF — lásd NANTST függvény ANS — lásd NANTST függvény Hívott szubrutin: NANTST. A listát az 5. ábra tartalmazza. 5. Műveletek dátumokkal, időpontokkal Az alábbiakban az adott dátumokkal, ill. idő­pontokkal végzendő műveletek végrehajtására alkalmas szubrutinokat mutatjuk be. A dátumok nap pontossággal, az angol nyelv szabályai szerint nap, hónap, év sorrendben, az időpontok pedig perc pontossággal, óra, perc, nap, hó, év sorrend szerint vannak megadva. A MAXDA Y függvény Meghatározza, hogy egy adott év adott hónap­jában hány nap van, figyelembe véve a szökőévet is. A függvény eredményeként a napok számát adja vissza (6. ábra). Paraméterek: IDAT — Az adott dátumot tartalmazó tömb (hó nap, év) —INP— Hívott szubrutin: NINCS. A NDTGHK függvény Adott dátum helyességét ellenőrzi. Évszámként 1701 és 2099 közötti értékeket fogad el (6. ábra). NDTCHK = 0—a dátum hibátlan = 1—a dátum hibás. Paraméterei: IDAT — A7. ellenőrizendő dátumot tartalmazó tömb (nap, hó, év) —INP— Hívott szubrutin: MAXDAY. Az NDTTST függvény Megállapítja, hogy két dátum közül melyik a korábbi (6. ábra). NDTTST = 1 IDATl későbbi, mint IDAT2. = 2— IDATl egyenlő IDAT2. = 1— IDATl korábbi, mint IDAT2. Paraméterei: IDATl — Az első összehasonlítandó dátumot tartalmazó tömb (nap, hó, óv) —INP— IDAT2 — A másik összehasonlítandó dátumot tartalma­zó tömb (hó, nap, óv) —INP— Hívott szubrutin: NINCS. Az NDTDIF függvény Két dátum között eltelt időt számítja. A függ­vény az eredményt napban adja meg (6. ábra). Paraméterek: IDATl — A kisebbítendő dátumot tartalmazó tömb (nap, hó, óv) —INP— IDAT2 — A kivonandó dátumot tartalmazó tömb (nap, hó, óv) —INP) 5. ábra. A NANTST és a NANINP szubrutin Hívott szubrutin: NINCS.

Next

/
Thumbnails
Contents