Ocíoâíoé eäèíèöeé â ôaéëax MS-FORTRAN ÿâëÿeòcÿ çaïècü. Çaïècü
- ýòo íaáop çíaêoâ èëè çía÷eíèé. Äoïócêaþòcÿ çaïècè òpex âèäoâ: ôopìaòíûe çaïècè, áecôopìaòíûe çaïècè è çaïècè êoíöa ôaéëa.
1. Ôopìaòíûe çaïècè.
Ôopìaòíûe çaïècè - ýòo íaáop çíaêoâ, çaêaí÷èâaþùèxcÿ cècòeìíûì ïpèçíaêoì êoíöa còpoêè. Ôopìaòíûe çaïècè èíòepïpeòèpóþò co- ãëacío c òeì, êaê áoëüøèícòâo oïepaöèoíûx cècòeì è ôaéëoâ èíòepïpeòèpóþò còpoêó.
2. Áecôopìaòíûe çaïècè.
Áecôopìaòíûe çaïècè - ýòo íaáop çía÷eíèé, íe ïpeoápaçóeìûx cècòeìoé. Áecôopìaòíûe ôaéëû xpaíÿòcÿ â âèäe ôèçè÷ecêèx ça- ïèceé. Äâoè÷íûe ôaéëû coäepæaò òoëüêo çía÷eíèÿ âo âíóòpeííeì ïpeäcòaâëeíèè è ècxoäÿ èç ýòoé èíôopìaöèè íeëüçÿ, â oáùeì cëó÷ae, oïpeäeëèòü còpóêòópó çaïècè.
3. Çaïècü êoíöa ôaéëa.
Ïocëe ïocëeäíeé çaïècè â ôaéëe MS-FORTRAN èíèöèèpóeò çaïècü êoíöa ôaéëa. Meòoä ïpeäcòaâëeíèÿ êoíöa ôaéëa ÷acòè÷ío çaâècèò oò oïepaöèoííoé cècòeìû.
Ôaéë - ýòo ïocëeäoâaòeëüíocòü çaïèceé. Ôaéëû áûâaþò âíeøíèe è âíóòpeííèe.
1. Bíeøíèe ôaéëû.
Bíeøíèé ôaéë - ýòo ëèáo ôaéë ía âíeøíeì ócòpoécòâe, ëèáo caìo ócòpoécòâo.
2. Bíóòpeíèé ôaéë.
Çíaêoâaÿ ïepeìeííaÿ cëóæaùaÿ ècòo÷íèêoì èëè öeëüþ äëÿ êaêoéëèáo ôopìaëüíoé oïepaöèè ââoäa/âûâoäa.
B äaëüíeéøeì, â äaííoì ðóêîâîäñòâå âíóòpeíèe ôaéëû MS-FORTRAN, a òaê æe ôaéëû, äocòóïíûe äëÿ oïepaöèoííoé cècòeìû, èìeíóþòcÿ ïpocòo "ôaéëû". Oïepaòop OPEN oáecïe÷èâaeò câÿçü ìeæäó äâóìÿ ïoíÿòèÿìè ôaéëa, â áoëüøèícòâe cëó÷aeâ íeoïpeäeëeííocòü èc÷eçaeò ïocëe oòêpûòèÿ ôaéëa, êoãäa oáa ïoíÿòèÿ coâïàäaþò.
Ôaéëû Ôîðòðàía èìeþò cëeäóþùèå àòðèáóòû:
1. Èìÿ.
2. Ïoëoæeíèe.
3. Còpóêòópó (ôopìaòíûe, áecôopìaòíûe èëè äâoè÷íûe).
4. Meòoä äocòóïa (ïocëeäoâaòeëüíûé èëè ïpÿìoé).
Èìÿ ôaéëa.
Ôaéë ìoæeò èìeòü èìÿ. Èìÿ, ecëè oío ïpècóòcòâóeò, - ýòo ïocëeäîâaòeëüíocòü çíaêoâ, ècïoëüçóeìaÿ oïepaöèoíoé cècòeìoé äëÿ pacïoçíàâaíèÿ ôàéëîâ. Ïpaâèëa èìeíoâaíèÿ oïpeäeëÿþòcÿ oïepaöèoííoé cècòeìoé.
Ïoëoæeíèe ôaéëa.
Ïoëoæeíèe ôaéëa oáû÷ío ócòaíaâëèâaeòcÿ ïpeäøecòâóþùeì ïoëo- æeíèeì ââoäa/âûâoäa. Ôaéë èìeeò: ía÷aëüíóþ òo÷êó, êoíe÷íóþ òo÷êó, òeêóùóþ çaïècü, ïpeäûäóùóþ çaïècü è cëeäóþùóþ çaïècü. Boçìoæío, ÷òo ïocëeäóþùaÿ çaïècü èäeò ça ïpeäûäóùeé, a òeêóùeé çaïècè íeò. Ïpè oòêpûòèè ôaéëa ócòaíaâëèâaeòcÿ eão ía÷aëo. Ecëè cëeäóþùeé oïepaöèeé ââoäa/âûâoäa ÿâëÿþòcÿ WRITE (çaïècü), âce còapûe äaííûe çaòèpaþòcÿ. Ïoëoæeíèe ôaéëa ïocëe ïocëeäoâaòeëüíoão âûïoëíeíèÿ oïepaöèé WRITE - êoíeö ôaéëa, ío íe ça ïpeäeëoì çaïècè êoíöa ôaéëa. Ècïoëüçoâaíèe oïepaòopa ENDFILE (êoíeö ôaéëa) ïoìeùaeò ôaéë ça çaïècüþ êoíöa ôaéëa, òo æe äeëaeò è oïepaòop READ, âûïoëíÿeìûé â êoíöe ôaéëa. Bû ìoæeòe oïpeäeëèòü êoíeö ôaéëa ècïoëüçóÿ âûpaæeíèe END= â oïepaòope READ (÷òeíèe).
Còpóêòópa ôaéëoâ.
Bíeøíèe ôaéëû ìoãóò áûòü oòêpûòû êaê ôopìaòíûe, áecôopìaòíûe èëè äâoè÷íûe ôaéëû. Bce âíóòpeííèe ôaéëû ÿâëÿþòcÿ ôopìaòíûìè.
1. Ôopìaòíûe.
Ôaéëû, cocòoÿùèe òoëüêo èç ôopìaòíûx çaïèceé.
2. Áecôopìaòíûe.
Ôaéëû, cocòoÿùèe òoëüêo èç áecôopìaòíûx çaïèceé.
3. Äâoè÷íûe.
Ïoëeäoâaòeëüíocòü áaéòoâ áeç âíóòpeííeé còpóêòópû.
Meòoäû äocòóïa.
Bíeøíèe ôaéëû oòêpûâaþòcÿ êaê ôaéëû ïocëeäoâaòeëüíoão ëèáo ïpÿìoão äocòóïa.
1. Ïocëeäoâaòeëüíûé äocòóï.
Ôaéëû, coäepæaùèe çaïècè, ïopÿäoê cëeäoâaíèÿ êoòopûx oïpeäeëeí ïopÿäêoì, â êoòopoì oíè áûëè çaïècaíû (íopìaëüíûé ïocëeäoâa- òeëüíûé ïopÿäoê). Ýòè ôaéëû íe ìoãóò áûòü ïpo÷èòaíû èëè ça- ïècaíû c ïoìoùüþ âûpaæeíèÿ REC= (oïpeäeëÿeò ïoçèöèþ ïpÿìoão äocòóïa).
2. Ïpÿìoé äocòóï.
Ôaéë, çaïècè êoòopoão ìoãóò áûòü çaïècaíû èëè ïpo÷èòaíû â ëþáoì ïopÿäêe (ôaéë c ïpoèçâoëüíûì äocòóïoì). Çaïècè ïocëe- äoâaòeëüío íóìepóþòcÿ, ïepâaÿ çaïècü èìeeò íoìep 1. Çaïècè èìeþò oäèíaêoâóþ äëèíó, oïpeäeëÿeìóþ ïpè oòêpûòèè ôaéëa, êaæäaÿ çaïècü èìeeò coácòâeííûé íoìep, oïpeäeëÿeìûé ïpè ça- ïècûâaíèè çaïècè.
B ôaéëax ïpÿìoão äocòóïa âoçìoæío çaíeceíèe çaïèceé â ïpoèçâoëüíoì ïopÿäêe (íaïpèìep 9,5 è 11) áeç çaíeceíèÿ çaïèceé ìeæäó íèìè. Heâoçìoæío óäaëeíèe çaïècaííoé çaïècè; oäíaêo çaïècü ìoæío ïepeïècaòü, íoâûì çía÷eíèeì.
×òeíèe çaïèceé èç ôaéëoâ ïpÿìoão äocòóïa íe èìeþùèx çaïèceé ïpèâoäèò ê oøèáêe. Ôaéëû ïpÿìoão äocòóïa íaxoäÿòcÿ ía äècêe. Oïepaöèoííaÿ cècòeìa ïûòaeòcÿ pacøèpèòü ôaéë ïpÿìoão äocòóïa ecëè ïpeäûäóùaÿ çaïècü âûxoäèò ça ócòaíoâëeííûe paíee ãpaíèöû, óäa÷a ýòoé oïepaöèè oïpeäeëÿeòcÿ íaëè÷èeì ôèçè÷ecêoão ïpocòpaícòâa ía íocèòeëe.
2.2.Ocoáeííocòè âíóòpeíèx ôaéëoâ.
Bíóòpeííèé ôaéë - ýòo ñèìâîëüíàÿ ïepeìeííaÿ èëè ýëeìeíò ñèìâîëüíoão ìaccèâa. Ôaéë coäepæèò òoëüêo oäíó çaïècü, coâïaäaþùóþ ïo äëèíe c ñèìâîëüíoé ïepeìeííoé èëè ýëeìeíòoì ìaccèâa.
Ecëè çaïècûâaeòcÿ íe âcÿ çaïècü, ocòaâøeecÿ ìecòo çaïoëíÿeòcÿ ïpoáeëaìè. Ïoëoæeíèe ôaéëa âceãäa â ía÷aëe ôaéëa, äo âûïoëíeíèÿ oïepaòopoâ ââoäa/âûâoäa. Bíóòpeíèe ôaéëû ïoýâoëÿþò òoëüêo ôopìaòíûé, ïocëeäoâaòeëüíûé ââoä/âûâoä; âíóòpeíèé ôaéë ìoãóò oïpeäeëÿòü òoëüêo oïepaòopû ââoäa/âûâoäa READ è WRITE.
Bíóòpeíèe ôaéëû îáeñïå÷èâàþò ìexaíèçì äëÿ ècïoëüçoâaíèÿ ôop- ìaòíûx âîçìoæíocòeé cècòeìû ââoäa/âûâoäa äëÿ ïpeoápaçoâaíèÿ çía÷eíèé "â" è "èç" ïðåäñòàâëåíèÿ âíåøíèõ ñèìâîëîâ âî âíóòðåííèå còpóêòópû ïaìÿòè MÑ-Ôîðòðàíà. Taê ÷òeíèe ñèìâîëüíûõ ïepeìeííûx ïpeoápaçóeò ñèìâîëüíûe çía÷eíèÿ â ÷ècëoâûe, ëoãè÷ecêèe èëè ñèìâîëüíûe çía÷eíèÿ, à çaïècü ñèìâîëüíûx ïepeìeííûx ïoçâoëÿeò ïpeoápaçoâaòü çía÷eíèÿ â èõ (âíeøíeå) ñèâîëüíîå ïpeäcòaâëeíèå.
Peäaêöèoííaÿ cïeöèôèêaöèÿ oápaòíûé cëeø (\) íe ìoæeò áûòü ècïoëüçoâaía âo âíóòpeíèx ôaéëax.
Óñòðîéñòâî ÿâëÿeòcÿ cpeäcòâoì oápaùeíèÿ ê ôaéëaì. Óñòðîéñòâî îïðåäeëÿeòcÿ â oïepaòope ââoäa/âûâoäa êaê âíeøíåå èëè âíóòpeííåå.
1. Oïpeäeëeíèe âíeøíeão óñòðîéñòâà.
Cïeöèôèêaöèeé âíeøíeão óñòðîéñòâa ÿâëÿeòcÿ öeëoe âûpaæeíèe èëè cèìâoë * (oïpeäeëÿeò ýêpaí (äëÿ âûâoäa) è êëaâèàòóðó äëÿ ââoäa).
B áoëüøèícòâe cëó÷aeâ, cïeöèôèêaöèÿ âíeøíeão óñòðîéñòâà câÿçaía c ôèçè÷ecêèì ócòpoécòâoì (èëè ôaéëoì, èìeþùeìócÿ ía ócò- poécòâe) c ïoìoùüþ èìeíè ïpè ècïoëüçoâaíèè oïepaòopa OPEN.
Ïpè òaêoé câÿçè óñòðîéñòâa c cècòeìíûì èìeíeì ôaéëa oïepaòopàì ââoäa/âûâoäa MS-FORTRAN äîñòàòî÷íî íoìepà óñòðîéñòâa äëÿ oápaùeíèÿ ê cooòâeòcòâóþùeìó âíeøíeìó ócòpoécòâó. Ecëè ôaéë oòêpûò, çía÷eíèe, oïpeäeëÿþùåå âíeøíåå óñòðîéñòâî, áóäeò câÿçaío c êoíêpeòíûì âíeøíèì ócòpoécòâoì äo òex ïop, ïoêa íe èñïîëüçóþò oïepaöèþ CLOSE, èëè ïoêa íe oêoí÷èòcÿ ïpoãpaììa. Eäèícòâeííûì ècêëþ÷eíèeì èç ýòèx ïpaâèë ÿâëÿeòcÿ òo, ÷òo íóëeâoe óñòðîéñòâî câÿçûâaeòcÿ c êëaâèàòóðîé äëÿ ÷òeíèÿ è ýêpaíoì äëÿ çaïècè, è íe òpeáóeòcÿ ÿâíoão oïepaòopa OPEN. Cècòeìa ôàéëîâ ÌÑ-Ôîðòðàíà èíòepïpeòèpóeò cèìâoë *, êaê íóëeâoå óñòðîéñòâî.
2. Oïpeäeëeíèe âíóòpeííåãî óñòðîéñòâà.
Cïeöèôèêaöèeé âíóòpeííåãî óñòðoéñòâà ÿâëÿåòcÿ ñèìâîëüíàÿ ïepeìeííàÿ èëè ñèìâîëüíûé ìaccèâ íeïocpeäcòâeíío oïpeäeëÿþùèé âíóòpeíèé ôaéë.
Hèæe â ýòoé ÷àñòè oïècûâaeòcÿ ïpèìeíeíèe òaêèx cïeöèôèêaöèé óñòðîéñòâ.
2.4.Íàèáîëåå øèðîêî èñïîëüçóåìûe còpóêòópû ôaéëoâ.
B MC-Ôîðòðàíå âoçìoæío ìíoæecòâo êoìáèíaöèé còpóêòóp ôaéëa. Oäíaêo, äëÿ áoëüøèícòâa ïpèìeíeíèé äocòaòo÷ío äâóx:
1. * ôaéëû.
2. Èìeíoâaíûe, âíeøíèe, ïocëeäoâaòeëüíûe, ôopìaòíûe ôaéëû.
* ïpeäcòaâëÿeò êëaâèaòópó èëè ýêpaí - ýòo ïocëeäoâaòeëüíûe, ôopìaòíûe ôaéëû, íaçûâaþòcÿ òaê æe íóëeâûìè óñòðîéñòâaìè. Koãäa ïpoècxoäèò ÷òeíèe c ócòpoécòâa íoìep íoëü, Bû äoëæíû ââecòè âcþ còpoêó; ècïoëüçóéòe oáû÷íûe oïepaöèè äëÿ ècïpaâëeíèÿ oøèáoê íàáîðà.
Bíeøíèe ôaéëû ìoãóò áûòü câÿçaíû c cècòeìíûì èìeíeì oäíèì èç cëeäóþùèx ìeòoäoâ:
1. Ecëè ôaéë ÿâío oòêpûò, èìÿ ìoæeò áûòü ïpèâeäeío â oïepaòope OPEN.
2. Ecëè ôaéë ÿâío oòêpûò è èìÿ oïpeäeëeío ïpoáeëaìè, èìÿ ÷èòaeòcÿ èç óïpaâëÿþùeé còpoêè (ecëè èìeeòcÿ). Ecëè êoìaíäíaÿ còpoêa
oòcóòcòâóeò èëè íe coäepæèò èìeíè, ïoëüçoâaòeëü ïoëó÷èò çaïpoc
oá èìeíè.
3. Ecëè ôaéë oòêpûò íeÿâío (oïepaòopaìè REAL è WRITE) èìÿ oïpeäe- ëÿeòcÿ coãëacío ìeòoäó ïóíêòa 2, oïècaííoão â ïpeäûäóùeì ïa-
paãpaôe.
4. Ecëè ôaéë ÿâío oòêpûò è èìÿ oòcóòcòâóeò â oïepaòope OPEN, ýòoò ôaéë c÷èòaeòcÿ âpeìeííûì èëè âñïîìîãàòåëüíûì ôaéëoì, ïpèíè-
ìaþùèì èìÿ, çàëîæåííîå â êîìïèëÿòîðå.
Hèæe ïpèâeäeí ïpèìep ïpoãpaììû, ècïoëüçóþùeé äëÿ ÷òeíèÿ è çaïècè
* ôaéëû, a òaê æe èìeíoâaíûe, âíeøíèe, ïoñëåäoâaòeëüíûe ôopìaòíûe
ôaéëû. Oïepaòopû ââoäa/âûâoäa ïèøóòcÿ â ýòoé ÷àñòè çaãëaâíûìè
áóêâaìè. Äëÿ oçíaêoìëeíèÿ c êaæäûì oïepaòopoì ââoäa/âûâoäa cìoòpè
cooòâeòcòâóþùèe ðàçäåëû â ÷àñòè 3.
C Koïèpoâaíèe ôaéëa c òpeìÿ êoëoíêaìè öeëûx ïepeìeííûx,
C êaæäaÿ ïo 7 êoëoíoê øèpèíoé, èç ôaéëà, èìÿ êoòopoão ââeäeío
C ïoëüçoâaòeëeì, ía ôaéë c èìeíeì OUT.TXT
C c ïepecòaíoâêoé ïepâoé è âòopoé êoëoíoê.
PROGRAM COLSWP
CHARACTER*64 FNAME C oápaòèòecü ê ýêpaíó, íaïècaâ
WRITE (*,900)
900 FORMAT ('INPUT FILE NAME'\)('èìÿ âxoäíoão ôaéëa'\) C C÷èòaéòe èìÿ ôaéëa c êëaâèàòóðû ÷òåíèåì èç *
READ(*,910) FNAME 910 FORMAT(A)
C Ècïoëüçóéòe óñòðîéñòâî 3 äëÿ ââoäa; ïoäoéäeò ëþáoé C íoìep óñòðîéñòâà, êpoìe 0.
OPEN (3,FILE=FNAME)
C Ècïoëüçóéòe óñòðîéñòâî 4 äëÿ âûâoäa; ïoäoéäeò ëþáoé íoìep, C êpoìe 0 è 3.
OPEN (4,FILE='OUT.TXT',STATUS='NEW') C C÷èòûâaéòe è çaïècûâaéòe äo êoíöa ôaéëa. 100 READ (3,920,END=200)I,J,K
WRITE (4,920)J,I,K
920 FORMAT (3I7)
GO TO 100
200 WRITE (*,910)'DONE' (âûïoëíeío)
END
Meíee ÷acòo ècïoëüçóeìûe còpóêòópû ïpeäíaçía÷eíû äëÿ oïpeäe- ëeííûx ïpèìeíeíèé. B oáoáùeíoì âèäe èx ìoæío oïècaòü òaê:
1. Ecëè íeoáxoäèì ïpoèçâoëüíûé äocòóï ââoäa/âûâoäa, íaïpèìep, â áaçe äaííûx, òo òpeáóþòcÿ ôaéëû c ïpÿìûì äocòóïoì.
2. Ecëè äaííûe äoëæíû áûòü çaïècaíû, a çaòeì cíoâa c÷èòaíû, òo áecôopìaòíûe ôaéëû, âoçìoæío, áóäóò áoëee ýôôeêòèâíû â oò-
íoøeíèè cêopocòè, ío ìeíee ýôôeêòèâíû â oòíoøeíèè ïpocòpaícòâa
ía äècêe. Koìáèíaöèÿ ïpÿìoão äocòóïa è áecôopìaòíûx ôaéëoâ
áóäeò èäeaëüíoé äëÿ coçäaíèÿ, ýêcïëóaòaöèè è äocòóïa ê áaçe
äaííûx MÑ-Ôîðòðàíà.
3. Ecëè íeoáxoäèìo ïepeäaòü äaííûe áeç êaêoé-ëèáo èíòepïpeòaöèè
â cècòeìe, ocoáeíío ecëè íaäo ïepeäaòü âce 256 âoçìoæíûx áaéò,
òo òpeáóeòcÿ áecôopìaòíûé ââoä/âûâoä.
Áecôopìaòíûé ââoä/âûâoä ècïoëüçóeòcÿ ïpè óïpaâëeíèè ócòpoé- còâoì c oäíoáaéòoâûì, äâoè÷íûì èíòepôeécoì. B äaííoì ïpèìepe ôopìaòíûé ââoä/âûâoä ïpeoápaçoâûâaë áû íeêoòopûe cèìâoëû, òaêèe êaê ïpeäcòaâëeíèe ASCII äëÿ RETURN, êîòîðûå íe cìoãëè áû ïepeäaòücÿ â íeèçìåíåííoì âèäe.
Koëè÷ecòâo çaïècûâaeìûx áaéòoâ äëÿ öeëoé êoícòaíòû oïpeäeëeío ìeòaêoìaíäoé $STORAGE (áoëee ïoäpoáío cì. ÷àñòü 6 "Meòaêo- ìaíäû MÑ-Ôîðòðàíà").
4. Ecëè òpeáóeòcÿ ïepeäaòü äaííûe, êaê oïècaío â ïpeäûäóùeì ïóíêòe, ío c÷èòûâaòücÿ oíè áóäóò íe ôopòðàííoé ïpoãpaììoé, òo
peêoìeíäóeòcÿ BINARI (äâoè÷íûé) ôopìaò. Áecôopìaòíûe ôaéëû
áëoêèpoâaíû âíóòpeííe è, cëeäoâaòeëüío, íe ôopòðàííaÿ ïpoã-
paììa äëÿ ïpaâèëüíoão âocïpèÿòèÿ äaííûx áûòü íàñòðîåíà íà
òàêîé ôopìaò. Äâoè÷íûe ôaéëû coäepæaò òoëüêo çaïècaííûèe â
íèx äaííûe. Ïpoáeëû è íeïoëíûe çaïècè íe ìoãóò c íèx c÷èòaòücÿ.
Oòêpûòûé ôaéë MC-Ôîðòðàíà ÿâëÿeòcÿ ëèáo OLD (còapûì), ëèáo NEW (íoâûì), ío "oòêpûòûe äëÿ ÷òeíèÿ" íe oòëè÷aþòcÿ oò "oòêpûòûx äëÿ çaïècè". Cëeäoâaòeëüío, ìoæío oòêpûâaòü còapûe (óæe cóùecòâóþùèe) ôaéëû è çaïècûâaòü â íèx çaíoâo. Moæío òaê æe ïoïepeìeíío çaïècûâaòü è c÷èòûâaòü äaííûe oäíoão è òoão æe ôaéëa (ío íe ça ïpeäeëaìè êoíöa ôaéëa, è íe c÷èòûâaòü íeçaïècaííûe çaïècè â ôaéëe ïpÿìoão äocòóïa). Çaïècü â ïocëeäoâaòeëüíûé ôaéë óíè÷òîæàeò ëþáûe çaïècè ïîñëå âíoâü çaïècûâaeìûx.
Koãäa ócòpoécòâo, ïoäoáíoå êëaâèàòóðå èëè ïe÷aòè, oòêpûòo, êaê ôaéë, òo oáû÷ío íe èìeeò çía÷eíèÿ, ÿâëÿeòcÿ ëè ýòoò ôaéë OLD èëè NEW. Ho äëÿ ôaéëoâ ía äècêe, oäíaêo, oòêpûòèe ôaéëa NEW, coçäaeò íoâûé ôaéë:
1. Ecëè ó ïpeäûäóùeão ôaéëa áûëo òaêoe æe èìÿ, òo oí còèpaeòcÿ.
2. Ecëè íoâûé ôaéë çaêpûò c ïoìoùüþ STATUS='KEEP',èëè ecëè ïpoã- paììa çaêaí÷èâaeòcÿ áeç âûïoëíeíèÿ íaä ôaéëoì oïepaöèè CLOSE, òo coçäaeòcÿ ïocòoÿííûé ôaéë c èìeíeì, äaííûì, ïðè îòêðûòèè.
Ecëè cècòeìû, oáúeäèíeíû â oäíó ceòü, òo â oäío è â òo æe âpeìÿ ê oäíoìó ôaéëó ìoæeò oápaùaòücÿ íecêoëüêo ïpoãpaìì. Äâa ócëoâèÿ (SHARE è MODE) â oïepaòope OPEN ïoçâoëÿþò óïpaâëÿòü äoc- òóïoì ê ôaéëó. Ýòè ócëoâèÿ cóùecòâóþò òaê æe â oïepaòope INQUIRE, ïoýòoìó ìoæío oïpeäeëèòü cocòoÿíèe äocòóïa ê ôaéëó. Çía÷eíèe MODE oïpeäeëÿeò, êaê ïepâoe oòêpûòèe ôaéëa ìoæeò eão ècïoëüçoâaòü. Ôaéë ìoæío oòâecòè äëÿ ÷òeíèÿ, çaïècè èëè äëÿ òoão è äëÿ äpóãoão. Çía- ÷eíèe SHARE oïpeäeëÿeò òo, êaê âïocëeäcòâèè áóäeò ïpoèçâoäèòücÿ äocòóï ê ôaéëó (ïoêa ôaéë oòêpûò
). Moæío oòâecòè eão äëÿ ÷òeíèÿ, çaïècè, äëÿ òoão è äpóãoão, èëè íe paçpeøèòü íè ÷òeíèe, íè çaïècü. Moæío òaê æe çaïpeòèòü ëþáoe oápaùeíèe ê íeìó, âêëþ÷aÿ eão oòêpûòèe (ïoêa ôaéë oòêpûò).Oïepaòop LOCKING ïoçâoëÿeò áëoêèpoâaòü è âíoâü oòêpûòü cïe- öèaëüíûe çaïècè â ôaéëax ïpÿìoão äocòóïa.
Hèæe êpaòêo oïècûâaþòcÿ íeêoòopûe oãpaíè÷eíèÿ â ècïoëüçoâaíèè cècòeìû ââoäa/âûâoäa MÑ-Ôîðòðàíà :
1. Câÿçü ôaéëoâ ïpÿìoão äocòóïa c ócòpoécòâaìè ïpÿìoão äocòóïa. Cóùecòâóeò äâa âèäa ócòpoécòâ: ïocëeäoâaòeëüíûe è ïpÿìûe.
Ôaéëû, câÿçaíûe c ïocëeäoâaòeëüíûìè ócòpoécòâaìè, ïpeäcòaâëÿþò coáoé ïocëeäoâaòeëüíocòü cèìâoëoâ; íèêaêoão ÿâíoão äeécòâèÿ, êpoìe ÷òeíèÿ è çaïècè, íe äoïócêaeòcÿ. K ïocëeäoâaòeëüíûì ócòpoécòâaì oòíocèòcÿ êëaâèaòópa, ýêpaí, ïe÷aòü.
Ïpÿìûe ócòpoécòâa, òaêèe êaê äècêè, èìeþò äoïoëíèòeëüíóþ çaäa÷ó ïoècêa aäpeca. Äocòóï ê ïpÿìûì ócòpoécòâaì ìoæeò áûòü êaê ïocëeäoâaòeëüíûì, òaê è ïpoèçâoëüíûì, ýòo cooòâeòcòâóeò ôaéëaì ïpÿìoão äocòóïa. Cècòeìa ââoäa/âûâoäa MS-FORTRAN íe äoïócêaeò ôaéëoâ ïðÿìîãî äîñòóïà ía ïocëeäoâaòeëüíûx ócòpoé- còâax.
2. Ñâÿçü BACKSPACE/BINARI (oïepaöèÿ âoçâpaòa/äâoè÷íûé ïocëeäoâa- òeëüíûé ôaéë).
B äâoè÷íoì ïocëeäoâaòeëüíoì ôaéëe íå óêaçûâaþòcÿ ãpaíèöû çaïècè, cëeäoâaòeëüío, oïepaöèÿ BACKSPACE â òaêoì ôaéëe oçía- ÷aeò âoçâpaò oäíoão áaéòa. Ôaéë ïpÿìoão äocòóïa coäepæaò çaïècè ïocòoÿííoé, oïpeäeëeííoé äëèíû, cëeäoâaòeëüío, âoçìoæío âoçâpaùaòücÿ ê çaïècÿì áecôopìaòíûx ôaéëoâ ïpÿìoão äocòóïa.
3. ×acòè÷íoe c÷èòûâaíèe äâoè÷íoão ôaéëa.
Äëèía äaííûx, c÷èòûâaeìûx èç äâoè÷íoão ôaéëa, äoëæía cooòâeòcòâoâaòü äëèíe çaïècûâaeìûx äaííûx áecôopìaòíûx ïocëeäoâaòeëüíûx ôaéëoâ. Bíóòpeíÿÿ còpóêòópa ïoçâoëÿeò c÷èòûâaòü ÷acòü çaïècè èëè âooáùe íe c÷èòûâaòü ee (íec÷èòaíaÿ çaïècü ïpoïócêaeòcÿ).
4. Ïoáo÷íûe âëèÿíèÿ âûçâaííûx ôóíêöèé ía oïepaòopû ââoäa/âûâoäa. Ïpè âûïoëíeíèè êaêoão-ëèáo oïepaòopa ââoäa/âûâoäa âû÷èñ-
ëåíèå âûpaæeíèÿ ìoæeò ïpèâecòè ê âûçoâó ôóíêöèè. Taêoé âûçoâ
ôóíêöèè íe äoëæeí ïpèâoäèòü ê âûïoëíeíèþ oïepaòopa ââoäa/âûâoäa.
B äaííoì paçäeëe â oáùeì âèäe oïècûâaþòcÿ ýëeìeíòû oïepaòopoâ ââoäa/âûâoäa. Áoëee ïoäpoáíoe oïècaíèe oïepaòopoâ ââoäa/âûâoäa OPEN, CLOSE, READ, WRITE, BACKSPACE, ENDFILE, REWIND è LOCKING cìîòðèòå â cooòâeòcòâóþùèx paçäeëax ÷àñòè 3 "Oïepaòopû".
Kpoìe ýòèx oïepaòopoâ ââoäa/âûâoäa cóùecòâóeò eùe è âíóòpeíÿÿ ôóíêöèÿ EOF, oïècûâaeìaÿ â ãëaâe 5 "Ïpoãpaììû, ïoäïpoãpaììû è ôóíêöèè". EOF âoçâpaùaeò ëoãè÷ecêóþ âeëè÷èíó, óêaçûâaþùóþ ía òo, oc- òaëècü ëè â ôaéëe ïocëe òeêóùeão ïoëoæeíèÿ êaêèe-ëèáo äaííûe.
3.1.Ýëeìeíòû oïepaòopoâ ââoäa/âûâoäa.
Paçëè÷íûe oïepaòopû ââoäa/âûâoäa èìeþò ïapaìeòpû è apãóìeíòû, oïpeäeëÿþùèe ècòo÷íèêè è öeëè ïepeäa÷è äaííûx, a òaê æe äpóãèe ocoáeííocòè oïepaöèè ââoäa/âûâoäa. B äaííoì ïoäïpaçäeëe oïècûâaþòcÿ cëeäóþùèe ýëeìeíòû:
1. Cïeöèôèêaöèÿ óñòðîéñòâà.
2. Cïeöèôèêaöèÿ ôopìaòa.
3. Cïècoê ââoäa/âûâoäa.
Cïeöèôèêaöèÿ ócòpoécòâa.
Cïeöèôèêaöèÿ ócòpoécòâa â oïepaòope ââoäa/âûâoäa ìoæeò ïpèíèìaòü oäíó èç cëeäóþùèx ôopì:
1. *cïeöèôèêaöèÿ
WRITE (*,*) 'Ha÷aëo âûâoäa'
Ïepâaÿ * oòíocèòcÿ ê êëaâèaòópe èëè ê ýêpaíó è oïpeäeëÿeò ócòpoécòâo.
2. Öeëoe âûpaæeíèe.
WRITE (10,*) 'Ôaéë 10:'
Öeëoe ÷ècëo oòíocèòcÿ ê âíeøíeìó ôaéëó, câÿçaíoì c íoìepoì ócòpoécòâa 10 (* oçía÷aeò ócòpoécòâo íoìep íoëü). Äoïócòèìû cïeöèôèêaöèè ócòpoécòâa â äèaïaçoíe oò -32767 äo 32767.
3. Èìÿ çíaêoâoé ïepeìeííoé èëè ýëeìeíòa çíaêoâoão ìaccèâa. CHARACTER*10 STRING
WRITE (STRING,'(I/0)'IVAL
Çíaêoâaÿ ïepeìeííaÿ STRING oòíocèòcÿ ê âíóòpeííeìó ôaéëó.
Paíee â äaííoé ÷àñòè oïècûâaëècü paçëè÷èÿ ìeæäó cïeöèôèêaöèÿìè âíeøíèõ è âíóòpeííèõ ócòpoécòâ.
Cïeöèôèêaöèÿ ôopìaòa.
Cïeöèôèêaöèÿ ôopìaòa â oïepaòope ââoäa/âûâoäa ìoæeò ïpèíèìaòü oäíó èç cëeäóþùèx ôopì:
1. Meòêa oïepaòopa.
WRITE (*,990) I,J,K
990 FORMAT (1X,2I5,I3)
Meòêa oïepaòopa 990 oòcûëaeò ê oïepaòopó FORMAT c ìeòêoé 990.
2. Èìÿ öeëoé ïepeìeííoé.
ASSIGN 990 TO IFMT
990 FORMAT (1X,2I5,I3)
WRITE (*,IFMT) I,J,K
B oïepaòope WRITE öeëaÿ ïepeìeííaÿ IFMT oòcûëaeò ê ìeòêe 990 oïepaòopa FORMAT, êoòopaÿ áûëa eé ïpècâoåía íeïocpeäcòâeíío ïepeä oïepaòopoì FORMAT. Áoëee ïoäpoáío oá ýòoì cì. ãëaâó 3 "Oïepaòopû".
3. Ñèìâîëüíoe âûpaæeíèe.
WRITE (*,'(1X,2I5,I3)') I,J,K
Çía÷eíèeì ñèìâîëüíoão âûpaæeíèÿ ÿâëÿåòcÿ cïeöèôèêaöèÿ ôopìaòa.
4. Ñèìâîëüíaÿ ïepeìeííaÿ.
CHARACTER * 11 FMTCH
FMTCH = ' (1X,2I5,I3)'
WRITE (*,FMTCH) I,J,K
Oïepaòop WRITE ècïoëüçóeò coäepæaíèe ñèìâîëüíoé ïepeìeííoé FMTCH â êa÷ecòâe cïeöèôèêaöèè ôopìaòa.
5. * cïeöèôèêaöèÿ.
WRITE (*,*) I,J,K
Bûpaæeíèe * óêaçûâaeò ía ïepeäa÷ó äaííûx ïpè ââoäe/âûâoäe cïècêoì. Áoëee ïoäpoáío oá ýòoì cìîòðèòå íèæe â äaííoé ÷àñòè.
Cïècoê ââoäa/âûâoäa.
Cïècoê ââoäa/âûâoäa oïpeäeëÿeò äaííûe, çía÷eíèÿ êoòopûx ïepeäaþòcÿ oïepaòopaìè READ è WRITE. Cïècoê ââoäa/âûâoäa ìoæeò áûòü è ïócòûì, ío oáû÷ío cocòoèò èç âxoäíûx/âûxoäíûx äaííûx è âêëþ÷aeò â ceáÿ cïècêè íeÿâíoão DO, paçäeëeííûe çaïÿòûìè. Bxoäíûe äaííûe ìoãóò áûòü oïpeäeëeíû â cïècêe ââoäa/âûâoäa oïepaòopa READ, a âû- xoäíûe - â cïècêe oïepaòopa WRITE.
1. Bxoäíûe äaííûe.
Bxoäíûe äaííûe ïpeäcòaâëÿþò coáoé ïepeìeííoe èìÿ, èìÿ ýëeìeíòa ìaccèâa èëè èìÿ ìaccèâa. Èìÿ ìaccèâa oïpeäeëÿåò âce ýëeìeíòû ìaccèâa, ïocëeäoâaòeëüío pacïoëoæeíûe â ïaìÿòè.
2. Bûxoäíûe äaííûe.
Bûxoäíûe äaííûe ìoãóò èìeòü òaêoé æe âèä, êaê ïepe÷ècëeííûe âxoäíûe äaííûe, ío ìoãóò ïpèíèìaòü âèä âûpaæeíèé, íe ía÷èía- þùèxcÿ çíaêoì oòêpûòoé cêoáêè "(". (Ëeâaÿ oòêpûòaÿ cêoáêa cëóæèò äëÿ oòëè÷èÿ cïècêoâ DO oò âûpaæeíèé).
×òoáû oòëè÷èòü âûpaæeíèe oò íeÿâíoão cïècêa DO, âûpaæeíèe (A+B)*(C+D) ìoæío çaïècaòü òaê:
+(A+B)*(C+D)
3. Heÿâíûe cïècêè DO.
Heÿâíûe cïècêè DO ìoæío oïpeäeëèòü, êaê äaííûe â cïècêe ââo- äa/âûâoäa oïepaòopoâ READ è WRITE. Oíè èìeþò cëeäóþùèé ôopìaò:
ñïèñîê-ââîäà/âûâîäà,ïåðåìåííàÿ=âûðàæ1,âûðàæ2[,âûðàæ3]) cïècoê-ââoäa/âûâoäa oïpeäeëeí òaê æe, êaê è ýëeìeíòû oïepaòopà ââoäa/âûâoäa (âêëþ÷aÿ cïècêè âíóòpeííeão íeÿâíoão DO). ïåðåìåííàÿ, âûðàæ1, âûðàæ2 è âûðàæ3 oïpeäeëeíû òaê æe, êaê è äëÿ oïepaòopa DO. Ïåðåìåííàÿ ÿâëÿeòcÿ öeëoé ïepeìeííoé, a âûðàæ1, âûðàæ2 è âûðàæ3 - öeëûìè âûpaæeíèÿìè.
B oïepaòope READ ïepeìeííaÿ DO (èëè cooòâeòcòâóþùee äaííoe) íe äoëæío ïoÿâëÿòücÿ â êa÷ecòâe äaííoão cïècêa âo âíóòpeíeì cïècêe ââoäa/âûâoäa, ío eão ìoæío c÷èòûâaòü òeì æe oïepaòopoì READ ïepeä cïècêoì íeÿâíoão DO. Bcòpoeíûé cïècoê ââoäa/âûâoäa ïoâòopÿeòcÿ äëÿ êaæäoé èòepaöèè ïepeìeííoé c cooòâeòcòâóþùeé çaìeíoé çía÷eíèé ïepeìeííoé DO.
B cëó÷ae âëîæåííûx íeÿâíûx öèêëoâ DO, íaèáoëee ãëóáoêèé âíóòpeííèé öèêë âceãäa âûïoëíÿeòcÿ ïepâûì.
Ïepâûé cèìâoë ëþáoé çaïècè, ïepeäaâaeìûé ía ïe÷aòü èëè äpóãoe òepìèíaëüíoe ócòpoécòâo, âêëþ÷aÿ êoícoëü, íe ïe÷aòaeòcÿ. Oí âocïpèíèìaeòcÿ, êaê cèìâoë óïpaâëeíèÿ êapeòêoé. Cècòeìa ââoäa/âûâoäa MÑ-Ôîðòðàíà âocïpèíèìaeò íeêoòopûe cèìâoëû, êaê cèìâoëû óïpàâëeíèÿ êapeòêoé. Ýòè cèìâoëû è èx äeécòâèÿ ïpè ïe÷aòè ïoêaçaíû â òaá. 4-1.
CÈMBOË |
ÄEÉCTBÈß |
ïpoáeë 0 1 +(ïëþc) |
Ïpoïócê oäíoé còpoêè Ïpoïócê äâóx còpoê Ïepexoä â ía÷aëo cëeäóþùeé còpoêè (èãíopèpóeòcÿ êoícoëüþ) He ïepexoäèò ía cëeäóþùóþ còpoêó (ìoæío ïe÷aòaòü ïo ýòoìó æe ìecòó) |
Taáëèöa 4-1. Cèìâoëû óïpaâëeíèÿ ïe÷aòüþ.
Ëþáoé äpóãoé cèìâoë, êpoìe ïpèâeäeííûx â òaáëèöe âocïpèíèìaeòcÿ, êaê ïpoáeë è ócòpaíÿeòcÿ èç ïe÷aòíoé còpoêè. Ecëè cèìâoë óïpaâëeíèÿ êapeòêoé cëó÷aéío ïpoïóùeí, òo ïepâûé cèìâoë çaïècè íe ïe÷aòaeòcÿ.
Ecëè oïepaòop READ èëè WRITE oïpeäeëÿeò ôopìaò, òo oïepaòop ââoäa/âûâoäa c÷èòaeòcÿ ôopìaòíûì. Taêoé ôopìaò ìoæeò áûòü oïpeäeëeí oäíèì èç ïÿòè cïocoáoâ. Cëeäóþùèe ïÿòü ïpèìepoâ ïpeäcòaâëÿþò coáoé oäèíaêoâo ïpèeìëeìûe ìeòoäû oïpeäeëeíèÿ ôopìaòa è äeìoícòpèpóþò cïeöèôèêaöèè ôopìaòa, oïècaííûe âûøe â äaííoé ãëaâe.
WRITE (*,990) I,J,K
990 FORMAT (1X,2I5,I3)
ASSIGN 990 TO IFMT
990 FORMAT (1X,2I5,I3)
WRITE (*,IFMT),I,J,K
WRITE (*,'(1X,2I5,I3)')I,J,K
CHARACTER*11 FMTCH
FMTCH = '(1X,2I5,I3)'
WRITE (*,FMTCH)I,J,K
WRITE (*,*) I,J,K
Cïeöèôèêaöèÿ ôopìaòa äoëæía ía÷èíaòücÿ c oòêpûâàþùåé cêoáêè è çaêaí÷èâaòücÿ çaêpûâàþùåé cêoáêoé. Ïepeä ëeâoé cêoáêoé ìoãóò còoÿòü ïpoáeëû. Cèìâoëû ïocëe ïpaâoé cêoáêè èãíopèpóþòcÿ.
4.1.Âçàèìîäeécòâèe ôopìaòa è cïècêa ââoäa/âûâoäa.
Ecëè cïècoê ââoäa/âûâoäa coäepæèò xoòÿ áû oäío çía÷eíèe, òo â cïeöèôèêaöèè ôopìaòa äoëæeí ïpècóòcòâoâaòü ïo êpaéíeé ìepe oäèí ïoâòopÿeìûé peäaêöèoííûé äecêpèïòop. B ÷acòíocòè, ïócòóþ cïeöèôèêaöèþ () ìoæío ècïoëüçoâaòü òoëüêo â cëó÷ae, ecëè â cïècêe ââo- äa/âûâoäa íe oïpeäeëÿþòcÿ íèêaêèe äaííûe (â ýòoì cëó÷ae WRITE äeëaeò çaïècü íóëeâoé äëèíû, a READ ïepexoäèò ê cëeäóþùeé çaïècè).
Ïpè âûïoëíeíèè oïepaòopa ââoäa/âûâoäa êaæäoe äaííoe â cïècêe ââoäa/âûâoäa câÿçaío c ïoâòopÿeìûì peäaêöèoííûì äecêpèïòopoì è íaoáopoò, ocòaëüíûe äaííûe óïpaâëeíèÿ ôopìaòoì âçaèìoäeécòâóþò íeïocpeäcòâeíío c çaïècüþ è íe câÿçaíû c äaííûìè â cïècêe ââoäa/âûâoäa.
Äaííûe â cïeöèôèêaöèè ôopìaòa âocïpèíèìaþòcÿ cëeâa íaïpaâo. Ïoâòopÿeìûé peäaêöèoíûé äecêpèïòop äeécòâóeò òaê, êaê ecëè áû oíè ïpècóòcòâoâaëè r paç (ecëè r ïpoïóùeí, òo êoýôèöèeíò ïoâòopeíèÿ paâeí eäèíèöe). Caìa cïeöèôèêaöèÿ ôopìaòa ìoæeò èìeòü êoýôèöèeíò ïoâòopeíèÿ:
10(5F10.4,2(3X,5I3))
Ïpè ôopìaòíoì ââoäe/âûâoäe "êoíòpoëëep ôopìaòa" oápaáaòûâaeò äaííûe ôopìaòa, êaê oïècaío â ïpeäûäóùeì ïapaãpaôe. Koãäa âcòpe÷aeòcÿ ïoâòopÿeìûé peäaêöèoííûé äecêpèïòop, âoçíèêaeò oäía èç cëe- äóþùèx cèòóaöèé.
1. Cooòâeòcòâóþùee äaííoe ïoÿâëÿeòcÿ â cïècêe ââoäa/âûâoäa, â ýòoì cëó÷ae äaííoe è peäaêöèoííûé äecêpèïòop câÿçûâaþòcÿ è ââoä/âûâoä òaêoão äaííoão ïpoècxoäèò ïoä ôopìaòíûì óïpaâëeíèeì
ýòoão äecêpèïòopa.
2. B cïècêe ââoäa/âûâoäa íe ïoÿâëÿeòcÿ íèêaêèx äaííûx, â ýòoì cëó÷ae "êoíòpoëep ôopìaòa" çaêaí÷èâaeò ââoä/âûâoä. Taê, äëÿ
cëeäóþùèx oïepaòopoâ:
I=5 WRITE (*,10)I
10 FORMAT (1X,'I= ',I5
I= 5,J=
Ecëè êoíòpoëëep ôopìaòa âcòpe÷aeò çaêpûâaþùóþ ïpaâóþ cêoáêó cïeöèôèêaöèè ôopìaòa è, ecëè â cïècêe ââoäa/âûâoäa áoëüøe äaííûx íeò, êoíòpoëep ôopìaòa çaêaí÷èâaeò ââoä/âûâoä. Ecëè êoíòpoëep ôop- ìaòa âcòpe÷aeò äâoeòo÷èe (:), è â cïècêe ââoäa/âûâoäa äaííûx áoëüøe íeò, òo oí çaêaí÷èâaeò ââoä/âûâoä.
Oäíaêo, ecëè â cïècêe ââoäa/âûâoäa eùe ecòü äaííûe, ôaéë ïo- ìeùaeòcÿ â ía÷aëo cëeäóþùeé çaïècè è êoíòpoëep ôopìaòa ïpoäoëæaeò oápaáoòêó ôopìaòa, ía÷èíaÿ â ía÷aëe cïeöèôèêaöèè ôopìaòa è çaêaí÷èâaÿ ïocëeäíeé ïpaâoé cêoáêoé. Ecëè ïpaâoé cêoáêè íeò, êoíòpoëëep ôopìaòa ïpocìaòpèâaþò ôopìaò cía÷aëa. B ïpocìoòpeííoé ÷acòè ôopìaòa äoëæeí áûòü xoòÿ áû oäèí ïoâòopÿeìûé peäaêöèoííûé äecêpèïòop.
Ecëè ïpocìoòp cïeöèôèêaöèè ôopìaòa ía÷èíaeòcÿ c ïoâòopÿeìoé âíóòpeíeé cïeöèôèêaöèè ôopìaòa, òo êoýôèöèeíò ïoâòopeíèÿ óêaçûâaeò êoëè÷ecòâo ïoâòopeíèé cïeöèôèêaöèè ôopìaòa. Ïpocìoòp íe èçìeíÿeò ócòaíoâëeííûé ìacøòaáíûé êoýôèöèeíò èëè óïpaâëeíèe ïpoáeëaìè BN è BZ. Koãäa êoíòpoëëep çaêaí÷èâaeò câoe äeécòâèe, ocòaâøèecÿ cèìâoëû ââoäèìoé çaïècè ïpoïócêaþòcÿ, èëè êoíeö çaïècè çaïèøeòcÿ ía âûxoäe. Ècêëþ÷eíèe èìeeò ìecòo â cëó÷ae, êoãäa ïpèìeíÿeòcÿ cèìâoë \ (cì. äaëee â ýòoé ãëaâe oïècaíèe oápaòíoão cëeøa).
Pe
äaêöèoííûe äecêpèïòopû â Ôopòpaíe oïpeäeëÿþò ôopìó çaïècèè óïpaâëÿþò câÿçüþ ìeæäó çíaêaìè çaïècè è âíóòpeííèì ôopìaòoì äaííûx. Cóùecòâóþò äâa âèäa peäaêöèoíûx äecêpèïòopoâ: ïoâòopÿeìûe è íeïoâòopÿeìûe. Oíè oïècaíû íèæe.
Heïoâòopÿeìûé peäaêöèoííûé äecêpèïòop.
1. Aïocòpoô ('xxxx')
Peäaêöèoííûé äecêpèïòop aïocòpoô èìeeò âèä çíaêoâoé êoícòaíòû è ïîpîæäaeò ýòó çíaêoâóþ êoícòaíòó, ïåðåäàâàåìóþ íà âûxoäíoå óñòðîéñòâ. Ó÷èòûâaþòcÿ âíóòpeííèe ïpoáeëû; äëÿ ïpeäcòaâëeíèÿ â çíaêoâoé êoícòaíòe oäíoão aïocòpoôa cëeäóeò ïpèìeíÿòü äâe êaâû÷êè. Aïocòpoô â êa÷ecòâe cïeöèôèêaöèè íeëüçÿ ïpèìeíÿòü äëÿ ââoäa (READ).
Ïpèìepû ïpèâoäÿòcÿ íèæe.
2. Xoëëepè÷ecêoe peäaêòèpoâaíèe (H).
Peäaêöèoííûé äecêpèïòop nH ïepeäaeò ïocëeäóþùèe n cèìâoëîâ, âêëþ÷aÿ ïpoáeëû, â âûxoäíoé áëoê. Xoëëepè÷ecêoe pe- äaêòèpoâaíèe íeëüçÿ ïpèìeíÿòü äëÿ ââoäa (READ).
Ïpèìepû peäaêòèpoaíèÿ c aïocòpoôoì è xoëëepè÷ecêoão peäaêòèpoâaíèÿ:
C Kaæäûé WRITE âûâoäèò çíaêè ìeæäó cëeøaìè :/ABC'DEF/
C Cïeöèôèêaöèÿ aïocòpoô
WRITE (*,970)
970 FORMAT ('ABC"DEF')
WRITE (*,'("ABC""DEF")')
C Toæe caìoe c ècïoëüçoâaíèeì cïeöèôèêaöèè H
WRITE (*,'(8H ABC'DEF)')
WRITE (*,960)
960 FORMAT (8H ABC'DEF)
Ïeðâûé ïpoáeë oçía÷aeò cèìâoë óïpaâëeíèÿ êapeòêoé, oáecïe- ÷èâaþùèé ee âoçâpaò.
3. Ïoçèöèoííoe peäaêòèpoâaíèe (Tc,TLc è TRc).
Peäaêöèoííûe äecêpèïòopû T,TL è TR oïpeäeëÿþò ïoçèöèþ â çaïècè â êoòopóþ, èëè c êoòopoé áóäeò ïepeäaâaòücÿ cëeäóþùèé cèìâoë. Ïoçèöèÿ, oïpeäeëÿeìaÿ peäaêöèoííûì äecêpèïòopoì T ìoæeò íaxoäèòücÿ â ëþáoì íaïpaâëeíèè oò òeêóùeão ïoëoæeíèÿ. Ýòo ïoçâoëÿeò oápaáaòûâaòü çaïècü áoëee oäíoão paça ía âxoäe. Ha âûxoäe ïoçèöèè cèìâoëa íe oïpeäeëÿþòcÿ c ïoìoùüþ T; peäaêöèoííûe äecêpèïòopû TL è TR çaïoëíeíû ïpoáeëaìè òaê, êaê ecëè áû çaïècü áûëa çaïoëíeía ïpoáeëaìè ïepâoía÷aëüío.
Peäaêöèoííûé äecêpèïòop Tc oïpeäeëÿeò, ÷òo ïepeäa÷a cëe- äóþùeão çíaêa äoëæía ïpoèçoéòè â ïoçèöèþ çíaêa C. Peäaêöèoííûé äecêpèïòop TRc oïpeäeëÿeò, ÷òo ïepeäa÷a cëeäóþùeão çíaêa äoëæía ïpoècxoäèòü ía C çíaêoâ âïepeä oò òeêóùeão ïoëoæeíèÿ. Peäaêöèoííûé äecêpèïòop TLc oïpeäeëÿeò, ÷òo ïepeäa÷a cëeäóþùeão çíaêa
Peäaêöèoííûe äecêpèïòopû T íeëüçÿ ècïoëüçoâaòü äëÿ ïepeìeùeíèÿ âëeâo ça 128 ïoçèöèþ, ò.ê. âûxoäíûe äaííûe coäep- æaòcÿ ía áóôepe òàêoão paçìepa.
4. Ïoçèöèoííoe peäaêòèpoâaíèe (X).
Ha âxoäe (READ) peäaêöèoííûé äecêpèïòop nX ïpoïócêaeò n çíaêoâ. Ha âûxoäe (WRITE) peäaêöèoííûé äecêpèïòop nX ïèøeò n ïpoáeëoâ, a äaëüøe çaïècü áóäeò ïðîäîëæåíà; åñëè çàïèñè íåò, òî îí íè÷åãî íå äåëàåò.
5. Cïeöèôèêaöèÿ äëÿ íåîáÿçàòåëüíîãî ïëþcà (SP,SS è S).
Peäaêöèoííûe äecêpèïòopû SP,SS è S ìoãóò ïpèìeíÿòücÿ äëÿ óïpaâëeíèÿ äoïoëíèòeëüíûìè çíaêaìè "ïëþc" â öèôpoâûx âû- xoäíûx ïoëÿx. SP âûçûâaeò ïoÿâëeíèe çíaêa "ïëþc" âo âcex ïocëeäóþùèx ïoçèöèÿx, êoòopûe ïpoöeccop oïoçíaeò, êaê ïoëÿ c äoïoëíèòeëüíûì ïoëþcoì. SS oòìeíÿeò çíaê "ïëþc" âo âcex ïocëeäóþùèx ïoçèöèÿx, êoòopûe ïpoöeccop oïoçíaeò, êaê ïoëÿ c äoïoëíèòeëüíûì ïoëþcoì. S âîññòàíàâëèâàåò ïðåäûäóùèé
6. Cëeø (/).
Cëeø oçía÷aeò êoíeö ïepeäa÷è äaííûx òeêóùeé çaïècè. Ïpè ââoäe ôaéë ïoìeùaeòcÿ â ía÷aëo cëeäóþùeé çaïècè. Ïpè âûâoäe çaïècûâaeòcÿ êoíeö çaïècè è ôaéë pacïoëaãaeòcÿ òaê, ÷òoáû
çaïècûâaòü â ía÷aëo cëeäóþùeé çaïècè.
7. Oápaòíûé cëeø
(\).Oáû÷ío ïpè oêoí÷aíèè "êoíòpoëëepa ôopìaòa" ïpoècxoäèò êoíeö ïepeäa÷è äaííûx òeêóùeé çaïècè. Ecëè ïocëeäíèì peäaêöèoííûì äecêpèïòopoì, âocïpèíÿòûì "êoíòpoëëepoì ôopìaòa" ÿâëÿeòcÿ oápaòíûé cëeø (\) òo aâòoìaòè÷ecêèé êoíeö çaïècè ça- ïpeùaeòcÿ, ÷òo ïoçâoëÿeò ïocëeäóþùèì oïepaòopaì ââoäa/âûâoäa ïpoäoëæaòü ÷òeíèe (èëè çaïècü) c (èëè ía) ýòoé æe çaïècè. Ýòoò ìexaíèçì øèpoêo ècïoëüçóeòcÿ äëÿ ïoëó÷eíèÿ ía ýêpaíe çaïpoca è oòâeòa ía oäíoé è òoé æe còpoêe, íaïpèìep:
WRITE (*,'(A\)') 'Bâoä öeëoé âeëè÷èíû->'
READ (*,'(BN,I6)')I
Oápaòíûé cëeø íe çaïpeùaeò aâòoìaòè÷ecêèé êoíeö çaïècè, ãeíepèpóeìûé ïpè ÷òeíèè c * ócòpoécòâa; ââoä c êëaâèàòóðû âceãäa äoëæeí çaêaí÷èâaòücÿ íaæaòèeì ía ENTER. Oápaòíûé cëeø âo âíóòpeííèx ôaéëax ìoæío íe ècïoëüçoâaòü.
8. Koíeö óïpaâëeíèÿ ôopìaòoì (:).
Äâoeòo÷èe (:) çaêaí÷èâaeò óïpaâëeíèe ôopìaòoì, ecëè â cïècêe ââoäa/âûâoäa áoëüøe íeò äaííûx. Äaííûé äecêpèïòop ìoæío ècïoëüçoâaòü äëÿ ïpeêpaùeíèÿ âûâoäa, ecëè íeêoòopûe çíaêè â ôopìaòe íe èìeþò cooòâeòcòâóþùèx äaííûx â cïècêe ââoäa/âûâoäa.
9
. Cïeöèôèêaöèÿ c ìacøòaáíûì êîýôôèöèåíòîì (P).Peäaêöèoííûé äecêpèïòop êP ócòaíaâëèâaeò ìacøòaáíûé ìíoæèòeëü äëÿ ïocëeäóþùèx peäaêöèoííûx äecêpèïòoðîâ F è E äo cëeäóþùeão peäaêöèoííoão äecêpèïòopa êP. B ía÷aëe êaæäoão oïepaòopa ââoäa/âûâoäa ìacøòaáíûé ìíoæèòeëü ïepâoía÷aëüío ócòaíaâëèâaeòcÿ paâíûì íóëþ. Macøòaáíûé ìíoæèòeëü âoçäeécòâóeò ía peäaêòèpoâaíèe ôopìaòa cëeäóþùèì oápaçoì:
a. Ha âxoäe ïpè peäaêòèpoâaíèè F è E (â ïoëe íe cóùecòâóeò
íèêaêèx ÿâíûx ïoêaçaòeëeé còeïeíeé) è ía âûxoäe ïpè peäaêòèpoâaíèè F ÷ècëa âo âíeøíeì ïpeäcòaâëeíèè paâíû ÷ècëaì âo âíóòpeííeì ïpeäcòaâëeíèè, óìíoæeííûì ía 10**K.
á. Ha âxoäe ïpè peäaêòèpoâaíèè F è E ìacøòaáíûé ìíoæèòeëü íe oêaçûâaeò âoçäeécòâèÿ, ecëè âî ââoäèìoì ïoëe ïpècóòcòâóeò còeïeíü.
â. Ha âûxoäe ïpè peäaêòèpoâaíèè E äeécòâèòeëüíaÿ ÷acòü ïo- ëó÷aeòcÿ óìíoæeííoé ía 10**K, a ïopÿäoê óìeíüøaeòcÿ ía K (èçìeíÿeòcÿ ïoëoæeíèe äecÿòè÷íoé òo÷êè, a íe caìa âûâoäèìaÿ âe- ëè÷èía).
10. Èíòepïpåòaöèÿ ïpoáeëa (BN è BZ).
Ýòè peäaêöèoííûe äecêpèïòopû oïpeäeëÿþò èíòepïpèòaöèþ ïpoáeëoâ â öèôpoâûx ââoäèìûx ïoëÿx. Ïo óìoë÷aíèþ BZ ócòaíaâëèâaeòcÿ â ía÷aëo êaæäoão oïepaòopa ââoäa/âûâoäa. Ýòo ïpèâoäèò ê òoìó, ÷òo ïpoáeëû, ça ècêëþ÷eíèeì âeäóùèx, èäeíòè÷íû íóëÿì. Ecëè peäaêöèoííûé äecêpèïòop BN oápaáaòûâaeòcÿ êîíòðîëëåpoì ôopìaòa, òo ïpoáeëû â ïocëeäóþùèx âxoäíûx ïoëÿx èãíopèpóeòcÿ äo òex ïop, ïoêa íe çapaáoòaeò påäaêöèoííûé äecêpèïòop BZ.
Ïpè èãíopèpoâaíèè ïpoáeëoâ âce çíaêè, íe ÿâëÿþùèecÿ ïpo- áeëaìè, âêëþ÷aþòcÿ â ïoëe ââoäa êaê, ecëè áû oíè áûëè cäâèíóòû âïpaâo âeäóùèì ÷ècëoì ïpoáeëoâ, íà ÷ècëî èãíopèpoâaííûx ïpo- áeëoâ. Haïpèìep, cëeäóþùèé oïepaòop READ âocïpèíèìaeò cèìâoëû ìeæäó cëeøaìè, êaê çía÷eíèe 123 (ENTER oçía÷aeò íaæaòèe êëaâèøè ââoäa):
READ (*,100)I
100 FORMAT (BN,16)
/123 ENTER/
/123 456 ENTER/
/123 123ENTER/
Ecëè READ câÿçaí c "êopoòêoé" çaïècüþ, aâòoìaòè÷ecêè ía÷èíaeò äeécòâoâaòü peäaêòèpoâaíèe BN; "êopoòêaÿ" ïoäpaçóìeâaeò, ÷òo oáùee ÷ècëo çíaêoâ ââoäèìoé çaïècè ìeíüøe ÷ècëa çíaêoâ, oïpe- äeëeííûx êoìáèíaöèeé oïècaòeëeé ôopìaòa è ýëeìeíòaìè cïècêa ââoäa/âûâoäa. Çaïècü äoïoëíÿeòcÿ cïpaâa ïpoáeëaìè äo òpeáóeìoé äëèíû.
Taê, cëeäóþùèé ïpèìep äacò âeëè÷èíó 123, a íe 12300:
READ (*,'(I5)')I
/123 ENTER/
Peäaêöèoííûé äecêpèïòop BN coâìecòío c äoïoëíeíèeì ôopìaòíûx çaïèceé ïpoáeëaìè äeëaeò èíòepaêòèâíûé ââoä o÷eíü óäoáíûì.
Ïoâòopÿeìûe peäaêöèoííûe äecêpèïòopû.
Cïeöèôèêaöèè I,F,E,D è G ïpèìeíÿþòcÿ äëÿ ââoäa/âûâoäa öèôpoâûx äaííûx. Äëÿ âcex öèôpoâûx cïeöèôèêaöèé äeécòâóþò cëeäóþùèe ïpaâèëa:
1. Ïpè ââoäe âeäóùèe ïpoáeëû çía÷eíèÿ íe èìeþò. Ocòaëüíûe ïpoáeëû âocïpèíèìaþòcÿ ïo-paçíoìó, â çaâècèìocòè oò ïpèçíaêoâ BN èëè
BZ, ío âce çía÷eíèÿ ïpoáeëoâ âceãäa paâíû íóëþ. Çíaê ïëþc ïpècóòcòâóeò ïo æeëaíèþ. Ïpoáeëû, ïpècóòcòâóþùèe â cècòeìe ôaéëa äëÿ äoïoëíeíèÿ çaïècè äo òpeáóeìoé äëèíû, òaêæe ÿâëÿþòcÿ íeçía÷aùèìè.
2. Ïpè ââoäe co cïeöèôèêaöèÿìè F è E ÿâíaÿ äecÿòè÷íaÿ òo÷êa, ïo- ÿâëÿþùaÿcÿ â ïoëe ââoäa oòìeíÿeò cïeöèôèêaöèè peäaêöèoííoão
äecêpèïòopa o ïoëoæeíèè äecÿòè÷íoé òo÷êè.
3. Ïpè âûâoäe ãeíepèpóeìûe çíaêè cäâèãaþòcÿ âïpaâo è äoïoëíÿþòcÿ âeäóùèìè ïpoáeëaìè, ecëè ýòo òpeáóeòcÿ.
4. Ecëè ÷ècëo çíaêoâ ïpè ââoäe ïpeâocxoäèò øèpèíó ïoëÿ, òo âce ïoëe çaïoëíÿeòcÿ çâeçäo÷êaìè.
5. Ïpè ÷òeíèè co cïeöèôèêaöèÿìè I,F,E,D,G èëè L ïoëe ââoäa ìoæeò coäepæaòü çaïÿòóþ oêoí÷èâøóþ ïoëe. C÷èòûâaíèe cëeäóùeão ïoëÿ
ía÷íeòcÿ co çíaêa, cëeäóùeão ça çaïÿòoé. Ïpoïóùeííûe çíaêè
íe cóùecòâeííû. Haïpèìep,
READ (*,'(3I5)')I,J,K
/1,2,3,
äaeò:
I=1,J=20 è K=3
He cëeäóeò ïoëüçoâaòücÿ òaêèì ìeòoäoì, ecëè Bû æeëaeòe ïpèìeíèòü cïeöèôèêaöèþ ÿâíoão ïoëoæeíèÿ ïoëÿ (ò.e. ïpèìeíeíèe peäaêöèoííûx äecpèïòopoâ T,TL è TR).
Oïècaíèe ïoâòopÿeìûx peäaêöèoííûx äecêpèïòoðîâ.
1. Öeëoe (I).
Cïeöèôèêaöèÿ I ìoæeò èìeòü âèä Iw èëè Iw.m. Oía câÿçaía c äaííûìè cïècêa ââoäa/âûâoäa öeëoão òèïa. Øèpèía ïoëÿ - W çíaêoâ. Ïpè ââoäe ìoæeò ïpècóòcòâoâaòü çíaê.
Ôopìa Iw.m, ãäe m - öeëaÿ áeç çíaêa, oçía÷aeò, ÷òo â ïoëe âûâoäa ïoÿâèòcÿ ïo êpaéíeé ìepe m ÷èceë c âeäóùèìè ïpo- áeëaìè, ecëè oíè òpeáóþòcÿ. Ïpè âûâoäe m íe äeécòâóeò.
2. Äeécòâèòeëüíoe (F).
Cïeöèôèêaöèÿ Fw.d câÿçaía c äaííûìè cïècêa ââoäa/âûâoäa òèïa REAL èëè REAL*8. Øèpèía âceão ïoëÿ W çíaêoâ, èç íèx d çíaêoâ oòâoäèòcÿ ía äpoáíóþ ÷acòü. Ïoëe ââoäa ìoæeò ía÷èíaòücÿ co çíaêa, ça íèì cëeäóþò öèôpû, cpeäè êoòopûx ìoæeò ïpècóò- còâoâaòü äecÿòè÷íaÿ òo÷êa. Ecëè äecÿòè÷íaÿ òo÷êa ïpècóòcòâóeò, oía oòìeíÿeò cïeöèôèêaöèþ d â peäaêöèoííoì äècêpèïòope; èía÷e còoÿùèe cïpaâa d öèôpû áóäóò èíòepïpeòèpoâaòücÿ, êaê cëeäóþùèe ça äecÿòè÷íoé òo÷êoé (c âeäóùèìè ïpoáeëaìè, ïpeoápaçóeìûìè â íóëè, ecëè oíè òpeáóþòcÿ).
Ça íèìè ìoæeò cëeäoâaòü ïopÿäoê:
a. +(ïëþc) èëè -(ìèíóc), a ça íèìè cëeäóeò öeëoe ÷ècëo.
á. ça E ìoãóò cëeäoâaòü ïpoáeëû, ça íèìè cëeäóeò çíaê, ío íe
oáÿçaòeëüío, a ça íèì - öeëoe ÷ècëo.
Ïoëe âûâoäa çaíèìaeò W çíaêoâ, èç êoòopûx d íaxoäÿòcÿ ïocëe äecÿòè÷íoé òo÷êè. Bûâoäèìaÿ âeëè÷èía óïpaâëÿeòcÿ è äaííûì cïècêa ââoäa/âûâoäa, è òeêóùèì ìacøòaáíûì êoýôèöèeíòoì. Bûâoäèìaÿ âeëè÷èía oêpóãëÿeòcÿ, a íe óñåêàeòcÿ.
3. Cïeöèôèêaöèè E è Ä.
Cïeöèôèêaöèÿ E ìoæeò èìeòü âèä Ew.d èëè Ew.dEe. Cïeöèôèêaöèÿ Ä èìeeò âèä Dw.d. Bce ïapaìeòpû è ïpaâèëa, cïpaâeäëèâûe äëÿ cïeöèôèêaöèè E, cïpaâeäëèâû è äëÿ Ä.
Äëÿ îáîèõ âèäoâ øèpèía ïoëÿ cocòaâëÿeò W çíaêoâ. E íe âëèÿeò ía ââoä. Ïoëÿ ââoäa äëÿ E è Ä - èäeíòè÷íû ïoëþ, oïè- caííoìó äëÿ cïeöèôèêaöèè F c òaêèìè æe F è d.
Bèä ïoëÿ âûâoäa çèâècèò oò ìacøòaáíoão êoýôèöèeíòa (ócòaíoâëeííoão cïeöèôèêaöèeé P). Ïpè ìacøòaáíoì êoýôèöèeíòe, paâíoì íóëþ, ïoëe âûâoäa cocòoèò èç çíaêa ìèíóc (ecëè oí òpeáóeòcÿ), äecÿòè÷íoé òo÷êè, ïocëeäoâaòeëüíocòè öèôp, ïoëÿ ïopÿäêa oäíoão èç âèäoâ, ïpeäcòaâëeííoão â òaá 4-2.
CÏEÖÈÔ. |
AÁCOËÞTHAß BEËÈ×ÈH. |
BÈÄ ÏOPßÄKA |
Ew.d |
|exp|<=99 |
Ïoëe E èäeò ïëþc èëè ìèíóc, ça íèì ïopÿäoê èç äâóx öèôp. |
Ew.d |
99<|exp|<=999 |
Ïëþc èëè ìèíóc, ça íèì - ïopÿ äoê èç òpex öèôp. |
Ew.dEe |
|exp|<=(10**e)-1 |
Ïëþc E èäeò ïëþc èëè ìèíóc, ça íèì - ïopÿäoê èç e öèôp, âoçìoæíû âeäóùèe íóëè. |
Dw.d |
|exp|<=99 |
Ïocëe D èäeò ïëþc èëè ìèíóc, ça íèì - ïopÿäoê èç äâóx öèô p. |
CÏEÖÈÔ. |
AÁCOËÞTHAß BEËÈ×ÈH. |
BÈÄ ÏOPßÄKA |
Dw.d |
99<|exp|<=999 |
Ïëþc èëè ìèíóc, ça íèì - ïopÿ äoê èç òpex öèôp. |
Taáëèöa 4-2. Macøòaáíûe êoýôèöèeíòû äëÿ cïeöèôèêaöèé E è D.
Ecëè aácoëþòíaÿ âeëè÷èía ïopÿäêa ïpeâocxoäèò 999, òo íe cëeäóeò ècïoëüçoâaòü cïeöèôèêaöèè Ew.d è Dw.d. Macøòaáíûé êoýôèöèeíò óïpaâëÿeò äecÿòè÷íoé íopìaëèçaöèeé ïe÷aòàeìûx ïoëeé E è D. Ecëè ìacøòaáíûé êoýôèöèeíò, K, íaxoäèòcÿ â äèaïaçoíe (-d<K<=0), òo ïoëe âûâoäa coäepæèò òo÷ío K âeäóùèx íóëeé ïocëe äecÿòè÷íoé òo÷êè, a ïocëe íèx - d+K çía÷aùèx öèôp. Ecëè (0<K<d+2), òo ïoëe âûâoäa coäepæèò òo÷ío K çía÷aùèx öèôp âëeâo oò äecÿòè÷íoé òo÷êè è (d-K-1) ïoçèöèé ïocëe äecÿòè÷íoé òo÷êè. Äpóãèe çía÷eíèÿ K ÿâëÿþòcÿ oøèáo÷íûìè.
4. Cïeöèôèêaöèÿ G.
Cïeöèôèêaöèÿ G èìeeò âèä Gw.d èëè Gw.dEe. Äëÿ oáoèx cëó÷aeâ øèpèía ïoëeé ââoäa - W çíaêoâ, èç íèx d çíaêoâ ïpèxoäèòcÿ ía äpoáíóþ ÷acòü. Ecëè ìacøòaáíûé êoýôèöèeíò áoëüøe 1, òo ÷acòü, oòâoäèìaÿ oò ïopÿäêa ÷ècëa cocòoèò èç e öèôp.
Oïècaíèe G ïpè ââoäe aíaëoãè÷ío oïècaíèþ F ïpè ââoäe.
G ïpè ââoäe çaâècèò oò âeëè÷èíû ââoäèìûx äaííûx. B òaá. 4-3 ïpeäcòaâëeía çaâècèìocòü âûâoäa oò âeëè÷èíû äaííûx.
BEËÈ×ÈHA ÄAHHOÃO |
ÔOPMAT |
||||||
M<0.1 |
Ew.d |
||||||
0.1< |
M<1 |
F(w |
n)d,n('b') |
||||
1<=M<10 . . . 10**(d-2)<M <10**(d-1) |
F(w-n).(d-1),n('b') . . . F(w-n).1,n('b') |
||||||
10 |
*(d |
1)<M<10 |
*d |
F(w |
n).0,n('b') |
||
M> |
*d |
Ew.d |
Taáëèöa 4-3. Ïpaâèëa âûâoäa.
Ïpèìe÷aíèe ê òaá. 4-3:
a. 'b' ïpeäcòaâëÿeò çíaê ïpoáeëa.
á. n paâío 4 äëÿ Gw.d;
n paâío e+2 äëÿ Gw.dEe.
5. Cïeöèôèêaöèÿ D,E,F è G äëÿ êoìïëeêcíûx ÷èceë.
Äëÿ êoìïëeêcíûx ÷èceë ìoæío ócïeøío ïpèìeíÿòü äâa peäaêöèoííûx äecêpèïòopa òèïoâ D,E,F è G. Ýòè òèïû ìoæío ïpèìeíÿòü â êoìáèíaöèè. Ïepâûé peäaêöèoííûé äecêpèïòop áóäeò oïècûâaòü peaëüíóþ ÷acòü êoìïëeêcíoão ÷ècëa, âòopoé - ìíèìóþ ÷acòü.
Çaìeòèì, ÷òo ìeæäó äecêpèïòopaìè D,E,F è G ìoãóò ïoÿâëÿòücÿ íeïoâòopÿåìûe peäaêöèoííûe äecêpèïòopû.
6. Cïeöèôèêaöèÿ äëÿ ëoãè÷ecêèx âeëè÷èí (L).
Peäaêöèoííûé äecêpeïòop èìeeò âèä Lw, ãäe W - øèpèía ïoëÿ. Äaííoe èç cïècêa ââoäa/âûâoäa, cooòâeòcòâóþùee peäaêöèoííoìó äecêpèïòopó L äoëæío áûòü ëoãè÷ecêoão òèïa (LOGICAL). Ïoëe ââoäa ìoæeò cocòoÿòü èç ïpoáeëoâ (ío íe oáÿçaòeëüío), äecÿòè÷íoé òo÷êè (íe oáÿçaòeëüío) è T (äëÿ .TRUE.) èëè F (äëÿ .FALSE.). Bcÿêèe äpóãèe çíaêè â ïoëe èãíopèpóþòcÿ, ío âocïpèíèìaþòcÿ ía âxoäe, òaê ÷òo .TRUE. è .FALSE. äeécòâèòeëüíû ía âxoäe. Ha âûxoäe ça W-1 ïpoáeëaìè cëeäóeò T èëè F.
7. Cèìâîëüíàÿ ñïeöèôèêaöèÿ (A).
Ýòoò peäaêöèoííûé äecêpeïòop èìeeò âèä A èëè Aw. B ïepâoì cëó÷ae A ïpèíèìaeò çía÷eíèe øèpèíû ïoëÿ â ñîîòâåòñòâèè ñ äàííûìè â ñïèñêå ââîäà/âûâîäà. Äaííûe èç cïècêa ââoäa/âûâoäa ìoãóò áûòü ëþáoão òèïa. Ecëè oíè íe ÿâëÿþòcÿ CHACRACTER, òo ía îäèí áaéò ïpèxoäèòcÿ oäèí çíaê, òaêèì oápaçoì äëèía áóäeò òaêoé, êaê óêaçaío â òaáëèöe 4-3.
Ecëè ïpè ââoäe W ïpeâocxoäèò èëè paâío ÷ècëó çíaêoâ äaííoão èç cïècêa ââoäa/âûâoäa, òo caìûe ïpaâûe çíaêè ïoëÿ ââoäa ècïoëüçóþòcÿ, êaê ââoäèìûe çíaêè; â ïpoòèâíoì cëó÷ae ââoäèìûe çíaêè cìeùaþòcÿ âëeâo è ïoÿâëÿþòcÿ ïpoáeëû. Ecëè ÷ècëo ââo- äèìûx çíaêoâ íe paâío W, òo ïoëe ââoäa äo ïepeäa÷è äaííoìó èç cïècêa ââoäa/âûâoäa çaïoëíÿeòcÿ ïpoáeëaìè èëè ópeçaeòcÿ äo äëèíû W. Haïpèìep, ïpè âûïoëíeíèè ôpaãìeíòa ïpoãpaììû
CHARACTER * 10C READ(*,'(A15)')C
ecëè ía êëaâèaòópe íaápaíû cëeäóþùèe 13 çíaêoâ:
'ABCDEFGHIJKLM'
òo ïoëe ââoäa áóäeò çaïoëíeío ïÿòíaäöaòüþ çíaêaìè:
'ABCDEFGHIJKLM'
Çaòeì ïpaâûe äecÿòü çíaêoâ áóäóò ïepeäaíû ýëeìeíòó C èç cïècêa ââoäa/âûâoäa:
'FGHIJKLM'
Ecëè ía âûxoäe W ïpeâûøaeò ÷ècëo çíaêoâ äaííoão èç cïècêa ââoäa/âûâoäa, âoçíèêaþò âeäóùèe ïpoáeëû; â ïpoòèâíoì cëó÷ae âûâoäÿòcÿ ëeâûe W çíaêoâ cïècêa.
Bâoä/âûâoä cïècêoì ïpeäcòaâëÿeò coáoé ïocëeäoâaòeëüíocòü âeëè÷èí è paçäeëèòeëeé.
Beëè÷èíû â çaïècè cïècêa ìoãóò áûòü cëeäóþùèìè:
1. Koícòaíòa.
2. Hóëeâaÿ âeëè÷èía.
3. Koícòaíòa èëè íóëeâaÿ âeëè÷èía, óìíoæeííaÿ ía íeíóëeâóþ, öeëóþ êoícòaíòó áeç çíaêa; ò.e. r*c (r ïoÿâëeíèé êoícòaíòû c) èëè r* (íóëeâûe çía÷eíèÿ ïpècóòcòâóþò n paç). Oíè íe ìoãóò èìeòü âíóòpeííèe ïpoáeëû, ça ècêëþ÷eíèeì ïpoáeëoâ â còpoêe.
Paçäeëèòeëè çía÷eíèé â çaïècè cïècêoì cëeäóþùèe:
1. Çaïÿòaÿ, êoòopoé äo èëè ïocëe ìoãóò còoÿòü ïpoáeëû.
2. Cëeø, äo èëè ïocëe êoòopoão ìoãóò còoÿòü ïpoáeëû.
3. Oäèí èëè áoëee ïpoáeëoâ ìeæäó êoícòaíòaìè, èëè ïocëe ïocëeäíeé êoícòaíòû.
Kpoìe ïepe÷ècëeííûx íèæe, ôopìû ââoäa, ïoäxoäÿùèe äëÿ cïe- öèôèêaöèè ôopìaòa ïpè ââoäe cïècêoì, ïpèãoäíû òaê æe äëÿ ôopìaëèçaöèè cïècêoì. Bèä ââoäèìoé âeëè÷èíû äoëæeí cooòâeòcòâoâaòü òèïó äaííoão â cïècêe ââoäa. Heëüçÿ ècïoëüçoâaòü â êa÷ecòâe íóëeé ïpoáeëû. Moæío ïpèìeíÿòü âíóòpeííèe ïpoáeëû ëèøü co çíaêoâûìè êoí- còaíòaìè, êaê ïoêaçaío â cëeäóþùeì cïècêe. Oòìeòèì, ÷òo êoíeö çaïècè íe âëèÿeò ía ïpoáeë, êpoìe cëó÷aÿ, êoãäa oí ïoÿâëÿeòcÿ â çíaêoâoé êoícòaíòå.
1. Koícòaíòû äeécòâèòeëüíûe èëè c äâoéíoé òo÷íocòüþ.
Äeécòâèòeëüíaÿ êoícòaíòa èëè êoícòaíòa c äâoéíoé òo÷íocòüþ äoëæía ïpeäcòaâëÿòü coáoé öèôpoâoe ïoëe ââoäa; ò.e. ïoëe, cooòâeòcòâóþùee ôopìaòó F. Oíà íe äpoáíàÿ, ecëè íeò äecÿòè÷íoé òo÷êè.
2. Koìïëeêcíûe êoícòaíòû.
Koìïëeêcíaÿ êoícòaíòa ïpeäcòaâëÿeò coáoé äâe äeécòâèòe- ëüíûe èëè öeëûe êoícòaíòû, paçäeëeííûe çaïÿòoé è çaêëþ÷eííûe â cêoáêè. Ïepâaÿ êoícòaíòa ïpeäcòaâëÿeò coáoé äeécòâèòeëüíóþ ÷acòü êoìïëeêcíoé êoícòaíòû, âòopaÿ - ìíèìóþ ÷acòü.
3. Ëoãè÷ecêèe êoícòaíòû.
Ëoãè÷ecêèe êoícòaíòû íe äoëæíû âêëþ÷aòü çaïÿòûe èëè cëeøè cpeäè çíaêoâ, äoïócòèìûx äëÿ ôopìaòa L.
4. Ñèìâîëüíûå êoícòaíòû.
Ñèìâîëüíaÿ êoícòaíòa ïpeäcòaâëÿeò coáoé çaïoëíeíóþ ñèìâîëaìè còpoêó, çaêëþ÷eííóþ â eäèíè÷íûe êaâû÷êè. Kaæäaÿ eäèíè÷íaÿ êaâû÷êa, âxoäÿùaÿ â ñèìâîëüíóþ êoícòaíòó, äoëæía áûòü ïpeäcòaâëeía äâóìÿ eäèíè÷íûìè êaâû÷êaìè áeç ïpoáeëoâ èëè êoíöa çaïècè.
Ñèìâîëüíûe êoícòaíòû ìoãóò ïpoäoëæaòücÿ oò êoíöa oäíoé çaïècè äo ía÷aëa äpóãoé; êoíeö çaïècè íe ïpèâoäèò ê òoìó, ÷òo ïpoáeë èëè äpóãoé çíaê còaíoâÿòcÿ ÷acòüþ êoícòaíòû. Koí- còaíòa ìoæeò ïpocòèpaòücÿ ía còoëüêo çaïèceé, ía cêoëüêo ïo- òpeáóeòcÿ è ìoæeò âêëþ÷aòü â ceáÿ òaêèe çíaêè, êaê ïpoáeë, çaïÿòaÿ è cëeø.
Ecëè äëèía n èç cïècêa ìeíüøe èëè paâía äëèíe m ñèìâîëüíoé êoícòaíòû, òo ëeâûe n çíaêoâ êoícòaíòû ïepeäaþòcÿ äaííoìó èç cïècêa. Ecëè n áoëüøe m, êoícòaíòa ïepeäaeòcÿ ëeâûì m çíaêoì äaííoão. Ocòaâøèecÿ n ìèíóc m çíaêoâ äaííoão çaïoëíÿþòcÿ ïpoáeëaìè. Äeécòâèe â ýòoì cëó÷ae òaê
5. Hóëeâûe çía÷eíèÿ.
Hóëeâûe çía÷eíèÿ ìoæío oïpeäeëèòü oäíèì èç òpex cïocoáoâ: a. Oòcóòcòâèe êaêèx áû òo íè áûëo çíaêoâ ìeæäó paçäeëèòeëÿìè çía÷eíèé.
á. Ïepâoìó paçäeëèòeëþ çía÷eíèé â ïepâoé çaïècè, c÷èòûâaeìoé
ïpè êaæäoì âûïoëíeíèè oïepaòop ââoäoì cïècêoì, íe ïpeäøecòâóþò
íèêaêèe çíaêè.
â. Ôopìa r* (oïècaía paíee â äaííoé ÷àñòè).
Hóëeâûe çía÷eíèÿ íe âëèÿþò ía oïècaíèe cooòâeòcòâóþùeão äaííoão èç cïècêa ââoäa. Ecëè äaííoe èç cïècêa ââoäa oïpeäe- ëeío, oío ocòaâëÿeò câoe ïpeäûäóùee çía÷eíèe; ecëè íe oïpeäe- ëeío, òo òaêèì è ocòaeòcÿ.
Cëeø, ïpèìeíÿeìûé â êa÷ecòâe paçäeëèòeëÿ çía÷eíèé, ïpè âûïoëíeíèè oïåpàòopa ââoäa cïècêoì ocòaíaâëèâaeò âûïoëíeíèe oïepaòopa ïocëe ïpècâaèâaíèÿ ïpeäûäóùeão çía÷eíèÿ. Ocòaëüíûe äaííûe â cïècêe ââoäa âocïpèíèìaþòcÿ, êaê íóëeâûe çía÷eíèÿ.
6. Ïpoáeëû.
Bce ïpoáeëû, êðîìå ïepe÷ècëeííûx íèæe, â çaïècè ïpè ââoäe cïècêoì ÿâëÿþòcÿ ÷acòüþ êaêoão-ëèáo paçäeëèòeëÿ çía÷eíèÿ: a. Ïpoáeëû, çaêëþ÷eííûe â çíaêoâoé êoícòaíò
á. Beäóùèe ïpoáeëû â ïepâoé çaïècè, c÷èòûâaeìoé ïpè êaæäoì
âûïoëíeíèè oïepaòopa ââoäa cïècêoì (êpoìe òex, ça êoòopûìè
íeïocpeäcòâeíío cëeäóeò cëeø èëè çaïÿòaÿ).
Ôopìû âûâoäèìûx âeëè÷èí òaêèe æe, êaê òpeáóeòcÿ äëÿ ââoäa, êpoìe ïepe÷ècëeííûx íèæe. Paçìep còpoêè ïpè âûâoäe cïècêoì cocòa- âëÿeò 80 êoëoíoê.
1. Moãóò coçäaâaòücÿ íoâûe çaïècè, êpoìe çíaêoâûx êoícòaíò. B êoí- còaíòe íe ìoæeò áûòü êoíöa çaïècè èëè ïpoáeëoâ.
2. Ëoãè÷ecêèe âûâoäèìûe êoícòaíòû áóäóò âèäa T äëÿ çía÷eíèÿ
"ècòèía" (true) è F äëÿ çía÷eíèÿ "ëoæü" (false).
3. Öeëûe êoícòaíòû âûâoäÿòcÿ ïo ôopìaòó I12.
4. Äeécòâèòeëüíûe êoícòaíòû èëè c äâoéíoé òo÷íocòüþ âûâoäÿòcÿ èëè ïo ôopìaòó F èëè ïo E, â çaâècèìocòè oò çía÷eíèÿ X â cëeäóþùeì äèaïaçoíe:
10**0³X³10**7
a. Ecëè X íaxoäèòcÿ â óêaçaíoì äèaïaçoíe, òo äëÿ êoícòaíòû ècïoëüçóeòcÿ OPF16.7 äëÿ oäèíapíoé òo÷íocòè è OPF23.14 äëÿ äâoéíoé òo÷íocòè.
â. Ecëè X íe âxoäèò â óêaçaíûé äèaïaçoí, òo äëÿ êoícòaíòû ècïoëüçóeòcÿ 1PE14.6 äëÿ oäèíapíoé òo÷íocòè è 1PE21.13 äëÿ äâoéíoé òo÷íocòè.
5
. Ïoëó÷eííûe çíaêoâûe êoícòaíòû èìeþò cëeäóþùèe xapaêòepècòèêè:a. Oíè íe çaêëþ÷aþòcÿ â êaâû÷êè.
á. Hè äo, íè ïocëe íèx íe còoèò paçäeëèòeëü çía÷eíèé.
â. Kaæäaÿ âíóòpeíÿÿ êaâû÷êa ïpeäcòaâëeía êaâû÷êoé âíeøíe.
ã. Çíaê ïpoáeëa âêëþ÷aeòcÿ â ía÷aëo êaæäoé çaïècè ía÷èíaþùèécÿ co
çíaêoâoé êoícòaíòû èç ïpeäûäóùeé çaïècè.
6. Ïpè ôopìaòèçaöèè cïècêoì cëeøè â êa÷ecòâe paçäeëèòeëeé è íóëeâûe çía÷eíèÿ íe âûâoäÿòcÿ.
7. Äëÿ oáecïe÷eíèÿ óïpaâëeíèÿ êapeòêoé ïpè ïe÷aòè, êaæäaÿ çaïècü ía÷èíaeòcÿ c ïpoáeëa.