| |
BIGLIB |
| áîëüøóùàÿ áèáëèîòåêà (9812 êíèã), ìîæíî íå òîëüêî ïðî÷èòàòü íî è ñêà÷àòü áåñïëàòíî |
|
| |
ÔÀÍÒÀÑÒÈÊÀ |
| ôåíòåçè,
ôàíòàñòèêà, ôàíòàñòè÷åñêèå ïîâåñòè |
|
| |
ÔÈËÎÑÎÔÈß |
êíèãè, êîòîðûå çàñòàâëÿþò
çàäóìàòüñÿ íàä îêðóæàþùèì òåáÿ ìèðîì.
|
|
| |
ÌÅÄÈÖÈÍÀ |
ìåäèöèíñêèå êíèãè,
ìåòîäè÷êè,
íàðîäíûå ëå÷åáíèêè |
|
| |
ÊÓËÈÍÀÐÈß |
ðåöåïòû
òîðòîâ, êîíñåðâèðîâàíèå,
âñå î ñïèðòíûõ
íàïèòêàõ. |
|
| |
ÑÒÈÕÈ |
| ñòèõè ïîïóëÿðíûõ
è íå î÷åíü àâòîðîâ |
|
| |
ÒÂÎÐ×ÅÑÒÂÎ |
| íàðîäíîå òâîð÷åñòâî,
ñòèõè, ïåñíè è ò.ä. |
|
| |
ÞÌÎÐ |
| àíåêäîòû, ïðèêîëû,
ñìåøíûå èñòîðèè |
|
| |
ÝÐÎÒÈÊÀ |
| ýðîòè÷åñêèå ðàññêàçû,
êíèãè î òåõíèêå ñåêñà,
êàìà-ñóòðà è äð. |
|
|
| |
 |
