4. CÈCTEMA BBOÄA/BÛBOÄA.
OÁ ÝÒÎÉ ×ÀÑÒÈ.
Äaííaÿ ÷àñòü ÿâëÿeòcÿ äoïoëíeíèeì ê oïècaíèþ oïepaòopoâ ââoäa/âûâoäa â ÷àñòè 3. Oïècûâaþòcÿ ýëeìeíòû cècòeìû ôaéëoâ MÑ-Ôîðòðàíà, oïpeäeëeíû ocíoâíûe ïoíÿòèÿ çaïèceé ââoäa/âûâoäa è ýëeìeíòoâ
ââoäa/âûâoäa, paccìaòpèâaþòcÿ paçëè÷íûe ìeòoäû äocòóïa ê ôaéëaì.
Coäepæaíèe
1. ÇÀÏÈÑÈ
2. ÔÀÉËÛ
2.1. Xapaêòepècòèêè ôaéëoâ
2.2. Ocoáeííocòè âíóòpeíèx ôaéëoâ
2.3. Óñòðîéñòâà
2.4. Íàèáîëåå øèðîêî èñïîëüçóåìûe còpóêòópû ôaéëoâ
2.5. Äpóãèe còpóêòópû ôaéëa
2.6. Còapûe è íoâûe ôaéëû
2.7. Ñîâìåùåíèå ôaéëa
2.8. Oãpaíè÷eíèÿ
3. OÏÅÐÀÒÎÐÛ ÂÂÎÄÀ/ÂÛÂÎÄÀ
3.1. Ýëeìeíòû oïepaòopoâ ââoäa/âûâoäa
3.2. Óïpaâëeíèe êàðåòêîé
4. ÔÎÐÌÀÒÍÛÉ ÂÂÎÄ/ÂÛÂÎÄ
4.1. Âçàèìîäeécòâèe ôopìaòa è cïècêa ââoäa/âûâoäa
4.2. Peäaêöèoííûe äecêpèïòopû
5. BÂÎÄ/ÂÛÂÎÄ ÑÏÈÑÊÎÌ
5.1. Bâoä cïècêoì
5.2. Bûâoä cïècêoì
1.ÇÀÏÈÑÈ.
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ìû.
2.ÔÀÉËÛ.
Ô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þò.
2.1.Xapaêòepècòèêè ôaéëoâ.
Ô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ìÿòè MS-Ôîðòðàíà. 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.
2.3.Óñòðîéñòâà.
Óñòðîéñòâî ÿâëÿ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 ôàéëîâ ÌS-Ôîðòðàíà èíò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:
- * ôaéëû.
- Èì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â:
- Ecëè ôaéë ÿâío oòêpûò, èìÿ ìoæeò áûòü ïpèâeäeío â oïepaòope
OPEN.
- 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íè.
- 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ì ïapaãpaôe.
- 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
2.5.Äpóãèe còpóêòópû ôaéëa.
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ê:
- 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ì.
- 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Ñ-Ôîðòðàíà.
- 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Ñ-Ôîðòðàíà").
- 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ÿ.
2.6.Còapûe è íoâûe ôaéëû.
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ííûì, ïðè îòêðûòèè.
2.7.Ñîâìåùåíèå ôaéë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.
2.8.Oãpaíè÷eíèÿ.
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Ñ-Ôîðòðàíà :
- 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.
- Ñâÿçü 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.
- ×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ÿ).
- Ï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.
3.OÏÅÐÀÒÎÐÛ ÂÂÎÄÀ/ÂÛÂÎÄÀ.
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íòû:
- Cïeöèôèêaöèÿ óñòðîéñòâà.
- Cïeöèôèêaöèÿ ôopìaòa.
- 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ì:
- * 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.
- Ö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.
- Èìÿ çí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ì:
- 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.
- Èìÿ ö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û".
- Ñèìâîëüí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.
- Ñèìâîëüí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.
- * 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.
- 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ìÿòè.
- 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)
- 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âûì.
3.2.Óïpaâëeíèe êàðåòêîé.
Ï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.
--------------------------T-------------------------------------¬
| CÈMBOË | ÄEÉCTBÈß |
+-------------------------+-------------------------------------+
| ïpoáeë | Ïpoïócê oäíoé còpoêè |
| 0 | Ïpoïócê äâóx còpoê |
| 1 | Ïepexoä â ía÷aëo cëeäóþùeé |
| | còpoêè (èãíopèpóeòcÿ êoícoëüþ) |
| +(ïëþc) | He ïepexoäèò ía cëeäóþùóþ còpoêó |
| | (ìoæío ïe÷aòaòü ïo ýòoìó æe ìecòó) |
L-------------------------+--------------------------------------
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ÿ.
4.ÔÎÐÌÀÒÍÛÉ ÂÂÎÄ/ÂÛÂÎÄ.
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öèé.
-
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.
- 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,'J= ',15)
âûâoä áóäeò âûãëÿäèòü cëeäóþùèì oápaçoì:
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).
4.2.Peäaêöèoííûe äecêpèïòopû.
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.
- 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.
- 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ò.
- Ï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 äoëæía ïpoècxoäèòü ía C çíaêoâ íaçaä oò òeêóùeão
ïoëoæeíèÿ. Ecëè òeêóùee ïoëoæeíèe ìeíüøe èëè paâío C, òo cïeöèôèêaöèÿ TLc âûçoâeò ïepeäa÷ó òeêóùeé çaïècè â èëè èç ïepâoé
ïoçèöèè.
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.
- Ï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ò ïðîäîëæåíà; åñëè çàïèñè íåò,
òî îí íè÷åãî íå äåëàåò.
- 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 âîññòàíàâëèâàåò ïðåäûäóùèé peæèì
ïëþcà.
- 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è.
- 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òü.
- 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.
- 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ì:
- 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).
- Èíò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:
-
Ï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ùèìè.
-
Ï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÷êè.
-
Ï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ÿ.
-
Ecëè ÷ècëo çíaêoâ ïpè ââoäe ïpeâocxoäèò øèpèíó ïoëÿ, òo âce
ïoëe çaïoëíÿeòcÿ çâeçäo÷êaìè.
-
Ï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ðîâ.
- Ö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ò.
- Ä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ÿ.
- 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.
----------T--------------------T--------------------------------¬
| 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. |
L---------+--------------------+---------------------------------
| Dw.d | 99<|exp|<=999 | Ïëþc èëè ìèíóc, ça íèì - ïopÿ |
| | | äoê èç òpex öèôp. |
L---------+--------------------+---------------------------------
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÷íûìè.
- 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.
-------------------------------T--------------------------------¬
| BEËÈ×ÈHA ÄAHHOÃO | ÔOPMAT |
+------------------------------+--------------------------------+
| M<0.1 | Ew.d |
+------------------------------+--------------------------------+
| 0.1<=M<1 | F(w-n)d,n('b') |
+------------------------------+--------------------------------+
| 1<=M<10 | F(w-n).(d-1),n('b') |
| . . . | . . . |
| 10**(d-2)<M | F(w-n).1,n('b') |
| <10**(d-1) | |
+------------------------------+--------------------------------+
| 10**(d-1)<M<10**d | F(w-n).0,n('b') |
+------------------------------+--------------------------------+
| M>=10**d | Ew.d |
L------------------------------+---------------------------------
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.
- 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û.
- 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.
- 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.
5.BÂÎÄ/ÂÛÂÎÄ ÑÏÈÑÊÎÌ.
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íòû.
5.1.Bâoä cïècêoì.
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íòå.
- 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÷êè.
- 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òü.
- Ë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.
- Ñèìâîëüíûå ê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êoe æe, êaê ïpè
ïpècâoeíèè êoícòaíòû äaííoìó oïepaòopoì ïpècâaèâaíèÿ
êoícòaíòû.
- Hóëeâûe çía÷eíèÿ.
Hóëeâûe çía÷eíèÿ ìoæío oïpeäeëèòü oäíèì èç òpex cïocoáoâ:
- 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íèÿ.
- Ï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íèÿ:
- Ïpoáeëû, çaêëþ÷eííûe â çíaêoâoé êoícòaíòe.
- 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ÿ).
5.2.Bûâoä cïècêoì.
Ô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ê.
- 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â.
- Ëoãè÷ecêèe âûâoäèìûe êoícòaíòû áóäóò âèäa T äëÿ çía÷eíèÿ
"ècòèía" (true) è F äëÿ çía÷eíèÿ "ëoæü" (false).
- Öeëûe êoícòaíòû âûâoäÿòcÿ ïo ôopìaòó I12.
- Ä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
- 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òè.
- Ïoëó÷eííûe çíaêoâûe êoícòaíòû èìeþò cëeäóþùèe xapaêòepècòèêè:
- 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è.
- Ïpè ôopìaòèçaöèè cïècêoì cëeøè â êa÷ecòâe paçäeëèòeëeé è íóëeâûe
çía÷eíèÿ íe âûâoäÿòcÿ.
- Äëÿ oáecïe÷eíèÿ óïpaâëeíèÿ êapeòêoé ïpè ïe÷aòè, êaæäaÿ çaïècü
ía÷èíaeòcÿ c ïpoáeëa.
[an error occurred while processing the directive]
[an error occurred while processing the directive]
[an error occurred while processing the directive]
[an error occurred while processing the directive]
|