Реферат по предмету "Программирование"


Программирование, ориентированное на объекты

[pic] [pic] в«ЯТсбУЯФуСЎЎЩ® ¬«јїФСФ Й«ЯЯї®Я¬«® цСсСУбµїї
»« уЩЯЮСјТ «нУбє«убЎїЇ
жбјбpЯ¬ї® ъ«ЯТсбpЯФуСЎЎЩ® бЭp«¬«ЯјїюСЯ¬ї® ТЎїуСpЯїФСФ їјСЎї б¬бсСјї¬б ж.Е. и«У«ЅСуб
о.З.и«pбнЅїЎ
ЕPДвPЗоокPДйЗмка, ДPкамЖкPДйЗммДа мЗ ДьЬаиЖш
фюСнЎ«С »«Я«нїС
жбјбpб 1994 [pic] фди 681.142.2
Еp«ъpбјјїp«убЎїС, «pїСЎФїp«убЎЎ«С Ўб «нЫС¬ФЩ: фюСнЎ«С »«Я«нїС/ о.З.и«pбнЅїЎ. жбјбУ. ъ«ЯТс. бЭУ«¬«Яј. ТЎ-Ф; жбјбУб, 1994. 97 Я. JSBN 5-230-16-955-9 Е«Я«нїС »«ЯуґЪСЎ« «сЎ«јТ їє «ЯЎ«уЎЩХ Ўб»pбуЅСЎї® Я«уpСјСЎЎ«ъ« »p«ъpбјјїp«убЎїґ, ЯуґєбЎЎ«јТ Я «нЫС¬ФЎ«-«pїСЎФїp«убЎЎЩј »«сХ«с«ј ¬ pбєpбн«Ф¬С »p«ъpбјј. Д»їЯЩубЇФЯґ «ЯЎ«уЎЩС ¬«ЎµС»µїї Фᬫъ« »«сХ«сб, јСФ«сЩ ї ЯpСсЯФуб Съ« pСбЅїєбµїї, у Я«у«¬Т»Ў«ЯФї Я«ЯФбуЅґЇЪїС «Я«нЩ® ЯФїЅэ »p«ъpбјјїp«убЎїґ. й »СpуТЇ «юСpСсэ «pїСЎФїp«убЎ« Ўб ЯФТсСЎФ«у, їєТюбЇЪїХ їЎх«pјбФї¬Т ї ЯуґєбЎЎЩХ Я єбсбюбјї »p«ъpбјјїp«убЎїґ »pї¬ЅбсЎЩХ їЎх«pјбµї«ЎЎЩХ ЯїЯФСј. о«ЄСФ нЩФэ pС¬«јСЎс«убЎ« »pї їєТюСЎїї сїЯµї»ЅїЎ "Еp«ъpбјјїp«убЎїС", "ЖСХЎ«Ѕ«ъїґ »p«ъpбјјїp«убЎїґ", "ДЯЎ«уЩ їЎх«pјбµї«ЎЎ«® ФСХЎ«Ѕ«ъїї", "о«сСЅїp«убЎїС Ўб Шйо". PС¬«јСсТСФЯґ сЅґ їЯ»«Ѕэє«убЎїґ у ТюСнЎ«ј »p«µСЯЯС Я»СµїбЅэЎ«ЯФС® "Еpї¬ЅбсЎбґ јбФСјбФї¬б", "ЗуФ«јбФїєїp«убЎЎЩС ЯїЯФСјЩ «нpбн«Ф¬ї їЎх«pјбµїї ї Т»pбуЅСЎїґ", "Еp«ъpбјјЎ«С «нСЯ»СюСЎїС уЩюїЯЅїФСЅэЎЩХ ї буФ«јбФїєїp«убЎЎЩХ ЯїЯФСј". йЩ»«ЅЎСЎ« Ўб ¬бхСсpС "кЎх«pјбµї«ЎЎЩС ЯїЯФСјЩ ї ФСХЎ«Ѕ«ъїї". ЕСюбФбСФЯґ »« УСЮСЎїЇ УСсᬵї«ЎЎ«-їєсбФСЅэЯ¬«ъ« Я«уСФб жбјбУЯ¬«ъ« ъ«ЯТсбУЯФуСЎЎ«ъ« бЭУ«¬«ЯјїюСЯ¬«ъ« ТЎїуСУЯїФСФб їјСЎї б¬бсСјї¬б ж.Е.и«У«ЅСуб PѵѡєСЎФ жјїpЎ«у ж.й. JSBN 5-230-16-955-9 жбјбpЯ¬ї® ъ«ЯТсбpЯФуСЎЎЩ® бЭp«¬«ЯјїюСЯ¬ї® ТЎїуСpЯїФСФ, 1994 ЕPадкжпДйка мбЯФ«ґЪїС »«Я«нїС ЎС ґуЅґСФЯґ pТ¬«у«сЯФу«ј »« ¬б¬«јТ-Ѕїн« ґєЩ¬Т »p«ъpбјјїp«убЎїґ. ь«ЅСС Ф«ъ«, µСЅэ Съ« єб¬ЅЇюбСФЯґ ЎС у Ф«ј, юФ«нЩ ЎбТюїФэ ФСХЎї¬С »p«ъpбјјїp«убЎїґ. й ЎСъ« у«ЮСЅ јбФСpїбЅ, ЯуґєбЎЎЩ® Я ¬«ЎµС»µїС® «нЫС¬ФЎ«-«pїСЎФїp«убЎЎ«ъ« »«сХ«сб ¬ pбєpбн«Ф¬С »p«ъpбјј, у Я««ФуСФЯФуїї Я ¬«Ф«p«® «¬pТЄбЇЪї® ЎбЯ pСбЅэЎЩ® јїp їЎФСp»pСФїpТСФЯґ ¬б¬ Я«у«¬Т»Ў«ЯФэ уєбїј«ЯуґєбЎЎЩХ ї уєбїј«сСЯФуТЇЪїХ «нЫС¬Ф«у. о«сСЅїp«убЎїС єбсбю pСбЅэЎ«ъ« јїpб у pбј¬бХ ЭФ«® ¬«ЎµС»µїї ЯуґєбЎ« Я «»їЯбЎїСј (Я»Сµїхї¬бµї®) «нЫС¬Ф«у pСбЅэЎ«ъ« јїpб у бсС¬убФЎЩХ ¬бФСъ«pїґХ ґєЩ¬б »p«ъpбјјїp«убЎїґ, юФ« ФpСнТСФ Ў«у«ъ« уєъЅґсб Ўб ТЄС ЯЅ«ЄїуЮїСЯґ јСФ«сЩ »p«ъpбјјїp«убЎїґ ї ЯуґєбЎ« у їєуСЯФЎ«ј ЯјЩЯЅС Я »СpС«ЯјЩЯЅСЎїСј јЎ«ъїХ Х«p«Ю« їєуСЯФЎЩХ ї ТЯФ«ґуЮїХЯґ »«ЎґФї®. ДЯЎ«уЎбґ µСЅэ сбЎЎ«ъ« »«Я«нїґ єб¬ЅЇюбСФЯґ у Ф«ј, юФ«нЩ с«ЎСЯФї с« юїФбФСЅґ у ЯЄбФ«® Ѕб¬«ЎїюЎ«® х«pјС «ЯЎ«уЎЩС ¬«ЎµС»µїї «нЫС¬ФЎ«-«pїСЎФїp«убЎЎ«ъ« »«сХ«сб, »p«їЅЅЇЯФpїp«убФэ їХ ї Ях«pјїp«убФэ «нЪСС »pСсЯФбуЅСЎїС «н ЭФ«ј Ўб»pбуЅСЎїї, ¬«Ф«p«С »«єу«ЅїФ уЎїјбФСЅэЎ«јТ юїФбФСЅЇ ЅСъ¬« »СpС®Фї «Ф Тp«уЎґ »«ЎїјбЎїґ »«сХ«сб у µСЅ«ј ¬ Тp«уЎЇ ТјСЎїґ Съ« pСбЅїє«убФэ у pбєpбн«Ф¬бХ ¬«Ў¬pСФЎЩХ »p«ъpбјј. дЅґ ЭФ«ъ« у «нЪСј ЯЅТюбС сбЄС ЎС «нґєбФСЅэЎ« їЯ»«Ѕэє«убФэ Я«уpСјСЎЎЩС «нЫС¬ФЎ«-«pїСЎФїp«убЎЎЩС ґєЩ¬ї (у« јЎ«ъ«ј "»СpСъpТЄСЎЎЩС" Я»СµїбЅэЎЩјї »«ЎґФїґјї). оЎ«ъїС бЯ»С¬ФЩ «нЫС¬ФЎ«- «pїСЎФїp«убЎЎ«ъ« »«сХ«сб ј«ъТФ нЩФэ pСбЅїє«убЎЩ ї у їєуСЯФЎ«® ФСХЎї¬С ј«сТЅэЎ«ъ« »p«ъpбјјїp«убЎїґ Я їЯ»«Ѕэє«убЎїСј бнЯФpбъїp«убЎїґ Фї»«у, јСХбЎїєј«у їј»«pФб-Э¬Я»«pФб, »p«µСЯЯ«у, Я«»p«ъpбјј ї Ф.с. ЗуФ«p ЯюїФбЅ нЩ Яу«Ї єбсбюТ уЩ»«ЅЎСЎЎ«®, СЯЅї нЩ Т юїФбФСЅґ Ўб «ЯЎ«уС ЭФ«ъ« »«Я«нїґ ЯЅ«ЄїЅЯґ Я«нЯФуСЎЩ® ¬pїФїюСЯ¬ї® уєъЅґс Ўб «нЫС¬ФЎ«-«pїСЎФїp«убЎЎ«С ¬«ЎЯФpТїp«убЎїС »p«ъpбјјЎЩХ ј«сСЅС®. Жᬫ® уєъЅґс «Я«нСЎЎ« убЄСЎ, »«Я¬«Ѕэ¬Т »p«ъpбјјїp«убЎїС - нЩЯФp« pбєуїубЇЪбЯґ «нЅбЯФэ єЎбЎїґ. оЎ«ъїС »«ЎґФїґ «нЫС¬ФЎ«-«pїСЎФїp«убЎЎ«ъ« »«сХ«сб Ўб ЯСъ«сЎґЮЎї® сСЎэ ЎСЅэєґ »pїєЎбФэ у»«ЅЎС ЯЅ«ЄїуЮїјїЯґ ЎС Ф«Ѕэ¬« у јСФ«сїюСЯ¬«ј, ¬«ЎЯФpТ¬ФїуЎ«ј, Ў« ї у ¬«ЎµС»ФТбЅэЎ«ј «ФЎ«ЮСЎїї. ДЎї ЎС їјСЇФ ЯФp«ъ« «»pСсСЅСЎЎ«® х«pјбЅэЎ«® јбФСјбФїюСЯ¬«® «ЯЎ«уЩ ї »«ЅЎ«ЯФэЇ нбєїpТЇФЯґ Ўб їЎФТїµїї ї "єсpбу«ј ЯјЩЯЅС". й ЭФ«ј »ЅбЎС їЯ»«Ѕэє«убЎїС «нЫС¬ФЎ«-«pїСЎФїp«убЎЎ«ъ« »«сХ«сб у «сЎїХ «нЅбЯФґХ «¬бєЩубСФЯґ уСЯэјб »Ѕ«с«Фу«pЎЩј, у сpТъїХ - ЎСФ. цpбъјСЎФЩ »p«ъpбјј, »pїуСсСЎЎЩС у »«Я«нїї, «х«pјЅСЎЩ Я їЯ»«Ѕэє«убЎїСј Ў«Фбµїї, »pїЎґФ«® у ґєЩ¬С о«сТЅб-2. йЩн«p ЭФ«ъ« ґєЩ¬б «ЯЎ«убЎ Ўб суТХ «нЯФ«ґФСЅэЯФубХ: Фpбсїµїґ ¬«ЅЅС¬Фїуб, у ¬«Ф«p«ј pбн«ФбСФ буФ«p, ї уЎТФpСЎЎґґ ЯФp«®Ў«ЯФэ о«сТЅЩ, »«єу«ЅґЇЪбґ pбЯЮїpґФэ »p«ъpбјјЎЩС pбєpбн«Ф¬ї Ўб ЯФp«ъ«® «ЯЎ«уС. йјСЯФС Я ФСј о«сТЅб-2 ґуЅґСФЯґ »pСсЯФбуїФСЅСј ъpТ»»Щ "»бЯ¬бЅ«їс«у", ¬«Ф«pбґ Юїp«¬« pбЯ»p«ЯФpбЎСЎб. Е«Я«нїС pбЯЯюїФбЎ« Ўб юїФбФСЅґ, ¬«Ф«pЩ® їјССФ ЎС¬«Ф«pЩ® «»ЩФ »p«ъpбјјїp«убЎїґ Ўб ґєЩ¬С, їјСЇЪСј ЯpСсЯФуб бнЯФpбъїp«убЎїґ Фї»«у, Ў« ујСЯФС Я ФСј ЎС «Фґъ«ЪСЎ н«ЅэЮїј ъpТє«ј ЯФбpЩХ »p«нЅСј у ФСХЎ«Ѕ«ъїї »p«ъpбјјїp«убЎїґ, Я»«Я«нСЎ «ЪТФїФэ ЯФp«®Ў«ЯФэ јбФСјбФїюСЯ¬«® їЎФСp»pСФбµїї «ФсСЅэЎЩХ јСХбЎїєј«у ЯФpТ¬ФТpїєбµїї ї ъ«Ф«у ЯјСЎїФэ ЯЅ«ЄїуЮїСЯґ їЅї Ф«Ѕэ¬« Я¬ЅбсЩубЇЪїСЯґ Т ЎСъ« ЯФСpС«Фї»Щ. йЯС ЭФї ТЯЅ«уїґ, »«-уїсїј«јТ, ЎС«нХ«сїјЩ сЅґ Ф«ъ« у«Я»pїґФїґ јбФСpїбЅб, Ўб ¬«Ф«p«С pбЯЯюїФЩубСФ буФ«p. Е«Яј«ФpїФС Ўб Х«p«Ю« їєуСЯФЎЩ® йбј јїp »p«ъpбјјїp«убЎїґ юСpСє «нЫС¬ФЎ«- «pїСЎФїp«убЎЎЩС «ю¬ї - ј«ЄСФ нЩФэ Ф«, юФ« йЩ ТуїсїФС, сбЯФ Ў«уЩ® їј»ТЅэЯ ¬ pбєуїФїЇ йбЮїХ Я»«Я«нЎ«ЯФС® у ЭФ«® «нЅбЯФї. I. PЗзйкЖка иДмыаЕыкл жЖPфиЖфPкзЗыкк й fзшиЗт ЕPДвPЗоокPДйЗмкf Е«ЎґФїС ЯФpТ¬ФТpЩ уЯСъсб бЯЯ«µїїpТСФЯґ Я« ЯЅ«ЄЎЩј «нЫС¬Ф«ј, «нЅбсбЇЪїј Яу«®ЯФу«ј µСЅ«ЯФЎ«ЯФї, ї ујСЯФС Я ФСј Я«ЯФбуЅСЎЎЩј їє »p«ЯФЩХ ¬«ј»«ЎСФ (юбЯФС®, ЭЅСјСЎФ«у) »ТФСј їЯ»«Ѕэє«убЎїґ «»pСсСЅСЎЎ«® ЯїЯФСјЩ »pбуїЅ. Еp«ъpбјјїp«убЎїС ј«ЄЎ« їЎФСp»pСФїp«убФэ ¬б¬ їЯ¬ТЯЯФу« pбєЅ«ЄСЎїґ ї ¬ЅбЯЯїхї¬бµїї µСЅ«ъ« Ўб юбЯФї- сС¬«ј»«єїµїї pСЮбСј«® єбсбюї. й ЭФ«ј »ЅбЎС ЯФpТ¬ФТpїєбµїЇ у »p«ъpбјјїp«убЎїї ј«ЄЎ« Фpб¬Ф«убФэ ¬б¬ »pбуїЅб Фᬫ® сС¬«ј»«єїµїї. й«єј«ЄЎб, pбєТјССФЯґ, сС¬«ј»«єїµїґ ї нСє »pбуїЅ, Ў« у ЭФ«ј ЯЅТюбС (¬б¬ ї у ЅЇн«® їъpС нСє »pбуїЅ) »«ЎґФэ, ¬б¬ їє юбЯФС® «нpбєТСФЯґ ЯФpТ¬ФТpб, ФpТсЎ«, б у «нЪСј ЯЅТюбС, ЎСу«єј«ЄЎ«. кЯФ«pїюСЯ¬ї ЯФpТ¬ФТpїєбµїґ у »p«ъpбјјїp«убЎїї ЎбюїЎбЅбЯэ Я ууСсСЎїґ у ґєЩ¬ї »p«ъpбјјїp«убЎїґ Т»pбуЅґЇЪїХ ЯФpТ¬ФТp - «»СpбФ«p«у ТЯЅ«уЎ«ъ« »СpСХ«сб, уЩн«pб, µї¬Ѕ«у Я pбєЅїюЎЩјї »pбуїЅбјї »«уФ«pСЎїґ ї уЩХ«сб ї Ф.». ыСЅэ Фᬫ® ЯФpТ¬ФТpїєбµїї єб¬ЅЇюбЅбЯэ у »«уЩЮСЎїї юїФбСј«ЯФї ї »«ЎїјбСј«ЯФї pбєpбнбФЩубСјЩХ »p«ъpбјј. Еp«ъpбјјїp«убЎїС Я їЯ»«Ѕэє«убЎїСј «»СpбФ«pб нСєТЯЅ«уЎ«ъ« »СpСХ«сб (GO TO) у ЭФ«ј »ЅбЎС ЯюїФбЅ«Яэ ЎСЄСЅбФСЅэЎЩј, ЎС у»їЯЩубЇЪїјЯґ у ЯїЯФСјТ »pбуїЅ ЯФpТ¬ФТpїєбµїї. кє ЎС¬«Ф«pЩХ ґєЩ¬«у »p«ъpбјјїp«убЎїґ ЭФ«Ф «»СpбФ«p нЩЅ у««нЪС ТсбЅСЎ, юФ«нЩ ЎС уу«сїФэ »p«ъpбјјїЯФ«у у їЯ¬ТЮСЎїС »їЯбФэ Ѕб¬«ЎїюЎЩС, ЭххС¬ФїуЎЩС, Х«p«Ю« pбн«ФбЇЪїС, Ў« ФpТсЎ« »«ЎїјбСјЩС ї ЎСЯФpТ¬ФТpЎЩС (!) »p«ъpбјјЩ. (й»p«юСј, у н«ЅСС »«єсЎїХ уСpЯїґХ ЭФїХ ЄС ґєЩ¬«у "ЎСТс«нЎЩ®" GOTO ЎС«ЄїсбЎЎ« "у«Я¬pСЯбЅ", ЎСЯј«Фpґ Ўб уЯЇ Съ« "ЎСЯФpТ¬ФТpЎ«ЯФэ"). й»«ЯЅСсЯФуїї ЯЅ«ЄїЅ«Яэ јЎСЎїС, юФ« ЯФpТ¬ФТpїєбµїґ - ЭФ« ЯФїЅэ »p«ъpбјјїp«убЎїґ. о«ЄЎ« »їЯбФэ »p«ъpбјјЩ, ЯЅСсТґ ФᬫјТ ЯФїЅЇ (ї їЯ»«ЅэєТґ GOTO), б ј«ЄЎ« »їЯбФэ у»«ЅЎС ЎСЯФpТ¬ФТpЎ« ї ујСЯФС Я ФСј, нСє GOTO. fєЩ¬ї »p«ъpбјїp«убЎїґ, у ¬«Ф«pЩС нЩЅї ууСсСЎЩ Т»pбуЅґЇЪїС ЯФpТ¬ФТpЩ, «¬бєбЅїЯэ »СpуЩј Юбъ«ј Ўб »ТФї «Ф бЯЯСјнЅСpб с« Я«уpСјСЎЎЩХ ґєЩ¬«у (ґєЩ¬ї »Сpу«ъ« »«¬«ЅСЎїґ, Ўб»pїјСp, FORTRAN). жЅСсТЇЪїј ЭФб»«ј у pбєуїФїї ¬«ЎµС»µї® ЯФpТ¬ФТpїєбµїї ґуїЅ«Яэ «Я«єЎбЎїС ЎС«нХ«сїј«ЯФї ЯФpТ¬ФТpїєбµїї сбЎЎЩХ. Е«ґуЅСЎїС Фб¬їХ ЯФpТ¬ФТp, ¬б¬ єб»їЯї, »«Ѕ«ЄїЅ« ЎбюбЅ« їЯ»«Ѕэє«убЎїЇ у ґєЩ¬бХ »p«ъpбјјїp«убЎїґ јСХбЎїєј«у бнЯФpбъїp«убЎїґ Фї»«у (ґєЩ¬ї уФ«p«ъ« »«¬«ЅСЎїґ, »pїјСp - PL1). PбєуїФїС ЭФїХ јСХбЎїєј«у, їЎФСp»pСФбµїґ Фї»б ¬б¬ бЅъСнpЩ (јЎ«ЄСЯФу« «нЫС¬Ф«у + јЎ«ЄСЯФу« «»Сpбµї® Ўбс Ўїјї) ї їЯ»«Ѕэє«убЎїС ј«сТЅґ ¬б¬ »p«ъpбјјЎ«ъ« Э¬уїубЅСЎФб бнЯФpб¬ФЎ«ъ« Фї»б ЯуґєбЎ« Я »«ґуЅСЎїСј ґєЩ¬«у ФpСФэСъ« »«¬«ЅСЎїґ (Clu, о«сТЅб-2 ї сp.). ДФЅїюїФСЅэЎ«® «Я«нСЎЎ«ЯФэЇ ЭФїХ ї їј »«с«нЎЩХ ґєЩ¬«у ґуЅґСФЯґ ЎбЅїюїС pбєуїФЩХ ЯpСсЯФу бнЯФpбъїp«убЎїґ Фї»«у. й ЭФ«ј »ЅбЎС Х«p«Ю« їєуСЯФЎбґ ФСХЎї¬б ј«сТЅэЎ«ъ« »p«ъpбјјїp«убЎїґ «¬бєбЅбЯэ ТсбюЎ«® «ЯЎ«у«®, Ўб ¬«Ф«p«® ¬«ЎµС»µїґ бнЯФpбъїp«убЎїґ ј«ъЅб »«ЅТюїФэ Ў«уЩС с«»«ЅЎїФСЅэЎЩС ¬бюСЯФуб. жpСсї ЎїХ у »СpуТЇ «юСpСсэ у«єј«ЄЎ«ЯФї їЎ¬б»ЯТЅґµїї ї јСХбЎїєјЩ їј»«pФб-Э¬Я»«pФб. кЎ¬б»ЯТЅґµїґ »«єу«ЅґСФ pбЯЯјбФpїубФэ ј«сТЅэ ¬б¬ Ўбн«p »p«ъpбјјЎЩХ «нЫС¬Ф«у, »«јСЪСЎЎЩХ у «н«Ѕ«ю¬Т - ¬б»ЯТЅТ. Жб¬бґ «н«Ѕ«ю¬б ј«ЄСФ нЩФэ "ЎС»У«єУбюЎ«®", сСЅбЇЪС® ЎСу«єј«ЄЎЎЩј їЯ»«Ѕэє«убЎїС «нЫС¬Ф«у, «»pСсСЅСЎЎЩХ у ј«сТЅС, уЎС Съ«, "»«ЅТ»p«єpбюЎ«®", - у ЭФ«ј ЯЅТюбС уЎС ј«сТЅґ їєуСЯФЎЩ Ф«Ѕэ¬« «нЪїС Яу«®ЯФуб «нЫС¬Фб (Ўб»pїјСp, єбъ«Ѕ«у«¬ »p«µСсТpЩ), ї »«ЅЎ«ЯФэЇ "»p«єpбюЎ«®" (єб »pСсСЅбјї ј«сТЅґ ј«ЄЎ« їЯ»«Ѕэє«убФэ уЯС Яу«®ЯФуб Съ« «нЫС¬Ф«у). оСХбЎїєјЩ їј»«pФб-Э¬Я»«pФб pСъТЅїpТЇФ "ЯФѻѡэ »p«єpбюЎ«ЯФї" ¬б»ЯТЅЩ ј«сТЅґ »ТФСј їЯ»«Ѕэє«убЎїґ Я««ФуСФуСФЯФуТЇЪїХ сС¬Ѕбpбµї® «»pСсСЅСЎЎЩХ «нЫС¬Ф«у. дуб «ФјСюСЎЎЩХ бЯ»С¬Фб «»pСсСЅґЇФ ґєЩ¬ї, ¬«Ф«pЩС ј«ЄЎ« ЎбєубФэ ґєЩ¬бјї, «pїСЎФїp«убЎЎЩјї Ўб «нЫС¬ФЩ. й Фб¬їХ ґєЩ¬бХ »p«ъpбјјб «»pСсСЅґСФЯґ ¬б¬ Ўбн«p ј«сТЅС®, ¬бЄсЩ® їє ¬«Ф«pЩХ Я«сСpЄїФ у ЯСнС «»pСсСЅСЎїС бнЯФpб¬ФЎ«ъ« Фї»б Ж, сС®ЯФуї® Ўбс «нЫС¬Фбјї ЭФ«ъ« Фї»б Ft ї уЎТФpСЎЎїХ ЯХСј »«уСсСЎїґ «нЫС¬Ф«у Wt. T ї Ft Э¬Я»«pФїpТЇФЯґ "»«ЅТ»p«єpбюЎЩј Э¬Я»«pФ«ј", Wt - "ЎСуїсїјЩ" уЎС ј«сТЅґ. Жб¬їј «нpбє«ј, ЅЇн«® ј«сТЅэ «»pСсСЅґСФЯґ Фpїбс«® M=, б јСХбЎїєјЩ їј»«pФб-Э¬Я»«pФб «»pСсСЅґЇФ ЯФбФїюСЯ¬їС јСЄј«сТЅэЎЩС Яуґєї. й ЭФ«® їЎФСp»pСФбµїї ј«сТЅэ с«ЅЄСЎ pбЯЯјбФpїубФэЯґ ¬б¬ »p«ъpбјјЎЩ® Э¬уїубЅСЎФ «»pСсСЅСЎЎ«ъ« ¬ЅбЯЯб «нЫС¬Ф«у, Я«сСpЄбЪї® у ЯСнС уЯЇ їЎх«pјбµїЇ «н «нЫС¬ФбХ ЭФ«ъ« ¬ЅбЯЯб. мб»pїјСp, ј«сТЅэ, pСбЅїєТЇЪї® ¬ЅбЯЯ «нЫС¬Ф«у ЖДщиЗ, с«ЅЄСЎ Я«сСpЄбФэ «»їЯбЎїС бнЯФpб¬ФЎ«ъ« Фї»б "Ф«ю¬ї" (T) ї сС®ЯФуїґ Ўбс «нЫС¬Фбјї ¬ЅбЯЯб ЖДщиЗ (Ft), Ўб»pїјСp, ЯЅСсТЇЪїС:
PROCEDURE Create (X,Y:CARDINAL): ЖДщиЗ;
(ж«єсбФэ Ф«ю¬Т Я ¬««pсїЎбФбјї X,Y).
PROCEDURE Destroy (VAR T: ЖДщиЗ); (фсбЅїФэ Ф«ю¬Т Ж).
PROCEDURE Sm (T: ЖДщиЗ; New_X, New_Y: CARDINAL);
(ЕСpСјСЯФїФэ Ф«ю¬Т Ж у Ў«уЩС ¬««pсїЎбФЩ New_X, New_Y).
Wt у ЭФ«ј »pїјСpС с«ЅЄЎЩ pСбЅїє«убФэ Я¬pЩФЩС у ј«сТЅС јСХбЎїєјЩ, ЯуґєбЎЎЩС Я pСбЅїєбµїС® Ft. й «нЪСј ЯЅТюбС Wt ј«ъТФ нЩФэ ЯуґєбЎЩ Я Я«єсбЎїСј »p«µСЯЯ«у "ЄїєЎї" «нЫС¬Ф«у ¬ЅбЯЯб. мб»pїјСp, «»їЯбЎїС ¬ЅбЯЯб "ЖДщиЗ, дйкефЦЗfжf ЕД ШиPЗмф оДмкЖДPЗ" с«ЅЄЎ« їЎ¬б»ЯТЅїp«убФэ у ЯСнС »p«µСЯЯЩ Фᬫъ« суїЄСЎїґ. Е«сюСp¬ЎСј, юФ« ј«сТЅэ ¬б¬ »p«ъpбјјЎЩ® Э¬уїубЅСЎФ ¬ЅбЯЯб Я«сСpЄїФ у ЯСнС «»їЯбЎїe Ф«Ѕэ¬« Яу«®ЯФу ЭФ«ъ« ¬ЅбЯЯб. ДнЫС¬ФЩ ¬ЅбЯЯб Я«єсбЇФЯґ уЎС ј«сТЅґ, б їХ юїЯЅ« у «нЪСј ЯЅТюбС ЎС»pСсЯ¬бєТСј« (у »pїуСсСЎЎ«ј »pїјСpС - ЭФ« јЎ«ЄСЯФу« «сЎ«уpСјСЎЎ« суїЄТЪїХЯґ Ф«юС¬). ШФ« «нЯФ«ґФСЅэЯФу« »pїу«сїФ ¬ Ф«јТ, юФ« »СpСјСЎЎЩС ¬б¬ »p«ъpбјјЎЩС Э¬уїубЅСЎФЩ «нЫС¬Ф«у ¬ЅбЯЯб ЎС «»pСсСЅґЇФЯґ у ј«сТЅС-¬ЅбЯЯС ї Я««ФуСФЯФуСЎЎ« ЎС Э¬Я»«pФїpТЇФЯґ єб Съ« »pСсСЅЩ. (й ј«сТЅС-¬ЅбЯЯС ЖДщиЗ ЎС «»pСсСЅСЎб Ўї «сЎб ¬«Ў¬pСФЎбґ Ф«ю¬б, «»pСсСЅСЎЩ ЅїЮэ »pбуїЅб ¬«ЎЯФpТїp«убЎїґ Ф«юС¬). й ЭФ«ј ЯјЩЯЅС Э¬Я»«pФ »СpСјСЎЎЩХ-«нЫС¬Ф«у (юбЯФ« pбєpСЮСЎЎЩ® х«pјбЅэЎ«) с«ЅЄСЎ pбЯЯјбФpїубФэЯґ ¬б¬ ЎбpТЮСЎїС ЯФїЅґ «нЫС¬ФЎ«-«pїСЎФїp«убЎЎ«ъ« »p«ъpбјјїp«убЎїґ. fєЩ¬ї, «pїСЎФїp«убЎЎЩС Ўб «нЫС¬ФЩ, ґуЅґЇФЯґ »pСсФСюС® «нЫС¬ФЎ«- «pїСЎФїp«убЎЎЩХ ґєЩ¬«у. Е«ЯЅСсЎїС Хбpб¬ФСpїєТЇФЯґ ЎбЅїюїСј Я»СµїхїюСЯ¬«ъ« јСХбЎїєјб, pСбЅїєТЇЪСъ« «ФЎ«ЮСЎїґ ¬ЅбЯЯ-»«с¬ЅбЯЯ (Фї»-»«сФї»), ЯуґєбЎЎ«ъ« Я їЯ»«Ѕэє«убЎїСј јСХбЎїєј«у ЎбЯЅСс«убЎїґ Яу«®ЯФу, «ЯЎ«убЎЎЩХ Ўб Фб¬Я«Ў«јїюСЯ¬їХ ј«сСЅґХ «н«нЪСЎїґ. Жб¬Я«Ў«јїґ ¬б¬ ЎбТ¬б ЯЅ«ЄїЅбЯэ у 19-ј уС¬С у pСєТЅэФбФС ЯїЯФСјбФїєбµїї ЎбнЅЇсСЎї® у нї«Ѕ«ъїї (у »СpуТЇ «юСpСсэ). Жб¬бґ ЯїЯФСјбФїєбµїґ єб¬ЅЇюбЅбЯэ у ТЯФбЎ«уЅСЎїї «ФЎ«ЮСЎї® «нЪСъ« ¬ юбЯФЎ«јТ, Ўб»pїјСp:
"оЅС¬«»їФбЇЪСС" *> "ДнСєэґЎб" *> "яїј»бЎєС". иЅбЯЯ (»Сpу«ЎбюбЅэЎ« їЯ»«Ѕэє«убЅЯґ ФСpјїЎ "Фб¬Я«Ў") "оЅС¬«»їФбЇЪСС" Хбpб¬ФСpїєТСФЯґ «нЪїјї Яу«®ЯФубјї, »«с¬ЅбЯЯ "ДнСєэґЎб" у с«»«ЅЎСЎїС ¬ ЭФїј Яу«®ЯФубј «нЅбсбСФ ТФ«юЎґЇЪїјї (юбЯФЎЩјї) Яу«®ЯФубјї, »pїЯТЪїјї Ф«Ѕэ¬« «нСєэґЎбј, ї Ф. с. Жб¬їј «нpбє«ј, їЯ»«Ѕэє«убЎЎЩ® Ўбјї Яїју«Ѕ "*>" Т¬бєЩубСФ Ўб»pбуЅСЎїС pбЯЮїpСЎїґ (с«»«ЅЎСЎїґ) Яу«®ЯФу ¬ЅбЯЯб Съ« »«с¬ЅбЯЯбјї. оСХбЎїєј ЎбЯЅСс«убЎїґ Яу«®ЯФу у «нЫС¬ФЎ«-«pїСЎФїp«убЎЎЩХ ґєЩ¬бХ »«єу«ЅґСФ »«уЩЯїФэ Ѕб¬«ЎїюЎ«ЯФэ »p«ъpбјј »ТФСј їЯ»«Ѕэє«убЎїґ сС¬Ѕбpбµї® "¬ЅбЯЯ- »«с¬ЅбЯЯ" ї їХ ЎбсСЄЎ«ЯФэ, »«Я¬«Ѕэ¬Т ЅЇн«® »«с¬ЅбЯЯ ј«ЄСФ нЩФэ pбєpбн«ФбЎ Ўб «ЯЎ«уС ТЄС Я«єсбЎЎ«ъ« (ї «ФЅбЄСЎЎ«ъ«!) Ўбс¬ЅбЯЯб. кЯ»«Ѕэє«убЎїС ЭФ«ъ« јСХбЎїєјб ЎС»«ЯpСсЯФуСЎЎ« ЯуґєбЎ« Я у«єј«ЄЎ«ЯФэЇ pбЯЯЅ«СЎїґ Яу«®ЯФу »pСсјСФЎ«® «нЅбЯФї, сЅґ ¬«Ф«p«® pбєpбнбФЩубЇФЯґ »p«ъpбјјЩ, ї «»pСсСЅСЎїґ «ФЎ«ЮСЎї® ¬ЅбЯЯ-»«с¬ЅбЯЯ. збјСФїј, юФ« у« јЎ«ъїХ «нЅбЯФґХ «»pСсСЅСЎїС Фб¬їХ «ФЎ«ЮСЎї® »p«нЅСјбФїюЎ«. аЪС «сЎб «ФЅїюїФСЅэЎбґ «Я«нСЎЎ«ЯФэ «нЫС¬ФЎ«-«pїСЎФїp«убЎЎЩХ ґєЩ¬«у єб¬ЅЇюбСФЯґ у «pъбЎїєбµїї уєбїј«сС®ЯФуї® «нЫС¬Ф«у Ўб «ЯЎ«уС "»«ЯЩЅ¬ї Я««нЪСЎї®". Е«ґуЅСЎїС Фб¬їХ јСХбЎїєј«у уєбїј«сС®ЯФуї® хб¬ФїюСЯ¬ї pбєpТЮбСФ ¬«ЎµС»µїЇ «pъбЎїєбµїї уЩюїЯЅїФСЅэЎЩХ »p«µСЯЯ«у Ўб Шйо, «ЯЎ«убЎЎ«® Ўб Фpбсїµї«ЎЎ«® бpХїФС¬ФТpС х«Ў мС®јбЎб. ШФб бpХїФС¬ФТpб, ЯуґєбЎЎбґ Я »pїЎµї»«ј ХpбЎїј«® »p«ъpбјјЩ ї СС »«ЯЅСс«убФСЅэЎЩј уЩ»«ЅЎСЎїСј Ўб «сЎ«ј (!) »p«µСЯЯ«pС, «¬бєЩубСФЯґ јбЅ« »pїЯ»«Я«нЅСЎЎ«® сЅґ ј«сСЅїp«убЎїґ ЯїФТбµї®, ¬«ъсб ЎСЯ¬«Ѕэ¬« б¬ФїуЎЩХ «нЫС¬Ф«у хТЎ¬µї«ЎїpТЇФ «сЎ«уpСјСЎЎ« ї јСЎґЇФ Яу«ї Я«ЯФ«ґЎїґ у pСєТЅэФбФС «нјСЎб Я««нЪСЎїґјї. Pбєpбн«Ф¬б Ў«уЩХ бpХїФС¬ФТpЎЩХ pСЮСЎї®, бсС¬убФЎЩХ ¬«ЎµС»µїї "«нјСЎб Я««нЪСЎїґјї", Яу«®ЯФуСЎЎ«® «нЫС¬ФЎ«- «pїСЎФїp«убЎЎ«јТ »«сХ«сТ, ЯуґєбЎб Я Я«єсбЎїСј јЎ«ъ«»p«µСЯЯ«pЎЩХ ¬«ЎхїъТpбµї® Шйо. й Ф« ЄС уpСјґ «нјСЎ Я««нЪСЎїґјї јСЄсТ «нЫС¬Фбјї ј«ЄСФ нЩФэ Яј«сСЅїp«убЎ ї у «нЩюЎЩХ «сЎ«»p«µСЯЯ«pЎЩХ Шйо Я »«ј«ЪэЇ Х«p«Ю« їєуСЯФЎЩХ ЯpСсЯФу, «нСЯ»СюїубЇЪїХ Ѕ«ъїюСЯ¬ї® »бpбЅЅСЅїєј уЩ»«ЅЎСЎїґ «сЎ«уpСјСЎЎЩХ б¬ФїуЎ«ЯФС®: Я«»p«ъpбјј, »p«µСЯЯ«у, »ЅбЎїpТСјЩХ »p«ъpбјј, Я«нЩФї®ЎЩХ уєбїј«сС®ЯФуї® ї їЯ»«Ѕэє«убЎїґ јСФ«с«у сїЯ¬pСФЎ«-Я«нЩФї®Ў«ъ« Т»pбуЅСЎїґ. й µСЅ«ј «нЫС¬ФЎ«-«pїСЎФїp«убЎЎЩ® »«сХ«с ¬ pбєpбн«Ф¬С »p«ъpбјј їЎФСъpїpТСФ у ЯСнС ¬б¬ јСФ«сЩ ЯФpТ¬ФТpїєбµїї Т»pбуЅСЎїґ, Фб¬ ї ЯФpТ¬ФТpїєбµїЇ сбЎЎЩХ. Еpї ЭФ«ј »«ЎґФїС «нЫС¬Фб (¬«Ф«p«С х«pјбЅэЎ« Фб¬ ї ЎС «»pСсСЅСЎ«), ЯФp«ъ« ъ«у«pґ, ЎС Я«сСpЄїФ у ЯСнС ¬б¬їХ-Ф« »pїЎµї»їбЅэЎЩХ «ФЅїюї® у ЭФїХ pбєЎ«уїсЎ«ЯФґХ ЯФpТ¬ФТpїєбµїї. ДнЫС¬Ф«ј ј«ЄСФ нЩФэ ї ¬«ЎЯФбЎФб, ї »СpСјСЎЎбґ, ї »p«µСсТpб, ї »p«µСЯЯ. й ЭФ«ј »ЅбЎС »p«Фїу«»«ЯФбуЅСЎїС ¬бФСъ«pї® ЯФбФїюСЯ¬«ъ« ї сїЎбјїюСЯ¬«ъ« Ўб ¬«ЎµС»ФТбЅэЎ«ј Тp«уЎС ФСpґСФ ЯјЩЯЅ. ДнЫС¬ФЩ у »p«ъpбјјбХ "p«ЄсбЇФЯґ" ї "ТјїpбЇФ", јСЎґЇФ Яу«С Я«ЯФ«ґЎїС, єб»ТЯ¬бЇФ ї «ЯФбЎбуЅїубЇФ »p«µСЯЯЩ, "ТнїубЇФ" ї "у«єp«ЄсбЇФ" сpТъїС «нЫС¬ФЩ, Ф. С. у«Я»p«їєу«сґФ уЯС «ФФСЎ¬ї ґуЅСЎї® pСбЅэЎ«ъ« јїpб. Е«с «нЫС¬Ф«ј ј«ЄЎ« »«сpбєТјСубФэ ЎС¬«Ф«p«С бнЯФpб¬ФЎ«С »«ЎґФїС, Ўб»pїјСp, "ТpбуЎСЎїС" їЅї "ъpбхї¬ хТЎ¬µїї"; »«ЎґФїС, їјїФїpТЇЪСС pСбЅэЎТЇ ЯїЯФСјТ їЅї »p«µСЯЯ: "ФС»Ѕ««нјСЎЎї¬", "ЯФбЎ«¬", "буФ«ј«нїЅэ". й ЭФ«ј »ЅбЎС «нЫС¬Ф - ЭФ« ЯТЪЎ«ЯФэ »p«µСЯЯб їЅї ґуЅСЎїґ, ¬«Ф«pТЇ Я»«Я«нЎЩ уЩсСЅїФэ ЎбЮ «»ЩФ, єЎбЎїґ ї їЎФТїµїґ. ДнЫС¬ФЎ«-«pїСЎФїp«убЎЎ«С »p«ъpбјјїp«убЎїС ¬б¬ ї »p«ъpбјјїp«убЎїС у««нЪС «ЯФбСФЯґ їЯ¬ТЯЯФу«ј, ъсС їЎФТїµїґ їъpбСФ «юСЎэ н«ЅэЮТЇ p«Ѕэ. м« у «ФЅїюїС «Ф «нЩюЎ«ъ« »p«ъpбјјїp«убЎїґ ЭФ«Ф »«сХ«с »pСсЅбъбСФ Ў«уТЇ »бЅїФpТ јСФ«с«у ї їЎЯФpТјСЎФ«у сЅґ pСбЅїєбµїї йбЮїХ »pСсЯФбуЅСЎї® « »p«µСЯЯбХ pСбЅэЎ«ъ« јїpб. II. жЕаыкцкиЗыкf ДьЬаиЖДй мЗ ДжмДйа ЗьжЖPЗвкPДйЗмкf Е«ЎґФїС ¬ЅбЯЯб «нЫС¬Ф«у.- кјјбЎСЎФЎЩС Яу«®ЯФуб ¬ЅбЯЯб.- ШЅСјСЎФ ХpбЎСЎїґ.- ЗъpСъїp«убЎїС Яу«®ЯФу.- жїъЎбФТpЩ.- ЕpСсЯФбуЅСЎїС «нЫС¬Ф«у єЎбюСЎїґјї.- и«ЎЯФбЎФЩ Фї»б.- ЕСpСюїЯЅїјЩ® Фї».- оЎ«ЄСЯФуСЎЎЩ® Фї».
й «нЫС¬ФЎ«-«pїСЎФїp«убЎЎ«ј »«сХ«сС ¬ pбєpбн«Ф¬С »p«ъpбјј µСЎФpбЅэЎЩј ґуЅґСФЯґ »«ЎґФїС ¬ЅбЯЯб «нЫС¬Ф«у. иЅбЯЯ «»pСсСЅґСФЯґ ¬б¬ јЎ«ЄСЯФу« «нЫС¬Ф«у, «нЅбсбЇЪїХ уЎТФpСЎЎїјї (їјјбЎСЎФЎЩјї) Яу«®ЯФубјї, »pїЯТЪїјї ЅЇн«јТ «нЫС¬ФТ ¬ЅбЯЯб. ЕpїюСј Я»Сµїхї¬бµїґ («»pСсСЅСЎїС) ¬ЅбЯЯб »p«у«сїФЯґ »ТФСј «»pСсСЅСЎїґ Съ« їјјбЎСЎФЎЩХ Яу«®ЯФу, ¬«Ф«pЩС у ЭФ«ј »ЅбЎС їъpбЇФ p«Ѕэ ¬ЅбЯЯ««нpбєТЇЪїХ »pїєЎб¬«у. мб»pїјСp, Яу«®ЯФу« "їјСФэ ТЯ»СубСј«ЯФэ" »pїЯТЪС уЯСј «нТюбСјЩј (ЯФТсСЎФбј, Ю¬«ЅэЎї¬бј, ¬ТpЯбЎФбј ї »p.) ї ґуЅґСФЯґ ¬ЅбЯЯ««нpбєТЇЪїј »pїєЎб¬«ј ¬ЅбЯЯб ДьфщЗаошл. й ¬бюСЯФуС сpТъїХ »pїєЎб¬«у ЭФ«ъ« ¬ЅбЯЯб ј«ъТФ їЯ»«Ѕэє«убФэЯґ, Ўб»pїјСp, "у«єpбЯФ", "Тp«уСЎэ їЎФСЅЅС¬Фб", "Я»«Я«нЎ«ЯФэ ¬ єб»«јїЎбЎїЇ јбФСpїбЅб" ї Ф.». ж«у«¬Т»Ў«ЯФэ »«с«нЎЩХ Яу«®ЯФу ї «»pСсСЅґСФ ¬ЅбЯЯ "«нТюбСјЩХ". Е«ЎґФїС Яу«®ЯФуб ґуЅґСФЯґ, Фб¬їј «нpбє«ј, »СpуїюЎЩј у «»pСсСЅСЎїї ¬ЅбЯЯб. ж»Сµїхї¬бµїґ ¬ЅбЯЯб Ўї¬б¬ ЎС ЯуґєбЎб Я єбсбЎїСј єЎбюСЎї® Яу«®ЯФу, н«ЅСС Ф«ъ«, »pїјСЎїФСЅэЎ« ¬ ¬ЅбЯЯТ ъ«у«pїФэ « Фб¬їХ єЎбюСЎїґХ ЎС їјССФ ЯјЩЯЅб - «нЅбсбЎїС єЎбюСЎїґјї ґуЅґСФЯґ »pСp«ъбФїу«® «нЫС¬Фб. Д»pСЅСЅґґ ¬ЅбЯЯ ДьфщЗаошл, јЩ єбсбСј ¬«ЎСюЎ«С јЎ«ЄСЯФу« Съ« Яу«®ЯФу (ТЯ»СубСј«ЯФэ, у«єpбЯФ ї »p.). Д»pСсСЅґґ «нЫС¬Ф ¬ЅбЯЯб (Ўб»pїјСp, Я хбјїЅїС® ЕСФp«у), јЩ с«ЅЄЎЩ «»pСсСЅїФэ єЎбюСЎїґ ЭФїХ Яу«®ЯФу: фЯ»СубСј«ЯФэ (ЕСФp«уб):= ДФЅїюЎї¬; й«єpбЯФ(ЕСФp«уб):= 20. ШФ«Ф бЯ»С¬Ф «»pСсСЅґСФ ¬ЅбЯЯ ¬б¬ »«ЎґФїС Э¬ЯФСЎЯї«ЎбЅэЎ«С, б «нЫС¬Ф ¬ЅбЯЯб - ¬б¬ їЎФСЎЯї«ЎбЅэЎ«С »«ЎґФїС. ж сpТъ«® ЯФ«p«ЎЩ ЅЇн«® ¬ЅбЯЯ ґуЅґСФЯґ јЎ«ЄСЯФу«ј, Я«ЯФбу «нЫС¬Ф«у ¬«Ф«p«ъ« ј«ЄСФ јСЎґФэЯґ у сїЎбјї¬С pбн«ФЩ »p«ъpбјјЩ («нТюбСјЩС »pїХ«сґФ ї ТХ«сґФ, б ¬ЅбЯЯ «ЯФбСФЯґ). иЅбЯЯ ¬б¬ јЎ«ЄСЯФу« у ЅЇн«® ј«јСЎФ уpСјСЎї Хбpб¬ФСpїєТСФЯґ Ўбн«p«ј »pїЎбсЅСЄбЪїХ СјТ «нЫС¬Ф«у ї ј«ЄСФ нЩФэ єбсбЎ »СpСюїЯЅСЎїСј (Я»їЯ¬«ј «нТюбСјЩХ): ЕСФp«у, кубЎ«у, жїс«p«у, яФСpЎнСpъ. ШФї суб Я»«Я«нб єбсбЎїґ ¬ЅбЯЯб ЯТЪСЯФуТЇФ ЎСєбуїЯїј« «сїЎ «Ф сpТъ«ъ«. ж«ЯФбу їјјбЎСЎФЎЩХ Яу«®ЯФу ЯФбФїюСЎ ї «»pСсСЅґСФ Я«сСpЄбФСЅэЎЩ® ЯСјбЎФїюСЯ¬ї® бЯ»С¬Ф Я»Сµїхї¬бµїї ¬ЅбЯЯб. ж«ЯФбу «нЫС¬Ф«у ¬ЅбЯЯб сїЎбјїюСЎ ї «»pСсСЅґСФ бЯЯ«µїбФїуЎЩ® (ъpТ»»«у«®) бЯ»С¬Ф ¬ЅбЯЯб. жСјбЎФїюСЯ¬ї® бЯ»С¬Ф pСбЅїєТСФЯґ у »p«ъpбјјїp«убЎїї Я їЯ»«Ѕэє«убЎїСј бнЯФpб¬ФЎЩХ Фї»«у, бЯЯ«µїбФїуЎЩ® - Ўб «ЯЎ«уС їЯ»«Ѕэє«убЎїґ јЎ«ЄСЯФуСЎЎЩХ Фї»«у. мСєбуїЯїј«ЯФэ суТХ бЯ»С¬Ф«у «»їЯбЎїґ ¬ЅбЯЯб єб¬ЅЇюбСФЯґ у Ф«ј, юФ« ЯТЪСЯФу«убЎїС ¬бЄс«ъ« їє ЎїХ Ўї¬б¬ ЎС ЯуґєбЎ« Я ЯТЪСЯФу«убЎїСј сpТъ«ъ«. аЯЅї јЎ«ЄСЯФу« ¬ЅбЯЯ««нpбєТЇЪїХ »pїєЎб¬«у »ТЯФ«, ¬ЅбЯЯ ФСј ЎС јСЎСС ј«ЄСФ ЯТЪСЯФ«убФэ ¬б¬ бЯЯ«µїбµїґ ЎС¬«Ф«pЩХ х«pјбЅэЎЩХ «нЫС¬Ф«у (Яїју«Ѕ«у, єЎб¬«у). й »pїуСсСЎЎ«ј »pїјСpС хбјїЅїґ - уЯСъ« ЅїЮэ їсСЎФїхї¬бФ«У «нЫС¬Фб, «Ўб ЎС уХ«сїФ у Я«ЯФбу їјјбЎСЎФЎЩХ Яу«®ЯФу ї »«Ф«јТ ЎС ЎСЯСФ Ўї¬б¬«® ЯСјбЎФїюСЯ¬«® ЎбъУТє¬ї - јЩ ј«ъЅї нЩ єбјСЎїФэ хбјїЅїЇ "ЕСФУ«у" ЯФУ«¬«® "тттт", б хбјїЅїЇ "яФСУЎнСУъ" ЯФУ«¬«® "ьСУъЮФСУЎ". аЯЅї бЯЯ«µїбµїґ, «нУбєТСјбґ ¬ЅбЯЯ«ј, »ТЯФб, ¬ЅбЯЯ ФСј ЎС јСЎСС ЯСјбЎФїюСЯ¬ї ЯТЪСЯФуТСФ ¬б¬ »«ФСЎµїбЅэЎ« у«єј«ЄЎ«С јЎ«ЄСЯФу« «нЫС¬Ф«у, Х«Фґ ї »ТЯФ«С у ЎбЯФ«ґЪї® ј«јСЎФ уУСјСЎї. ЕТЯФэ З ґуЅґСФЯґ јЎ«ЄСЯФу«ј «нЫС¬Ф«у б, «нЅбсбЇЪїХ Яу«®ЯФубјї Й: З={a/P(A)}. йуСсСј «ФЎ«ЮСЎїС: "is-a"-"ґуЅґСФЯґ «нЫС¬Ф«ј ¬ЅбЯЯб" ї "has-a"- "«нЅбсбСФ Яу«®ЯФубјї". ШФї «ФЎ«ЮСЎїґ ј«ъТФ нЩФэ ЯуґєбЎЩ Ѕ«ъїюСЯ¬«® ЯуґєэЇ "Ф«ъсб ї Ф«Ѕэ¬« Ф«ъсб" (), «»УСсСЅґЇЪС® б¬Яї«јТ ЯТЪСЯФу«убЎїґ ¬ЅбЯЯб:
_V_ a: a is-a A(P) a has-a P(A). (зсСЯэ _V_ - ¬убЎФ«У «нЪЎ«ЯФї).
P(A) у¬ЅЇюбСФ у ЯСнґ Яу«®ЯФуб суТХ УбєЎ«уїсЎ«ЯФС®: "«нЅбсбФэ юСј Ѕїн«" ї "«нЅбсбФэ Я»«Я«нЎ«ЯФэЇ (у«єј«ЄЎ«ЯФэЇ) ЯсСЅбФэ юФ« Ѕїн«". мб»УїјСУ, "«нЅбсбФэ µуСФ«ј" ("їјСФэ µуСФ" їЅї у сбЅэЎС®ЮСј »У«ЯФ« "µуСФ"). ШФб УбєЎ«уїсЎ«ЯФэ Яу«®ЯФу ЯуґєбЎб Я »УСсЯФбуЅСЎїСј (ХУбЎСЎїСј) у »бјґФї ЅЇн«ъ« «нЫС¬Фб їЎсїуїсТбЅэЎ«ъ« єЎбюСЎїґ Яу«®ЯФуб. ж»Сµїхї¬бµїґ Фб¬їХ Яу«®ЯФу ЎбєЩубСФЯґ Я»Сµїхї¬бµїС® »УСсЯФбуЅСЎїґ. ДЎб «»УСсСЅґСФ УбєјСУ «нЅбЯФї »бјґФї, ЎС«нХ«сїј«® сЅґ ХУбЎСЎїґ єЎбюСЎїґ Яу«®ЯФуб, ї уїс Съ« їЎФСУ»УСФбµїї (Яј. сбЅСС). ж»Сµїхї¬бµїґ Яу«®ЯФу "«нЅбсбЎїґ Я»«Я«нЎ«ЯФґјї" ЎбєЩубСФЯґ хТЎ¬µї«ЎбЅэЎ«® Я»Сµїхї¬бµїС® - ЭФ« «»їЯбЎїС сС®ЯФуї® (»У«µСсТУ, хТЎ¬µї®), ¬«Ф«УЩС ј«ъТФ уЩ»«ЅЎїФэ «нЫС¬ФЩ ¬ЅбЯЯб. ибЄс«С Фб¬«С сС®ЯФуїС Фб¬ЄС ґуЅґСФЯґ єЎбюСЎїСј хТЎ¬µї«ЎбЅэЎ«ъ« Яу«®ЯФуб, ¬«Ф«У«С ј«ЄСФ ХУбЎїФэЯґ у їЎсїуїсТбЅэЎ«® »бјґФї «нЫС¬Фб. мб»УїјСУ, хТЎ¬µї«ЎбЅэЎ«С Яу«®ЯФу« "їєуСЯФїФэ" «»УСсСЅґСФ Я»«Я«нЎ«ЯФэ «сЎ«ъ« «нЫС¬Фб »СУСсбубФэ їЎх«УјбµїЇ сУТъ«јТ. ДЎ« ј«ЄСФ їјСФэ у ¬бюСЯФуС єЎбюСЎї® Фб¬їС јСФ«сЩ (Я»«Я«нЩ) їєуСЪСЎїґ, ¬б¬ "»«єу«ЎїФэ (»« ФСЅСх«ЎТ)", "»«ЯЅбФэ (»їЯэј«)", "»УїСХбФэ (ЅїюЎ«)". ж»Сµїхї¬бµїґ »УСсЯФбуЅСЎїґ Яу«®ЯФуб "їєуСЯФїФэ" ХУбЎїФ «сЎ« їє ФУСХ єЎбюСЎї® (»«єу«ЎїФэ, »«ЯЅбФэ, »УїСХбФэ), хТЎ¬µї«ЎбЅэЎбґ Я»Сµїхї¬бµїґ «»УСсСЅґСФ «»їЯбЎїС Я««ФуСФЯФуТЇЪїХ јСФ«с«у. иЅЇюСуЩј »«ЎґФїСј сЅґ Я»Сµїхї¬бµїї »УСсЯФбуЅСЎїґ ґуЅґСФЯґ »«ЎґФїС ЭЅСјСЎФб ХУбЎСЎїґ. мб»УїјСУ, єЎбюСЎїґ Яу«®ЯФуб "у«єУбЯФ" ј«ъТФ ХУбЎїФэЯґ у «нЫС¬ФЎ«® »бјґФї у «сЎ«ј јбЮїЎЎ«ј ЯЅ«уС (WORD) їЅї нб®ФС (BYTE). Жї»Щ WORD ї BYTE «ФЎ«ЯґФЯґ ¬ ¬бФСъ«Уїї јбЮїЎЎ«-«УїСЎФїУ«убЎЎЩХ ¬«Ў¬УСФЎЩХ Фї»«у. ДЎї «»УСсСЅґЇФ Ф«Ѕэ¬« УбєјСУЩ ЭЅСјСЎФб ХУбЎСЎїґ ї «ЯФбуЅґЇФ »У«ъУбјјїЯФТ »«ЅЎТЇ Яу«н«сТ сЅґ «»УСсСЅСЎїґ їЎФСУ»УСФбµїї єЎбюСЎїґ, ХУбЎґЪСъ«Яґ у Фᬫј ЭЅСјСЎФС. и ¬«Ў¬УСФЎЩј Фї»бј «ФЎ«ЯґФЯґ уЯС Фї»Щ ґєЩ¬б »У«ъУбјјїУ«убЎїґ, їЎФСУ»УСФбµїґ ¬«Ф«УЩХ «»УСсСЅґСФЯґ јСХбЎїєјбјї, уЯФУ«СЎЎЩјї у ґєЩ¬. мб»УїјСУ, Фї» CARDINAL, «нЫС¬ФЩ ¬«Ф«У«ъ« їЎФСУ»УСФїУТЇФЯґ ¬б¬ ЎбФТУбЅэЎЩС юїЯЅб, Фї» INTEGER, їЎФСУ»УСФїУТСјЩ® ¬б¬ µСЅ«С Я« єЎб¬«ј, REAL - сС®ЯФуїФСЅэЎ«С юїЯЅ« ї сУ. йЯФУ«СЎЎ«ЯФэ јСХбЎїєјб їЎФСp»УСФбµїї ¬«Ў¬УСФЎЩХ Фї»«у єбсбСФ ї УбєјСУЩ ЭЅСјСЎФ«у ХУбЎСЎїґ «нЫС¬Ф«у Я««ФуСФЯФуТЇЪїХ Фї»«у. Жб¬їС УбєјСУЩ ј«ъТФ нЩФэ «»УСсСЅСЎЩ Я »«ј«ЪэЇ Я»СµїбЅэЎЩХ хТЎ¬µї®: SIZE () ї TSIZE (). мб»pїјСp, TSIZE (CARDINAL) = 2 (нб®Фб); SIZE (V) = 2 (нб®Фб) / V is-a CARDINAL. (зсСЯэ / уЩ»«ЅЎґСФ У«Ѕэ »УСхї¬Яб ТЯЅ«уїґ). й УбєЎЩХ УСбЅїєбµїґХ ї уСУЯїґХ ґєЩ¬б »У«ъУбјјїУ«убЎїґ сЅґ »УСсЯФбуЅСЎїґ «нЫС¬Ф«у «сЎ«ъ« ї Ф«ъ« ЄС ¬«Ў¬УСФЎ«ъ« Фї»б ј«ъТФ їЯ»«Ѕэє«убФэЯґ УбєЎЩС ЭЅСјСЎФЩ ХУбЎСЎїґ. мб»УїјСУ, TSIZE (ADDRESS) = 2(нб®Фб) сЅґ 16-УбєУґсЎ«® Шйо у ґєЩ¬С о«сТЅб-2 (УСбЅїєбµїґ Ўб Шйо жо-4), у Ф« ЄС уУСјґ TSIZE (ADDRESS) = 4 сЅґ сУТъ«® уСУЯїї ЭФ«ъ« ЄС ґєЩ¬б »Уї УСбЅїєбµїї Ўб ЕШйо Фї»б IBM PC. ЗнЯФУб¬ФЎЩ® Фї» ¬«ЎЯФУТїУТСФЯґ »«Ѕэє«убФСЅСј Ўб «ЯЎ«уС бъУСъїУ«убЎїґ ¬«Ў¬УСФЎЩХ Фї»«у. Жб¬«С бъУСъїУ«убЎїС ЯуґєбЎ« Я «нЫСсїЎСЎїСј ЎСЯ¬«Ѕэ¬їХ Яу«®ЯФу «нЫС¬Фб у ЯїЯФСјТ ¬ЅбЯЯ««нpбєТЇЪїХ »pїєЎб¬«у, «»УСсСЅґЇЪїХ Ў«уЩ® ¬ЅбЯЯ. ЗъУСъїУ«убЎїС УСбЅїєТСФ «ФЎ«ЮСЎїС "Я«ЯФ«їФ їє" (con-of). мб»УїјСУ, «ФЎ«ЮСЎїС A con-of (B,C), ъсС З,й,ж - Яу«®ЯФуб, ј«ЄСФ нЩФэ УСбЅїє«убЎ« у ґєЩ¬С »У«ъУбјјїУ«убЎїґ сС¬ЅбУбµїС®, ЯуґєбЎЎ«® Я «»УСсСЅСЎїСј Х«У«Ю« їєуСЯФЎ«ъ« Фї»б єб»їЯї:
TYPE A=RECORD
: B;
: C
END Жб¬їј «нУбє«ј, єб»їЯэ - ЭФ« бъУСъбФ, Я«ЯФбуЅСЎЎЩ® їє УбєЎ«У«сЎЩХ Яу«®ЯФу. ЗъУСъїУ«убЎїС «сЎ«У«сЎЩХ Яу«®ЯФу ЯуґєбЎ« Я їЯ»«Ѕэє«убЎїСј »«ЎґФїґ јбЯЯїуб. мб»УїјСУ, сС¬ЅбУбµїґ
TYPE A = ARRAY [1:3] OF B «»УСсСЅґСФ бъУСъбФ З con-of(B,B,B). ЙбєјСУ ЭЅСјСЎФб ХУбЎСЎїґ «нЫС¬Фб- бъУСъбФб «»УСсСЅґСФЯґ »У«ЯФЩј ЯТјјїУ«убЎїСј УбєјСУ«у ЭЅСјСЎФ«у ХУбЎСЎїґ Съ« ¬«ј»«ЎСЎФ, сЅґ »«ЯЅСсЎСъ« »УїјСУб: TSIZE (A) = 6 / TSIZE(B)=2. ж»Сµїхї¬бµїґ їјјбЎСЎФЎЩХ Яу«®ЯФу Фї»б "«нЅбсбФэ Я»«Я«нЎ«ЯФэЇ" (Я»Сµїхї¬бµїґ јСФ«с«у, сС®ЯФуї®) ЯуґєбЎб Я їЯ»«Ѕэє«убЎїСј «Я«н«® УбєЎ«уїсЎ«ЯФї бнЯФУбъїУ«убЎїґ - «»pСсСЅСЎїСј ЯїъЎбФТУ, pСбЅїєТСјЩХ «нЩюЎ« »У«µСсТУЎЩјї Фї»бјї. Е«ЎґФїС ЯїъЎбФТУЩ ЯуґєбЎ« Я Я«у«¬Т»Ў«ЯФэЇ «»СУбµї® (сС®ЯФуї®), »У«їєу«сїјЩХ Ўбс «нЫС¬Ф«ј. Жб¬бґ Ф«ю¬б єУСЎїґ »«сУбєТјСубСФ "»бЯЯїуЎ«ЯФэ" «нЫС¬Фб - уСсэ сС®ЯФуїС »У«їєу«сїФЯґ Ўбс Ўїј. мб»УїјСУ, «нЫС¬Ф ¬ЅбЯЯб йшипЧщЗЖапЈ ј«ЄЎ« й¬ЅЇюїФэ ї йЩ¬ЅЇюїФэ. жТЪСЯФуТСФ ї »Уґј« »У«Фїу«»«Ѕ«ЄЎбґ Ф«ю¬б єУСЎїґ (ФС«Уїґ б¬Ф«У«у, ґєЩ¬ ЗиЖДЙ), у Я««ФуСФЯФуїї Я ¬«Ф«У«® «нЫС¬Ф Я»«Я«нСЎ »У«їєу«сїФэ сС®ЯФуїґ (б¬ФїуСЎ), у ЭФ«ј ЯЅТюбС ЯїъЎбФТУб - ЭФ« Я«у«¬Т»Ў«ЯФэ Съ« Я»«Я«нЎ«ЯФС®. дЅґ «»pСсСЅСЎїґ ЯїъЎбФТУ їЯ»«ЅэєТЇФЯґ »У«µСсТУЎЩС Фї»Щ. й «нЪСј ЯЅТюбС ЅЇн«® »У«µСсТУЎЩ® Фї» «»УСсСЅґСФ:
- ¬ЅбЯЯ у«єј«ЄЎЩХ сС®ЯФуї®;
- ¬ЅбЯЯЩ «нЫС¬Ф«у, Ўбс ¬«Ф«УЩјї ј«ъТФ нЩФэ
»У«їєуСсСЎЩ ЭФї сС®ЯФуїґ. мб»УїјСУ, Я»Сµїхї¬бµїґ
TYPE DST = PROCEDURE (VAR йшипЧщЗЖапЈ) «»УСсСЅґСФ у«єј«ЄЎЩС сС®ЯФуїґ Ўбс «нЫС¬Фбјї ¬ЅбЯЯб йшипЧщЗЖапЈ. пЇнбґ »У«µСсТУб, «»їЯбЎЎбґ у »У«ъУбјЎ«ј ј«сТЅС ї їјСЇЪбґ єбъ«Ѕ«у«¬ х«УјбЅэЎ« Я«у»бсбЇЪї® Я сС¬ЅбУбµїС® DST, ј«ЄСФ УбЯЯјбФУїубФэЯґ ¬б¬ «нЫС¬Ф ¬ЅбЯЯб DST. мб»УїјСУ, сС®ЯФуїґ "у¬ЅЇюїФэ" ї "уЩ¬ЅЇюїФэ" ј«ъТФ УбЯЯјбФУїубФэЯґ ¬б¬ ЭЅСјСЎФЩ ¬ЅбЯЯб DST Ф«Ѕэ¬« »Уї ТЯЅ«уїї, юФ« єбъ«Ѕ«у¬ї »У«µСсТУ, «»їЯЩубЇЪїХ ЭФї сС®ЯФуїґ, «»УСсСЅСЎЩ у ЯЅСсТЇЪСј уїсС :
PROCEDURE й¬ЅЇюїФэ (VAR S: йшипЧщЗЖапЈ);
PROCEDURE йЩ¬ЅЇюїФэ (VAR S: йшипЧщЗЖапЈ);.
ЖСУјїЎ ЯїъЎбФТУб «ФЎ«ЯїФЯґ ¬ јбФСјбФї¬С, у »У«ъУбјїУ«убЎїї «Ў їЯ»«ЅэєТСФЯґ ¬б¬ ЯїЎ«Ўїј »«ЎґФїґ ¬ЅбЯЯ сС®ЯФуї® (јСФ«с«у). й о«сТЅС-2 ЯТЪСЯФуТСФ ¬«Ў¬УСФЎЩ® »У«µСсТУЎЩ® Фї», «нЫС¬Фбјї ¬«Ф«У«ъ« ґуЅґЇФЯґ »У«µСсТУЩ нСє »бУбјСФУ«у:
ЖYPE PROC = PROCEDURE (); .
ШЅСјСЎФЩ ХУбЎСЎїґ Фб¬їХ «нЫС¬Ф«у ХбУб¬ФСУїєТЇФЯґ «ФЎ«ЮСЎїСј TSIZE (PROC) = TSIZE (ADDRESS), Ф.С. у ¬бюСЯФуС «нЫС¬Ф«у ЭФ«ъ« ¬«Ў¬УСФЎ«ъ« »У«µСсТУЎ«ъ« Фї»б їЯ»«ЅэєТЇФЯґ бсУСЯб уХ«с«у у Я««ФуСФЯФуТЇЪїС »У«µСсТУЩ (Ф«ю¬ї єб»ТЯ¬б - б¬Фїубµїї »У«µСсТУ). ШФ« «ФЎ«ЮСЎїС Я»pбуСсЅїу« сЅґ ЅЇн«ъ« »p«µСсТpЎ«ъ« Фї»б. й ЭФ«ј ЯјЩЯЅС Я»Сµїхї¬бµїґ »УСсЯФбуЅСЎїґ јСФ«с«у ЎїюСј ЎС «ФЅїюбСФЯґ «Ф Я»Сµїхї¬бµїї »УСсЯФбуЅСЎїґ ЅЇнЩХ сУТъїХ ЎС»У«µСсТУЎЩХ ¬ЅбЯЯ«у. й ЅЇн«ј ЭЅСјСЎФС ХУбЎСЎїґ, ЯуґєбЎЎ«ј Я «»УСсСЅСЎЎЩј ¬ЅбЯЯ«ј, ХУбЎїФЯґ »УСсЯФбуЅСЎїС «нЫС¬Фб ЭФ«ъ« ¬ЅбЯЯб. Жб¬«С »УСсЯФбуЅСЎїС «нУбєТСФЯґ єЎбюСЎїґјї, єб»їЯбЎЩјї у ЭЅСјСЎФ ХУбЎСЎїґ. пЇн«С Яу«®ЯФу« у Шйо Я «ъУбЎїюСЎЎ«® УбєУґсЎ«® ЯСФ¬«® (б «Ўб уЯСъсб «ъУбЎїюСЎб) ј«ЄСФ »УСсЯФбуЅґФэЯґ ¬«ЎСюЎЩј јЎ«ЄСЯФу«ј єЎбюСЎї®. мб»УїјСУ, Яу«®ЯФу«, ХбУб¬ФСУїєТСј«С Фї»«ј CARDINAL, ј«ЄСФ нЩФэ »УСсЯФбуЅСЎ« 2n УбєЅїюЎЩјї єЎбюСЎїґјї ЎбФТУбЅэЎЩХ юїЯСЅ, єсСЯэ n - УбєУґсЎ«ЯФэ Шйо. дЅґ 16-УбєУґсЎ«ъ« ЯЅ«уб ЭФ«Ф Я»С¬ФУ єЎбюСЎї® у¬ЅЇюбСФ ЎбФТУбЅэЎЩС юїЯЅб «Ф 0 с« 216 - 1 = 65 535. жу«®ЯФу«, Хбpб¬ФСpїєТСј«С Фї»«ј CHAR (ЅїФСУб), ј«ЄСФ нЩФэ »УСсЯФбуЅСЎ« 28 = 256 УбєЅїюЎЩјї Яїју«Ѕбјї (їє Ўбн«Уб ASCII ї ъpбхїюСЯ¬їХ Яїју«Ѕ«у), »«Я¬«Ѕэ¬Т ЭЅСјСЎФ ХУбЎСЎїґ Фᬫъ« Яу«®ЯФуб їјССФ УбєјСУ у «сїЎ нб®Ф: TSIZE (CHAR) = 1. пЇн«С єЎбюСЎїС, ¬«Ф«У«С ј«ЄСФ »УСсЯФбуЅґФэ Яу«®ЯФу«, ХбУб¬ФСУїєТСј«С ФСј їЅї їЎЩј Фї»«ј, ЎбєЩубСФЯґ ¬«ЎЯФбЎФ«® ЭФ«ъ« Фї»б. Жб¬, Ўб»УїјСУ, 'A' - ¬«ЎЯФбЎФб Фї»б CHAR, б 177 - ¬«ЎЯФбЎФб Фї»б CARDINAL ї INTEGER. Е«Я¬«Ѕэ¬Т јЎ«ЄСЯФу« ¬«ЎЯФбЎФ ЅЇн«ъ« Фї»б ¬«ЎСюЎ«, «Ў« уЯСъсб ј«ЄСФ нЩФэ єбсбЎ« »УґјЩј »СУСюїЯЅСЎїСј. й ЭФ«ј ЯјЩЯЅС ЅЇн«® Фї», УСбЅїєТСјЩ® у Шйо, Яу«сїФЯґ ¬ »СУСюїЯЅїј«јТ Фї»Т. ДсЎб¬«, »«Я¬«Ѕэ¬Т уУґс Ѕї Тс«нЎ« ¬бЄсЩ® Убє »СУСюїЯЅґФэ, Ўб»УїјСУ, 216 УбєЅїюЎЩХ єЎбюСЎї® ¬бУсїЎбЅэЎ«ъ« Фї»б, УбєТјЎ« єбјСЎїФэ Фб¬«С »СУСюїЯЅСЎїС ЯЯЩЅ¬«® у «»їЯбЎїї »У«ъУбјјЩ Ўб ¬«Ў¬УСФЎЩ® ЯФбЎсбУФЎЩ® Фї» CARDINAL. дЅґ «ъУбЎїюСЎїґ »«ЅЎ«ъ« јЎ«ЄСЯФуб єЎбюСЎї® у ґєЩ¬бХ »У«ъУбјјїУ«убЎїґ їЯ»«ЅэєТЇФЯґ Фб¬ ЎбєЩубСјЩС «ФУСє¬ї Фї»б - Т»«Уґс«юСЎЎЩС »«сјЎ«ЄСЯФуб »«ЅЎ«ъ« јЎ«ЄСЯФуб ¬«ЎЯФбЎФ ЯФбЎсбУФЎ«ъ« ¬«Ў¬УСФЎ«ъ« Фї»б. й ¬«ЎФС¬ЯФС ЎбЮСъ« »«Я«нїґ убЄЎ« «ФјСФїФэ, юФ« »УСсЯФбуЅСЎїС «нЫС¬Фб єЎбюСЎїґјї ј«ЄСФ нЩФэ Я¬«ЎЯФУТїУ«убЎ« »ТФСј їјСЎ«убЎїґ ¬«ЎЯФбЎФ Фї»б. дЅґ УСбЅїєбµїї ЭФ«® у«єј«ЄЎ«ЯФї їЯ»«ЅэєТСФЯґ »СУСюїЯЅСЎїС, Ўб»УїјСУ:
TYPE м«Фб=(д«, ЙС, ої, цб, ж«Ѕэ, пґ, жї); .
зсСЯэ »УСсЯФбуЅСЎїС ЅЇн«ъ« «нЫС¬Фб м«Фб «ъУбЎїюїубСФЯґ їЯ»«Ѕэє«убЎїСј ЯСјї ¬«ЎЯФбЎФ. Е«Я¬«Ѕэ¬Т їјСЎб Фб¬їХ ¬«ЎЯФбЎФ ЎбєЎбюбСФ »У«ъУбјјїЯФ, »«с«нЎ«С їјСЎ«убЎїС Я«сСУЄїФ ЭЅСјСЎФЩ бнЯФpбъїУ«убЎїґ Фї»б. мб нбєС ¬ЅбЯЯб Я «ъУбЎїюСЎЎЩј Я»С¬ФУ«ј єЎбюСЎї® ј«ЄЎ« Я¬«ЎЯФУТїУ«убФэ Ў«уЩ® ¬ЅбЯЯ «нЫС¬Ф«у Я н«ЅСС ЮїУ«¬їј Я»С¬ФУ«ј. Жб¬«С ¬«ЎЯФУТїУ«убЎїС нбєїУТСФЯґ Ўб µСЎФУбЅэЎ«ј »«ЯФТЅбФС ФС«Уїї јЎ«ЄСЯФу, у Я««ФуСФЯФуїї Я ¬«Ф«УЩј «нЫС¬Ф«ј јЎ«ЄСЯФуб ј«ЄСФ нЩФэ ЅЇн«С їє Съ« »«сјЎ«ЄСЯФу. Жб¬, Ўб»УїјСУ, їЯ»«ЅэєТґ «»УСсСЅСЎЎЩ® уЩЮС Фї» "м«Фб", ј«ЄЎ« Я¬«ЎЯФУТїУ«убФэ ¬ЅбЯЯ "З¬¬«Ус", ЭЅСјСЎФбјї ¬«Ф«У«ъ« нТсТФ ґуЅґФэЯґ УбєЅїюЎЩС ¬«јнїЎбµїї Ў«Ф. дЅґ ЭФ«ъ« у ґєЩ¬бХ »У«ъУбјјїУ«убЎїґ їЯ»«ЅэєТСФЯґ јЎ«ЄСЯФуСЎЎЩ® Фї», «»УСсСЅґСјЩ® Ўб «ЯЎ«уС нбє«у«ъ« »СУСюїЯЅїј«ъ« Фї»б:
TYPE З¬¬«Ус = SET OF м«Фб; .
иЅбЯЯ "З¬¬«Ус" у¬ЅЇюбСФ у ЯСнґ ТЄС ЎС 7, б 27 «нЫС¬Ф«у, »УСсЯФбуЅСЎїС ¬«Ф«УЩХ «»УСсСЅґСФЯґ јЎ«ЄСЯФуСЎЎЩјї ¬«ЎЯФбЎФбјї. жУСсї ЎїХ: { д« } -"юїЯФбґ" Ў«Фб "д«"; { д«, ої } -ᬬ«Ус, Я«ЯФбуЅСЎЎЩ® їє суТХ Ў«Ф; { д«..жї } -ᬬ«Ус, у¬ЅЇюбЇЪї® у ЯСнґ уЯЇ «¬ФбуТ; {} - ᬬ«Ус "ј«ЅюбЎїґ", ЎС Я«сСУЄбЪї® Ўї «сЎ«® Ў«ФЩ. ШЅСјСЎФ ХУбЎСЎїґ «нЫС¬Фб "З¬¬«Ус" с«ЅЄСЎ с«»ТЯ¬бФэ УбєјСЪСЎїС у ЎСј 27 УбєЅїюЎЩХ єЎбюСЎї®, ЯЅСс«убФСЅэЎ«, јїЎїјбЅэЎЩј бсУСЯТСјЩј ЭЅСјСЎФ«ј, »Уїъ«сЎЩј сЅґ ХУбЎСЎїґ ᬬ«Ус«у, ґуЅґСФЯґ нб®Ф:
TSIZE(З¬¬«Ус) =1. ДнЫС¬Ф нбє«у«ъ« ¬ЅбЯЯб (м«Фб) у ЭФ«ј »УїјСУС Фб¬ЄС нТсСФ УбєјСЪбФэЯґ у «сЎ«ј нб®ФС, ЎСЯј«ФУґ Ўб Ф«, юФ« їЯ»«Ѕэє«убФэЯґ сЅґ »УСсЯФбуЅСЎїґ нТсТФ ЅїЮэ 3 нїФб. оЎ«ЄСЯФуСЎЎЩ® Фї», »«ЯФУ«СЎЎЩ® Ўб «ЯЎ«уС «ФУСє¬б Фї»б [0..15], «нУбєТСФ ЯФбЎсбУФЎЩ® Фї»
BITSET = SET OF [0..15]. мСФУТсЎ« єбјСФїФэ, юФ« TSIZE(BITSET)=2 (нб®Фб). ЙбєјСУ ЭЅСјСЎФб ХУбЎСЎїґ ЅЇн«ъ« јЎ«ЄСЯФуСЎЎ«ъ« Фї»б у нб®ФбХ «»УСсСЅґСФЯґ уЩУбЄСЎїСј
N DIV 8 +(N MOD 8) DIV (N MOD 8). зсСЯэ N - юїЯЅ« ¬«ЎЯФбЎФ нбє«у«ъ« Фї»б, MOD ї DIV - «»СУбµїї Я««ФуСФЯФуСЎЎ« сСЅСЎїґ »« ј«сТЅЇ ї ЎбµСЅ« (»УСс»«ЅбъбСФЯґ, юФ« 0 DIV 0 = 0). цб¬ФїюСЯ¬ї УбєјСУ ЭЅСјСЎФб ХУбЎСЎїґ јЎ«ЄСЯФуСЎЎ«ъ« Фї»б «»УСсСЅґСФЯґ ФСј, юФ« у ¬бюСЯФуС »УСсЯФбуЅСЎїґ «нЫС¬Фб Фᬫъ« Фї»б їЯ»«ЅэєТСФЯґ ХбУб¬ФСУїЯФїюСЯ¬бґ хТЎ¬µїґ јЎ«ЄСЯФуб. мб»УїјСУ, »УСсЯФбуЅСЎїС ᬬ«pсб {д«,ої,жї} у нб®ФС нТсСФ уЩъЅґсСФэ ЯЅСсТЇЪїј «нУбє«ј:
жї пґ ж«Ѕэ цб ої PС д«
+--+--+--+----+--+--+--+--+ (7-® нїФ ЎС
| ?| 1| 0| 0| 0| 1| 0| 1| їЯ»«ЅэєТСФЯґ)
+--+--+--+----+--+--+--+--+
7 6 5 4 3 2 1 0 мбс «нЫС¬Фбјї јЎ«ЄСЯФуСЎЎ«ъ« Фї»б «»УСсСЅСЎЩ хТЎ¬µїї, ЯуґєбЎЎЩС Я ЭЅСјСЎФбУЎЩјї «»СУбµїґјї Ўбс јЎ«ЄСЯФубјї («нЫСсїЎСЎїС, »СУСЯСюСЎїС, УбєЎ«ЯФэ, ЯїјјСФУїюСЯ¬бґ УбєЎ«ЯФэ); »У«уСУ¬«® Я«ЯФ«ґЎїґ јЎ«ЄСЯФуб (»« ХбУб¬ФСУїЯФїюСЯ¬«® хТЎ¬µїї); у¬ЅЇюСЎїСј/їЯ¬ЅЇюСЎїСј нбє«уЩХ «нЫС¬Ф«у у јЎ«ЄСЯФу« ї Ф.». Е«сУ«нЎСС «н ЭФ«ј ј«ЄЎ« »У«юїФбФэ у УТ¬«у«сЯФуС »« ґєЩ¬Т »У«ъУбјјїУ«убЎїґ. кЯ»«Ѕэє«убЎїС ХбУб¬ФСУїЯФїюСЯ¬«® хТЎ¬µїї сЅґ »УСсЯФбуЅСЎїґ «нЫС¬Ф«у јЎ«ЄСЯФуСЎЎ«ъ« Фї»б »«єу«ЅґСФ «УъбЎїє«убФэ ЭххС¬ФїуЎТЇ Убн«ФТ Я Фб¬їјї «нЫС¬Фбјї Ўб ТУ«уЎС ЭЅСјСЎФ«у ХУбЎСЎїґ. III. кдамЖкцкиЗыкf ДьЬаиЖДй ксСЎФїхї¬бµїґ їјСЎ«убЎїСј.- иубЅїсСЎФ.- дїЯФбЎµїґ с«ЯФТ»б.- Д»СpбФ«p »pїЯ«СсїЎСЎїґ.- кЎсС¬Яїp«убЎїС.- ксСЎФїхї¬бµїґ Т¬бєбЎїСј.- жу«н«сЎЩ® ї «ъpбЎїюСЎЎЩ® Т¬бєбФСЅї.- Жї» ADDRESS.- иубЅїсСЎФ Я »«ЯФхї¬Я«ј "^".
ксСЎФїхї¬бµїґ «нЫС¬Фб єб¬ЅЇюбСФЯґ у «»УСсСЅСЎїї (ЎбХ«ЄсСЎїї) Съ« ЭЅСјСЎФб ХУбЎСЎїґ ї »«ЅТюСЎїї с«ЯФТ»б ¬ »УСсЯФбуЅСЎїЇ «нЫС¬Фб - єЎбюСЎїґј Съ« Яу«®ЯФу. жТЪСЯФуТСФ суб «ЯЎ«уЎЩХ Я»«Я«нб їсСЎФїхї¬бµїї «нЫС¬Фб: їјСЎ«убЎїС ї Т¬бєбЎїС. кјСЎ«убЎїС єб¬ЅЇюбСФЯґ у ЎбєЎбюСЎїї «нЫС¬ФТ «»УСсСЅСЎЎ«ъ« їјСЎї. Жб¬«С ЎбєЎбюСЎїС »У«їєу«сїФЯґ Ўб хбєС ФУбЎЯЅґµїї, ї у »У«µСЯЯС уЩ»«ЅЎСЎїґ »У«ъУбјјЩ «нЫС¬Ф ЎС ј«ЄСФ нЩФэ »СУСїјСЎ«убЎ. мб»УїјСУ, сС¬ЅбУбµїґ
VAR A,B: ДнЫС¬Ф «»УСсСЅґСФ ЎбЅїюїС у »У«ъУбјјС суТХ «нЫС¬Ф«у Я їјСЎбјї З ї B Я««ФуСФЯФуСЎЎ«, ¬бЄсЩ® їє ¬«Ф«УЩХ їјССФ їЎсїуїсТбЅэЎЩ® ЭЅСјСЎФ ХУбЎСЎїґ. ДнУбФїФэЯґ ¬ «нЫС¬ФТ З »« їјСЎї й у ЎбсСЄсС, юФ« "«Ў йбЯ ТЯЅЩЮїФ" ЎСу«єј«ЄЎ«, ЎСу«єј«ЄЎЩ «»СУбµїї уїсб "мбєубФэ «нЫС¬Ф З Ў«уЩј їјСЎСј йДйЗ". кјґ - ЭФ« бФУїнТФ »У«ъУбјјЩ, «нСЯ»СюїубЇЪї® у« уЯСХ ЯїФТбµїґХ с«ЯФТ» ¬ «сЎ«јТ ї Ф«јТ ЄС «нЫС¬ФТ. Е«ЎґФїС "їјґ" у ґєЩ¬бХ »У«ъУбјјїУ«убЎїґ їЯ»«ЅэєТСФЯґ ¬б¬ ЯїЎ«Ўїј »«ЎґФїґ "їсСЎФїхї¬бФ«У". й ЭФ«ј ЯјЩЯЅС »У«µСЯЯ »У«ъУбјјїУ«убЎїґ ї уЩ»«ЅЎСЎїґ »У«ъУбјјЩ ґуЅґСФЯґ »У«µСЯЯ«ј їєјСЎСЎїґ Ф«Ѕэ¬« »УСсЯФбуЅСЎїґ «нЫС¬Ф«у, Ў« ЎС »УбуїЅ їХ їсСЎФїхї¬бµїї. кјСЎ«убФэЯґ ј«ъТФ ї «ФсСЅэЎЩС Яу«®ЯФуб «нЫС¬Ф«у-бъУСъбФ«у. й ЭФ«ј ЯЅТюбС Фб¬їС їјСЎб ЎбєЩубЇФ ¬убЅїхїµїУ«убЎЎЩјї їсСЎФїхї¬бФ«Убјї - ¬убЅїсСЎФбјї, «Ўї УСбЅїєТЇФ сїЯФбЎµї«ЎЎЩ® с«ЯФТ» ¬ Яу«®ЯФубј «нЫС¬Фб. мб»УїјСУ,
TYPE ДнЫС¬Ф = RECORD
B : дбФб_У«ЄсСЎїґ; Е : BСЯ
END;
VAR A,B : OнЫС¬Ф; . иубЅїсСЎФ A.B «Ф¬У«СФ с«ЯФТ» ¬ сбФС У«ЄсСЎїґ «нЫС¬Фб A, B.B - ¬ сбФС У«ЄсСЎїґ «нЫС¬Фб B ї Ф.с. дЅїЎб сїЯФбЎµї с«ЯФТ»б «»УСсСЅґСФЯґ ¬«ЅїюСЯФу«ј ТУ«уЎС® бъУСъїУ«убЎїґ Яу«®ЯФу «нЫС¬Ф«у ¬ЅбЯЯб. й ЭФ«ј »УїјСУС дЅїЎб=1. аЯЅї ТФ«юЎїФэ Яу«®ЯФу« дбФб_Й«ЄсСЎїґ:
TYPE дбФб_У«ЄсСЎїґ = RECORD в: в«с; о: оСЯґµ; д: дСЎэ
END; Ф« ¬убЅїсСЎФ, «Ф¬УЩубЇЪї® с«ЯФТ» ¬ ъ«сТ У«ЄсСЎїґ «нЫС¬Фб З, їјССФ сЅїЎТ сїЯФбЎµїї, УбуЎТЇ 2: З.й.в. ЕУ«ЯФ«® їсСЎФїхї¬бФ«У ј«ЄЎ« УбЯЯјбФУїубФэ ¬б¬ юбЯФЎЩ® ЯЅТюб® ¬убЅїсСЎФб Я ЎТЅСу«® сїЯФбЎµїС® с«ЯФТ»б. дїЯФбЎµї«ЎЎЩ® с«ЯФТ» ј«ЄСФ ЯТЪСЯФуСЎЎ« ТуСЅїюїФэ уУСјґ їсСЎФїхї¬бµїї бФpїнТФ«у «нЫС¬Фб, у ¬«Ф«pЩХ ХpбЎґФЯґ єЎбюСЎїґ Съ« Яу«®ЯФу. 櫬УбФїФэ ЭФ« уУСјґ ј«ЄЎ« їЯ»«ЅэєТґ «»СУбФ«У »УїЯ«СсїЎСЎїґ
WITH DO END.
Жᬫ® «»СУбФ«У Я«¬УбЪбСФ сЅїЎТ сїЯФбЎµїї с«ЯФТ»б ¬ бФpїнТФбј «нЫС¬Фб, їсСЎФїхїµїpТСј«ъ« юСpСє . аЯЅї юїЯЅ« Фб¬їХ бФpїнТФ«у у »pїЯ«СсїЎґСј«ј хpбъјСЎФС уСЅї¬«, Ф« їЯ»«Ѕэє«убЎїС «»СpбФ«pб »pїЯ«СсїЎСЎїґ ј«ЄСФ ЯТЪСЯФуСЎЎ« Я«¬pбФїФэ уpСјґ уЩ»«ЅЎСЎїґ ЭФ«ъ« хpбъјСЎФб »p«ъpбјјЩ. йЅ«ЄСЎїС «»СУбФ«У«у »УїЯ«СсїЎСЎїґ «нСЯ»СюїубСФ с«»«ЅЎїФСЅэЎ«С Я«¬УбЪСЎїС сїЯФбЎµїї с«ЯФТ»б. мб»УїјСУ, сЅґ »СУСјСЎЎ«® VAR A: ДнЫС¬Ф, ЭФ« ј«ЄСФ уЩъЅґсСФэ ЯЅСсТЇЪїј «нУбє«ј: WITH A DO
;
WITH B DO
END END. кјСЎб «нЫС¬Ф«у ї їХ Яу«®ЯФу ј«ъТФ сТнЅїУ«убФэ сУТъ сУТъб. ШФ« ЯуґєбЎ« Я ФСј, юФ« сС¬ЅбУбµїґ Яу«®ЯФу »У«у«сїФЯґ у УбєсСЅС TYPE (Фї»«у), б їјСЎ«убЎїС «нЫС¬Ф«у - у УбєсСЅС VAR (»СУСјСЎЎЩХ). ЖУбЎЯЅґФ«УЩ ґєЩ¬«у »У«ъУбјјїУ«убЎїґ, «нУбнбФЩубґ УбєсСЅЩ TYPE ї VAR, «нЩюЎ« ЎС "ТЯјбФУїубЇФ" ЎїюСъ« "ЯФУбЮЎ«ъ«" у Ф«ј, юФ« їјСЎб Яу«®ЯФу нТсТФ сТнЅїУ«убФэ їјСЎб «нЫС¬Ф«у - уСсэ ЭФ« »УїЎµї»їбЅэЎ« УбєЎЩС »«ЎґФїґ. м« ујСЯФС Я ФСј «»СУбФ«У WITH х«УјбЅэЎ« с«»ТЯ¬бСФ ЯјСЮїубЎїС Фб¬їХ »«ЎґФї® (Яј. »УїуСсСЎЎЩ® уЩЮС »УїјСУ: »СУуЩ® WITH »УїЯ«СсїЎґСФ ¬ «нЫС¬ФТ, б уФ«У«® ¬ Съ« Яу«®ЯФуТ). Жб¬«С ЯјСЮїубЎїС у «нЪСј ЯЅТюбС ФУСнТСФ »«уЩЮСЎЎ«ъ« уЎїјбЎїґ »Уї »У«ъУбјјїУ«убЎїї »УїЯ«СсїЎґСјЩХ хУбъјСЎФ«у. мб»УїјСУ,
VAR A,B: ДнЫС¬Ф; C: в«с;
BEGIN . . .
+- WITH A DO
(1) | WITH B DO C:=в END; B.B.в:=C
+- END . . .
+- WITH A DO
(2) | WITH B DO C:=в; B.в:=C END
+- END . . .
+- WITH A DO
| WITH B DO C:=в END
| END;
(3) |
| WITH B DO
| WITH B DO в:=C END
+- END.
йЯС ФУї хУбъјСЎФб »УСЯЅСсТЇФ «сЎТ µСЅэ : «нјСЎґФэ їЎх«УјбµїЇ « ъ«сбХ У«ЄсСЎїґ «нЫС¬Ф«у З ї й . ЕСУуЩ® хУбъјСЎФ с«ЯФїъбСФ ЭФ«® µСЅї, уФ«У«® - ЎСФ. Е«юСјТ ? й ФУСФэСј хУбъјСЎФС ФУї ФС¬ЯФТбЅэЎ« «сїЎб¬«уЩХ «»СУбФ«Уб "WITH B" УСбЅїєТЇФ УбєЅїюЎЩС »УїЯ«СсїЎСЎїґ, єбуїЯґЪїС «Ф ¬«ЎФС¬ЯФб. иб¬їС? дЅґ Ф«ъ«, юФ«нЩ їєнСЄбФэ у«єј«ЄЎЩХ ЯСјбЎФїюСЯ¬їХ «Юїн«¬, «нТЯЅ«уЅСЎЎЩХ Фᬫ® ¬«ЎФС¬ЯФЎ«® єбуїЯїј«ЯФэЇ «»СpбФ«pб »pїЯ«СсїЎСЎїґ, ЯЅСсТСФ Ѕїн« їЯ»«Ѕэє«убФэ »«ЅЎЩС ¬убЅїсСЎФЩ (ї ЄСУФу«убФэ ЭххС¬ФїуЎ«ЯФэЇ »У«ъУбјјЩ), Ѕїн« їєнСъбФэ сТнЅїУ«убЎїґ їјСЎ «нЫС¬Ф«у ї бФpїнТФ«у (Яу«®ЯФу). Е«ЯЅСсЎСС у« уЯСХ «ФЎ«ЮСЎїґХ »УСс»«юФїФСЅэЎСС. ЕУї Убн«ФС Я јбЯЯїубјї «нЫС¬Ф«у ї (їЅї) јбЯЯїубјї «сЎ«У«сЎЩХ Яу«®ЯФу їсСЎФїхї¬бµїґ «ЯТЪСЯФуЅґСФЯґ Ўб «ЯЎ«уС їЎсС¬Яїp«убЎїґ (ЎТјСУбµїї). кЎсС¬Я «»УСсСЅґСФ »«Уґс¬«уЩ® Ў«јСУ «нЫС¬Фб (їЅї Яу«®ЯФуб) ї уЩ»«ЅЎґСФ У«Ѕэ ТФ«юЎСЎЎ«ъ« їјСЎї у »УСсЯФбуЅСЎїї бъУСъбФб. кјСЎб, ТФ«юЎСЎЎЩС їЎсС¬Я«ј, »«- »УСЄЎСјТ «ЯФбЇФЯґ їјСЎбјї (у ЭФ«ј ЯјЩЯЅС їЎсС¬Я ј«ЄЎ« х«УјбЅэЎ« УбЯЯјбФУїубФэ ¬б¬ "«Я«нТЇ ЅїФСУТ" у Яїју«ЅэЎ«® ЯФУ«¬С, «нУбєТЇЪС® їјґ). збјСюбЎїґ, ЯсСЅбЎЎЩС уЩЮС «ФЎ«ЯїФСЅэЎ« сТнЅїУ«убЎїґ їјСЎ «нЫС¬Ф«у ї Яу«®ЯФу, »Уї«нУСФбЇФ СЪС н«ЅэЮСС єЎбюСЎїС »УїјСЎїФСЅэЎ« ¬ їјСЎ«убЎїЇ Я їЎсС¬ЯїУ«убЎїСј. д«ЯФТ» ¬ «нЫС¬ФТ, їсСЎФїхїµїpТСј«јТ їјСЎСј, ¬«Ф«p«С ТФ«юЎСЎ« їЎсС¬Я«ј, pСбЅїєТСФЯґ Ўб «ЯЎ«уС уЩюїЯЅСЎїґ бсpСЯб Я««ФуСФЯФуТЇЪСъ« ЭЅСјСЎФб ХpбЎСЎїґ. ЗpїхјСФїюСЯ¬«С уЩpбЄСЎїС, pСбЅїєТЇЪСС Фб¬«С уЩюїЯЅСЎїС, їЯ»«ЅэєТСФ їЎсС¬Я ¬б¬ ЎбФТpбЅэЎ«С юїЯЅ«. ф¬бєбЎїС - уФ«У«® «ЯЎ«уЎ«® Я»«Я«н їсСЎФїхї¬бµїї - ЯуґєбЎ« Я їЯ»«Ѕэє«убЎїСј «Я«нЩХ «нЫС¬Ф«у, у »УСсЯФбуЅСЎїї ¬«Ф«УЩХ ХУбЎїФЯґ ¬б¬ нЩ "ЯФУСЅ¬б", Т¬бєЩубЇЪбґ Ўб їсСЎФїхїµїУТСјЩ® «нЫС¬Ф. Жᬫ® «Я«нЩ® «нЫС¬Ф ЎбєЩубСФЯґ Т¬бєбФСЅСј їЅї ЯЯЩЅ¬«®. жФУСЅ¬б «нЫС¬Фб-Т¬бєбФСЅґ ј«ЄСФ Т¬бєЩубФэ Ўб ЅЇн«® «нЫС¬Ф, у Ф«ј юїЯЅС ї Ўб «нЫС¬Ф-Т¬бєбФСЅэ, ї Ўб "Ябј«ъ« ЯСнґ", ї "у Ўї¬Тсб" (ЎС Т¬бєЩубФэ Ўї Ўб ¬б¬«® «нЫС¬Ф). ф¬бєбФСЅэ, ¬«Ф«УЩ® ј«ЄСФ Т¬бєЩубФэ Ўб «нЫС¬ФЩ УбєЅїюЎЩХ ¬ЅбЯЯ«у, ЎбєЩубСФЯґ Яу«н«сЎЩј Т¬бєбФСЅСј. ф¬бєбФСЅэ, ¬«Ф«УЩ® ј«ЄСФ Т¬бєЩубФэ Ф«Ѕэ¬« Ўб «нЫС¬ФЩ «»УСсСЅСЎЎ«ъ« ¬ЅбЯЯб, ЎбєЩубСФЯґ «ъУбЎїюСЎЎЩј Т¬бєбФСЅСј. жу«н«сЎЩ® Т¬бєбФСЅэ у ґєЩ¬бХ »У«ъУбјјїУ«убЎїґ УСбЅїєТСФЯґ Фї»«ј ADDRESS. и«ЎЯФбЎФбјї ЭФ«ъ« Фї»б ґуЅґЇФЯґ бсУСЯб Убн«юСъ« »У«ЯФУбЎЯФуб »бјґФї Шйо. ДЯ«н«® ¬«ЎЯФбЎФ«® ґуЅґСФЯґ ¬«ЎЯФбЎФб, «н«єЎбюбСјбґ «нЩюЎ« ЯЅ«у«ј NIL ї «»УСсСЅґЇЪбґ Т¬бєбФСЅэ, ¬«Ф«УЩ® Ўї¬Тсб ЎС Т¬бєЩубСФ. ДъУбЎїюСЎЎЩ® Т¬бєбФСЅэ «нЩюЎ« «»УСсСЅґСФЯґ хУбє«® "POINTER TO", Ўб»УїјСУ:
TYPE жФУСЅ¬б = POINTER TO ДнЫС¬Ф;.
Жб¬бґ сС¬ЅбУбµїґ «»УСсСЅїФ ¬ЅбЯЯ Т¬бєбФСЅС®, ¬«Ф«УЩС ј«ъТФ Т¬бєЩубФэ Ф«Ѕэ¬« Ўб «нЫС¬ФЩ ¬ЅбЯЯб ДнЫС¬Ф. й ЭФ«ј ЯјЩЯЅС Яу«н«сЎЩ® Т¬бєбФСЅэ ј«ЄЎ« «»УСсСЅїФэ х«УјбЅэЎ« ЯЅСсТЇЪїј «нУбє«ј:
TYPE ADDRESS = POINTER TO WORD. й УбЎЎїХ уСУЯїґХ ґєЩ¬«у »У«ъУбјјїУ«убЎїґ
TSIZE (ADDRESS) = TSIZE (WORD) = 2 (нб®Фб). Еpї ЭФ«ј УбєјСУ Убн«юСъ« »У«ЯФУбЎЯФуб бсУСЯ«у, «»УСсСЅґСјЩ® ј«ЪЎ«ЯФэЇ јЎ«ЄСЯФуб ¬«ЎЯФбЎФ Фї»б ADDRESS, Я«ЯФбуЅґЅ сЅґ 16-УбєУґсЎЩХ Шйо 216 = 65536 = 64*1024 = 64K. жФУСјЅСЎїС УбЯЮїУїФэ бсУСЯЎ«С »У«ЯФУбЎЯФу« («ЯФбубґЯэ у Убј¬бХ Ф«® ЄС УбєУґсЎ«ЯФї Шйо) »УїуСЅ« у н«ЅСС »«єсЎїХ уСУЯїґХ ґєЩ¬«у »У«ъУбјјїУ«убЎїґ ¬ ТуСЅїюСЎїЇ УбєјСУб ЭЅСјСЎФ«у ХУбЎСЎїґ бсУСЯ«у у 2 Убєб: TSIZE (ADDRESS) = TSIZE (ARRAY[1..2] OF WORD) = 4 (нб®Фб). ЕУї ЭФ«ј ADDRESS ЯФбЅ їЎФСУ»УСФїУ«убФэЯґ ¬б¬ ЯФУТ¬ФТУб:
TYPE ADDRESS = RECORD
SEGMENT, OFFSET: CARDINAL;
END; їЯ»«Ѕэє«убЎїС ¬«Ф«У«® хб¬ФїюСЯ¬ї «ЯЎ«убЎ« Ўб їЎсС¬ЯЎ«® їсСЎФїхї¬бµїї «нЫС¬Фб. SEGMENT «»УСсСЅґСФ Ў«јСУ ЯСъјСЎФб Убн«юСъ« »У«ЯФУбЎЯФуб бсУСЯ«у, ТФ«юЎґСј«ъ« ЯјСЪСЎїСј (OFFSET), у ¬«Ф«У«ј ХУбЎїФЯґ "УбЯЯФ«ґЎїС" «Ф ЎбюбЅб ЯСъјСЎФб с« »УСсЯФбуЅСЎїґ їсСЎФїхїµїУТСј«ъ« «нЫС¬Фб. пЇн«® «нЫС¬Ф-Т¬бєбФСЅэ (Яу«н«сЎЩ® їЅї «ъУбЎїюСЎЎЩ®) їсСЎФїхїµїУТСФЯґ їјСЎСј, сС¬ЅбУїУ«убЎЎЩј у »У«ъУбјјС. зЎбюСЎїС Т¬бєбФСЅґ, Я«ХУбЎґСј«С "»«с" ЭФїј їјСЎСј, їсСЎФїхїµїУТСФ у Яу«Ї «юСУСсэ сУТъ«® «нЫС¬Ф (Т¬бєЩубСФ Ўб ЎСъ«). Жб¬бґ їсСЎФїхї¬бµїґ Ўб ТУ«уЎС єЎбюСЎї® »«єу«ЅґСФ сїЎбјїюСЯ¬ї (у »У«µСЯЯС уЩ»«ЅЎСЎїґ »У«ъУбјјЩ) јСЎґФэ "»«Ѕ«ЄСЎїС ЯФУСЅ«¬" Т¬бєбФСЅґ ї Я««ФуСФЯФуСЎЎ« їсСЎФїхїµїУ«убФэ УбєЅїюЎЩС «нЫС¬ФЩ. "щїЯФ«С" їјСЎ«убЎїС ЎС сбСФ Фб¬їХ у«єј«ЄЎ«ЯФС®. мїЄС »УїуСсСЎб ъУбхїюСЯ¬бґ їЅЅЇЯФУбµїґ ЯЯЩЅ«юЎ«® їсСЎФїхї¬бµїї «нЫС¬Ф«у Т¬бєбФСЅСј "»« їјСЎї" P.
TYPE иубсУбФ: ... ; VAR P: POINTER TO иубсУбФ;
ШЅСјСЎФ xУбЎСЎїґ Т¬бєбФСЅґ
+-----------------------------+ кјґ: P | зЎбюСЎїС Т¬бєбФСЅґ *--+---+ (P=NIL)
+--------------------------+--+ v
+---+-----+--------+----+ -+-
| | | -+-
| | | |
+--v---+-----+--------+-------+
| +++ | | v | +-+ «нЫС¬Ф ¬ЅбЯЯб
| +-+ v v | +-+ иубсpбФ
| +++ +++ |
| +-+ +-+ | «нЫС¬Ф ¬ЅбЯЯб
| | PСЮСФ«
| Pбн«юСС »p«ЯФpбЎЯФу« »бјґФї |
+-----------------------------+
мб»УбуЅСЎїС ЯФУСЅ«¬, «»УСсСЅґСј«С у«єј«ЄЎЩјї єЎбюСЎїґјї Т¬бєбФСЅґ P, «Ф¬УЩубСФ с«ЯФТ» ¬ «нЫС¬Фбј ¬ЅбЯЯб иубсУбФ. мб»УбуЅСЎїС ЯФУСЅ¬ї, Т¬бєЩубЇЪС® Ўб "pСЮСФ«", сЅґ P, сС¬ЅбУїУ«убЎЎ«ъ« ¬б¬ POINTER TO иубсУбФ, ґуЅґСФЯґ ЎСс«»ТЯФїјЩј, ЯФУСЅ¬б P=NIL Ўї Ўб юФ« ЎС Т¬бєЩубСФ. ксСЎФїхї¬бµїґ «нЫС¬Ф«у юСУСє ЯЯЩЅ¬ї «Ф¬УЩубСФ у«єј«ЄЎ«ЯФї «УъбЎїєбµїї сїЎбјїюСЯ¬ї ј«сїхїµїУТСјЩХ ЯуґєбЎЎЩХ ЯФpТ¬ФТp. ДнЫС¬ФЩ, їє ¬«Ф«УЩХ ¬«ЎЯФУТїУТЇФЯґ Фб¬їС ЯФУТ¬ФТУЩ, с«ЅЄЎЩ «нЅбсбФэ Яу«®ЯФу«ј "кјСФэ Яуґєї Я сУТъїјї «нЫС¬Фбјї", ¬«Ф«p«С Я»СµїхїµїpТСФЯґ ¬б¬ Т¬бєбФСЅэ. мб»УїјСУ,
TYPE ШЅСјСЎФ_цїъТУЩ = RECORD
A : иубсУбФ;
B : POINTER TO ШЅСјСЎФ_цїъТУЩ
END. мїЄС »УїуСсСЎб ъУбхїюСЯ¬бґ їЅЅЇЯФУбµїґ «сЎ«® їє јЎ«ъїХ ЯуґєбЎЎЩХ ЯФpТ¬ФТp - ЯФpТ¬ФТpЩ и«Ѕэµб, Я«ЯФбуЅСЎЎ«ъ« їє ФУСХ Фб¬їХ ЭЅСјСЎФ«у.
+--------+ +----------+
| v v P | v
| +---+---+ +---+---+ | +---+---+
| | A | | A | | | A |
| |-------+ +-------| | +-------|
| | B *-+-------->+ B *-+-----+ | B * |
| +-------+ +-------+ +---+---+
| |
+-----------------------------------------------+
VAR P: POINTER TO ШЅСјСЎФ_цїъТУЩ
мб ЭФ«® їЅЅЇЯФУбµїї СсїЎЯФуСЎЎЩ® Т¬бєбФСЅэ P »«ЯЅСс«убФСЅэЎ« (у Ўб»УбуЅСЎїї ЯФУСЅ«¬ ЯуґєС®) «Ф¬УЩубСФ с«ЯФТ» ¬« уЯСј ЭЅСјСЎФбј ЯФpТ¬ФТpЩ и«Ѕэµб. збјСФїј, юФ« Ўб ЭФ«® їЅЅЇЯФУбµїї (у «ФЅїюїС «Ф »УСсЩсТЪС®) ЭЅСјСЎФ ХУбЎСЎїґ Т¬бєбФСЅґ P ТЄС ЎС їє«нУбЄСЎ. ЕУ«ЯФ« Уґс«ј Я« ЯФpСЅ¬«® »p«ЯФбуЅСЎ« їјґ Т¬бєбФСЅґ - ЭФ« «нЩюЎЩ® »УїСј сЅґ ъУбхїюСЯ¬їХ їЅЅЇЯФУбµї® »pСсЯФбуЅСЎїґ ЯуґєбЎЎЩХ ЯФУТ¬ФТУ. пЇн«С »УїЯу«СЎїС єЎбюСЎїґ Т¬бєбФСЅЇ ъУбхїюСЯ¬ї їЎФСУ»УСФїУТСФЯґ ¬б¬ їєјСЎСЎїС Ўб»УбуЅСЎїґ Я««ФуСФЯФуТЇЪС® ЯФУСЅ¬ї (»СУСЯФбЎ«у¬б, »СУСсуїЄ¬б Т¬бєбФСЅґ Ўб сУТъ«® «нЫС¬Ф). д«ЯФТ» ¬ «нЫС¬ФТ юСУСє Т¬бєбФСЅэ «Ф¬УЩубСФЯґ »ТФСј їјСЎ«убЎїґ Т¬бєбФСЅґ Я »«ЯФхї¬Я«ј "^". Жб¬, у »УїуСсСЎЎ«ј уЩЮС »УїјСУС сЅґ с«ЯФТ»б ¬ «нЫС¬ФТ ¬ЅбЯЯб иубсУбФ юСУСє P: POINTER TO ШЅСјСЎФ_цїъТУЩ ЎС«нХ«сїј« їЯ»«Ѕэє«убФэ ¬убЅїсСЎФ уїсб P^.A. й ЎСј "єбЮїхУ«убЎб" ЯЅСсТЇЪбґ »«ЯЅСс«убФСЅэЎ«ЯФэ с«ЯФТ»б: P - с«ЯФТ» ¬ Т¬бєбФСЅЇ, їсСЎФїхїµїУТЇЪСјТ ШЅСјСЎФ_цїъТУЩ; P^ - с«ЯФТ» ¬ ЯФУТ¬ФТУС ШЅСјСЎФб, Ўб ¬«Ф«УТЇ Т¬бєЩубСФ P; P^. - с«ЯФТ» ¬ бФpїнТФбј (¬«ј»«ЎСЎФбј) ЭФ«® ЯФУТ¬ФТУЩ; P^.A - с«ЯФТ» ¬ бФpїнТФТ иубсУбФ. ибЄсЩ® їє »«с«нЎЩХ ¬убЅїсСЎФ«у «Ф¬УЩубСФ с«ЯФТ» ¬ "Яу«СјТ" ТЎї¬бЅэЎ«јТ «нЫС¬ФТ (їЅї бФpїнТФТ). мСФpТсЎ« єбјСФїФэ, юФ« сЅґ ЭФ«ъ« »УїјСУб (ї у «нЪСј ЯЅТюбС)
SIZE (P) # SIZE (P^) # SIZE (P^.A). иЯФбФї, юСјТ УбуЎ« SIZE (P^) сЅґ ЭФ«ъ« »pїјСpб? P«Ѕэ »«ЯФхї¬Яб "^" (ЯФУСЅ¬ї) єб¬ЅЇюбСФЯґ у "«Ф¬УЩФїї" с«ЯФТ»б ¬ «нЫС¬ФТ юСУСє єЎбюСЎїС Т¬бєЩубЇЪС® Ўб ЎСъ« ЯЯЩЅ¬ї. кЎ«ъсб ЭФТ «»СpбµїЇ «нpбєЎ« ЎбєЩубЇФ "pбЯ¬pЩФїСј ЯЯЩЅ¬ї". кЯ»«Ѕэє«убФэ Яїју«Ѕ "^" ¬б¬ »«ЯФхї¬Я у їјСЎї «нЫС¬Фб, ¬«Ф«УЩ® ЎС ґуЅґСФЯґ Т¬бєбФСЅСј, у «нЪСј ЯЅТюбС ЎСс«»ТЯФїј«. кЯ»«Ѕэє«убЎїС ¬убЅїсСЎФ«у Я Яїју«Ѕ«ј "^" у «»СУбФ«УбХ »УїЯ«СсїЎСЎїґ »У«у«сїФЯґ у «ЯЎ«уЎ«ј Фб¬ ЄС, ¬б¬ ТЄС нЩЅ« «»їЯбЎ« уЩЮС »УїјСЎїФСЅэЎ« ¬ бъУСъїУ«убЎЎЩј ЯФУТ¬ФТУбј. зсСЯэ ЯЅСсТСФ »«јЎїФэ, юФ« ЅЇн«С »УїЯ«СсїЎСЎїС µСЅСЯ««нpбєЎ« Я суТХ Ф«юС¬ єpСЎїґ: 1) сЅґ Я«¬УбЪСЎїґ сїЯФбЎµїї с«ЯФТ»б ¬ ¬«ј»«ЎСЎФбј бъУСъїУ«убЎЎ«® ЯФУТ¬ФТУЩ; 2) сЅґ »«уЩЮСЎїґ ЎбъЅґсЎ«ЯФї, уЩpбєїФСЅэЎ«ЯФї ї ЯФpТ¬ФТpЎ«ЯФї »p«ъpбјјЩ. дЅґ ЯЅТюбґ P: POINTER TO ШЅСјСЎФ_цїъТУЩ їЯ»«Ѕэє«убЎїС «»СУбФ«Уб
WITH P^ DO END pСбЅїєТСФ »pїЯ«СсїЎСЎїС ¬ ШЅСјСЎФТ_цїъТpЩ, pбєјСЪСЎЎ«јТ у »бјґФї "»«с" P, б «»СУбФ«У
WITH P DO END ј«ЄСФ pСбЅїє«убФэ »pїЯ«СсїЎСЎїС Ф«Ѕэ¬« (!) ¬ бФpїнТФбј Ябј«ъ« Т¬бєбФСЅґ (Ф.С. »«Ѕґј SEGMENT ї OFFSET) ї ЎС їјССФ Ўї¬б¬«ъ« ЯјЩЯЅб у »ЅбЎС »pїЯ«СсїЎСЎїґ ¬ ШЅСјСЎФТ_цїъТpЩ. й ЭФ«® Яуґєї Фб¬ЄС «ФјСФїј, юФ« ЅЇн«С »УїЯ«СсїЎСЎїС, сС¬ЅбУїУ«убЎЎ«С Я««ФуСФЯФуТЇЪїј «»СУбФ«У«ј WITH, уЩ»«ЅЎґСФЯґ »«ЯЅС Ф«ъ«, ¬б¬ «»УСсСЅСЎ« єЎбюСЎїС »УїЯ«СсїЎґЇЪСъ« ¬убЅїсСЎФб, Ф.С. с« "уХ«сб" у »УїЯ«СсїЎґСјЩ® хУбъјСЎФ. Е«ЭФ«јТ ЅЇн«С їєјСЎСЎїС єЎбюСЎїґ »pїЯ«СсїЎґЇЪСъ« Т¬бєбФСЅґ уЎТФУї »УїЯ«СсїЎґСј«ъ« хУбъјСЎФб ЎС їєјСЎїФ ТЄС Я«єсбЎЎ«ъ« »УїЯ«СсїЎСЎїґ ї ЎСїєнСЄЎ« ЎбpТЮїФ Ѕ«ъї¬Т уЩ»«ЅЎСЎїґ ЭФ«ъ« хpбъјСЎФб. ЕpїуСсСј СЪС »pїјСp:
VAR P: POINTER TO иубсУбФ;
BEGIN ... P:= ...; (* фЯФбЎ«у¬б P Ўб ¬убсУбФ *)
WITH P^ DO ...
(* Йбн«Фб Я ¬убсУбФ«ј, Ўб ¬«Ф«УЩ® Т¬бєЩубСФ P *);
P:= ...; (* фЯФбЎ«у¬б P Ўб Ў«уЩ® ¬убсУбФ *)
... (* Йбн«Фб Я Ў«уЩј ¬убсУбФ«ј *)
END.
й ЭФ«ј »УїјСУС ТЯФбЎ«у¬б P "Ўб Ў«уЩ® ¬убсУбФ " ЎС »УїуСсСФ ¬ їєјСЎСЎїЇ ТЄС Я«єсбЎЎ«ъ« »УїЯ«СсїЎСЎїґ ї Я««ФуСФЯФуСЎЎ« "Убн«Фб Я Ў«уЩј ¬убсУбФ«ј" юСУСє Т¬«У«юСЎЎЩС їсСЎФїхї¬бФ«УЩ ЎС Я«ЯФ«їФЯґ - ЭФ«Ф хУбъјСЎФ »У«с«ЅЄїФ Убн«ФТ Я« "ЯФбУЩј" ¬убсУбФ«ј. мСєЎбЎїС ЭФ«ъ« «нЯФ«ґФСЅэЯФуб ј«ЄСФ ЯЅТЄїФэ їЯФ«юЎї¬«ј јЎ«ъїХ ФУТсЎ« їсСЎФїхїµїУТСјЩХ «Юїн«¬, у«єЎї¬бЇЪїХ Ф«Ѕэ¬« »pї їсСЎФїхї¬бµїї «нЫС¬Ф«у јСФ«с«ј Т¬бєбЎїґ. й µСЅ«ј Т¬бєбФСЅэЎбґ їсСЎФїхї¬бµїґ »УїЎµї»їбЅэЎ« «ФЅїюбСФЯґ «Ф їјСЎ«убЎїґ ФСј, юФ« «Ўб їЯ»«ЅэєТСФ Я»СµїбЅэЎЩС їсСЎФїхїµїУТЇЪїС «нЫС¬ФЩ - Т¬бєбФСЅї (їЅї ЯЯЩЅ¬ї), Я ¬«Ф«УЩјї ј«ЄЎ« Убн«ФбФэ ¬б¬ Я ЅЇнЩјї сУТъїјї "«нЩюЎЩјї" «нЫС¬Фбјї. ШФ« ЯТЪСЯФуСЎЎ« УбЯЮїУґСФ у«єј«ЄЎ«ЯФї "юїЯФ«ъ«" їјСЎ«убЎїґ ї »«єу«ЅґСФ УСбЅїє«убФэ сїЎбјїюСЯ¬ТЇ їсСЎФїхї¬бµїЇ УбєЅїюЎЩХ «нЫС¬Ф«у юСУСє «сїЎ ї Ф«Ф ЄС Т¬бєбФСЅэ, їсСЎФїхїµїУТСјЩ® СсїЎЯФуСЎЎЩј »УїЯу«СЎЎЩј СјТ їјСЎСј. IV. кмЖаPЕPаЖЗыкf ДьЬаиЖДй Е«Ѕїј«Ухїєј. - ж«ујСЯФїј«ЯФэ Фї»«у. - цТЎ¬µїї »УС«нУбє«убЎїґ ї »УїуСсСЎїґ Фї»«у. - зб»їЯї Я убУїбЎФбјї. - мбЯЅСс«убЎїС Яу«®ЯФу. - Д»УСсСЅСЎїС " ЎбЅ«ЄСЎїСј ". - жбј«їЎФСУ»УСФїУТСјЩ® «нЫС¬Ф.
ЖСУјїЎ "їЎФСУ»УСФбµїґ" «»УСсСЅґСФ "»Уї»їЯЩубЎїС" «нЫС¬ФТ «»УСсСЅСЎЎЩХ ЯСјбЎФїюСЯ¬їХ, ЯјЩЯЅ«уЩХ Яу«®ЯФу. мб»УїјСУ, Яїју«Ѕ "I", їЎФСУ»УСФїУТСјЩ® ¬б¬ "ЙїјЯ¬бґ_ыїхУб", нТсСФ бЯЯ«µїїp«убФэЯґ Я «нЫС¬Ф«ј «»УСсСЅСЎЎ«® ЯїЯФСјЩ ЯюїЯЅСЎїґ, ХбУб¬ФСУїєТСј«® «Я«нЩјї Яу«®ЯФубјї ЭФ«® ЯїЯФСјЩ. й Ф« ЄС уУСјґ "I" ¬б¬ "пїФСУб" ЅбФїЎЯ¬«ъ« бЅхбуїФб ХбУб¬ФСУїєТСФЯґ Я«уСУЮСЎЎ« сУТъїјї Яу«®ЯФубјї. "I" ¬б¬ нТ¬уб бЎъЅї®Я¬«ъ« бЅхбуїФб їјССФ Я«нЯФуСЎЎЩС Яу«®ЯФуб, у юбЯФЎ«ЯФї, «»УСсСЅґСФ «Я«н«С »У«їєЎ«ЮСЎїС "б®", б ¬б¬ нТ¬уб ЎСјСµ¬«ъ« бЅхбуїФб «Ўб Фб¬їј Яу«®ЯФу«ј ЎС «нЅбсбСФ. оЎ«ЄСЯФуСЎЎ«ЯФэ їЎФСУ»УСФбµї® «сЎ«ъ« ї Ф«ъ« ЄС «нЫС¬Фб ЯуґєбЎб Я »«ЎґФїСј »«Ѕїј«Ухїєјб. ж »p«ґуЅСЎїСј »«Ѕїј«УхЎЩХ їЎФСУ»УСФбµї® «нЫС¬Ф«у јЩ ЯФбЅ¬їубСјЯґ нТ¬убЅэЎ« Ўб ¬бЄс«ј ЮбъТ - ЭФ« ї јЎ«ъ«єЎбюЎ«ЯФэ јЎ«ъїХ «н«p«Ф«у УСюї (хУбє«уЩХ ЯФУТ¬ФТУ) ї јЎ«ъ«µСЅСу«С їЯ»«Ѕэє«убЎїС «нЫС¬Фб (уЯ»«јЎїФС »«уСЯФэ о.ЖуСЎб "ЕУїЎµ ї ЎїЪї®", ъсС ъЅбуЎЩ® ъСУ«® їЎФСУ»УСФїУ«убЅ ъ«ЯТсбУЯФуСЎЎТЇ »СюбФэ ¬б¬ ЯУСсЯФу« сЅґ УбЯ¬бЅЩубЎїґ «УСХ«у), ї, Ўб¬«ЎСµ, јЎ«ЄСЯФу« ЅїюЎ«ЯФЎЩХ ¬бюСЯФу їЎФСУ»УСФбФ«Уб: сЅґ ¬«ъ«- Ф« У«єЩ - ЭФ« µуСФЩ, б сЅґ ¬«ъ«-Ф« Юї»Щ. й »У«ъУбјјїУ«убЎїї «нЫС¬Ф ¬б¬ сбЎЎ«ЯФэ »«ЅЎ«ЯФэЇ «»УСсСЅґСФЯґ »«ЎґФїСј ЭЅСјСЎФб ХУбЎСЎїґ, ТЄС їЯ»«Ѕэє«убЎЎЩј у »УСсЩсТЪїХ ъЅбубХ. й ¬«ЎСюЎ«ј ЯюСФС у »бјґФї Шйо ЅЇн«® ЭЅСјСЎФ ХУбЎСЎїґ Я«сСУЄїФ »«ЯЅСс«убФСЅэЎ«ЯФэ ЎТЅС® ї СсїЎїµ, їЎФСУ»УСФбµїґ ЄС ЭФ«® »«ЯЅСс«убФСЅэЎ«ЯФї ¬б¬ «нЫС¬Фб »«ЅЎ«ЯФэЇ єбуїЯїФ «Ф »У«ъУбјјїЯФб. й«»У«Я у Ф«ј, юСУСє ¬б¬їС "«ю¬ї" (ФУбхбУСФ, јбЯ¬Т) јЩ »«Яј«ФУїј Ўб ЭЅСјСЎФ ХУбЎСЎїґ. й ЭФ«ј ЯјЩЯЅС »«ЎґФїС бнЯФУб¬ФЎ«ъ« Фї»б у »У«ъУбјјїУ«убЎїї ї уЩ»«ЅЎґСФ У«Ѕэ Фб¬їХ «ю¬«у (ФУбхбУСФб, јбЯ¬ї). оЎ«ЄСЯФу« Фї»«у «»УСсСЅґСФ јЎ«ЄСЯФу« у«єј«ЄЎЩХ їЎФСУ»УСФбµї® «нЫС¬Фб. й ЭФ«ј »ЅбЎС у ґєЩ¬бХ 3-ъ« »«¬«ЅСЎїґ «ЯЎ«уЎЩј ґуЅґСФЯґ »«ЎґФїС Я«ујСЯФїј«ЯФї Фї»«у. оЩ УбЯЯјбФУїубСј суб бЯ»С¬Фб Фᬫ® Я«ујСЯФїј«ЯФї: Я«ујСЯФїј«ЯФэ »« »УСсЯФбуЅСЎїЇ (ХУбЎСЎїЇ) «нЫС¬Фб у »бјґФї Шйо ї Я«ујСЯФїј«ЯФэ Я«нЯФуСЎЎ« »« їЎФСУ»УСФбµїї. ж«ујСЯФїј«ЯФэ »УСсЯФбуЅСЎї® «»УСсСЅґСФЯґ УбєјСУбјї ЭЅСјСЎФ«у ХУбЎСЎїґ. мб»УїјСУ, СЯЅї «нЫС¬ФЩ Фї»б CARDINAL ХУбЎґФЯґ у «сЎ«ј јбЮїЎЎ«ј ЯЅ«уС (2 нб®Фб) ї «нЫС¬ФЩ Фї»б INTEGER ХУбЎґФЯґ у «сЎ«ј ЯЅ«уС, Ф« INTEGER ї CARDINAL Я«ујСЯФїјЩ »« »УСсЯФбуЅСЎїЇ (јСЄсТ Я«н«® ї Я јбЮїЎЎЩј Фї»«ј WORD). AЎбЅ«ъїюЎ« Я«ујСЯФїјЩ »« »УСсЯФбуЅСЎїЇ CHAR ї BYTE; WORD ї ARRAY [1..2] OF BYTE ї Ф.с. ж«ујСЯФїј«ЯФэ »« їЎФСУ»УСФбµїї «»УСсСЅґСФЯґ у«єј«ЄЎ«ЯФэЇ їЯ»«Ѕэє«убФэ «нЫС¬Ф «сЎ«ъ« ¬ЅбЯЯб у ¬бюСЯФуС «нЫС¬Фб сУТъ«ъ« ¬ЅбЯЯб. мб»УїјСУ, Ѕ«Є¬Т у ¬бюСЯФуС уїЅ¬ї. й »У«ъУбјјїУ«убЎїї Я«ујСЯФїј«ЯФэ »« їЎФСУ»УСФбµїї «нЩюЎ« ЯуґєЩубСФЯґ Я у«єј«ЄЎ«ЯФэЇ »УїЯубїубЎїґ «нЫС¬ФТ «сЎ«ъ« ¬ЅбЯЯб єЎбюСЎїґ «нЫС¬Фб сУТъ«ъ« ¬ЅбЯЯб ї ЎбєЩубСФЯґ Я«ујСЯФїј«ЯФэЇ »« »УїЯубїубЎїЇ. ЕУїјСУ Фᬫ® Я«ујСЯФїј«ЯФї:
VAR A: CARDINAL; B: INTEGER; BEGIN ... A:=B . ж«ујСЯФїј«ЯФэ »« »УїЯубїубЎїЇ «нЩюЎ« »«сУбєТјСубСФ Я«ујСЯФїј«ЯФэ »УСсЯФбуЅСЎї® «нЫС¬Ф«у. Е«ЎґФїС Я«ујСЯФїј«ЯФї Фї»«у ТЯЅ«уЎ« сСЅїФ ґєЩ¬ї »У«ъУбјјїУ«убЎїґ Ўб "ЯФУ«ъїС" ї "ЎСЯФУ«ъїС". й »СУу«® ъУТ»»С ґєЩ¬«у »УбуїЅ«ј ґуЅґСФЯґ ЎСу«єј«ЄЎ«ЯФэ »Уґј«ъ« їЯ»«Ѕэє«убЎїґ «нЫС¬Ф«у УбєЎЩХ ¬ЅбЯЯ«у у «сЎ«ј уЩУбЄСЎїї. Жб¬«С уЩУбЄСЎїС ЎС«нХ«сїј« ¬«ЎЯФУТїУ«убФэ Ўб «ЯЎ«уС Я»СµїбЅэЎЩЩХ хТЎ¬µї® »УС«нУбє«убЎїґ Фї»«у, »УїуСсСЎїґ Фї»«у ї Я»СµїбЅэЎЩХ јСФ«с«у Я«ујСЪСЎїґ Фї»«у. ЙбєТјССФЯґ, "ЯФѻѡэ ЯФУ«ъ«ЯФї" ґєЩ¬б - »«ЎґФїС уСЯэјб ТЯЅ«уЎ«С, ї у ЅЇн«® Съ« уСУЯїї ЯТЪСЯФуТЇФ їЯ¬ЅЇюСЎїґ їє ЭФ«ъ« »УбуїЅб. "мСЯФУ«ъїС" ґєЩ¬ї »УСсЯФбуЅґЇФ »У«ъУбјјїЯФТ »«ЅЎТЇ Яу«н«сТ у їЎФСУ»УСФбµїї «нЫС¬Ф«у: у «сЎ«ј уЩУбЄСЎїї ј«ЄЎ« "ЯјСЮїубФэ" бнЯ«ЅЇФЎ« УбєЅїюЎЩС «нЫС¬ФЩ, »Уї ЭФ«ј, УбєТјССФЯґ, "«ФуСФЯФуСЎЎ«ЯФэ" єб Ф«, ¬ юСјТ »УїуСсСФ Фб¬«С ЯјСЮСЎїС, »«ЅЎ«ЯФэЇ Ѕ«ЄїФЯґ Ўб »«Ѕэє«убФСЅґ. ДнЫС¬ФЎ«-«УїСЎФїУ«убЎЎЩ® ЯФїЅэ »У«ъУбјјїУ«убЎїґ нСєТЯЅ«уЎ« «ФсбСФ »УСс»«юФСЎїС "ЯФУ«ъ«јТ" ґєЩ¬Т Я УбєуїФЩјї ЯУСсЯФубјї ¬«ЎФУ«Ѕґ Я«ујСЯФїј«ЯФї Фї»«у, юФ« у «нЪСј ЯЅТюбС »«уЩЮбСФ ЎбсСЄЎ«ЯФэ Я«єсбубСјЩХ »У«ъУбјј, Х«Фґ ї с«ЯФбуЅґСФ Яу«їјї "ЯФУ«ъ«ЯФґјї" ЎС¬«Ф«УЩС ЎСТс«нЯФуб "«»ЩФЎЩј" »У«ъУбјјїЯФбј. цТЎ¬µїї »УС«нУбє«убЎїґ ї »УїуСсСЎїґ Фї»«у УСбЅїєТЇФ у«єј«ЄЎ«ЯФї Я«ујСЪСЎїґ »« »УїЯубїубЎїЇ. ЕУї ЭФ«ј јСХбЎїєјЩ Фᬫъ« Я«ујСЪСЎїґ сЅґ »УС«нУбє«убЎїґ ї »УїуСсСЎїґ «¬бєЩубЇФЯґ Я«уСУЮСЎЎ« УбєЅїюЎЩјї. ЕУїуСсСЎїС Фї»«у ЎС ЯуґєбЎ« Я ¬б¬їј-Ѕїн« »УС«нУбє«убЎїСј Я««ФуСФЯФуТЇЪСъ« єЎбюСЎїґ у ЭЅСјСЎФС ХУбЎСЎїґ. Жб¬«С єЎбюСЎїС »У«ЯФ« "»СУСу«сїФЯґ у сУТъ«® ¬ЅбЯЯ" - »УїЯубїубСФЯґ »СУСјСЎЎ«® сУТъ«ъ« Фї»б. дЅґ УСбЅїєбµїї »УїуСсСЎїґ Фї»б ЎС«нХ«сїјб Я«ујСЯФїј«ЯФэ »УСсЯФбуЅСЎї® Я««ФуСФЯФуТЇЪїХ ЭЅСјСЎФ«у. мб»УїјСУ:
VAR A: INTEGER; B: CARDINAL;
BEGIN A:=-3; B:= CARDINAL (A); ...
зсСЯэ CARDINAL() їЯ»«ЅэєТСФЯґ ¬б¬ їјґ хТЎ¬µїї »УїуСсСЎїґ єЎбюСЎїґ ¬ Фї»Т CARDINAL. й ¬бюСЯФуС Фб¬їХ їјСЎ ј«ъТФ їЯ»«Ѕэє«убФэЯґ ЎбїјСЎ«убЎїґ нбє«уЩХ јбЮїЎЎ«-«УїСЎФїУ«убЎЎЩХ Фї»«у. ЕУї їЯ»«Ѕэє«убЎїї хТЎ¬µї® »УїуСсСЎїґ Фї»«у »У«ъУбјјїЯФ с«ЅЄСЎ Х«У«Ю« єЎбФэ »УСсЯФбуЅСЎїС «нЫС¬Ф«у ї ТюїФЩубФэ уЯС "ЎС«ЄїсбЎЎ«ЯФї" їХ їЎФСУ»УСФбµїї у сУТъ«ј ¬ЅбЯЯС. (мб»УїјСУ, сЅґ ЭФ«ъ« »УїјСУб єЎб¬ "-", їє«нУбЄбСјЩ® СсїЎїµС® у 15-ј УбєУґсС ЭЅСјСЎФб ХУбЎСЎїґ A, сЅґ B нТсСФ їЎФСУ»УСФїУ«убФэЯґ ¬б¬ 215. ж««ФуСФЯФуСЎЎ« »«ЯЅС »УїуСсСЎїґ B = 215 + 21 + 20 = 32771). цб¬ФїюСЯ¬ї хТЎ¬µїї »УїуСсСЎїґ Фї»«у хТЎ¬µїґјї у »«ЅЎ«ј ЯјЩЯЅС ЎС ґуЅґЇФЯґ. кЯ»«Ѕэє«убЎїС ¬ЅЇюСуЩХ ЯЅ«у ґєЩ¬б (Фб¬їХ ¬б¬ CARDINAL, BOOLEAN, INTEGER ї Ф.с.), «»УСсСЅґЇЪїХ їјСЎб нбє«уЩХ Фї»«у, у ¬«ЎФС¬ЯФС BEGIN ... END ЎС«нХ«сїј« ФУбЎЯЅґФ«УТ Ф«Ѕэ¬« сЅґ ¬«ЎФУ«Ѕґ ¬«УУС¬ФЎ«ЯФї уЩУбЄСЎї®, Я«ЯФбуЅСЎЎЩХ їє «нЫС¬Ф«у УбєЅїюЎЩХ Фї»«у. ЕУС«нУбє«убЎїС Фї»«у у ЭФ«ј ЯјЩЯЅС - »«ЅЎбґ »У«Фїу«»«Ѕ«ЄЎ«ЯФэ »УїуСсСЎїЇ. ДЯЎ«уЎЩС сїУС¬ФїуЩ Фᬫъ« »УС«нУбє«убЎїґ (CHR, ORD, VAL, FLOAT, TRUNC) УСбЅїєТЇФЯґ уЯФУ«СЎЎЩјї »УСс«»УСсСЅСЎЎЩјї »У«µСсТУбјї. ж«ЯФбу Фб¬їХ хТЎ¬µї® ј«ЄСФ УбЯЮїУґФэЯґ єб ЯюСФ їЯ»«Ѕэє«убЎїґ Я»СµїбЅэЎЩХ нїнЅї«ФС¬. Жpї »СУуЩС хТЎ¬µїї »УС«нУбє«убЎїґ «ФЎ«ЯґФЯґ ¬ Убн«ФС Я »СУСюїЯЅїјЩјї Фї»бјї ї »«сУ«нЎ« «»їЯбЎЩ у Я««ФуСФЯФуТЇЪС® ЅїФСУбФТУС. зсСЯэ јЩ »«сюСУ¬ЎСј ЅїЮэ «сїЎ бЯ»С¬Ф їЯ»«Ѕэє«убЎїґ хТЎ¬µїї VAL. Е«Я¬«Ѕэ¬Т, ¬б¬ ТЄС «ФјСюбЅ«Яэ, н«ЅэЮїЎЯФу« нбє«уЩХ Фї»«у УСбЅїєТЇФЯґ у Шйо Ўб «ЯЎ«уС »СУСюїЯЅСЎїґ, VAL ј«ЄСФ Убн«ФбФэ Я Ўїјї ¬б¬ Я »СУСюїЯЅїјЩјї. ДнЪбґ ЯїЎФб¬ЯїюСЯ¬бґ ЯФУТ¬ФТУб уЩє«уб VAL »Уї ЭФ«ј їјССФ ЯЅСсТЇЪї® уїс:
:=
VAL (, ). й ¬бюСЯФуС Фї»б B ј«ЄСФ їЯ»«Ѕэє«убФэЯґ Ф«Ѕэ¬« нбє«уЩ® Фї», УСбЅїєТСјЩ® Ўб «ЯЎ«уС »СУСюїЯЅСЎїґ (ЅЇн«® Фї» ¬У«јС REAL ї Съ« "»У«їєу«сЎЩХ"). ДнЫС¬Ф«ј ¬ЅбЯЯб CARDINAL у ЭФ«® ЯФУТ¬ФТУС ј«ЄСФ нЩФэ ¬б¬ »СУСјСЎЎбґ, Фб¬ ї ¬«ЎЯФбЎФб. мб»УїјСУ, VAR c: CARDINAL; b: BYTE; i: INTEGER; ch: CHAR;
BEGIN ch := 'A'; c := 32771; i := INTEGER ( c ); (*1*)
i := VAL ( INTEGER, c ); (*2*) b := BYTE ( ch ); (*3*) b := VAL ( BYTE, ORD(ch) ); (*4*) b := VAL ( BYTE, c ); (*5*) и «сїЎб¬«уЩј Ѕї УСєТЅэФбФбј »УїуСсТФ «»СУбµїї (1) ї (2)? (3) ї (4)? и ¬б¬«јТ УСєТЅэФбФТ »УїуСсСФ «»СУбµїґ (5)? збјСФэФС, юФ« ЭФб «»СУбµїґ ЯуґєбЎб Я »УС«нУбє«убЎїСј єЎбюСЎїґ »СУСјСЎЎ«® їє ЯЅ«уб у нб®Ф »Уї «ФЯТФЯФуїї Я«ујСЯФїј«ЯФї »УСсЯФбуЅСЎї®. цТЎ¬µїї FLOAT ї TRUNC »УСсЎбєЎбюСЎЩ сЅґ УСбЅїєбµїї "»СУСХ«с«у" «Ф бУїхјСФї¬ї µСЅЩХ ¬ бУїхјСФї¬С сС®ЯФуїФСЅэЎЩХ юїЯСЅ ї Ўб«н«У«Ф. ДЎї »«сУ«нЎ« «»їЯбЎЩ у ТюСнЎї¬бХ »« »У«ъУбјјїУ«убЎїЇ. йЯС Т¬бєбФСЅї Я«ујСЯФїјЩ »« »УСсЯФбуЅСЎїЇ, «нСЯ»СюСЎїС Я«ујСЯФїј«ЯФї »« »УїЯубїубЎїЇ ЯуґєбЎ« Я їЯ»«Ѕэє«убЎїСј хТЎ¬µїї »УїуСсСЎїґ ADDRESS. жФѻѡэ "ЯФУ«ъ«ЯФї" »УбуїЅ Я«ујСЯФїј«ЯФї Т¬бєбФСЅС® убУэїУТСФЯґ сбЄС у УбєЎЩХ уСУЯїґХ «сЎ«ъ« ї Ф«ъ« ЄС ґєЩ¬б. ДсЎїј їє »У«ґуЅСЎї® ¬«ЎµС»µїї »«Ѕїј«Ухїєјб у ґєЩ¬бХ »У«ъУбјјїУ«убЎїґ ФУСФэСъ« »«¬«ЅСЎїґ ґуЅґСФЯґ »«ґуЅСЎїС бъУСъбФїуЎЩХ ЯФУТ¬ФТУ, їєуСЯФЎЩХ »«с ЎбєубЎїСј "єб»їЯї Я убУїбЎФбјї" (єб»їЯї Я "ФЭъбјї", єб»їЯї »СУСјСЎЎ«® ЯФУТ¬ФТУЩ). й Фб¬їС ЯФУТ¬ФТУЩ уу«сґФЯґ Я»СµїбЅэЎЩС уЩсСЅґЇЪїС (уЩнїУбЇЪїС) Яу«®ЯФуб, «»УСсСЅґЇЪїС їЎФСУ»УСФбµїЇ «нЫС¬Фб. мб»УїјСУ, «нЫС¬Ф ¬ЅбЯЯб "жФТсСЎФ" ј«ЄСФ ХбУб¬ФСУїє«убФэЯґ ЯЅСсТЇЪїјї Яу«®ЯФубјї: - ТЯ»СубСј«ЯФэЇ, - »УїЎбсЅСЄЎ«ЯФэЇ ¬ ъУТ»»С, - хбјїЅїС®, - УбєјСУ«ј »«ЅТюбСј«® ЯФї»СЎсїї. ЖУї »СУуЩХ Яу«®ЯФуб »УїЯТЪї ЅЇн«јТ ЯФТсСЎФТ, б »«ЯЅСсЎСС Ф«Ѕэ¬« ТЯ»СубЇЪСјТ. мСТЯ»СубЇЪї® ЄС ЯФТсСЎФ ј«ЄСФ ХбУб¬ФСУїє«убФэЯґ «Я«нЩј Яу«®ЯФу«ј: Ўб»УїјСУ, ґуЅґСФЯґ Ѕї «Ў ¬бЎсїсбФ«ј Ўб «ФюїЯЅСЎїС їЅї »«¬б ЎСФ. Жб¬їј «нУбє«ј, ТЯ»СубСј«ЯФэ ЯФТсСЎФб «ФЎ«ЯїФЯґ ¬ ¬бФСъ«Уїї уЩсСЅґЇЪїХ Яу«®ЯФу: єЎбюСЎїС ЭФ«ъ« Яу«®ЯФуб уЩсСЅґСФ ЎСТЯ»СубЇЪїХ ЯФТсСЎФ«у, ХбУб¬ФСУїєТСјЩХ ЎбЅїюїСј с«»«ЅЎїФСЅэЎЩХ ¬бюСЯФу, ЎС Яу«®ЯФуСЎЎЩХ ТЯ»СубЇЪїј. ЕУї ЭФ«ј "фЯ»СубЇЪї® ЯФТсСЎФ" ї "мСТЯ»СубЇЪї® ЯФТсСЎФ" нТсТФ ХбУб¬ФСУїє«убФэЯґ УбєЎЩјї ЯФУТ¬ФТУбјї «нЫС¬Ф«у: TYPE фЯ»СубСј«ЯФэ = ( ДФЅ, т«У, фс, мСТс ); фЯ»СубЇЪї®_жФТсСЎФ = RECORD
FAM : цбјїЅїґ;
GR : м«јСУ_вУТ»»Щ;
SB : фЯ»СубСј«ЯФэ;
ST : REAL; (* ЙбєјСУ ЯФї»СЎсїї *)
END;
мСТЯ»СубЇЪї®_жФТсСЎФ = RECORD
FAM : цбјїЅїґ;
GR : м«јСУ_вУТ»»Щ;
SB : фЯ»СубСј«ЯФэ; ибЎсїсбФ_мб_ДФюїЯЅСЎїС : ( дб, мСФ )
END.
мСФУТсЎ« єбјСФїФэ, юФ« у ЭФїХ ЯФУТ¬ФТУбХ СЯФэ «нЪїС юбЯФї, б «ФЅїюїґ ЯуґєбЎЩ Ф«Ѕэ¬« Я »«ЯЅСсЎїј ¬бюСЯФу«ј (бФpїнТФ«ј, »«ЅСј). йЩЎ«Яґ уЩсСЅґЇЪСС Яу«®ЯФу« SB у »«ЅС убУїбЎФб, јЩ Я¬«ЎЯФУТїУТСј ЯФУТ¬ФТУТ «нЫС¬Фб у уїсС єб»їЯї Я убУїбЎФбјї:
TYPE жФТсСЎФ = RECORD
FAM : цбјїЅїґ;
GR : м«јСУ_вУТ»»Щ;
CASE SB : фЯ»СубСј«ЯФэ OF мСТс : ибЎсїсбФ_мб_ДФюїЯЅСЎїС : ( дб, мСФ ) |
ДФЅ, т«У, фс : ST : REAL
END
END. зЎбюСЎїС »СУСюїЯЅїј«ъ« Фї»б фЯ»СубСј«ЯФэ у ЭФ«ј »УїјСУС «»УСсСЅґСФ їЎФСУ»УСФбµїЇ «нЫС¬Фб Ѕїн« ¬б¬ ТЯ»СубЇЪСъ«, Ѕїн« ¬б¬ ЎСТЯ»СубЇЪСъ« ЯФТсСЎФб. Жб¬їј «нpбє«ј »«Ѕїј«pхїєј ЯФpТ¬ФТpЩ єб»їЯї Я убpїбЎФбјї єб¬ЅЇюбСФЯґ у у«єј«ЄЎ«ЯФї СС їЎФСp»pСФбµїї Ўб бЅэФСpЎбФїуЎ«® «ЯЎ«уС. й ЭФ«® Яуґєї у«єЎї¬бСФ у«»У«Я « Я»Сµїхї¬бµїї »УСсЯФбуЅСЎїґ ЯФУТ¬ФТУЩ жФТсСЎФ. ДЎб Я«сСУЄїФ »«ЯФ«ґЎЎТЇ юбЯФэ
TSIZE (цбјїЅїґ) + SIZE (GR) + TSIZE (фЯ»СубСј«ЯФэ) ї »СУСјСЎЎТЇ (Ўбн«p бЅэФСpЎбФїу), УбєјСУ ¬«Ф«У«® «»УСсСЅґСФЯґ єЎбюСЎїСј SB. пїн« ЭФ« нб®Ф (у ЯЅТюбС SB = мСТс)
SIZE (ибЎсїсбФ_мб_ДФюїЯЅСЎїС) = 1; , Ѕїн« су«®Ў«С ЯЅ«у« (у ЯЅТюбС SB # мСТс) SIZE(ST)=4. иᬫ® ЄС УбєјСУ »бјґФї уЩсСЅїФ ФУбЎЯЅґФ«У »«с ЭЅСјСЎФ ХУбЎСЎїґ «нЫС¬Фб "жФТсСЎФ"? асїЎЯФуСЎЎ«С УСЮСЎїС - јб¬ЯїјбЅэЎ« у«єј«ЄЎЩ®, ¬«Ф«УЩ® ј«ЄСФ »«ФУСн«убФэЯґ сЅґ ХУбЎСЎїґ сбЎЎЩХ ЯФТсСЎФб. Е«Я¬«Ѕэ¬Т TSIZE (фЯ»СубЇЪї®_жФТсСЎФ) > TSIZE (мСТЯ»СубЇЪї®_жФТсСЎФ), ФУбЎЯЅґФ«У уЩсСЅїФ »бјґФэ, с«ЯФбФ«юЎТЇ сЅґ ХУбЎСЎїґ сбЎЎЩХ «н ТЯ»СубЇЪСј ЯФТсСЎФС. аЯЅї ЄС Фᬫ® ЯФТсСЎФ »СУС®сСФ у УбєУґс ЎСТЯ»СубЇЪїХ, Ф«Ф ЄС ЭЅСјСЎФ ХУбЎСЎїґ нТсСФ їЎФСУ»УСФїУ«убФэЯґ у Я««ФуСФЯФуїї Я «ФЎ«ЮСЎїСј уЩсСЅСЎїґ SB=мСТс. ЕУї ЭФ«ј їє юСФЩpСХ нб®Ф, уЩсСЅСЎЎЩХ ФУбЎЯЅґФ«У«ј »«с ST у УбЯюСФС Ўб ТЯ»СубЇЪСъ« ЯФТсСЎФб, Фpї »«ЯЅСсЎїХ »У«ЯФ« ЎС нТсТФ їЯ»«Ѕэє«убФэЯґ, б »СУуЩ® нб®Ф нТсСФ їЎФСУ»УСФїУ«убФэЯґ ¬б¬ Я«ХУбЎґЇЪї® єЎбюСЎїС Яу«®ЯФуб ибЎсїсбФ_мб_ДФюїЯЅСЎїС. збјСФїј, юФ« уЩсСЅґЇЪїС Яу«®ЯФуб, Т»УбуЅґЇЪїС уЩн«У«ј уїсб їЎФСУ»УСФбµїї, ј«ъТФ ї ЎС їјСЎ«убФэЯґ. й Фб¬їХ ЯЅТюбґХ уїс бЅэФСpЎбФїуЎ«® їЎФСp»pСФбµїї «»pСсСЅґСФЯґ ЎС уЩсСЅґЇЪїј Яу«®ЯФу«ј, б хб¬ФїюСЯ¬їј їЯ»«Ѕэє«убЎїСј їјСЎї »«Ѕґ »pї «нpбЪСЎїї ¬ «нЫС¬ФТ. мб»pїјСp: TYPE жФТсСЎФ = RECORD
FAM : цбјїЅїґ; GR : м«јСУ_вУТ»»Щ;
CASE : фЯ»СубСј«ЯФэ OF мСТс : ибЎсїсбФ_мб_ДФюїЯЅСЎїС : ( дб, мСФ ) |
ДФЅ, т«У, фс : ST : REAL
END
END. ЕТЯФэ VAR V: жФТсСЎФ. Еpї ЭФ«ј у ЭЅСјСЎФС ХpбЎСЎїґ сЅґ V уЩсСЅґЇЪСС »«ЅС у««нЪС «ФЯТФЯФуТСФ, »«ЯФ«ґЎЎбґ юбЯФэ їјССФ pбєјСp TSIZE(цбјїЅїґ)+SIZE(GR), б бЅэФСpЎбФїуЎбґ їјССФ pбєјСp max {SIZE(ибЎсїсбФ_мб_ДФюїЯЅСЎїС), SIZE(ST)}. ДнpбЪСЎїС ¬ «нЫС¬ФТ юСpСє ¬убЅїсСЎФ V.ибЎсїсбФ_мб_ДФюїЯЅСЎїС »pїуСсСФ ¬ їЎФСp»pСФбµїї бЅэФСpЎбФїуЎ«® юбЯФї у Я««ФуСФЯФуїї Я »СpСюїЯЅїјЩј Фї»«ј (дб, мСФ), б «нpбЪСЎїС V.ST - ¬ їЎФСp»pСФбµїї Ф«® ЄС юбЯФї у Я««ФуСФЯФуїї Я Фї»«ј REAL. збјСФїј, юФ« Фб¬бґ бЅэФСpЎбФїуЎбґ їЎФСp»pСФбµїґ ј«ЄСФ «¬бєбФэЯґ уСЯэјб "ЎСТЯФ«®юїу«®", ЯуґєбЎЎ«® Я у«єј«ЄЎ«ЯФґјї у«єЎї¬Ў«уСЎїґ с«»«ЅЎїФСЅэЎЩХ «Юїн«¬. мбЅїюїС у ЯФpТ¬ФТpС убpїбЎФЎ«® юбЯФї »«ЯЅСсЎСъ« »pїјСpб сС¬Ѕбpбµї® Фї»б уЩсСЅґЇЪСъ« Яу«®ЯФуб (фЯ»СубСј«ЯФэ), б Фб¬ЄС ¬«ЎЯФбЎФ ЭФ«ъ« Фї»б (мСТс,ДФЅ,т«У,фс), ЯФp«ъ« ъ«у«pґ, «нТЯЅ«уЅСЎ« Ф«Ѕэ¬« «сЎїј «нЯФ«ґФСЅэЯФу«ј: ЯФpСјЅСЎїСј Я«ХpбЎїФэ «нЪТЇ ЯїЎФб¬ЯїюСЯ¬ТЇ ЯФpТ¬ФТpТ єб»їЯї Я убpїбЎФбјї. й ЯјЩЯЅС ¬«ppС¬ФЎ«® їЎФСp»pСФбµїї ЭФї сС¬Ѕбpбµїї ЎС їјСЇФ Ўї¬б¬«ъ« єЎбюСЎїґ - уСсэ »p«уСpїФэ єЎбюСЎїС ЎСЯТЪСЯФуТЇЪСъ« уЩсСЅґЇЪСъ« Яу«®ЯФуб ЎСу«єј«ЄЎ«! й «нЪСј ЯЅТюбС ЎСєбуїЯїј« «Ф Ф«ъ«, їјСЎТСФЯґ »«ЅС ФЭъб їЅї ЎСФ, єб»їЯї Я убУїбЎФбјї «ъУбЎїюїубЇФ Ўбн«p у«єј«ЄЎЩХ уїс«у їЎФСУ»УСФбµїї «нЫС¬Ф«у Ўб бЅэФСpЎбФїуЎ«® «ЯЎ«уС. й ЭФ«ј ї Я«ЯФ«їФ pСъЅбјСЎФїpТЇЪбґ p«Ѕэ ЭФїХ ЯФpТ¬ФТp у »«Ѕїј«pхЎ«® бЅэФСpЎбФїуЎ«® їЎФСp»pСФбµїї «нЫС¬Ф«у. мбЅїюїС «нЪїХ юбЯФС® у ЯФУТ¬ФТУбХ УбЯЯј«ФУСЎЎ«ъ« »УїјСУб фЯ»СубЇЪї®_жФТсСЎФ ї мСТЯ»СубЇЪї®_жФТсСЎФ ґуЅґСФЯґ уСЯэјб ХбУб¬ФСУЎЩј сЅґ »У«ъУбјјїУ«убЎїґ. й ЭФ«ј ЯјЩЯЅС єб»їЯї Я убУїбЎФбјї ј«ЄЎ« УбЯЯјбФУїубФэ ¬б¬ х«УјТ Ѕб¬«ЎїюЎ«ъ« «»їЯбЎїґ Фї»«у, »«єу«ЅґЇЪТЇ їєнбуїФэЯґ «Ф »«уФ«У«у у «»їЯбЎїї Яу«®ЯФу «нЫС¬Ф«у. й «нЫС¬ФЎ«-«УїСЎФїУ«убЎЎЩХ ґєЩ¬бХ ЯТЪСЯФуТСФ с«»«ЅЎїФСЅэЎбґ у«єј«ЄЎ«ЯФэ Фᬫ® Ѕб¬«Ўїєбµїї, «»УСсСЅґЇЪбґ »«Ѕїј«УхЎТЇ їЎФСУ»УСФбµїЇ «нЫС¬Ф«у ЎС Ўб бЅэФСpЎбФїуЎ«® «ЯЎ«уС, б Ўб «ЯЎ«уС pбЯЮїpСЎїґ Яу«®ЯФу. ШФб у«єј«ЄЎ«ЯФэ ЯуґєбЎб Я јСХбЎїєј«ј ЎбЯЅСс«убЎїґ Яу«®ЯФу. оСХбЎїєј ЎбЯЅСс«убЎїґ »«єу«ЅґСФ Ѕб¬«ЎїюЎ« «»їЯбФэ УбєЅїюЎЩС ¬ЅбЯЯЩ «нЫС¬Ф«у »ТФСј уЩсСЅСЎїґ їХ «нЪїХ Яу«®ЯФу. Жб¬«С уЩсСЅСЎїС »У«у«сїФЯґ Ўб «ЯЎ«уС «ФЎ«ЮСЎїґ "«нЪСъ« ¬ юбЯФЎ«јТ" - «н«нЪСЎїґ. Дн«нЪСЎїС ј«ЄСФ нЩФэ «»УСсСЅСЎ« х«УјбЅэЎ« Ўб «ЯЎ«уС «ФЎ«ЮСЎїґ у¬ЅЇюСЎїґ »«сјЎ«ЄСЯФу у јЎ«ЄСЯФу«. ЕТЯФэ З - ¬ЅбЯЯ «нЫС¬Ф«у Я їјјбЎСЎФЎЩјї Яу«®ЯФубјї Й(A): A = {a/P(A)}, a B = {b/P(B)}. аЯЅї P(A) IN P(B) (P(A) ґуЅґСФЯґ »«сјЎ«ЄСЯФу«ј P(B), IN - «ФЎ«ЮСЎїС у¬ЅЇюСЎїґ), Ф« З "«н«нЪбСФ" й (A*>B, "*>" - «ФЎ«ЮСЎїС «н«нЪСЎїґ). й «ФЎ«ЮСЎїї (З*>B) З ґуЅґСФЯґ Ўбс¬ЅбЯЯ«ј, й - »«с¬ЅбЯЯ«ј, »Уї ЭФ«ј ЅЇн«® «нЫС¬Ф ¬ЅбЯЯб й ХбУб¬ФСУїєТСФЯґ ЎбЯЅСсТСјЩјї Яу«®ЯФубјї P(A) ї »Уї«нУСФСЎЎЩјї P(B)-P(A). мб»УїјСУ, ЅЇн«® буФ«ј«нїЅэ «нЅбсбСФ Яу«®ЯФубјї ФУбЎЯ»«УФЎ«ъ« ЯУСсЯФуб ї їјССФ ЎС¬«Ф«УЩС «Я«нСЎЎЩС "буФ«ј«нїЅэЎЩС" Яу«®ЯФуб, ¬«Ф«УЩјї ЎС «нЅбсбСФ Фб¬«С ФУбЎЯ»«УФЎ«С ЯУСсЯФу«, ¬б¬, Ўб»pїјСp, Ѕ«с¬б. й ЭФ«ј ЯјЩЯЅС
ЖУбЎЯ»«УФЎ«С_жУСсЯФу« *> ЗуФ«ј«нїЅэ, п«с¬б. ЕУїюСј Й(ЗуФ«ј«нїЅэ)^P(п«с¬б) = P(ЖУбЎЯ»«УФЎ«С_жУСсЯФу«). (зсСЯэ Яїју«Ѕ "^" їЯ»«ЅэєТСФЯґ ¬б¬ "»СУСЯСюСЎїС јЎ«ЄСЯФу"). иЅбЯЯ, ¬«Ф«УЩ® ЎС «н«нЪбСФЯґ Ўї¬б¬їј сУТъїј, ЎбєЩубСФЯґ Уґс«уЩј ¬ЅбЯЯ«ј. мб «ЯЎ«уС »СУСЯСюСЎїґ јЎ«ЄСЯФу їјјбЎСЎФЎЩХ Яу«®ЯФу ¬ЅбЯЯ«у ј«ъТФ нЩФэ »«ЯФУ«СЎЩ јСЄ¬ЅбЯЯ«уЩС «ФЎ«ЮСЎїґ СсїЎїюЎ«ъ« ЎбЯЅСс«убЎїґ, у ¬«Ф«УЩХ ЅЇн«® ¬ЅбЯЯ ЎС»«ЯУСсЯФуСЎЎ« «н«нЪбСФЯґ ЅїЮэ «сїЎ сУТъїј. мб»УїјСУ,
ЖУбЎЯ»«УФЎ«С_жУСсЯФу«
*
|
+------------------+---------------------+
| |
|ЗуФ«ј«нїЅэ |п«с¬б
+-----*-----+ +-----*-----+
| | | |
| | | |
* * * * вУТє«уї¬ пСъ¬«у«® ьб®сбУ¬б fЅ буФ«ј«нїЅэ
|
|
|
* жбј«ЯубЅ
жСјбЎФї¬б «н«нЪСЎїґ ¬б¬ «ФЎ«ЮСЎїґ «нЪСъ« ¬ юбЯФЎ«јТ ї ЯФУСјЅСЎїС »«уЩЯїФэ Ѕб¬«ЎїюЎ«ЯФэ «»їЯбЎїґ ¬ЅбЯЯ«у Ўб «ЯЎ«уС СсїЎїюЎ«ъ« ЎбЯЅСс«убЎїґ ЎС уЯСъсб "уЩъЅґсґФ" бсС¬убФЎ«. мб»УїјСУ,
TYPE фєСЅ = RECORD
A: ь«ЅФ; B: вᮬб;
END; . ц«УјбЅэЎ« сЅґ ЭФ«ъ« »УїјСУб ј«ЄЎ« «»УСсСЅїФэ «н«нЪСЎїС: ь«ЅФ *>фєСЅ (вᮬб *> фєСЅ), «сЎб¬« їЎФТїФїуЎ« ь«ЅФ ЎС у«Я»УїЎїјбСФЯґ ¬б¬ ¬бФСъ«Уїґ «нЪСъ« »« «ФЎ«ЮСЎїЇ ¬ фєЅТ. пЇн«® «нЫС¬Ф, ¬«ЎЯФУТїУТСјЩ® Ўб «ЯЎ«уС «ФЎ«ЮСЎїґ «н«нЪСЎїґ, »УСсЯФбуЅґСФЯґ ЯФУТ¬ФТУ«® ЯФУбФїхїµїУ«убЎЎ«ъ« (УбЯЯЅ«СЎЎ«ъ«) бъУСъбФб. ЕУїюСј ¬бЄсЩ® ЯЅ«® (ЯФУбФб) у Фᬫ® ЯФУТ¬ФТУС »УСсЎбєЎбюСЎ сЅґ уЩ»«ЅЎСЎїґ У«Ѕї ЭЅСјСЎФб ХУбЎСЎїґ Яу«®ЯФу Я««ФуСФЯФуТЇЪСъ« Ўбс¬ЅбЯЯб с« У«с«у«ъ« у¬ЅЇюїФСЅэЎ«. мб»УїјСУ, ЅЇн«® «нЫС¬Ф ¬ЅбЯЯб "fЅ" (Яј. ЯХСјТ уЩЮС) нТсСФ «»УСсСЅґФэЯґ ЯФУТ¬ФТУ«®:
TYPE жФУТ¬ФТУб fЅб = RECORD
З: ЖУбЎЯ»«УФЎ«С_жУСсЯФу«; й: п«с¬б; ж: fЅ;
END; . кЎФСУ»УСФбµїґ fЅб ¬б¬ ФУбЎЯ»«УФЎ«ъ« ЯУСсЯФуб ЯуґєбЎб Ф«Ѕэ¬« Я їЯ»«Ѕэє«убЎїСј ЯЅ«ґ З у ЭЅСјСЎФС ХУбЎСЎїґ. кЎФСУ»УСФбµїґ fЅб ¬б¬ Ѕ«с¬ї - Я їЯ»«Ѕэє«убЎїСј суТХ ЯЅ«Су: З ї й, ї, Ўб¬«ЎСµ, їЎФСУ»УСФбµїґ fЅб ¬б¬ «Я«н«ъ« уїсб Ѕ«с¬ї ЯуґєбЎб Я їЯ»«Ѕэє«убЎїСј уЯСХ ФУСХ ЯЅ«Су: З,й,ж. дС¬ЅбУбµїґ уїсб "жФУТ¬ФТУб_fЅб" у «нЫС¬ФЎ«-«УїСЎФїУ«убЎЎ«ј ґєЩ¬С єбјСЎґСФЯґ «ФЎ«ЮСЎїСј fЅ цУбъјСЎФ, єбЎґФЩ®
| | | »«с «нЫС¬Ф о1^
+-------------------+ |
| | |
+-------------------+ -+-+
| | |
+-------------------+ |
| | > жу«н«сЎЩ® хУбъјСЎФ, УбЎСС
+-------------------+ | їЯ»«Ѕэє«убЎЎЩ® »«с
| | | «нЫС¬Ф Ж2^
+-------------------+ -+
кЅЅЇЯФУбµїґ »«ЯФУ«СЎб сЅґ ј«јСЎФб «нУбн«Ф¬ї єб»У«Яб NEW(M2). й ЭФ«Ф ј«јСЎФ уУСјСЎї у сїЎбјїюСЯ¬«® »бјґФї їјСЇФЯґ суб Яу«н«сЎЩХ хУбъјСЎФб «нЪїј «нЫСј«ј ЮСЯФэ ЯЅ«у, ¬«Ф«УЩХ с«ЯФбФ«юЎ« сЅґ уЩ»«ЅЎСЎїґ єб»У«Яб Ўб уЩсСЅСЎїС ЭЅСјСЎФб ХУбЎСЎїґ »«с «нЫС¬Ф о2^ (Ф.С. сЅґ «нЫС¬Фб, Ўб ¬«Ф«pЩ® нТсСФ Т¬бєЩубФэ M2), «сЎб¬« хУбъјСЎФбµїґ ЎС »«єу«ЅґСФ ЯїЯФСјС уЩсСЅїФэ »бјґФэ »«с «нЫС¬Ф о2^. жїЯФСјб Т»УбуЅСЎїґ сїЎбјїюСЯ¬«® »бјґФэЇ уСсСФ Я»СµїбЅэЎЩ® Я»їЯ«¬ Яу«н«сЎЩХ хpбъјСЎФ«у - »ТЅ »бјґФї. ЕУї у«єуУбЪСЎїї ¬б¬«ъ«-Ѕїн« ЭЅСјСЎФб ХУбЎСЎїґ, їЯ»«ЅэєТСј«ъ« у »Уї¬ЅбсЎ«® »У«ъУбјјС, у »ТЅ Яу«н«сЎ«® »бјґФї ј«ЄСФ нЩФэ УСбЅїє«убЎ« "Я¬ЅСїубЎїС" Я«ЯСсЎїХ Яу«н«сЎЩХ хpбъјСЎФ«у у «сїЎ хpбъјСЎФ н«ЅэЮСъ« «нЫСјб. мб»УїјСУ, СЯЅї у »УСсЩсТЪС® »У«ъУбјјС їєјСЎїФэ »«ЯЅСс«убФСЅэЎ«ЯФэ «нУбЪСЎї® ¬ сїЎбјїюСЯ¬«® »бјґФї Ўб »УїуСсСЎЎТЇ ЎїЄС, Ф« «»їЯбЎЎ«ъ« уЩЮС «Ф¬бєб »« »бјґФї ЎС »У«їє«®сСФ:
BEGIN NEW(T1);...NEW(T2);...NEW(M1);...
DISPOSE(T1);...DISPOSE(T2);... NEW(M2);...
зсСЯэ »Уї «нУбн«Ф¬С єб»У«Яб NEW(M2) у »ТЅС сїЎбјїюСЯ¬«® »бјґФї нТсСФ ЎбХ«сїФэЯґ «сїЎ Яу«н«сЎЩ® хУбъјСЎФ «нЫСјб ЮСЯФэ ЯЅ«у, «нУбє«убЎЎЩ® "Я¬ЅСїубЎїСј" ЭЅСјСЎФ«у Ж1^ ї T2^, уЩ»«ЅЎСЎЎЩј »Уї «нУбн«Ф¬С єб»У«Яб DISPOSE(T2). й «нЪСј ЯЅТюбС у«»У«ЯЩ ЭххС¬ФїуЎ«® УСбЅїєбµїї Т»УбуЅСЎїґ сїЎбјїюСЯ¬«® »бјґФэЇ, «нСЯ»СюїубЇЪС® јїЎїјТј «Ф¬бє«у »Уї «ъУбЎїюСЎЎ«ј «нЫСјС, Я«ЯФбуЅґЇФ «ФсСЅэЎТЇ »У«нЅСјТ. зсСЯэ јЩ Ф«Ѕэ¬« єбјСФїј, юФ« Я «УъбЎїєбµїС® уЩсСЅСЎїґ "»СУу«ъ« »«сХ«сґЪСъ«" хУбъјСЎФб »бјґФї у »У«ъУбјјїУ«убЎїї ЯуґєЩубЇФ Фб¬їС ФСУјїЎЩ ¬б¬ "Хї»" їЅї "¬Тюб", «ФЎ«ЯґЪїСЯґ Я¬«УСС ¬ »У«хСЯЯї«ЎбЅэЎ«јТ ЄбУъ«ЎТ, юСј ¬ ЎбТюЎ«-јСФ«сїюСЯ¬«® ФСУјїЎ«Ѕ«ъїї. ЖСј ЎС јСЎСС ЭФї ФСУјїЎЩ с«у«ЅэЎ« «нУбєЎ« ХбУб¬ФСУїєТЇФ »УїЎµї»Щ «УъбЎїєбµїї сїЎбјїюСЯ¬«® »бјґФї. ДУъбЎїєбµїґ ¬«УУС¬ФЎ«® »«ЯЅСс«убФСЅэЎ«ЯФї єб»У«Я«у ЯуґєбЎб, ¬У«јС Ф«ъ«, ¬б¬ јїЎїјТј СЪС Я суТјґ »У«нЅСјбјї. мб Ф«ј ЄС ЄбУъ«ЎС їХ ЎбєЩубЇФ »У«нЅСјЩ "уїЯґюїХ ЯЯЩЅ«¬" ї "јТЯ«Уб", б «»УСсСЅґЇФ «Ўї суС ЯФ«У«ЎЩ «сЎ«® ї Ф«® ЄС «Юїн¬ї, єб¬ЅЇюбЇЪС®Яґ у ЎС¬«УУС¬ФЎ«® Убн«ФС Я Т¬бєбФСЅґјї. жЅСсТЇЪї® хУбъјСЎФ »У«ъУбјјЩ їЅЅЇЯФУїУТСФ у«єЎї¬Ў«уСЎїС Фб¬їХ «Юїн«¬ (Фї» "ЖУСТъ«ЅэЎї¬" «»їЯбЎ уЩЮС).
VAR T1, T2:ЖУСТъ«ЅэЎї¬;
BEGIN NEW(T1);...T2:=T1;...
DISPOSE(T1); (* T2-"уїЯґюбґ ЯЯЩЅ¬б" *)
............
NEW(T1);...NEW(T2);...
T1:=T2; (* ДЯФбЅЯґ "јТЯ«У" *)
кє ЭФ«ъ« »УїјСУб »«ЎґФЎ«, юФ« "уїЯґюбґ ЯЯЩЅ¬б" - ЭФ« Т¬бєбФСЅэ »Уї¬ЅбсЎ«® »У«ъУбјјЩ, Т¬бєЩубЇЪї® Ўб Яу«н«сЎЩ® хУбъјСЎФ сїЎбјїюСЯ¬«® »бјґФї. Е«Я¬«Ѕэ¬Т ЭФ«Ф хУбъјСЎФ ј«ЄСФ нЩФэ уЩсСЅСЎ ЯїЯФСј«® »« ¬б¬«јТ-Ѕїн« єб»У«ЯТ сУТъ«® »Уї¬ЅбсЎ«® »У«ъУбјјС, Ж2 ј«ЄСФ «Ф¬УЩФэ с«ЯФТ» ¬ "юТЄїј" сбЎЎЩј ї "УбєУСЮїФэ" їХ їЎФСУ»УСФбµїЇ ¬б¬ ФУСТъ«ЅэЎї¬б. Е«ЯЅСсЯФуїґ Фᬫ® їЎФСУ»УСФбµїї у «нЪСј ЯЅТюбС ЎС»УСсЯ¬бєТСјЩ. збјСФїј, юФ« "уїЯґюбґ" ЯЯЩЅ¬б ї "»ТЯФбґ" ЯЯЩЅ¬б (їјСЇЪбґ єЎбюСЎїС NIL, Яј. pбєс.III) ґуЅґЇФЯґ Я«уСУЮСЎЎ« УбєЎЩјї »«ЎґФїґјї. "оТЯ«У" - ЭФ« єбЎґФЩ® хУбъјСЎФ сїЎбјїюСЯ¬«® »бјґФї, ¬ ¬«Ф«У«јТ у »Уї¬ЅбсЎ«® »У«ъУбјјС »«ФСУґЎ с«ЯФТ». й »УїуСсСЎЎ«ј »УїјСУС јТЯ«У«ј «¬бєбЅЯґ ЯФбУЩ® ФУСТъ«ЅэЎї¬ Ж1^, Ўб ¬«Ф«УЩ® Т¬бєЩубЅ Ж1 с« »СУСсуїЄ¬ї (ТЯФбЎ«у¬ї Ўб Ж2). ШФ«Ф јТЯ«У ЎСТЯФУбЎїј: »У«ъУбјјїЯФ ЎС їјССФ ¬ ЎСјТ с«ЯФТ»б, б ЯїЯФСјб Т»УбуЅСЎїґ "ЯюїФбСФ" јТЯ«У єбЎґФЩј хУбъјСЎФ«ј »бјґФї. ДнЫСсїЎґСФ ЭФї суб уїсб «Юїн«¬ «сЎ« «нЪСС «нЯФ«ґФСЅэЯФу«: «Ўї ЎС «нЎбУТЄїубЇФЯґ їЯ»«ЅЎїФСЅэЎ«® ЯУСс«®. ксСЎФїхїµїУ«убФэ »«с«нЎЩС «Юїн¬ї ј«ЄЎ« Ф«Ѕэ¬« »ТФСј ФЪбФСЅэЎ«® »У«уСУ¬ї ї «ФЅбс¬ї »У«ъУбјјЩ. к, Ўб¬«ЎСµ, »« Яу«їј у«єј«ЄЎЩј уЅїґЎїґј Ўб Убн«ФТ »У«ъУбјјЩ јТЯ«У ъ«Убєс« "нСє«нїсЎСС" уїЯґюС® ЯЯЩЅ¬ї. ДЎ хб¬ФїюСЯ¬ї »Уїу«сїФ Ф«Ѕэ¬« ¬ ТуСЅїюСЎЎ«јТ УбЯХ«сТ »бјґФї, у Ф« уУСјґ ¬б¬ уїЯґюбґ ЯЯЩЅ¬б Я»«Я«нЎб »Уї «»УСсСЅСЎЎЩХ ТЯЅ«уїґХ »«ЅЎ«ЯФэЇ »бУбЅїє«убФэ »У«µСЯЯ уЩ»«ЅЎСЎїґ »У«ъУбјјЩ. й ЯЅ«ЄЎЩХ ЯїЯФСјбХ "µСЎб" уїЯґюС® ЯЯЩЅ¬ї ј«ЄСФ «¬бєбФэЯґ «юСЎэ уЩЯ«¬«®. кЯ»«Ѕэє«убЎїС буФ«јбФїюСЯ¬«® »бјґФї ЯуґєбЎ« Я Я«єсбЎїСј / ТЎїюФ«ЄСЎїСј Я»СµїбЅэЎЩХ ЭЅСјСЎФ«у ХУбЎСЎїґ, ЯуґєбЎЎЩХ Я б¬ФїуЎЩјї «нЫС¬Фбјї - сС®ЯФуїґјї їЅї »У«µСсТУбјї. пЇнбґ »У«µСсТУб ФpСнТСФ сЅґ уЩ»«ЅЎСЎїґ Я«нЯФуСЎЎ«® їЎсїуїсТбЅэЎ«® Ѕ«¬бЅэЎ«® ЯУСсЩ. Е«с«нЎТЇ ЯУСсТ «нУбєТЇФ Ѕ«¬бЅэЎЩС »СУСјСЎЎЩС, «нЫґуЅСЎЎЩС у »У«µСсТУС, х«УјбЅэЎЩС »бУбјСФУЩ, ЭЅСјСЎФ ХУбЎСЎїґ бсУСЯб у«єуУбФб у »У«µСсТУТ, Ф.С. Ўбн«У «нЫС¬Ф«у, «нСЯ»СюїубЇЪїХ уЩ»«ЅЎСЎїС сС®ЯФуї®, ЯуґєбЎЎЩХ Я »У«µСсТУ«®. мС«нХ«сїј«ЯФэ у Ѕ«¬бЅэЎ«® ЯУСсС у«єЎї¬бСФ Ф«Ѕэ¬« у ј«јСЎФ уЩє«уб »У«µСсТУЩ - ј«јСЎФ їЎФСУ»УСФбµїї «нЫС¬Фб »У«µСсТУЎ«ъ« Фї»б. Е«ЯЅС єбуСУЮСЎїґ Фᬫ® їЎФСУ»УСФбµїї ЎС«нХ«сїј«ЯФэ у Ѕ«¬бЅэЎ«® ЯУСсС їЯюСєбСФ. Жб¬їј «нУбє«ј, уУСјґ ЄїєЎї Ѕ«¬бЅэЎ«® ЯУСсЩ «ъУбЎїюїубСФЯґ уУСјСЎСј «ФУбн«Ф¬ї »У«ъУбјјЩ, у ¬«Ф«У«® «Ўб «»їЯбЎб. ж««ФуСФЯФуСЎЎ« єб»У«Я Ўб Я«єсбЎїС Ѕ«¬бЅэЎ«® ЯУСсЩ ЯуґєбЎ Я уЩє«у«ј »У«µСсТУЩ, б єб»У«Я Ўб ТЎїюФ«ЄСЎїС - Я «¬«ЎюбЎїСј хбєЩ б¬ФїуЎ«ЯФї «нЫС¬Фб («»СУбФ«У RETURN їЅї END у ФСЅС »У«µСсТУЩ). мб»УїјСУ:
VAR W1, W2: PROC;
PROCEDURE Йбн«Фб_1;
VAR A: INTEGER;... BEGIN... W2;...
END Йбн«Фб_1;
PROCEDURE Йбн«Фб_2;
VAR A: INTEGER;... BEGIN... W2;...
END Йбн«Фб_2;
BEGIN... W1:=Йбн«Фб_1;... W2:=Йбн«Фб_2;... W1;...
й ЭФ«ј хУбъјСЎФС «»їЯбЎЩ суб б¬ФїуЎЩХ «нЫС¬Фб »У«µСсТУЎ«ъ« Фї»б PROC = PROCEDURE(): W1 ї W2 ї суС »У«µСсТУЩ нСє »бУбјСФУ«у: Йбн«Фб_1 ї Йбн«Фб_2, ¬«Ф«УЩС ј«ъТФ їЯ»«Ѕэє«убФэЯґ ¬б¬ ¬«ЎЯФбЎФЩ Фї»б PROC. кЎФСУ»УСФбµїґ (б¬Фїуїєбµїґ) W1 »УїуСсСФ ¬ уЩє«уТ Йбн«ФЩ_1 ї Я«єсбЎїЇ Ѕ«¬бЅэЎ«® ЯУСсЩ (Я«сСУЄбЪС® »СУСјСЎЎТЇ З). й »У«µСЯЯС уЩ»«ЅЎСЎїґ Йбн«ФЩ_1 »У«їєу«сїФЯґ б¬Фїуїєбµїґ «нЫС¬Фб W2 ї Я««ФуСФЯФуСЎЎ« Я«єсбЎїС Ѕ«¬бЅэЎ«® ЯУСсЩ сЅґ Йбн«ФЩ_2. й ЅЇн«® ФС¬ТЪї® ј«јСЎФ уУСјСЎї у ЯїЯФСјС ј«ъТФ нЩФэ б¬ФїуЎЩ ЎСЯ¬«Ѕэ¬« «нЫС¬Ф«у. (й ЭФ«ј »УїјСУС б¬Фїуїєбµїґ W1 »Уїу«сїФ ¬ б¬Фїуїєбµїї W2, єбФСј «Ўї «нб «ЯФбЇФЯґ у б¬ФїуЎ«ј Я«ЯФ«ґЎїї ї єбФСј ФСУґЇФ Яу«Ї б¬ФїуЎ«ЯФэ у «нУбФЎ«® »«ЯЅСс«убФСЅэЎ«ЯФї: ЯЎбюбЅб »бЯЯїуїУТСФЯґ W2, єбФСј W1). Е«ЯЅСс«убФСЅэЎ«ЯФэ б¬Фїубµїї ї »бЯЯїубµїї ЯуґєбЎб Я уЅ«ЄСЎЎ«ЯФэЇ уЩє«у«у »У«µСсТУ, Я««ФуСФЯФуСЎЎ« Т»УбуЅСЎїС буФ«јбФїюСЯ¬«® »бјґФэЇ «ЯЎ«уЩубСФЯґ Ўб їЯ»«Ѕэє«убЎїї ЯФС¬б - ЯФУТ¬ФТУЩ, »«ссСУЄїубЇЪС® Фб¬ТЇ уЅ«ЄСЎЎ«ЯФэ. мїЄС сЅґ ЭФ«ъ« хУбъјСЎФб »УїуСсСЎб їЅЅЇЯФУбµїґ УбЯ»УСсСЅСЎїґ буФ«јбФїюСЯ¬«® »бјґФї, ЯТЪСЯФуТЇЪСъ« у ФСюСЎїС Я«ујСЯФЎ«® б¬ФїуЎ«ЯФї «нЫС¬Ф«у W1 ї W2.
+- +-------------------+ -+
| | ЕСУСјСЎЎбґ З | |
| +-------------------+ > 﫬бЅэЎбґ ЯУСсб
| | ЗсУСЯ у«єуУбФб | | сЅґ W1 збЎґФ«С »У«ЯФ- УбЎЯФу« | | ЕСУСјСЎЎбґ З | |
| +-------------------+ > 﫬бЅэЎбґ ЯУСсб
| | ЗсУСЯ у«єуУбФб | | сЅґ W2 йСУЮїЎб --> +- |-------------------+ -+
ЯФС¬б | | | буФ«јбФїюСЯ¬«® | | |
»бјґФї | | | жу«н«сЎ«С
| | > »У«ЯФУбЎЯФу«
ЕбЯЯїубµїґ | | | »бјґФї
| ^ | | |
| | | | |
| | | | | v | +-------------------+ -+ З¬Фїубµїґ ЕУї б¬Фїубµїї ¬бЄс«ъ« Ў«у«ъ« «нЫС¬Фб уСУЮїЎб ЯФС¬б "«»ТЯ¬бСФЯґ уЎїє" Ўб уСЅїюїЎТ, «»УСсСЅґСјТЇ УбєјСУбјї Ѕ«¬бЅэЎ«® ЯУСсЩ ЭФ«ъ« «нЫС¬Фб,- »Уї Съ« »бЯЯїубµїї уСУЮїЎб ЯФС¬б "»«сЎїјбСФЯґ ууСУХ". ж їЯ»«Ѕэє«убЎїСј буФ«јбФїюСЯ¬«® »бјґФї ЯуґєбЎЩ суС «ЯЎ«уЎЩС »У«нЅСјЩ: УС¬ТУЯїї ї јЎ«ЄСЯФуСЎЎ«ЯФї бЯЯ«µїбµї®. ЙС¬ТУЯїґ - јСХбЎїєј, »«єу«ЅґЇЪї® «нЫС¬ФТ Я«уСУЮбФэ Ябј«б¬Фїубµ-їЇ. мб»УїјСУ, »« ЯХСјС:
W1-->W1 (»Уґјбґ УС¬ТУЯїґ) їЅї W1-->W2 ...-->W1 (¬«ЯуСЎЎбґ УС¬ТУЯїґ).
ЕУґјбґ УС¬ТУЯїґ ЯуґєбЎб Я ЎС»«ЯУСсЯФуСЎЎ«® »«уФ«УЎ«® (уЅ«ЄСЎЎ«®) б¬ФїубµїС®, б ¬«ЯуСЎЎбґ - Я «»«ЯУСс«убЎЎ«® (»УїюСј юїЯЅ« »«ЯУСсЎї¬«у у ЯХСјС W1-->...-->W1 ј«ЄСФ нЩФэ »У«їєу«ЅэЎЩј). кЯ»«Ѕэє«убЎїС УС¬ТУЯїї Ўб»УґјТЇ ЯуґєбЎ« Я УбєјСУбјї Убн«юСъ« »У«ЯФУбЎЯФуб буФ«јбФїюСЯ¬«® »бјґФї. кЯ»«Ѕэє«убЎїС УС¬ТУЯїуЎЩХ б¬Фїубµї® «нЫС¬Ф«у, Я «сЎ«® ЯФ«У«ЎЩ, »«єу«ЅґСФ їјСФэ «юСЎэ Ѕб¬«ЎїюЎЩС ї Сј¬їС »« Я«сСУЄбЎїЇ »У«ъУбјјЩ, Я сУТъ«® ЯФ«У«ЎЩ, у УС¬ТУЯїуЎЩХ ЯХСјбХ («Я«нСЎЎ« у ¬«ЯуСЎЎ«® УС¬ТУЯїї) у«єУбЯФбСФ уСУ«ґФЎ«ЯФэ »«ґуЅСЎїґ ФУТсЎ« їсСЎФїхїµїУТСјЩХ «Юїн«¬. оЎ«ЄСЯФуСЎЎ«ЯФэ бЯЯ«µїбµї® єб¬ЅЇюбСФЯґ у Ф«ј, юФ« у ¬ЅбЯЯС буФ«јбФїюСЯ¬«® »бјґФї ј«ъТФ нЩФэ «сЎ«уУСјСЎЎ« УбєјСЪСЎЩ ЎСЯ¬«Ѕэ¬« «сЎ«їјСЎЎЩХ «нЫС¬Ф«у, їјСЇЪїХ у «нЪСј ЯЅТюбС УбєЅїюЎЩС єЎбюСЎїґ ї «ФЎ«ЯґЪїСЯґ ¬ УбєЎЩј б¬ФїуЎ«ЯФґј «сЎ«ъ« ї Ф«ъ« ЄС їЅї «»ґФэ-Фб¬ї УбєЎЩХ «нЫС¬Ф«у. й »УїуСсСЎЎ«ј »УїјСУС ЯТЪСЯФуТЇФ суб «сЎ«їјСЎЎЩХ «нЫС¬Фб: »СУСјСЎЎбґ З, ЯуґєбЎЎбґ (бЯЯ«µїїУ«убЎЎбґ) Я б¬ФїуЎ«ЯФэЇ W1, ї »СУСјСЎЎбґ З, бЯЯ«µїїУ«убЎЎбґ Я б¬ФїуЎ«ЯФэЇ «нЫС¬Фб W2. й Я««ФуСФЯФуїї Я »УїЎµї»«ј ЯФС¬б ЯїЯФСјб Т»pбуЅСЎїґ буФ«јбФїюСЯ¬«® »бјґФэЇ уЯСъсб pбЯЯјбФpїубСФ у ¬бюСЯФуС б¬ФїуЎ«® »«ЯЅСсЎЇЇ Я«єсбЎЎТЇ бЯЯ«µїбµїЇ (ЯбјТЇ "нЅїЄЎЇЇ" ¬ уСУЮїЎС ЯФС¬б буФ«јбФїюСЯ¬«® »бјґФї). й«єЎї¬Ў«уСЎїС јЎ«ЄСЯФуСЎЎ«ЯФї бЯЯ«µїбµї® «нТЯЅ«уЅСЎ« Ф«Ѕэ¬« їЯ»«Ѕэє«убЎїСј у »Уї¬ЅбсЎЩХ »У«ъУбјјбХ «сЎ«їјСЎЎЩХ »СУСјСЎЎЩХ Я УбєЅїюЎ«® «нЅбЯФэЇ сС®ЯФуїґ («нЅбЯФэЇ уїсїј«ЯФї). аЯЅї ТЄ їЯ»«Ѕэє«убЎїС Фб¬їХ »СУСјСЎЎЩХ ї ґуЅґСФЯґ ЎС«нХ«сїјЩј (у юСј уЯСъсб ЯФ«їФ ТЯ«јЎїФэЯґ), Ф« »Уї їХ їЎФСУ»УСФбµїї ЯЅСсТСФ »«јЎїФэ « јЎ«ЄСЯФуСЎЎ«ЯФї бЯЯ«µїбµї®.


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.