³ ÿçûê ³ òèï äaííûx ³ ïpèìe÷aíèe ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ ³ x: record ³ ³
³ Ïàñêàëü ³ logical: boolean; ³ ³
³ ³pad:array[0..]of byte; ³ ³
³ ³ end ³ ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ ³ struct { ³ ³
³ Cè ³ char logical; ³ ³
³ ³ char pad[1]; } x; ³ ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ Ôîðòðàí ³ LOGICAL*2 X ³ ³
³ ³ LOGICAL ³ ecëè $STORAGE ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ ËOÃÈ×ECKÈE ÇHA×EHÈß: 4 - ÁAÉTA ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ ÿçûê ³ òèï äaííûx ³ ïpèìe÷aíèe ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ ³ x: record ³ ³
³ Ïàñêàëü ³ logical: boolean; ³ ³
³ ³ pad;array[0..2]of byte³ ³
³ ³ end; ³ ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ ³ strucf { ³ ³
³ Cè ³ char logical; ³ ³
³ ³ char pad[3] ³ ³
³ ³ } x; ³ ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ Ôîðòðàí ³ LOGICAL*4 X ³ ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Taáëèöa 7-14. Ýêâèâaëeíòíûe òèïû äaííûx, ëoãè÷ecêèe çía÷eíèÿ.
7.9.Èñïîëüçîâàíèå èìåí ïðîöåäóð â êà÷åñòâå ïàðàìåòðîâ.
Ïapaìeòpû-èìeía ïpoöeäóp ía Ïàñêàëå è Ôîðòðàíå coâìecòèìû,
oäíaêo oíè íe coâìecòèìû c ïapaìeòpaìè èìeíaìè ïpoöeäóp ía Cè.
Ïapaìeòpû-èìeía ïpoöeäóp Ïàñêàëÿ è Ôîðòðàíà ìoãóò áûòü ïpeäcòaâ-
ëeíû Cè còpóêòópoé, êoòopaÿ èìèòèpóeò ïocëeäoâaòeëüíocòü Ïàñêà-
ëÿ/Ôîðòðàíà.
Ecëè Bû âûçûâaeòe Cè èç Ïàñêàëÿ èëè Ôîðòðàíà, peêoìeíäóeòcÿ
ècïoëüçoâaòü óêaçaòeëè ïpoöeäóp Cè. Ecëè Bû xoòèòe ïepeäaâaòü ïpo-
öeäópó â êa÷ecòâe ôopìaëüíoão ïapaìeòpa â ïpoöeäópû Ïàñêàëÿ èëè
Ôîðòðàíà, Bû äoëæíû ècïoëüçoâaòü apãóìeíòû Ïàñêàëÿ, òaê êaê íè
Ôîðòðàí ,íè Ïàñêàëü íe âûçûâaþòcÿ ÷epeç óêaçaòeëè ïpoöeäóp. Ècïoëü-
çóéòe Taáëèöó 7-10 ïpè paáoòe c óêaçaòeëÿìè ïpoöeäóp.
Boçâpaò çía÷eíèé.
Ïpoãpaììû ía Ôîðòðàíå è Ïàñêàëå ìoãóò âoçâpaùaòü çía÷eíèÿ â
ïpoãpaììû ía Cè. ×òoáû Cè ïpoãpaììû oápaáaòûâaëè âoçâpaùaeìûe
âeëè÷èíû ïpaâèëüío, ïpoãpaìècò äoëæeí paçáèpaòücÿ â câÿçÿx ìeæäó
òèïaìè äaííûx â paçëè÷íûx ÿçûêax. Koìïèëÿòop Cè ïpoèçâoäèò ïpeo-
ápaçoâaíèÿ âoçâpaùaeìûx âeëè÷èí äo ïepeäa÷è óïpaâëeíèÿ âûçûâaþùèì
ïpoöeäópaì. Öeëûe âeëè÷èíû, êoòopûe ìeíüøe ÷eì int pacøèpÿþòcÿ äo
paçìepa int, çía÷eíèÿ c ïëaâaþùeé òo÷êoé ïpeoápaçóþòcÿ â âeëè÷èíû
c äâoéíoé òo÷íocòüþ. Ýòè òèïû oïècaíû â paçäeëax "Öeëûe" è "Äeécò-
âèòeëüíûe ÷ècëa".
Koìïèëÿòop Cè ïpoâepÿeò còpóêòópèpóeìûe âoçâpaùaeìûe çía÷eíèÿ
â 4 áaéòa èëè ìeíüøe è âoçâpaùaeò èx êaê öeëûe cooòâeòcòâóþùeão
paçìepa.
8.COBMECTHOE ÏOËÜÇOBAHÈE ÄAHHÛMÈ.
Ïàñêàëü è Cè ìoãóò ccûëaòücÿ ía oáùèe äaííûe äpóã äpóãa ïpè
çaäaíèè cooòâeòcòâóáùèx aòpèáóòoâ è ècïoëüçoâaíèè ïpaâèëüíûx co-
ãëaøeíèé oá èäeíòèôèêaòopax è êëþ÷eâûx cëoâax (Bce còaòè÷ecêèe
ïepeìeííûe Ïàñêàëÿ äoëæíû áûòü oïècaíû c êëþ÷eâûì cëoâoì "near" â
Cè.) COMMON-áëoêè Ôîðòðàíà ÿâëÿþòcÿ oáùeäocòóïíûìè ïoëÿìè äaííûx.
Oíè coâìecòèìû c âíeøíèìè ïepeìeííûìè oáúeêòaìè äaííûx â Cè, è
ïepeìeííûìè çía÷eíèÿìè â Ïàñêàëå, íaïpèìep. Oäíaêo, äëÿ òoão ÷òoáû
ìoæío áûëo oápaòèòücÿ â COMMON-áëoê èç Ïàñêàëÿ, ýòoò COMMON-áëoê
äoëæeí èìeòü aòpèáóò NEAR. Heïoìe÷eííûé COMMON èìeeò oáùee èìÿ
CMMQQ. Ôîðòðàí íe ìoæeò oápaùaòücÿ ê oáúeêòaì äaííûx Cè. Ho Bû
ìoæeòe ècïoëüçoâaòü ïpoöeäópó LOC â Ôîðòðàíå, íaéòè aäpec COMMON-
áëoêa, ïepeäaòü aäpec â Cè è ïpoöeäópó Ïàñêàëÿ, çaòeì ècïoëüçoâaòü
ýòoò aäpec èç Cè è Ïàñêàëÿ. Haïpèìep:
INTERFACE TO SUBROUTINE CFUNC[C] (EXTR)
INTEGER * EXTR
END
COMMON/EXT/ I,Y
CALL CFUNC (LOCI))
. . . . .
END
void cfunc (ext)
struct {lony i, j;}* ext
{ ext - >i = ext->j;
9.BBOÄ È BÛBOÄ.
Ôaéë ìoæeò áûòü oòêpûò òoëüêo äëÿ oäíoão ÿçûêa oäíoâpeìeíío.
Ècêëþ÷eíèeì ÿâëÿeòcÿ còaíäapòíûé êaíaë âûâoäa èíôopìaöèè ía òep-
ìèíaë. ×òoáû ïpoãpaììû ía Cè èëè Ïàñêàëå ìoãëè âûäaâaòü èíôopìaöèþ
ía òepìèíaë cpaçó ïocëe êaæäoão oïepaòopa Ôîðòðàíà WRITE, ècïoëü-
çóþùeãocÿ äëÿ âûâoäa ía òepìèíaë äoëæeí cëeäoâaòü oïepaòop:
WRITE(*,*), åñëè âîçìîæíî, ÷òî ïðîöåäóðà íà Ñè èëè Ïàñêàëå ìîãëà
ñðàçó ïîñëå ýòîãî ïèñàòü íà òåðìèíàë. Çäecü oí ècïoëüçóeòcÿ äëÿ
óíè÷òoæeíèÿ cèìâoëoâ óïpaâëeíèÿ êapeòêoé.
10.COOÁÙEHÈß OÁ OØÈÁKAX.
Oøèáêè íaéäeííûe âo âpeìÿ êoìïèëÿöèè, âûäaþòcÿ êoìïèëÿòopoì
òoão ÿçûêa â êoòopoì oáíapóæeía oøèáêa, áoëüøèícòâo cooáùeíèé oá
oøèáêax c÷eòa óêaçûâaþò ía ÿçûê ìoäóëÿ, â êoòopoì ïpoèçoøëa oøèáêa.
Oäíaêo oøèáêè âûçâaííûìè âeëè÷èíaìè c ïëaâaþùeé òo÷êoé ìoãóò áûòü
âûäaíû ëþáûì ÿçûêoì, ècïoëüçóþùèìcÿ â ïpoãpaìe. Äëÿ Ôîðòðàíà è
Ïàñêàëÿ cooáùeíèÿ oá ýòèx oøèáêax íe oòëè÷aþòcÿ äpóã oò äpóãa. B
Cè cooáùeíèÿ íe èìeþò íoìepoâ.
11.BOÇMOÆHOCTÈ ÔOPTPAHA, ÏOÄÄEPÆÈBAÞÙÈE CMEØAHHOE
ÏPOÃPAMMÈPOBAHÈE.
Hèæe ïepe÷ècëeííûe âoçìoæíocòè MC-Ôîðòðàíà ïoçâoëÿþò ïècaòü
ïpoãpaììû, cocòoÿùèe èç ìoäóëeé MC-Ôîðòðàíà, MC-Ïàñêàëÿ è MC-Cè.
Îïepaòop INTERFACE Ïoçâoëÿeò paáoòaòü c ïpoöeäópaìè íaïècaííûìè
ía äpóãèx ÿçûêax.
Àòpèáóòû Çaäaþò xapaêòepècòèêè äëÿ ïoäïpoãpaìì è ïe-
peìeííûx. Cóùecòâóeò 9 aòpèáóòoâ: ALIAS,
PASCAL, C, NEAR, FAR, HUGE, REFERENCE, VALUE
è VARYING .
Ôóíêöèè aäpecoâ Boçâpaùaþò aäpec apãóìeíòa.
Cè còpoêè Äaþò cïeöèôèêaöèè cèìâoëoâ, òaêèx êaê
backspaces è newlines c ïoìoùüþ ècïoëüçoâaíèÿ
ïocëeäoâaòeëüíocòeé escape Cè.
11.1.Oïepaòop INTERFACE.
Oïepaòop INTERFACE ècïoëüçóeòcÿ äëÿ oïècaíèÿ ïpoöeäóp íaïè-
caíûx ía äpóãèx ÿçûêax è çaäaíèÿ coãëaøeíèé cooòâeòcòâóþùèx ýòèì
ÿçûêaì. Ïoëíoe oïècaíèe ýòoão oïepaòopa íaxoäèòcÿ â ãëaâe 3 "Oïe-
paòopû".
11.2.Aòpèáóòû.
Aòpèáóòaìè çaäaeòcÿ äoïoëíèòeëüíaÿ èíôopìaöèÿ o ïepeìeííoé,
òèïa ïepeìeííoé, ïoäïpoãpaììe, èëè oá apãóìeíòe ïoäïpoãpaììû. Oíè
ìoãóò ècïoëüçoâaíû â oïècaíèè ïoäïpoãpaìì, ïocëe oïècaíèÿ òèïa, è
â oïepaòopax INTERFACE. Aòpèáóòû ïèøóòcÿ ïocëe oáúeêòa, ía êoòopûé
oíè ccûëaþòcÿ.
Cèíòàêñèñ:
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
[aòpèáóò [, aòpèáóò] ]
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
ALIAS
Ýòoò aòpèáóò çaäaeò âíeøíee èìÿ ïoäïpoãpaììû, oòëè÷íoe oò
èìeíè çaäaííoão â oïècaíèè.
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
ALIAS : ñòðîêà
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
ãäe:
ñòðîêà còpo÷íaÿ êoícòaíòa ÔOPTPAHA. Bû äoëæíû oápaùaòücÿ ê ïoä-
ïpoãpaììe ïo èìeíè, çaäaííoìó â oïècaíèè â ïpeäeëax
ìoäóëÿ êoìïèëÿöèè, aòpèáóò alias ïoçâoëÿeò ccûëaòücÿ ía
ïoäïpoãpaììó èç äpóãoão ìoäóëÿ êoìïèëÿöèè.
Taêæe, Bû ìoæeòe ècïoëüçoâaòü ALIAS â oïepaòope INTERFACE;
ïepeoïpeäeëèâ èìÿ ïoäïpoãpaììû â äpóãoì ìoäóëe êoìïèëÿöèè, êoòopûe
Baì íóæío âûçâaòü. Haïpèìep, ôaéë A coäepæèò:
INTERFACE TO SUBROUTINE F1[ALIAS:"F&&*-PPP"]
END
INTERFACE TO SUBROUTINE F2[ALIAS: "FFFFFFF2"]
END
SUBROUTINE G1 [ALIAS: "VERY LONG NAME"]
CALL F1
CALL F2
END
SUBROUTINE
END
è ôaéë B coäepæèò:
INTERFACE TO SUBROUTINE F1 [ALIAS: "F&&-PPP"]
END
INTERFACE TO SUBROUTINE K1 [ALIAS: "VERY LONC NAME"]
END
SUBROUTINE F2 [ALIAS: "FFFFFFF2"]
END
SUBROUTINE F1
CALL F1
CALL K1
CALL F2
END
çäecü ïoäïpoãpaììa F1 â Ôàéëå A câÿçûâaþòcÿ c F1 â ôaéëe B, ïoä-
ïpoãpaììa F2 â ôaéëe A câÿçûâaeòcÿ c F2 â ôaéëe B, è ïoäïpoãpaììa
G1 â ôaéëe A câÿçûâaeòcÿ c K1 â ôaéëe B.
Ëþáoé cèìâoë ècïoëüçóþùèécÿ â còpoêe Ôîðòðàíà, ìoæeò áûòü
ècïoëüçoâaí â string. Co string íe ïpoècxoäèò íèêaêèx ïpeoápaçoâa-
|
adfun.ru
|
|
|
|