Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Turbo Pascal 5.0 / TPROFDOC / CH1
.TXT ‚‚…„…Ќ€…
‘Ёб⥬ Turbo Profiler дЁа¬л Borland - нв® Є Є а § в®, 祣®
Ґ еў в Ґв ў ‚ 襬 Їа®жҐбᥠᮧ¤ Ёп Їа®Ја ¬¬®Ј® ®ЎҐбЇҐзҐЁп.
…б«Ё ў и Їа®Ја ¬¬ 㦥 ¤Ґ« Ґв в®, зв® ‚ ¬ вॡгҐвбп, в® бЁб⥬
Turbo Profiler Ї®¬®¦Ґв ‚ ¬ Ї®ўлбЁвм ҐҐ бЄ®а®бвм Ё нд䥪⨢®бвм.
€в Є, зв® ¦Ґ Ё§ бҐЎп ЇаҐ¤бв ў«пҐв Їа®дЁ«Ёа®ўйЁЄ? Џа®дЁ«Ёа®ў-
йЁЄЁ ( §лў Ґ¬лҐ в Є¦Ґ «Ё§ в®а ¬Ё Їа®жҐбб ўлЇ®«ҐЁп Їа®-
Ја ¬¬) - нв® Їа®Ја ¬¬лҐ б।бвў , Ї®§ў®«пойЁҐ Ї®«гзЁвм ап¤ Є®«Ё-
зҐб⢥ле ¤ ле ® Їа®жҐбᥠўлЇ®«ҐЁп ‚ 襩 Їа®Ја ¬¬л Ё ®б-
®ў ЁЁ нвЁе ¤ ле ўлпўЁвм ў Ґ© "г§ЄЁҐ ¬Ґбв ", ®ваЁж ⥫м®
бЄ §лў ойЁҐбп нд䥪⨢®бвЁ ҐҐ а Ў®вл. Џа®дЁ«Ёа®ўйЁЄ Ї®§ў®«пҐв
Ї®«гзЁвм б«Ґ¤гойго Ёд®а¬ жЁо ® Їа®жҐбᥠўлЇ®«ҐЁп Їа®Ја ¬¬л:
* Є Є Ё зв® а б室гҐвбп ўаҐ¬п а Ў®вл Їа®Ја ¬¬л;
* бЄ®«мЄ® а § ўлЇ®«пҐвбп ¤ п бва®Є Їа®Ја ¬¬л;
* бЄ®«мЄ® а § Ё Є ЄЁ¬Ё ¬®¤г«п¬Ё ўл§лў Ґвбп ¤ л© ¬®¤г«м Їа®-
Ја ¬¬л;
* Є Є ЄЁ¬ д ©« ¬ ®Ўа й Ґвбп ў и Їа®Ја ¬¬ Ё бЄ®«мЄ® ўаҐ¬ҐЁ
® нв® ва вЁв.
Џа®дЁ«Ёа®ўйЁЄЁ в Є ¦Ґ б®ЎЁа ов Ёд®а¬ жЁо ® ЁбЇ®«м§®ў ЁЁ
ЄаЁвЁзҐбЄЁе аҐбгаб®ў Є®¬ЇмовҐа , Є Є®в®ал¬ ®в®бпвбп:
* Їа®жҐбб®а®Ґ ўаҐ¬п;
* ®Ўа йҐЁп Є ¤ЁбЄг;
* ўў®¤ б Є« ўЁ вгал;
* ўлў®¤ ЇҐз вм;
* ЁбЇ®«м§®ў ЁҐ ЇаҐалў Ё©.
‘Ёб⥬ Turbo Profiler Є®ва®«ЁагҐв Є ¦¤л© и Ј ўлЇ®«ҐЁп
Їа®Ја ¬¬л Ё ЇаҐ¤®бв ў«пҐв Ї®¤а®ЎлҐ бв вЁбвЁзҐбЄЁҐ ᢥ¤ҐЁп ®
ўбҐе нв Ї е ҐҐ а Ў®вл, зв® Ї®§ў®«пҐв ‚ ¬ ¤®ў®¤Ёвм ‚ иЁ Їа®Ја ¬¬л
¤® б®ўҐаиҐбвў . ЋЎ ¦ п ўгв२© ¬Ґе Ё§¬ а Ў®вл Їа®Ја ¬¬л Ё
ўбЄалў п бгй®бвм ЁЎ®«ҐҐ б«®¦ле ®ЇҐа жЁ© (зв® ¤®бвЁЈ Ґвбп §
бзҐв иЁа®ЄЁе ў®§¬®¦®б⥩ Їа®дЁ«Ёа®ўйЁЄ зЁ п ®в Ї®¤бзҐв ўаҐ-
¬ҐЁ Ё Є®«ЁзҐбвў ўлЇ®«ҐЁ© ®ЇҐа в®а®ў Ё § Є зЁў п Є®ва®«Ґ¬ §
ўл§®ў ¬Ё ЇаҐалў Ё© Ё ®Ўа 饨ﬨ Є д ©« ¬), бЁб⥬ Turbo
Profiler Ї®¬®Ј Ґв ‚ ¬ ®ви«Ёд®ў вм ў и Є®¤ Ё 㢥«ЁзЁвм ЎлбвதҐ©-
бвўЁҐ ‚ иЁе Їа®Ја ¬¬.
‘Ёб⥬ Turbo Profiler ЇаҐў®б室Ёв ¤агЈЁҐ Ё¬ҐойЁҐбп алЄҐ
Їа®дЁ«Ёа®ўйЁЄЁ Є Є Ї® ¬®й®бвЁ, в Є Ё Ї® Їа®бв®вҐ ЁбЇ®«м§®ў Ёп,
Ё е а ЄвҐаЁ§гҐвбп б«Ґ¤гойЁ¬Ё ®б®ўл¬Ё зҐав ¬Ё:
* Џа®дЁ«Ёа®ў ЁҐ ў ЁвҐа ЄвЁў®¬ ०Ё¬Ґ, ®ЎҐбЇҐзЁў о饥 Ўлбв-
஥ ўлпў«ҐЁҐ ҐЇа®Ё§ў®¤ЁвҐ«мле гз бвЄ®ў Їа®Ја ¬¬л.
* Џа®дЁ«Ёа®ў ЁҐ Їа®Ја ¬¬ «оЎ®Ј® а §¬Ґа , ўлЇ®«пойЁебп Ї®¤
гЇа ў«ҐЁҐ¬ DOS.
* Џа®дЁ«Ёа®ў ЁҐ Їа®Ја ¬¬, ЇЁб ле п§лЄ е Turbo Pascal,
Turbo C++, Turbo C Ё Turbo Assembler, в Є ¦Ґ Їа®Ја ¬¬,
бЄ®¬ЇЁ«Ёа®ў ле б Ї®¬®ймо Microsoft C Ё MASM.
* “¤®Ўл© Ё Їа®бв®© ¬®Ј®®Є®л© ЁвҐа䥩б б ЇҐаҐЄалў ойЁ¬Ёбп
®Є ¬Ё, ў®§¬®¦®бвмо ЁбЇ®«м§®ў Ёп ¬лиЁ Ё Є®вҐЄбв®-§ ўЁбЁ-
¬®© Ї®¬®ймо.
* Џ®¤бзҐв ўаҐ¬ҐЁ ўлЇ®«ҐЁп Ё Є®«ЁзҐбвў ўл§®ў®ў Є Є ¤«п Ї®¤-
Їа®Ја ¬¬, в Є Ё ¤«п ®в¤Ґ«мле ®ЇҐа в®а®ў.
* Ћвб«Ґ¦Ёў ЁҐ ўбҐе Їг⥩ ўл§®ў ¤«п Є ¦¤®© Ї®¤Їа®Ја ¬¬л.
* Ђ «Ё§ з бв®вл ўл§®ў Ї®¤Їа®Ја ¬¬л б Їа®б¬®в஬ Ї®«®Ј® бвҐ-
Є ўл§®ў ¤«п Є ¦¤®Ј® б«гз п.
* Љ®ва®«м а Ў®вл б д ©« ¬Ё DOS, ®бгйҐбвў«пҐ¬л© ў ®ЄҐ Files
(” ©«л) Ё ўЄ«оз ойЁ© ў ᥡп гзҐв ®Ўа 饨© Є д ©« ¬ Ё ўаҐ¬Ґ-
Ё, § ва 祮Ј® ®вЄалвЁҐ, § ЄалвЁҐ, з⥨Ґ Ё § ЇЁбм д ©-
«®ў. „«п Є ¦¤®Ј® д ©« Ї®¤бзЁвлў Ґвбп зЁб«® Ў ©в, § ЇЁб ле
ў д ©« Ё Їа®зЁв ле Ё§ ҐЈ®.
* ‚®§¬®¦®бвм ўлЎ®а®з®Ј® Є®ва®«п а Ў®вл Їа®Ја ¬¬л б ЇаҐалў -
Ёп¬Ё. Љ®ва®«м ўбҐе ЇаҐалў Ё© ®в ўЁ¤Ґ® ¤ ЇвҐа®ў, Є« ўЁ вг-
ал, ¤ЁбЄ®ў®¤®ў, ¬лиЁ, в Є ¦Ґ Ґбв ¤ авле ЇаҐалў Ё©. ‚Ґ-
¤ҐЁҐ Ї®«®Ј® Їа®в®Є®« Ё«Ё Їа®бв® гзҐв з бв®вл ®Ўа 饨п.
‚Ґ¤ҐЁҐ бЇЁбЄ ўл§®ў®ў ЇаҐалў Ё©, ў Є®в®а®¬ ®Ё ®Ў®§ зҐл
бЁ¬ў®«ЁзҐбЄЁ¬Ё Ё¬Ґ ¬Ё, зв® Ї®§ў®«пҐв Ўлбва® ©вЁ 㦮Ґ
ЇаҐалў ЁҐ.
* Џ®¤¤Ґа¦Є Ї®«®© ва ббЁа®ўЄЁ ®ўҐа«ҐҐў ¤«п п§лЄ®ў Turbo
Pascal Ё Turbo ‘.
* Џа®дЁ«Ёа®ў ЁҐ ўЁавг «м®© ¬ иЁҐ ў бЁб⥬Ґ б 386 Їа®жҐб-
б®а®¬ Ґ § Ё¬ Ґв ®ЇҐа вЁўго Ї ¬пвм, Ї®«®бвмо ®в¤ ў п ҐҐ ў
а бЇ®а殮ЁҐ ‚ 襩 Їа®Ја ¬¬л.
* Џ®¤¤Ґа¦Є г¤ «Ґ®Ј® Їа®дЁ«Ёа®ў Ёп.
* Џ®¤¤Ґа¦Є а Ў®вл б Їа®Ја ¬¬ ¬Ё, ЇЁб л¬Ё п§лЄ е ‘ Ё
бᥬЎ«Ґа, д®а¬ в ЁбЇ®«Ё¬ле д ©«®ў Є®в®але б®ў¬ҐбвЁ¬л Ї®
бў®Ґ¬г д®а¬ вг б бЁб⥬®© Codeview.
* Џа®дЁ«Ёа®ў ЁҐ «оЎ®© Їа®Ја ¬¬л, Ї®«г祮© ў १г«мв ⥠а -
Ў®вл «оЎ®Ј® Є®¬ЇЁ«пв®а , Ґб«Ё ® б®Їа®ў®¦¤ Ґвбп бв ¤ авл¬
MAP-д ©«®¬ ў д®а¬ ⥠Microsoft.
ђҐ «Ё§гп ў®§¬®¦®бвЁ, ®вбгвбвўгойЁҐ ў ®ЇвЁ¬Ё§ в®а е, Turbo
Profiler ўлпў«пҐв гз бвЄЁ Їа®Ја ¬¬л ўлЇ®«ҐЁҐ Є®в®але § ва -
зЁў Ґвбп Ў®«м讥 Є®«ЁзҐбвў® ўаҐ¬ҐЁ, Ї®Є §лў п ⥬ б ¬л¬ ў Є Є®¬
¬Ґб⥠Ґ®Ўе®¤Ё¬® ўҐбвЁ г«гзиҐЁп Ё«Ё Ё§¬ҐЁвм «Ј®аЁв¬ а Ў®вл.
Ћв«ЁзЁҐ Їа®дЁ«Ёа®ў Ёп ®в ®ЇвЁ¬Ё§ жЁЁ
ЋЇвЁ¬Ё§ в®а ¤Ґ« Ґв а Ў®вг Їа®Ја ¬¬л Ў®«ҐҐ Ўлбва®© § бзҐв
§ ¬Ґл ¤®«Ј® а Ў®в ойЁе Є®¬ ¤ нЄўЁў «ҐвлҐ, ® вॡгойЁҐ
¬ҐмиЁе § ва ⠢६ҐЁ. Ќ® ®ЇвЁ¬Ё§ жЁп Ґ ¬®¦Ґв § зЁвҐ«м® Ї®-
¬®зм ў б«гз Ґ, Є®Ј¤ Їа®Ја ¬¬ Ґнд䥪⨢ Ї® бў®Ґ© бгвЁ.
Џа®дЁ«Ёа®ўйЁЄ Ї®¬®Ј Ґв ‚ ¬ ®Ў аг¦Ёвм Ё¬ҐҐҐ нд䥪⨢лҐ
гз бвЄЁ ў 襣® Є®¤ Ё Ї®пвм Є ЄЁҐ, Ё§ «Ј®аЁв¬®ў 㦤 овбп ў ¬®-
¤ЁдЁЄ жЁЁ Ё«Ё Ї®«®© ЇҐаҐа Ў®вЄҐ. €бб«Ґ¤®ў Ёп Ї®Є §лў ов, зв®
ЁЎ®«миЁ© нд䥪в, ЇаЁ Ї®ЇлвЄҐ г«гзиЁвм а Ў®зЁҐ е а ЄвҐаЁбвЁЄЁ
Їа®Ја ¬¬л, ¤®бвЁЈ Ґвбп ᪮॥ § бзҐв Ё§¬ҐҐЁп «Ј®аЁв¬®ў Ё
бвагЄвга ¤ ле, 祬 § бзҐв ®ЇвЁ¬Ё§ жЁЁ ҐЎ®«миЁе гз бвЄ®ў Є®¤ ,
Ї®«г祮Ј® ў १г«мв ⥠Є®¬ЇЁ«пжЁЁ. Џлв вмбп ©вЁ ў ‚ 襩 Їа®-
Ја ¬¬Ґ ЄаЁвЁзҐбЄЁҐ (ў б¬лб«Ґ Їа®Ё§ў®¤ЁвҐ«м®бвЁ) ¬Ґбв Ґ Ї®«м§г-
пбм ЇаЁ н⮬ Їа®дЁ«Ёа®ўйЁЄ®¬.- нв® ўбҐ а ў®, зв® Їлв вмбп ©вЁ
ў Ґ© ®иЁЎЄЁ ЎҐ§ Ї®¬®йЁ ®в« ¤зЁЄ . Turbo Profiler нЄ®®¬Ёв Є Є
ў иҐ ўаҐ¬п, в Є Ё ‚ иЁ гбЁ«Ёп.
“‘‹Ћ‚€џ ђЂЃЋ’›
Turbo Profiler а Ў®в Ґв Є®¬ЇмовҐа е ᥬҐ©бвў IBM PC,
ўЄ«оз п XT, AT, PS/2 Ё ўбҐ Ї®«®бвмо IBM-б®ў¬ҐбвЁ¬лҐ Є®¬ЇмовҐал.
„«п ҐЈ® а Ў®вл вॡгҐвбп ®ЇҐа жЁ® п бЁб⥬ DOS ўҐабЁЁ 2.0 Ё«Ё
Ў®«ҐҐ ўлб®Є®©, в Є ¦Ґ Ґ ¬ҐҐҐ 384Љ ®ЇҐа вЁў®© Ї ¬пвЁ Ё «оЎ®©
¤ЁбЇ«Ґ©, бва®Є Є®в®а®Ј® ᮤҐа¦Ёв 80 бЁ¬ў®«®ў. Њл ४®¬Ґ¤гҐ¬
Ї®«м§®ў вмбп ¦ҐбвЄЁ¬ ¤ЁбЄ®¬, е®вп ў®§¬®¦ а Ў®в Є®¬ЇмовҐаҐ,
Ё¬Ґо饬 ¤ў ¤ЁбЄ®ў®¤ ¤«п ЈЁЎЄЁе ¤ЁбЄ®ў. Њ ⥬ вЁзҐбЄЁ© б®Їа®жҐб-
б®а 80x87 ¤«п а Ў®вл.бЁб⥬л Turbo Profiler Ґ вॡгҐвбп.
“‘’ЂЌЋ‚ЉЂ ‘€‘’…Њ› TURBO PROFILER
„«п в®Ј®, зв®Ўл гбв ®ўЁвм Turbo Profiler ‚ 襩 ўлзЁб«Ё-
⥫쮩 бЁб⥬Ґ, Ґ®Ўе®¤Ё¬® § ЇгбвЁвм Ёбв ««пжЁ®го Їа®Ја ¬¬г
INSTALL.EXE, 室пйгобп ‚ иЁе ¤ЁбваЁЎгвЁўле ¤ЁбЄҐв е. ќв
Їа®Ја ¬¬ ўв®¬ вЁзҐбЄЁ бЄ®ЇЁагҐв д ©«л б ¤ЁбваЁЎгвЁўле ¤ЁбЄҐв
ў и ¦ҐбвЄЁ© ¤ЁбЄ. „«п нв®Ј® 㦮 в®«мЄ® ўбв ўЁвм Ёбв ««пжЁ-
®го ¤ЁбЄҐвг ў ¤ЁбЄ®ў®¤ Ђ, Ўа вм Є« ўЁ вгॠA:INSTALL, Ё
¦ вм Є« ўЁиг ENTER. ‡ ⥬ Ґ®Ўе®¤Ё¬® б«Ґ¤®ў вм ЁбвагЄжЁп¬, Є®-
в®алҐ Ї®пўпвбп ‚ 襬 нЄа Ґ.
„ЁбваЁЎгвЁўлҐ ¤ЁбЄҐвл ®вд®а¬ вЁа®ў л Є Є ¤ўгебв®а®ЁҐ б
¤ў®©®© Ї«®в®бвмо Ё ¬®Јгв Ўлвм Їа®зЁв л Є®¬ЇмовҐа е ᥬҐ©бв-
ў IBM PC Ё б®ў¬ҐбвЁ¬ле б Ё¬Ё. ЏҐаҐзҐм д ©«®ў, 室пйЁебп
‚ иЁе ¤ЁбваЁЎгвЁўле ¤ЁбЄҐв е 室Ёвбп ў д ©«Ґ README Ёбв «-
«пжЁ®®© ¤ЁбЄҐвҐ.
” ©« README
ЏҐаҐ¤ ⥬, Є Є з вм а Ў®вг б бЁб⥬®© Turbo Profiler, ®§-
Є®¬мвҐбм б ᮤҐа¦Ё¬л¬ д ©« README, Є®в®ал© е®¤Ёвбп Ёб-
в ««пжЁ®®© ¤ЁбЄҐвҐ. ќв®в д ©« ᮤҐа¦Ёв б ¬лҐ Ї®б«Ґ¤ЁҐ ᢥ¤Ґ-
Ёп, Є®в®алҐ ¬®Јгв ®вбгвбвў®ў вм ў ¤ ®¬ агЄ®ў®¤б⢥. ’ Є¦Ґ ®
ўЄ«оз Ґв ў бҐЎп ЇҐаҐзҐм ўбҐе д ©«®ў, 室пйЁебп ¤ЁбваЁЎгвЁў-
ле ¤ЁбЄҐв е б Єа вЄЁ¬ ®ЇЁб ЁҐ¬ Є ¦¤®Ј® Ё§ Ёе.
„«п в®Ј®, зв®Ўл Їа®б¬®ваҐвм д ©« README, ўбв ўм⥠Ёбв ««п-
жЁ®го ¤ЁбЄҐвг ў ¤ЁбЄ®ў®¤ Ђ, ЇҐаҐЄ«озЁвҐбм а Ў®вг б ¤ЁбЄ®ў®-
¤®¬ Ђ; ¤«п нв®Ј® Ґ®Ўе®¤Ё¬® Ўа вм Є« ўЁ вгॠЂ: Ё ¦ вм
Є« ўЁиг ENTER, § ⥬ Ўа вм README Ё ҐйҐ а § ¦ вм Є« ўЁиг
ENTER. …б«Ё ‚л 室ЁвҐбм ў д ©«Ґ README, в® ‚л ¬®¦ҐвҐ ЇҐаҐ¬Ґ-
й вмбп Ї® ⥪бвг ЇаЁ Ї®¬®йЁ Є« ўЁи "бв५Є -ўўҐае" Ё "бв५Є -
ўЁ§", ¤«п ®Є®з Ёп Їа®б¬®ва д ©« ¦ вм Є« ўЁиг ESC.
ЉђЂ’ЉЋ… ‘Ћ„…ђ†ЂЌ€…
"‚ўҐ¤ҐЁҐ" ¤ Ґв ®ЎйҐҐ ЇаҐ¤бв ў«ҐЁҐ ® ⮬, зв® в Є®Ґ Їа®дЁ-
«Ёа®ў ЁҐ, ®ЇЁблў Ґв ®б®ўлҐ е а ЄвҐаЁбвЁЄЁ бЁб⥬л Turbo
Profiler, Ё Ј®в®ўЁв ‚ б Є § ЇгбЄг бЁб⥬л Turbo Profiler ‚ 襬
Є®¬ЇмовҐаҐ.
ѓ« ў 1, "ЏаЁ¬Ґа а Ў®вл б Їа®дЁ«Ёа®ўйЁЄ®¬", нв® г祡 п Ј« -
ў ў Є®в®а®© ®ЇЁб (вЁЇЁзл© Ё ў в® ¦Ґ ўаҐ¬п ¤®бв в®з® Їа®бв®©)
ᥠб а Ў®вл б Їа®дЁ«Ёа®ўйЁЄ®¬. ќв Ј« ў зЁ Ґвбп б Ї®«г票п
Їа®дЁ«п Їа®Ја ¬¬л, Ї®§ў®«по饣® Ї®пвм, зв® Їа®Ёб室Ёв ў® ўаҐ¬п
ҐҐ ўлЇ®«ҐЁп, § ⥬ Ї®б«Ґ¤®ў вҐ«м® Їа®ў®¤Ёв ‚ б зҐаҐ§ ЁвҐаЇаҐ-
в жЁо Ї®«г祮Ј® Їа®дЁ«п Їа®Ја ¬¬л, ¬®¤ЁдЁЄ жЁо Ё б®ўҐаиҐбвў®-
ў ЁҐ Їа®Ја ¬¬л ®б®ўҐ «Ё§ Їа®дЁ«п, Ё Ї®«г票Ґ Ї®б«Ґ¤го-
йЁе Їа®дЁ«Ґ© ¤«п ®жҐЄЁ нд䥪⨢®бвЁ Є ¦¤®Ј® Ё§¬ҐҐЁп, ўҐбҐ-
®Ј® ў Їа®Ја ¬¬г.
ѓ« ў 2, "‚гваЁ Їа®дЁ«Ёа®ўйЁЄ ", ў Є®в®а®© Ј«п¤® ®Ўкпб-
пҐвбп Є ЄЁ¬ ®Ўа §®¬ Їа®дЁ«Ёа®ўйЁЄ Ї®«гз Ґв Є®«ЁзҐбвўҐлҐ Ё ўаҐ-
¬ҐлҐ е а ЄвҐаЁбвЁЄЁ Їа®жҐбб ўлЇ®«ҐЁп Їа®Ја ¬¬л.
ѓ« ў 3, "‘ва ⥣Ёп Їа®дЁ«Ёа®ў Ёп", ᮤҐа¦Ёв ®ЎйЁҐ ЇаЁжЁ-
Їл, в Є¦Ґ ®ЇЁб ЁҐ ҐЄ®в®але ЇаЁҐ¬®ў Їа®дЁ«Ёа®ў Ёп, Є®в®алҐ
Ґ®Ўе®¤Ё¬® § вм ¤«п гбЇҐи®© а Ў®вл б Їа®дЁ«Ёа®ўйЁЄ®¬.
ѓ« ў 4, "‘। бЁб⥬л Turbo Profiler", Ї®¤а®Ў® а ббЄ §л-
ў Ґв ® Є ¦¤®¬ ЇгЄвҐ ¬Ґо Ё Є ¦¤®¬ Ї а ¬Ґвॠб।л бЁб⥬л Turbo
Profiler.
ЏаЁ«®¦ҐЁҐ Ђ, "Џ а ¬Ґвал Є®¬ ¤®© бва®ЄЁ бЁб⥬л Turbo
Profiler", ў Ґ¬ ЇҐаҐзЁб«Ґл ўбҐ Ї а ¬Ґвал Є®¬ ¤®© бва®ЄЁ бЁб-
⥬л Turbo Profiler Ё ®Ўкп᥮ § 票Ґ Є ¦¤®Ј® Ё§ Ї а ¬Ґва®ў.
ЏаЁ«®¦ҐЁҐ ‚, "Ќ бва®©Є бЁб⥬л Turbo Profiler", ®ЎкпбпҐв
Є Є Ї®«м§®ў вмбп TFINST ¤«п в®Ј® зв®Ўл Ё§¬ҐЁвм Є®дЁЈга жЁо бЁб-
⥬л Turbo Profiler, § ¤ ў Ґ¬го Ї® 㬮«з Ёо.
ЏаЁ«®¦ҐЁҐ ‘, "“¤ «Ґ®Ґ Їа®дЁ«Ёа®ў ЁҐ", ®ЇЁблў Ґв Є Є Їа®-
Ёб室Ёв Їа®дЁ«Ёа®ў ЁҐ б ЁбЇ®«м§®ў ЁҐ¬ ¤ўге Є®¬ЇмовҐа®ў, ®¤-
®¬ Ё§ Є®в®але ЁбЇ®«пҐвбп ў и Їа®Ја ¬¬ , ¤агЈ®¬ Turbo
Profiler.
ЏаЁ«®¦ҐЁҐ D, "‚Ёав㠫쮥 Їа®дЁ«Ёа®ў ЁҐ б ЁбЇ®«м§®ў ЁҐ¬
Їа®жҐбб®а 80386", ®ЇЁблў Ґв, Є Є § ЇгбвЁвм Turbo Profiler в ЄЁ¬
®Ўа §®¬, зв®Ўл ® Ї®«м§®ў «бп в®«мЄ® а биЁа塞®© Ї ¬пвмо Їа®жҐб-
б®а 80386, ®бв ў«пп ўбҐ 640Љ ®б®ў®© Ї ¬пвЁ ¤«п ‚ 襩 Їа®Ја ¬-
¬л.
ЏаЁ«®¦ҐЁҐ ‘, "ЏаЁЈ« иҐЁп Ё б®®ЎйҐЁп ®Ў ®иЁЎЄ е", Ј¤Ґ ЇҐ-
аҐзЁб«Ґл ўбҐ ЇаЁЈ« иҐЁп Ё б®®ЎйҐЁп ®Ў ®иЁЎЄ е, Є®в®алҐ ¬®Јгв
Ї®пўЁвмбп ў Їа®жҐбᥠ‚ 襩 а Ў®вл б бЁб⥬®© Turbo Profiler, Ё
¤ л ४®¬Ґ¤ жЁЁ Є ЄЁ¬ ®Ўа §®¬ Ёе 㦮 ॠЈЁа®ў вм.
‡ ¬Ґз Ёп Ї® вҐа¬Ё®«®ЈЁЁ
„«п 㤮Ўбвў Ё Єа вЄ®бвЁ ў ¤ ®¬ агЄ®ў®¤б⢥ ¬л ЁбЇ®«м§гҐ¬
вҐа¬Ёл "¬®¤г«м", "Ї®¤Їа®Ја ¬¬ " Ё " аЈг¬Ґв" ў Ў®«ҐҐ иЁа®Є®¬
б¬лб«Ґ 祬 ®Ўлз®.
"¬®¤г«м" Њ®¤г«м ў ¤ ®¬ агЄ®ў®¤б⢥
нв® в®, зв® ®Ўлз® §лў Ґвбп
¬®¤г«Ґ¬ ў ‘ ® в Є ¦Ґ нвЁ¬
б«®ў®¬ ¬л §лў Ґ¬ Џ бЄ «Ґў-
бЄЁ© UNIT.
"Ї®¤Їа®Ја ¬¬ " Ђ «®ЈЁз® ЇаҐ¤л¤г饬г вҐа¬Ё
"Ї®¤Їа®Ја ¬¬ " ў ¤ ®¬ агЄ®-
ў®¤б⢥ ®в®бЁвбп Є Є Є дгЄ-
жЁп¬ ‘, в Є Ё Є Ї®¤Їа®Ја ¬¬ ¬
Џ бЄ «п, Є®в®алҐ ўЄ«оз ов ў
ᥡп дгЄжЁЁ, Їа®жҐ¤гал Ё ¬Ґ-
в®¤л ®ЎкҐЄв . ‚ ‘ дгЄжЁп ¬®-
¦Ґв ў®§ўа й вм ҐЄ®в®а®Ґ § -
票Ґ (Є Є нв® ¤Ґ« ов дгЄжЁЁ
ў Џ бЄ «Ґ), ¬®¦Ґв Ё Ґ ў®§-
ўа й вм ЁЄ Є®Ј® § 票п
( «®ЈЁз® Їа®жҐ¤га ¬ ў Џ б-
Є «Ґ).(…б«Ё дгЄжЁп ў ‘ Ґ
ў®§ўа й Ґв § 票Ґ, в® ®
§лў Ґвбп дгЄжЁҐ© вЁЇ
void) Њл ЁбЇ®«м§гҐ¬ вҐа¬Ё
Ї®¤Їа®Ја ¬¬ ¤«п ®Ў®§ 票п
Є Є дгЄжЁ© ‘, в Є Ё Їа®жҐ¤га
Ё дгЄжЁ© Џ бЄ «п.
" аЈг¬Ґв" €, Є®Ґж, вҐа¬Ё " аЈг¬Ґв"
ў ¤ ®¬ агЄ®ў®¤б⢥ ЁбЇ®«м-
§гҐвбп ў Є зҐб⢥ нЄўЁў «Ґв
вҐа¬Ё Ї а ¬Ґва. Ћ ЇаЁ¬Ґп-
Ґвбп ¤«п ®Ў®§ 票п аЈг¬Ґ-
в®ў Є®¬ ¤®© бва®ЄЁ, ЁбЇ®«м-
§гҐ¬ле ЇаЁ ўл§®ўҐ Їа®Ја ¬¬ Ё§
DOS, б в ЄЁ¬ ¦Ґ гᯥ宬 Є Є Ё
¤«п ®Ў®§ 票п аЈг¬Ґв®ў,
ЇҐаҐ¤ ў Ґ¬ле Ї®¤Їа®Ја ¬¬Ґ.
ѓ‹Ђ‚Ђ 1. Џђ€Њ…ђ ђЂЃЋ’› ‘ ЏђЋ”€‹€ђЋ‚™€ЉЋЊ
Џа®дЁ«Ёа®ў ЁҐ - нв® ®¤ Ё§ ҐйҐ Ї®Є Ґ¤®®жҐЁў Ґ¬ле, ®
®зҐм Ї®«Ґ§ле Ё ¤ ¦Ґ ¦Ё§Ґ® Ґ®Ўе®¤Ё¬ле з б⥩ Їа®жҐбб ᮧ¤ -
Ёп Є зҐб⢥®Ј® Їа®Ја ¬¬®Ј® ®ЎҐбЇҐзҐЁп. ЋЎ§®ал Ї®Є §лў ов,
зв®, б ¬®¬ ¤Ґ«Ґ, в®«мЄ® Ґ§ зЁвҐ«м п з бвм Їа®дҐббЁ® «мле
Їа®Ја ¬¬Ёбв®ў ЁбЇ®«м§гҐв Їа®дЁ«Ёа®ўйЁЄЁ ¤«п г«гз襨п бў®Ёе Їа®-
Ја ¬¬. „агЈЁҐ ¦Ґ Ёбб«Ґ¤®ў Ёп Ј®ў®апв ® ⮬, зв® ў Ў®«миЁб⢥
б«гз Ґў ¤ ¦Ґ ®ЇлвлҐ Їа®Ја ¬¬Ёбвл ҐЇа ўЁ«м® гЄ §лў ов ЄаЁвЁзҐ-
бЄЁҐ гз бвЄЁ ("г§ЄЁҐ ¬Ґбв ") ў бў®Ёе Їа®Ја ¬¬ е.
Љ Є®ўл ¦Ґ ЇаҐЁ¬гйҐбвў ЁбЇ®«м§®ў Ёп ®ЇЁблў Ґ¬®Ј® ¬Ё ®аг-
¤Ёп? ‚®-ЇҐаўле Їа®дЁ«Ёа®ў ЁҐ ‚ иЁе Їа®Ја ¬¬ ¬®¦Ґв Ї®ўлбЁвм Ёе
Їа®Ё§ў®¤ЁвҐ«м®бвм. ‚®-ўв®але Їа®дЁ«Ёа®ў ЁҐ ¬®¦Ґв гбЁ«Ёвм ў иг
бЇ®б®Ў®бвм ᮧ¤ Ёп нд䥪⨢ле Їа®Ја ¬¬. €, Є®Ґж, Їа®дЁ«Ёа®-
ў ЁҐ, Є Є Ё ®в« ¤Є , ¬®¦Ґв бв вм Ґ®вꥬ«Ґ¬л¬ н«Ґ¬Ґв®¬ жЁЄ«
ᮧ¤ Ёп Їа®Ја ¬¬®Ј® ®ЎҐбЇҐзҐЁп.
‚ нв®© Ј« ўҐ ¬л Їа®¤Ґ¬®бваЁа㥬 ‚ ¬ ЇаЁ¬Ґа в®Ј®, Є ЄЁ¬ ®Ў-
а §®¬ ¬®¦® Ё§ў«Ґзм Ї®«м§г Ё§ ЇаЁ¬ҐҐЁп Їа®дЁ«Ёа®ўйЁЄ , Ё Є Є ў
¤ «мҐ©иҐ¬ Їа®дЁ«Ёа®ў ЁҐ ¬®¦Ґв бнЄ®®¬Ёвм ‚ ¬ з бл ў® ўаҐ¬п Ї®-
ЁбЄ бва®Є Їа®Ја ¬¬л, а бв®зЁвҐ«м® ЁбЇ®«м§гойЁе аҐбгабл Є®¬Їмо-
вҐа . ‚л гзЁвҐбм ЇаЁ¬Ґпвм Їа®дЁ«Ёа®ўйЁЄ ¤«п в®Ј® зв®Ўл:
* ®Ў аг¦Ёў вм Ј¤Ґ Ё зв® ў и Їа®Ја ¬¬ а б室гҐв ўаҐ¬п;
* ᮧ¤ ў вм ®вЁа®ў л© «ЁбвЁЈ Ёб室®Ј® ⥪бв ‚ 襩 Їа®-
Ја ¬¬л Ё бв вЁбвЁзҐбЄЁ© ®взҐв ® Їа®дЁ«Ёа®ў ЁЁ;
* § Ї®¬Ё вм бв вЁбвЁзҐбЄЁҐ ¤ лҐ, Ї®«гзҐлҐ ў १г«мв вҐ
Їа®дЁ«Ёа®ў Ёп Ё § ⥬, Ї®б«Ґ ЇҐаҐалў , ў®§ўа й вмбп Є а Ў®-
⥠б нвЁ¬Ё ¤ л¬Ё;
* «Ё§Ёа®ў вм бв вЁбвЁЄг Їа®дЁ«Ёа®ў Ёп Ё Ёбе®¤л© вҐЄбв ‚ -
襩 Їа®Ја ¬¬л, 室пйЁҐбп, ў б®бҐ¤Ёе ®Є е.
ЏаЁ¬Ґз ЁҐ: ЏаЁ¬Ґал нв®© Ј« ўл ®б®ў л Є®«®ЄҐ „¦®-
ЃҐв«Ё ў ¦га «Ґ Communications of the ACM (Ёо«м
1987), Є®в®а п §лў Ґвбп "†Ґ¬зг¦Ёл Їа®Ја ¬¬Ёа®ў Ёп"
("Programming Pearls").
ЏаЁ¬Ґз ЁҐ: ‚ᥠЇаЁ¬Ґал Ўл«Ё ®Їа®Ў®ў л ¬ иЁҐ б 286
Їа®жҐбб®а®¬ Ё ўЁ¤Ґ® ¤ ЇвҐа®¬ Hercules.
ЏаЁ¬Ґал ў ¤ ®© Ј« ўҐ ®б®ўлў овбп Ї®ЁбЄҐ Ё а бЇҐз вЄҐ
ўбҐе Їа®бвле зЁбҐ«, 室пйЁебп ў ¤Ё Ї §®Ґ ®в 1 ¤® 1000. ‚бЇ®¬-
Ё¬, зв® зЁб«® пў«пҐвбп Їа®бвл¬ Ґб«Ё ®® ¤Ґ«Ёвбп в®«мЄ® 1 Ё
б ¬® ᥡп, ®зҐўЁ¤®, зв® ®® ¤®«¦® Ўлвм ҐзҐвл¬, в Є Є Є «о-
Ў®Ґ зҐв®Ґ зЁб«® ¤Ґ«Ёвбп 2 Ё, б«Ґ¤®ў ⥫м®, Ґ пў«пҐвбп Їа®-
бвл¬. „«п в®Ј® зв®Ўл ®ЇаҐ¤Ґ«Ёвм, пў«пҐвбп «Ё ¤ ®Ґ зЁб«® Їа®-
бвл¬, Ґ®Ўе®¤Ё¬® Їа®ўҐаЁвм Ґ пў«пҐвбп «Ё Є Є®Ґ «ЁЎ® Їа®б⮥ зЁб-
«®, ¬Ґм襥 ¤ ®Ј®, ҐЈ® ¤Ґ«ЁвҐ«Ґ¬, в Є ¦Ґ Їа®ўҐаЁвм Ґ ¤Ґ«Ёвбп
«Ё а бб¬ ваЁў Ґ¬®Ґ зЁб«® Є Є®Ґ -ЁЎг¤м 楫®Ґ, Ў®«м襥 ¤ўге
ЇҐаўле Їа®бвле зЁбҐ« 2 Ё 3.
–Ґ«мо Їа®дЁ«Ёа®ў Ёп Їа®Ја ¬¬-ЇаЁ¬Ґа®ў пў«пҐвбп г᪮२Ґ
Їа®жҐбб 宦¤ҐЁп Ё ЇҐз вЁ Їа®бвле зЁбҐ«. Џа®а Ў®в ў нвЁ ЇаЁ¬Ґ-
ал ‚л гзЁвҐбм ЁбЇ®«м§®ў вм Turbo Profiler ¤«п ®ЇаҐ¤Ґ«ҐЁп нд-
䥪⨢®бвЁ бвагЄвгал Їа®Ја ¬¬л Є ¦¤®Ј® Ё§ ЇаЁ¬Ґа®ў.
ЏҐаў®© Їа®Ја ¬¬®©, Є®в®аго ¬л а бᬮваЁ¬, Ўг¤Ґв PRIME0. Љ Є
в®«мЄ® ‚л ®вЇа®дЁ«ЁагҐвҐ ҐҐ Ё Ї®©¬ҐвҐ ў Є ЄЁе ¬Ґбв е Ґ®Ўе®¤Ё¬®
Ё§¬ҐЁвм ҐҐ ⥪бв, ‚ ¬ Ґ®Ўе®¤Ё¬® ЇҐаҐе®¤Ёвм Є б«Ґ¤го饬г и Јг -
§ Јаг§ЄҐ Ё Їа®дЁ«Ёа®ў Ёо PRIME1. ‡ ЁбЄ«о票Ґ¬ PRIME1, Є ¦¤ п
Ё§ Їа®Ја ¬¬, а бб¬ ваЁў Ґ¬ле ў ¤ ®© Ј« ўҐ (PRIME2, PRIME3,
PRIME4, PRIME5 Ё PRIME6) пў«пҐвбп ¬®¤ЁдЁЄ жЁҐ© ЇаҐ¤л¤г饩.
‚ ¦®Ґ § ¬Ґз ЁҐ: €д®а¬ жЁп ¤«п Ї®«м§®ў ⥫Ґ© Џ бЄ «п.
Џа®Ја ¬¬л PRIMEn.* ЇЁб л Turbo C. „«п Ї®«м§®ў вҐ-
«Ґ© Џ бЄ «п Ё¬Ґовбп «®ЈЁ нвЁе Їа®Ја ¬¬ PRIMEnPA.*
Є®в®алҐ ¬®Јгв ЁбЇ®«м§®ў вмбп ¤«п гЇа ¦ҐЁ© ў® ўаҐ¬п
звҐЁп ¤ ®© Ј« ўл. Љ ¦¤®Ґ ®Ўб㦤ҐЁҐ Їа®дЁ«Ёа®ў Ёп
Їа®Ја ¬¬л, ЇЁб ®© ‘ б®Їа®ў®¦¤ Ґвбп Є®¬¬Ґв аЁҐ¬,
®ва ¦ ойЁ¬ ®в«ЁзЁп ў б«гз Ґ Їа®дЁ«Ёа®ў Ёп Џ бЄ «ҐўбЄ®©
Їа®Ја ¬¬л.
“ЎҐ¤ЁвҐбм, зв® ўбҐ д ©«л б ЇаЁ¬Ґа ¬Ё (PRIMEn.C Ё PRIMEn.EXE
Ё«Ё PRIMEnPA.PAS Ё PRIMEnPA.EXE) 室пвбп ў ‚ 襩 ⥪г饩 ¤ЁаҐЄ-
в®аЁЁ.
„«п Є ¦¤®Ј® Ё§ ®ЇЁблў Ґ¬ле ЇаЁ¬Ґа®ў Ё¬Ґовбп Є Є Ёб室лҐ
д ©«л, в Є Ё ўлЇ®«Ё¬лҐ д ©«л, Ї®бЄ®«мЄг ¤«п «Ё§Ёа®ў Ёп Їа®-
Ја ¬¬л Turbo Profiler вॡговбп Ё ⥠Ё ¤агЈЁҐ. Љ ¦¤л© Ё§ ЇаЁ¬Ґа®ў
Ўл« бЄ®¬ЇЁ«Ёа®ў б Ї®«®© бЁ¬ў®«ЁзҐбЄ®© Ёд®а¬ жЁҐ©, в Є Є Є нв
Ёд®а¬ жЁп Ґ®Ўе®¤Ё¬ ¤«п Їа®дЁ«Ёа®ў Ёп.
„«п в®Ј® зв®Ўл ®ЎҐбЇҐзЁвм «ЁзЁҐ Ї®«®© бЁ¬ў®«ЁзҐбЄ®© Ё-
д®а¬ жЁЁ ¤«п ‚ иЁе Їа®Ја ¬¬, Ґ®Ўе®¤Ё¬® ЇаЁ Ёе Є®¬ЇЁ«пжЁЁ § ¤ вм
б«Ґ¤гойЁҐ Ї а ¬Ґвал:
Turbo C++: ЏаЁ а Ў®вҐ ў ЁвҐЈаЁа®ў ®© б।Ґ, Ґ®Ўе®¤Ё¬®
ўлЎа вм ў ¬Ґо Options| Full Menus (Џ а ¬Ґвал| Џ®«л© Ў®а ¬Ґо)
§ ⥬ ®вЄалвм Ў«®Є ¤Ё «®Ј ®в« ¤зЁЄ (¤«п нв®Ј® ¤® ўлЎа вм
Options| Debugger (Џ а ¬Ґвал| Ћв« ¤зЁЄ)), Ё гбв ®ўЁвм Source
Debugging (Ћв« ¤Є га®ўҐ Ёб室®Ј® Є®¤ ) ў § 票Ґ
Standalone (‘ ¬®бв®п⥫мл© ®в« ¤зЁЄ). ЏаЁ Є®¬ЇЁ«пжЁЁ б ЁбЇ®«м§®-
ў ЁҐ¬ Є®¬ ¤®© бва®ЄЁ Ґ®Ўе®¤Ё¬® § ¤ ў вм Ї а ¬Ґва -v.
Turbo C: …б«Ё ‚л Є®¬ЇЁ«ЁагҐвҐ ў ЁвҐЈаЁа®ў ®© б।Ґ, в®
Ґ®Ўе®¤Ё¬® ЇҐаҐ¤ Є®¬ЇЁ«пжЁҐ© Їа®Ја ¬¬л ўлЎа вм Standalone (‘ ¬®-
бв®п⥫мл© ®в« ¤зЁЄ) ў Ї а ¬Ґва е ®в« ¤зЁЄ Debug| Source
Debugging (Ћв« ¤зЁЄ| Ћв« ¤Є га®ўҐ Ёб室®Ј® ⥪бв ). ЏаЁ
Є®¬ЇЁ«пжЁЁ б ЁбЇ®«м§®ў ЁҐ¬ Є®¬ ¤®© бва®ЄЁ Ґ®Ўе®¤Ё¬® § ¤ ў вм
Ї а ¬Ґва -v.
Turbo Pascal: …б«Ё ‚л Є®¬ЇЁ«ЁагҐвҐ ў ЁвҐЈаЁа®ў ®© б।Ґ,
Ґ®Ўе®¤Ё¬® гбв ®ўЁвм ЇгЄвл ¬Ґо Options|Debug Information (Џ -
а ¬Ґвал|Ћв« ¤®з п Ёд®а¬ жЁп) Ё Debug|Stand-Alone Debugging (Ћв-
« ¤Є | ‘ ¬®бв®п⥫мл© ®в« ¤зЁЄ) ў б®бв®пЁҐ On. ЏаЁ Є®¬ЇЁ«пжЁЁ б
Ї®¬®ймо Є®¬ ¤®© бва®ЄЁ Ґ®Ўе®¤Ё¬® ЁбЇ®«м§®ў вм Ї а ¬Ґва /v.
Turbo Assembler: ЌҐ®Ўе®¤Ё¬® ЁбЇ®«м§®ў вм Ї а ¬Ґва /zi, § ⥬
бва®Ёвм § Ја㧮зл© ¬®¤г«м ЇаЁ Ї®¬®йЁ TLINK, § ¤ ў п ЇаЁ н⮬ Ї -
а ¬Ґва /v.
€д®а¬ жЁп ¤«п Ї®«м§®ў ⥫Ґ© 80x87.
Џ®бЄ®«мЄг Turbo Profiler бЇ®б®ЎҐ ЁбЇ®«м§®ў вм ў®§¬®¦®бвЁ
¬ ⥬ вЁзҐбЄ®Ј® б®Їа®жҐбб®а , ў ⮬ б«гз Ґ Ґб«Ё б®Їа®жҐбб®а гбв -
®ў«Ґ ‚ 襬 Є®¬ЇмовҐаҐ, Ё ‚л е®вЁвҐ Ї®«гзЁвм бв вЁбвЁзҐбЄЁҐ
¤ лҐ, ᮮ⢥вбвўгойЁҐ Ё§«®¦Ґл¬ ў бв®п饬 агЄ®ў®¤б⢥, в®
‚ ¬ Ґ®Ўе®¤Ё¬® ўаҐ¬Ґ® § ЇаҐвЁвм ЁбЇ®«м§®ў ЁҐ б®Їа®жҐбб®а (ў
Їа®вЁў®¬ б«гз Ґ Ї®«гзҐлҐ ў ¬Ё १г«мв вл Ўг¤гв § зЁвҐ«м® ®в-
«Ёз вмбп ®в ЇаЁўҐ¤Ґле ў н⮬ ⥪бвҐ). „«п в®Ј® зв®Ўл Turbo
Profiler Ґ Ї®«м§®ў «бп ў®§¬®¦®бвп¬Ё б®Їа®жҐбб®а ¤®бв в®з® ЇҐ-
। з «®¬ а Ў®вл б Їа®дЁ«Ёа®ўйЁЄ®¬ ўлЇ®«Ёвм Є®¬ ¤г DOS SET
87=N. Ќ® ¤ ¦Ґ ў н⮬ б«гз Ґ Ї®«гзҐлҐ бв вЁбвЁзҐбЄЁҐ ¤ лҐ ¬®-
Јгв бЁ«м® ®в«Ёз вмбп ®в Ё§«®¦Ґле ў ¤ ®¬ агЄ®ў®¤б⢥, Ё§-§
Ґб®ўЇ ¤ҐЁп вҐеЁзҐбЄЁе е а ЄвҐаЁбвЁЄ Є®¬ЇмовҐа®ў в ЄЁе, ЇаЁ-
¬Ґа, Є Є ЎлбвதҐ©бвўЁҐ Їа®жҐбб®а .
Џа®дЁ«Ёа®ў ЁҐ Їа®Ја ¬¬л (PRIME0)
Џа®жҐбб Їа®дЁ«Ёа®ў Ёп Ё Є®а४вЁа®ўЄЁ Їа®Ја ¬¬л б®бв®Ёв Ё§
б«Ґ¤гойЁе зҐвлаҐе нв Ї®ў:
1. ‡ Јаг§Є Їа®Ја ¬¬л ЇҐаҐ¤ ҐҐ Їа®дЁ«Ёа®ў ЁҐ¬.
2. ‘Ў®а ¤ ле ў® ўаҐ¬п ўлЇ®«ҐЁп Їа®Ја ¬¬л.
3. Ђ «Ё§ Ї®«гзҐле ¤ ле.
4. Њ®¤ЁдЁЄ жЁп Їа®Ја ¬¬л Ё ҐҐ Ї®ўв®а п Є®¬ЇЁ«пжЁп.
Џ®б«Ґ ўҐбҐЁп Ё§¬ҐҐЁ© ў Їа®Ја ¬¬г Ґ®Ўе®¤Ё¬® Ї®ўв®аЁвм
ўлЇ®«ҐЁҐ ЇгЄв®ў б 1 Ї® 3 ¤«п в®Ј®, зв®Ўл Ї®б¬®ваҐвм Є Є Ї®ў«Ё-
п«Ё нвЁ Ё§¬ҐҐЁп Ї®ўҐ¤ҐЁҐ Їа®Ја ¬¬л ў Їа®жҐбᥠЁбЇ®«ҐЁп.
Џа®Ја ¬¬ PRIME0 ЁбЇ®«м§гҐв «Ј®аЁв¬ …ўЄ«Ё¤ ¤«п 宦¤ҐЁп
Їа®бвле зЁбҐ«. Љ Є в®«мЄ® Їа®б⮥ зЁб«® ©¤Ґ®, ®® ба §г ¦Ґ § -
ЇЁблў Ґвбп ў ¬ ббЁў primes Ё ¤«п в®Ј®, зв®Ўл ®ЇаҐ¤Ґ«Ёвм пў«повбп
«Ё Ї®б«Ґ¤гойЁҐ зЁб« Їа®бвл¬Ё, ¤Ґ« Ґвбп Ї®ЇлвЄ Ї®¤Ґ«Ёвм Ёе
зЁб« , 㦥 § ЇЁб лҐ ў ¬ ббЁў primes.
‡ Ја㧨⥠PRIME0 ў бЁб⥬г Turbo Profiler, Ўа ў Є« ўЁ -
вгаҐ
Turbo Profiler PRIME0
Ё ¦ ў Є« ўЁиг ENTER.
ЏаЁ¬Ґз ЁҐ: ‚л ¬®¦ҐвҐ § Є®зЁвм а Ў®вг б Їа®дЁ«Ёа®ўйЁ-
Є®¬ ў «оЎ®© ¬®¬Ґв. „«п нв®Ј® Ґ®Ўе®¤Ё¬® ўлЎа вм ў ¬Ґо
Ї®б«Ґ¤®ў ⥫м®бвм File|Quit (” ©«|‚л室) Ё«Ё ¦ вм
Є®¬ЎЁ жЁо Alt-X.
‚ ¦®Ґ § ¬Ґз ЁҐ: €д®а¬ жЁп ¤«п Ї®«м§®ў ⥫Ґ© Џ бЄ «п.
…б«Ё ‚л е®вЁвҐ Їа®дЁ«Ёа®ў вм Џ бЄ «ҐўбЄго ўҐабЁо
PRIME0.C, в® гЎҐ¤ЁвҐбм, зв® д ©«л PRIME0PA.PAS Ё
PRIME0PA.EXE 室пвбп ў ‚ 襩 ⥪г饩 ¤ЁаҐЄв®аЁЁ Ї®б«Ґ
祣® ЎҐаЁвҐ Є« ўЁ вгаҐ
TPROF PRIME0PA
Ё ¦¬ЁвҐ Enter.
‚ з «Ґ а Ў®вл Џа®дЁ«Ёа®ўйЁЄ ®вЄа®овбп ¤ў ®Є : Module
(Њ®¤г«м) (ў Є®в®а®¬ 室Ёвбп Ёбе®¤л© вҐЄбв PRIME0) Ё Execution
Profile (Џа®дЁ«м ўлЇ®«ҐЁп) (ў Є®в®а®¬, Ї®б«Ґ в®Ј® Є Є ‚л § Їг-
бвЁвҐ Їа®Ја ¬¬г PRIME0, Ўг¤Ґв ®в®Ўа ¦Ґ бв вЁбвЁЄ Їа®жҐбб ҐҐ
ўлЇ®«ҐЁп).
ђЁб.1.1 Turbo Profiler б § Ја㦥®© ў ҐЈ® Їа®Ја ¬¬®©
PRIME0
ЋЄ® Module (Њ®¤г«м) Ё ®Є® Execution Profile (Џа®дЁ«м ўл-
Ї®«ҐЁп) ®в®бпвбп Є и Ј ¬ 1 Ё 3 Їа®жҐбб Їа®дЁ«Ёа®ў Ёп. ЋЄ®
Module (Њ®¤г«м) ЁбЇ®«м§гҐвбп ¤«п в®Ј®, зв®Ўл Ї®¬Ґз вм гз бвЄЁ
Їа®Ја ¬¬л, Є®в®алҐ Ґ®Ўе®¤Ё¬® Їа®дЁ«Ёа®ў вм. Џ®б«Ґ в®Ј® Є Є ‚л
§ ЇгбвЁвҐ Їа®Ја ¬¬г, ў ®ЄҐ Execution Profile (Џа®дЁ«м ўлЇ®«Ґ-
Ёп) ®в®Ўа ¦ Ґвбп Ёд®а¬ жЁп, Ґ®Ўе®¤Ё¬ п ¤«п «Ё§ ҐҐ а Ў®вл.
“бв ®ўЄ Ї а ¬Ґва®ў Їа®дЁ«Ёа®ў Ёп.
ЏҐаҐ¤ з «®¬ Їа®дЁ«Ёа®ў Ёп Їа®Ја ¬¬л Ґ®Ўе®¤Ё¬® Ї®¬ҐвЁвм ў
Ґ© ЁвҐаҐбгойЁҐ ‚ б "®Ў« бвЁ". "ЋЎ« бвм" - нв® гз бв®Є Їа®Ја ¬¬л
¤«п Є®в®а®Ј® ‚л е®вҐ«Ё Ўл Ї®«гзЁвм бв вЁбвЁзҐбЄЁҐ ¤ лҐ. "ЋЎ« -
бвмо" ¬®¦Ґв Ўлвм ®¤ бва®Є , ®¤Ё ®ЇҐа в®а ( ЇаЁ¬Ґа ®ЇҐа в®а
жЁЄ« ) Ё«Ё ўбп Їа®Ја ¬¬ 楫ЁЄ®¬. ‚® ўаҐ¬п ЇҐаў®Ј® бҐ б Їа®дЁ-
«Ёа®ў Ёп ‚ ¬ Ї®вॡгҐвбп б®Ўа вм Ў®«ҐҐ ®ЎиЁаго Ёд®а¬ жЁо ®
"®Ў« бвпе" 祬 в , Є®в®а п § ¤ Ґвбп Ї а ¬Ґва ¬Ё бЁб⥬л Turbo
Profiler Ї® 㬮«з Ёо.
„«п в®Ј®, зв®Ўл Їа® «Ё§Ёа®ў вм ҐЎ®«м讥 Є®«ЁзҐбвў® Є®а®в-
ЄЁе Ї®¤Їа®Ја ¬¬ (в ЄЁе, Є Є prime Ё main ў ¤ ®© Їа®Ја ¬¬Ґ), ‚л
¤®«¦л § вм бЄ®«мЄ® а § ўлЇ®«пҐвбп Є ¦¤ п Ёе бва®Є Ё бЄ®«мЄ®
ўаҐ¬ҐЁ § Ё¬ Ґв ҐҐ ўлЇ®«ҐЁҐ. „«п в®Ј®, зв®Ўл Ї®«гзЁвм нвг Ё-
д®а¬ жЁо, ‚л ¤®«¦л Ї®¬ҐвЁвм Є ¦¤го бва®Єг нв®© Їа®Ја ¬¬л Є Є
"®Ў« бвм".
1. Ќ ¦¬ЁвҐ Alt-F10, ¤«п в®Ј® зв®Ўл ЄвЁўЁа®ў вм «®Є «м®Ґ ¬Ґо
®Є Module (Њ®¤г«м).
2. ‚лЎҐаЁвҐ ў н⮬ ¬Ґо Add Areas („®Ў ўЁвм "®Ў« бвЁ"). ‚ ¬ Ўг-
¤Ґв ЇаҐ¤«®¦Ґ ¤«п ўлЎ®а бЇЁб®Є ў®§¬®¦ле Ја Ёж "®Ў« бвЁ".
3. ‚лЎҐаЁвҐ Every Line in Module (Љ ¦¤ п бва®Є ў ¬®¤г«Ґ). ‚
१г«мв ⥠нв®Ј® ¬ аЄҐал "®Ў« бвЁ" Ўг¤гв гбв ®ў«Ґл ¤«п
Є ¦¤®© бва®ЄЁ Їа®Ја ¬¬л Ё Єгаб®а ўҐаҐвбп ў ®Є® Module (Њ®-
¤г«м).
ЋЎа вЁвҐ ўЁ¬ ЁҐ в®, зв® ў १г«мв ⥠ўлЇ®«ҐЁп ЇҐаҐ-
зЁб«Ґле ®ЇҐа жЁ© ўбҐ ўлЇ®«Ё¬лҐ бва®ЄЁ Їа®Ја ¬¬л ®Є § «Ёбм Ї®-
¬ҐзҐл¬Ё ¬ થ஬ =>.
‘Ў®а бв вЁбвЁзҐбЄЁе ¤ ле
€в Є, ў бв®пйЁ© ¬®¬Ґв ‚л Ј®в®ўл Є Їа®ўҐ¤ҐЁо ўв®а®Ј® нв -
Ї Їа®дЁ«Ёа®ў Ёп. Ќ ¦¬ЁвҐ Є« ўЁиг F9 ¤«п § ЇгбЄ PRIME0 Ї®¤ Є®-
ва®«Ґ¬ Turbo Profiler. Џа®Ја ¬¬ ўл¤ бв нЄа Ї®«м§®ў ⥫п
Їа®бвлҐ зЁб« , 室пйЁҐбп ў ¤Ё Ї §®Ґ ®в 1 ¤® 1000. Љ®Ј¤ ўлЇ®«-
ҐЁҐ Їа®Ја ¬¬л § ўҐаиЁвбп, Їа®б¬®ваЁвҐ Ёд®а¬ жЁо, Ї®пўЁўигобп ў
®ЄҐ Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп). ќв® Ё Ґбвм бв вЁбвЁ-
Є Їа®жҐбб ўлЇ®«ҐЁп ‚ 襩 Їа®Ја ¬¬л.
ђ бЇ еЁвҐ ®Є® Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп), -
¦ ў Є« ўЁиг F5 Ё«Ё ўлЎа ў Zoom (ђ бЇ егвм) Ё§ ¬Ґо Window (ЋЄ-
®). Џ®б«Ґ 祣® ®Є® Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп) Ўг¤Ґв
ўлЈ«п¤Ґвм б«Ґ¤гойЁ¬ ®Ўа §®¬:
ђЁб.1.2 ‘в вЁбвЁЄ Їа®жҐбб ўлЇ®«ҐЁп Їа®Ја ¬¬л PRIME0
‚Ґаепп Ї Ґ«м ®Є Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп)
Ї®Є §лў Ґв ®ЎйҐҐ ўаҐ¬п ўлЇ®«ҐЁп Їа®Ја ¬¬л, б®Їа®ў®¦¤ Ґ¬®Ґ Ё-
д®а¬ жЁҐ© ® ¤ ле, 室пйЁебп Ё¦Ґ© Ї Ґ«Ё. ‚ Є ¦¤®© бва®ЄҐ
Ё¦Ґ© Ї Ґ«Ё ᮤҐа¦Ёвбп зҐвлॠЇ®§ЁжЁЁ:
* §ў ЁҐ "®Ў« бвЁ";
* Є®«ЁзҐбвў® ᥪг¤, § ва зҐле ўлЇ®«ҐЁҐ ¤ ®© ®Ў« бвЁ;
* Їа®жҐв®Ґ ®в®иҐЁҐ нв®Ј® ўаҐ¬ҐЁ Є ®ЎйҐ¬г ўаҐ¬ҐЁ ўлЇ®«Ґ-
Ёп Їа®Ја ¬¬л;
* Ј®аЁ§®в «м п ¤Ё Ја ¬¬ , Їа®Ї®ажЁ® «м п н⮬㠮в®иҐЁо.
‘ва®Є ўЁ¤
#PRIME0#31 6.2655 sec 93% |============================
Ј®ў®аЁв ® ⮬, зв® ваЁ¤ж вм ЇҐаў п бва®Є Їа®Ја ¬¬л PRIME0
ўлЇ®«п« бм ў вҐзҐЁҐ 6.3 ᥪг¤л, зв® б®бв ўЁ«® 93% ®в ўаҐ¬ҐЁ
ўлЇ®«ҐЁп ўбҐе Ї®¬ҐзҐле "®Ў« б⥩". „Ё Ја ¬¬ ¤«п бва®ЄЁ 31
ўв®¬ вЁзҐбЄЁ § Ё¬ Ґв ўбҐ ®вўҐ¤Ґ®Ґ ¤«п ¤Ё Ја ¬¬л ¬Ґбв®, в Є
Є Є ўлЇ®«ҐЁҐ 31 бва®ЄЁ § ва зЁў Ґвбп б ¬®Ґ Ў®«м讥 Є®«ЁзҐбв-
ў® ўаҐ¬ҐЁ б।Ё ўбҐе Ї®¬ҐзҐле ®Ў« б⥩.
‚ ¦®Ґ § ¬Ґз ЁҐ: €д®а¬ жЁп ¤«п Ї®«м§®ў ⥫Ґ© Џ бЄ -
«п.‚ Їа®Ја ¬¬Ґ PRIME0PA, ᮮ⢥вбвўгой п бва®Є Ё¬ҐҐв
®¬Ґа 42.
€§®Ўа ¦ҐЁҐ бв вЁбвЁЄЁ
’ Є¦Ґ ‚л ¬®¦ҐвҐ Їа®б¬®ваҐвм Є®«ЁзҐбвўҐлҐ ¤ лҐ ® Їа®жҐббҐ
ўлЇ®«ҐЁп ‚ 襩 Їа®Ја ¬¬л.
1. Ќ ¦¬ЁвҐ Alt-F10 ¤«п ўл§®ў ¬Ґо ®Є Execution Profile
(Џа®дЁ«м ўлЇ®«ҐЁп).
2. ‚лЎҐаЁвҐ ў н⮬ ¬Ґо Є®¬ ¤г Display (€§®Ўа ¦ҐЁҐ)
Ѓ«®Є ¤Ё «®Ј ¤«п гбв ®ўЄЁ Ї а ¬Ґва®ў Ё§®Ўа ¦ҐЁп ЇаҐ¤®бв ў-
«пҐв Їпвм бЇ®б®Ў®ў Ё§®Ўа ¦ҐЁп ¤ ле ў ®ЄҐ Execution
Profile (Џа®дЁ«м ўлЇ®«ҐЁп).
ђЁб.1.3 Ѓ«®Є ¤Ё «®Ј § ¤ Ёп Ї а ¬Ґва®ў Ё§®Ўа ¦ҐЁп
* Time ("‚६п")§ ¤ Ґв Ё§®Ўа ¦ҐЁҐ Ї®«®Ј® ўаҐ¬ҐЁ § ва -
祮Ј® ўлЇ®«ҐЁҐ Є ¦¤®© Ё§ Ї®¬ҐзҐле "®Ў« б⥩".
(нв®в Ї а ¬Ґва § ¤ Ґвбп Ї® 㬮«з Ёо)
* Count ("Џ®¤бзҐв") § ¤ Ґв Ё§®Ўа ¦ҐЁҐ зЁб« , Ї®Є §лў о-
饣® бЄ®«мЄ® а § § ўаҐ¬п ўлЇ®«ҐЁп Їа®Ја ¬¬л гЇа ў«Ґ-
ЁҐ ЇҐаҐ¤ ў «®бм Ї®¬ҐзҐ®© "®Ў« бвЁ".
* Both ("€ в®, Ё ¤агЈ®Ґ") § ¤ Ґв ®¤®ўаҐ¬Ґл© Ї®Є § ўаҐ-
¬ҐЁ ўлЇ®«ҐЁп Ё Є®«ЁзҐбвў ўл§®ў®ў.
* "Per Call" ("Ќ ®¤Ё ўл§®ў") ўҐ¤Ґв Є Ё§®Ўа ¦ҐЁо б।-
ҐЈ® ўаҐ¬ҐЁ § ва 祮Ј® ®¤® ўлЇ®«ҐЁҐ Ї®¬ҐзҐ®©
"®Ў« бвЁ".
* Longest ("‘ ¬®Ґ Ў®«м讥") ўҐ¤Ґв Є Ї®Є §г ¬ ЄбЁ¬ «м®Ј®
ўаҐ¬ҐЁ § ва 祮Ј® ўлЇ®«ҐЁҐ ¤ ®© "®Ў« бвЁ".
3. ‚лЎҐаЁвҐ Counts (Џ®¤бзҐв) ў Ја дҐ Display (€§®Ўа ¦ҐЁҐ) ў
а бб¬ ваЁў Ґ¬®¬ Ў«®ЄҐ ¤Ё «®Ј .(‘¤Ґ« ©вҐ нв® ЇаЁ Ї®¬®йЁ ¬лиЁ,
Ё«Ё ЁбЇ®«м§гп Є« ўЁиЁ гЇа ў«ҐЁп Єгаб®а®¬ ЇҐаҐ©¤ЁвҐ Є н⮬г
ЇгЄвг Ё ¦¬ЁвҐ Є« ўЁиг ENTER, в®Ј® ¦Ґ б ¬®Ј® १г«мв в
¬®¦® ¤®бвЁзм Їа®бвл¬ ¦ вЁҐ¬ Є« ўЁиЁ ‘.)
4. ‚лЎҐаЁвҐ ЋЉ (Ё«Ё ¦¬ЁвҐ ENTER).
’ҐЇҐам ®Є® Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп) Ї®Є §лў -
Ґв Ґ ўаҐ¬Ґго, Є®«ЁзҐб⢥го бв вЁбвЁЄг ўлЇ®«ҐЁп Їа®Ја ¬¬л
PRIME0, Є Є Ї®Є § ® б«Ґ¤го饬 аЁбгЄҐ.
ђЁб.1.4 Љ®«ЁзҐб⢥ п бв вЁбвЁЄ ў ®ЄҐ Їа®дЁ«п Їа®Ја ¬¬л:
ќвЁ Ё§®Ўа ¦ҐлҐ нЄа Ґ ¤ лҐ Ј®ў®апв ® ⮬, зв® ЁЎ®-
«ҐҐ з бв® ў Їа®Ја ¬¬Ґ PRIME0 ўлЇ®«пҐвбп бва®Є 22. (‘®®вўҐвбвўг-
ой п бва®Є ў Їа®Ја ¬¬Ґ PRIME0PA Ё¬ҐҐв ®¬Ґа 31.)
ЏаЁ ¦Ґ« ЁЁ ‚л ¬®¦ҐвҐ Ї®б¬®ваҐвм Є®«ЁзҐб⢥го Ё ўаҐ¬Ґго
бв вЁбвЁЄг ®¤®ўаҐ¬Ґ®. „«п нв®Ј® 㦮 б®ў ўл§ў вм Ў«®Є ¤Ё -
«®Ј Display Options (Џ а ¬Ґвал Ё§®Ўа ¦ҐЁп) ( ¦ ў ¤«п нв®Ј®
Alt-F10 Ё ўлЎа ў Display (€§®Ўа ¦ҐЁҐ) Ё«Ё ¦ ў Ctrl-D).
‚лЎҐаЁвҐ Both ("€ в®, Ё ¤агЈ®Ґ") ў бв®«ЎжҐ Display (€§®Ўа -
¦ҐЁҐ), § ⥬ ўлЎҐаЁвҐ ЋЉ Ё«Ё ¦¬ЁвҐ ENTER. ( „«п в®Ј®, зв®Ўл
н⮠ᤥ« вм ¤® ўлЎа вм Both ("€ в®, Ё ¤агЈ®Ґ") ЇаЁ Ї®¬®йЁ ¬лиЁ,
Ё«Ё ЇҐаҐ©вЁ Є Both ("€ в®, Ё ¤агЈ®Ґ") ЇаЁ Ї®¬®йЁ Є« ўЁи гЇа ў«Ґ-
Ёп Єгаб®а®¬ Ё ¦ вм ENTER, в Є¦Ґ ¬®¦® Їа®бв® ¦ вм Є« ўЁиг ‚
)
’ҐЇҐам ®Є® Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп) ўлЈ«п¤Ёв
б«Ґ¤гойЁ¬ ®Ўа §®¬:
ђЁб.1.5 ‚६Ґ п Ё Є®«ЁзҐб⢥ п бв вЁбвЁЄ ў ®ЄҐ
Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп)
…б«Ё ў ®ЄҐ Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп) ўаҐ¬Ґ п
Ё Є®«ЁзҐб⢥ п бв вЁбвЁЄ Ё§®Ўа ¦ овбп ®¤®ўаҐ¬Ґ®, в® ¤«п
Є ¦¤®© Ї®¬ҐзҐ®© "®Ў« бвЁ" ЇҐаў®Ґ зЁб«®, ®в®бп饥бп Є нв®© "®Ў-
« бвЁ"- нв® Є®«ЁзҐбвў® ўлЇ®«ҐЁ© ¤ ®© "®Ў« бвЁ", ўв®а®Ґ зЁб-
«®- нв® ўаҐ¬п, § ва 祮Ґ ўлЇ®«ҐЁҐ ¤ ®© "®Ў« бвЁ". ђЁбг-
®Є 1.5 Ї®Є §лў Ґв, зв® "®Ў« бвм" PRIME0#22 (бва®Є 22 ў Їа®Ја ¬-
¬Ґ PRIME0) ўлЇ®«п« бм 15 122 а § , зв® § п«® ў ®ЎйҐ© б«®¦®бвЁ
0.31 ᥪг¤л.
ЏҐз вм ⥪бв®ў Їа®Ја ¬¬ Ё бв вЁбвЁЄЁ
‚ н⮬ а §¤Ґ«Ґ ‚л гзЁвҐбм ЇҐз в вм ¤ўҐ ўҐйЁ:
1. ‹ЁбвЁЈ Ёб室®Ј® ⥪бв Їа®дЁ«Ёа㥬®© Їа®Ја ¬¬л, 室п饩-
бп ў ®ЄҐ Module (Њ®¤г«м) б Є®«ЁзҐб⢥®© Ё ўаҐ¬Ґ®© бв -
вЁбвЁЄ®©, б®Їа®ў®¦¤ о饩 Є ¦¤го Ї®¬ҐзҐго "®Ў« бвм".
2. ‘в вЁбвЁЄг Їа®дЁ«Ёа®ў Ёп, Ё§®Ўа ¦Ґго ў ®ЄҐ Execution
Profile (Џа®дЁ«м ўлЇ®«ҐЁп).
ЏҐз вм «ЁбвЁЈ Їа®дЁ«Ёа㥬®© Їа®Ја ¬¬л.
ЏҐаҐ¤ ⥬ Є Є ўлўҐбвЁ ў д ©« «ЁбвЁЈ Їа®дЁ«Ёа㥬®© Їа®Ја ¬-
¬л, ᮤҐа¦ йЁ© ўаҐ¬Ґго Ё Є®«ЁзҐб⢥го бв вЁбвЁЄг, ‚л ¤®«¦л
§ ¤ вм ᮮ⢥вбвўгойЁҐ Ї а ¬Ґвал ЇҐз вЁ:
1. ‚лЎҐаЁвҐ Є®¬ ¤г Print|Options (ЏҐз вм|Џ а ¬Ґвал).
2. ‚ Ў«®ЄҐ ¤Ё «®Ј Printing Options (Џ а ¬Ґвал ЇҐз вЁ) ўлЎҐаЁвҐ
ᥫҐЄвЁўго Є®ЇЄг File (” ©«) ¤«п нв®Ј® ¦Ё¬ ©вҐ TAB ¤®
вҐе Ї®а Ї®Є Ґ ЄвЁўЁаговбп ᥫҐЄвЁўлҐ Є®ЇЄЁ, § ⥬, ЇаЁ
Ї®¬®йЁ Є« ўЁиЁ "бв५Є ўЁ§", ўлЎҐаЁвҐ Ї а ¬Ґва File
(” ©«)).
3. ЏаЁ Ї®¬®йЁ Є« ўЁиЁ TAB ЄвЁўЁаг©вҐ Ў«®Є ўў®¤ Destination
File (” ©« § 票п) Ё ЎҐаЁвҐ Є« ўЁ вгаҐ
PRIME0SC.LST
4. ‚лЎҐаЁвҐ ASCII ¤«п в®Ј® зв®Ўл Ї®«м§®ў вмбп бв ¤ ав®© Є®¤Ё-
а®ўЄ®© ASCII, Ґ а биЁаҐл¬ Ў®а®¬ бЁ¬ў®«®ў IBM.
5. BлЎҐаЁвҐ ЋЉ Ё«Ё ¦¬ЁвҐ (ENTER).
’ҐЇҐам Єгаб®а 室Ёвбп ў ЄвЁў®¬ ®ЄҐ Execution Profile
(Џа®дЁ«м ўлЇ®«ҐЁп).
„«п в®Ј®, зв®Ўл ўлўҐбвЁ «ЁбвЁЈ ў д ©« ўлЎҐаЁвҐ ў ¬Ґо Є®-
¬ ¤г Print|Module (Ќ ЇҐз в вм|Њ®¤г«м). ‚ Ў«®ЄҐ ¤Ё «®Ј PIck a
Module (‚лЎа вм ¬®¤г«м) ЇаЁ Ї®¬®йЁ Є« ўЁиЁ "бв५Є ўЁ§" ўлЎҐаЁ-
⥠§ў ЁҐ ¬®¤г«п PRIME0, § ⥬ ¦¬ЁвҐ ENTER (Ё«Ё ўлЎҐаЁвҐ ЋЉ).
‚л ¬®¦ҐвҐ ўл©вЁ ў DOS (Ґ ўле®¤п Ё§ бЁб⥬л Turbo Profiler),
зв®Ўл Їа®б¬®ваҐвм д ©« PRIME0SC.LST, Є®в®ал© ¤®«¦Ґ Ўлвм ўлўҐ¤Ґ
ў ⥪гйго ¤ЁаҐЄв®аЁо. ‚лЎҐаЁвҐ ў ¬Ґо Є®¬ ¤г File|Dos shell
(” ©«|ЋЎ®«®зЄ DOS) Ё ЎҐаЁвҐ Є« ўЁ вгаҐ
TYPE PRIME0SC.LST
…б«Ё ‚л Їа®дЁ«ЁагҐвҐ Їа®Ја ¬¬г PRIME0, ЇЁб го Turbo
C, ‚л ¤®«¦л гўЁ¤Ґвм нЄа Ґ б«Ґ¤го饥:
/* Copyright (c) 1990, Borland International */
/* Џа®Ја ¬¬ ЈҐҐа жЁЁ Їа®бвле зЁбҐ« ЇаЁ Ї®¬®йЁ «Ј®аЁв¬ ќўЄ«Ё-
¤ */
int primes[1000];
#define MAXPRIMES 1000
main()
{
int j;
int lastprime, curprime;
primes[0] = 2;
primes[1] = 3;
lastprime = 1;
curprime = 3;
printf("prime %d = %d\n", 0, primes[0]);
printf("prime %d = %d\n", 1, primes[1]);
while(curprime < MAXPRIMES)
{
for(j = 0; j <= lastprime; j++)
if((curprime % primes[j]) == 0)
{
curprime += 2;
break;
}
if(j <= lastprime)
continue;
lastprime++;
printf("prime %d = %d\n", lastprime, curprime);
primes[lastprime] = curprime;
curprime += 2;
}
}
ЏаЁ¬Ґз ЁҐ: ўаҐ¬Ґ ўлЇ®«ҐЁп "®Ў« б⥩", дЁЈгаЁагойЁҐ ў
‚ 襬 д ©«Ґ ¬®Јгв ®в«Ёз вмбп ®в ЇаЁўҐ¤Ґле §¤Ґбм Ё§-§ а §«ЁзЁ©
¬Ґ¦¤г ‚ иЁ¬ Є®¬ЇмовҐа®¬ Ё ⥬, Є®в®а®¬ Ўл«Ё Ї®«гзҐл Ё§®Ўа -
¦ҐлҐ १г«мв вл.
€¬Ґвм нв®в «ЁбвЁЈ ‚ 襩 ®вЇа®дЁ«Ёа®ў ®© Їа®Ја ¬¬л ®зҐм
Ї®«Ґ§®, в Є Є Є ® ®бв Ґвбп Ї®б«Ґ ᥠб а Ў®вл б Їа®дЁ«Ёа®ўйЁ-
Є®¬ Ё ᮤҐа¦Ёв Є®«ЁзҐб⢥го Ё ўаҐ¬Ґго бв вЁбвЁЄг ¤«п Є ¦¤®©
Ї®¬ҐзҐ®© "®Ў« бвЁ" ‚ 襩 Їа®Ја ¬¬л.
’ҐЇҐам ЎҐаЁвҐ Є« ўЁ вгॠEXIT Ё ¦¬ЁвҐ Є« ўЁиг ENTER
¤«п в®Ј®, зв®Ўл ўҐагвмбп ў б।г бЁб⥬л Turbo Profiler.
ЋвзҐв ® бв вЁбвЁЄҐ Їа®дЁ«Ёа®ў Ёп.
ЏаЁ Ґ®Ўе®¤Ё¬®бвЁ ‚л ¬®¦ҐвҐ ўлўҐб⨠ᮤҐа¦Ё¬®Ґ ®Є
Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп) ў д ©« Ё«Ё ЇаЁвҐа.
1. ‘®ў ўлЎҐаЁвҐ Print|Options (ЏаЁвҐа|Џ а ¬Ґвал).
2. ‚лЎҐаЁвҐ ᥫҐЄвЁўго Є®ЇЄг Printer (ЏаЁвҐа).
3. ‚лЎҐаЁвҐ Graphics (ѓа дЁЄ ) ¤«п в®Ј®, зв®Ўл ўЄ«озЁвм ў ўл¤ -
з㠯ᥢ¤®Ја дЁзҐбЄЁҐ бЁ¬ў®«л IBM (…б«Ё ў и ЇаЁвҐа Ґ Ї®¤-
¤Ґа¦Ёў Ґв ЇбҐў¤®Ја дЁзҐбЄЁҐ бЁ¬ў®«л, Їа®ЇгбвЁвҐ нв®в и Ј Ё
ЇҐаҐе®¤ЁвҐ Є и Јг 4.)
4. Ќ ¦¬ЁвҐ ENTER Ё«Ё (ўлЎҐаЁвҐ ЋЉ).
5. ‚лЎҐаЁвҐ Print|Statistics (ЏҐз вм|‘в вЁбвЁЄ ).
‚ १г«мв ⥠ўлЇ®«ҐЁп ўл襯ҐаҐзЁб«Ґле ¤Ґ©бвўЁ©, ‚л Ї®«г-
зЁвҐ ўл¤ зг, ў Є®в®а®© Ўг¤Ґв ®ва ¦Ґ Є ¦¤л© и Ј ў 襣® ᥠб
Їа®дЁ«Ёа®ў Ёп (Ї®«г票Ґ Їа®дЁ«п, ¬®¤ЁдЁЄ жЁп Їа®Ја ¬¬л, Ї®ўв®а-
п Є®¬ЇЁ«пжЁп (४®¬ЇЁ«пжЁп), Ї®ўв®а®Ґ Ї®«г票Ґ Їа®дЁ«п (аҐ-
Їа®дЁ«Ёа®ў ЁҐ)) ЇгвЁ Ї®ЁбЄ ЁЎ®«ҐҐ б®ўҐа襮Ј® Ё нд䥪⨢-
®Ј® ⥪бв ‚ 襩 Їа®Ја ¬¬л.
‘®еа ҐЁҐ Ё ў®ббв ®ў«ҐЁҐ бв вЁбвЁзҐбЄЁе ¤ ле.
ЏҐаҐ¤ ⥬ Є Є Їа®¤®«¦Ёвм бҐ б Їа®дЁ«Ёа®ў Ёп, гзЁ¬бп § -
ЇЁблў вм ў д ©« бв вЁбвЁзҐбЄЁҐ ¤ лҐ ® Їа®жҐбᥠўлЇ®«ҐЁп Їа®-
Ја ¬¬л PRIME0, ¤«п в®Ј®, зв®Ўл Ё¬Ґвм ў®§¬®¦®бвм ў «оЎ®© ¬®¬Ґв
Ї®ЄЁгвм б।г бЁб⥬л Turbo Profiler, Ґ Ї®вҐапў ЇаЁ н⮬ Ґ®Ў-
室Ё¬лҐ ¤ лҐ. ’ Є¦Ґ ¬л гзЁ¬ ‚ б бзЁвлў вм нвЁ ¤ лҐ ў б।г
Їа®дЁ«Ёа®ўйЁЄ ЇаЁ Ї®б«Ґ¤гойЁе ᥠб е а Ў®вл.
‚лЎҐаЁвҐ Є®¬ ¤г Statistics| Save (‘в вЁбвЁЄ | ‘®еа Ёвм)
¤«п б®еа ҐЁп бв вЁбвЁЄЁ Їа®дЁ«Ёа®ў Ёп ў д ©«Ґ б а биЁаҐЁҐ¬
.TFS (Turbo Profiler Statistics (‘в вЁбвЁзҐбЄЁҐ ¤ лҐ бЁб⥬л
Turbo Profiler)). ’ Є Є Є ў ®ЄҐ Module (Њ®¤г«м) 室Ёвбп
PRIME0, в® Ў«®Є ўў®¤ File Name (€¬п д ©« ) Ї® 㬮«з Ёо ЇаҐ¤« -
Ј Ґв PRIME0.TFS ¤«п §ў Ёп д ©« ў Є®в®а®¬ Ўг¤Ґв еа Ёвбп бв -
вЁбвЁЄ . „«п в®Ј®,зв®Ўл ᮧ¤ вм нв®в д ©« ўлЎҐаЁвҐ ЋЉ.
‚ᥠбв вЁбвЁзҐбЄЁҐ ¤ лҐ вҐЄг饣® бҐ б Їа®дЁ«Ёа®ў Ёп
PRIME0 ⥯Ґам б®еа Ґл ў д ©«Ґ PRIME0.TFS, 室п饬бп ў ⥪г饩
¤ЁаҐЄв®аЁЁ, б«Ґ¤®ў вҐ«м® вҐЇҐам ‚л ¬®¦ҐвҐ ў «оЎ®© ¬®¬Ґв Ї®ЄЁ-
гвм б।㠯а®дЁ«Ёа®ўйЁЄ , Ґ Ї®вҐапў ЇаЁ н⮬ Ї®«гзҐлҐ ¤ лҐ.
„«п в®Ј®,зв®Ўл Їа®б¬®ваҐвм бв вЁбвЁЄг, § Ја㧨⥠PRIME0 ў Їа®дЁ-
«Ёа®ўйЁЄ Ё ўлЎҐаЁвҐ ў ¬Ґо Є®¬ ¤г Statistics|Restore (‘в вЁбвЁ-
Є |‚®ббв ®ўЁвм). Љ Є Ё ў ЇаҐ¤л¤гйЁ© а §, ў Ў«®ЄҐ ўў®¤ File Name
(€¬п д ©« ) Ї® 㬮«з Ёо Ўг¤Ґв § ¤ д ©« PRIME0.TFS. Ќ ¦¬ЁвҐ
ENTER ¤«п ЇҐаҐе®¤ ў Ў«®Є бЇЁбЄ Files (” ©«л), ўлЎҐаЁвҐ ў Ґ¬
PRIME0.TFS Ё, § ⥬, ўлЎҐаЁвҐ ЋЉ ¤«п ў®ббв ®ў«ҐЁп бв вЁбвЁзҐ-
бЄЁе ¤ ле Ё§ нв®Ј® д ©« .
Ђ «Ё§ бв вЁбвЁЄЁ.
‚ н⮬ а §¤Ґ«Ґ ‚л гзЁвҐбм «Ё§Ёа®ў вм бв вЁбвЁЄг, е®-
¤пйгобп ў ®ЄҐ Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп), ¤«п в®Ј®,
зв®Ўл ®б®ў ЁЁ нв®© бв вЁбвЁЄЁ ў®бЁвм ў ў иг Їа®Ја ¬¬г г«гз-
襨п.
„«п з « ҐйҐ а § Ї®б¬®ваЁ¬ ўаҐ¬Ґго Ё Є®«ЁзҐб⢥го
бв вЁбвЁЄг, 室пйгобп ў ®ЄҐ Execution Profile (Џа®дЁ«м ўлЇ®«-
ҐЁп). ђ бЇ еЁвҐ ®Є® Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп
(‚лЎҐаЁвҐ Є®¬ ¤г Zoom (ђ бЇ егвм) Ё§ ¬Ґо Window (ЋЄ®) Ё«Ё -
¦¬ЁвҐ F5) Ё Ї®б¬®ваЁвҐ бв вЁбвЁЄг ¤«п бва®Є 22 Ё 31 (®ЇҐа в®ал
if Ё printf).
‚ ¦®Ґ § ¬Ґз ЁҐ: Џ®«м§®ў вҐ«п¬ Џ бЄ «п. ‚ PRIME0PA Ё¬
ᮮ⢥вбвўгов бва®ЄЁ 31 (if) Ё 42 (Writeln).
€§ Ї®«г祮Ј® Їа®дЁ«п ¬л ¬®¦Ґ¬ Ї®зҐаЇгвм ¬®Ј® Ї®«Ґ§ле
ᢥ¤ҐЁ©. Ќ ЇаЁ¬Ґа, «ҐЈЄ® § ¬ҐвЁвм, зв® бва®Є 22 ў PRIME0 ўлЇ®«-
пҐвбп Ј®а §¤® з йҐ зҐ¬ «оЎ®© ¤агЈ®© ®ЇҐа в®а. ‚Ї®«Ґ Ї®пв®,
зв® бва®Є 22 ўлЇ®«пҐвбп 15 122 а § , в Є Є Є ў нв®© бва®ЄҐ Їа®-
Ёб室Ёв Їа®ўҐаЄ Є ¦¤®Ј® зЁб« ў ¤Ё Ї §®Ґ ®в 4 ¤® 1000 ¤Ґ«Ё-
¬®бвм нв®Ј® зЁб« н«Ґ¬Ґвл ¬ ббЁў primes, Їа®ўҐаЄ Їа®Ёб室Ёв
¤® вҐе Ї®а Ї®Є «ЁЎ® Ї®б«Ґ ¤Ґ«ҐЁп ®бв в®Є бв Ґв а ўл¬ 0, «ЁЎ®
¬ ббЁў primes Ўг¤Ґв ЁбзҐаЇ . ’ Є ¦Ґ ¬®¦® ўЁ¤Ґвм, зв® бва®Є 31
(®ЇҐа в®а printf) ®вЁ¬ Ґв Ў®«миго з бвм ўаҐ¬ҐЁ ўлЇ®«ҐЁп Їа®-
Ја ¬¬л.
ЏаЁ¬Ґз ЁҐ: ў Їа®Ја ¬¬Ґ PRIME5 ᮤҐа¦Ёвбп ¬®¤ЁдЁжЁа®ў л©
ў аЁ в ®ЇҐа в®а printf, (Ї®«м§®ў вҐ«п¬ Џ бЄ «п ЇаҐ¤ § зҐ
Їа®Ја ¬¬ PRIME5PA б ®ЇҐа в®а®¬ CRT)
Ћ¤®ўаҐ¬Ґл© Їа®б¬®ва Ёб室®Ј® ⥪бв Ё бв вЁбвЁЄЁ.
„ лҐ ў ®ЄҐ Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп) Ї®Є §л-
ў ов, зв® ў бва®ЄҐ 22 Їа®Ја ¬¬ ўлЇ®«пҐв Ў®«миго а Ў®вг, 祬 ¬
Ґ®Ўе®¤Ё¬®. Ќ® Ї®«го Є авЁг в®Ј®, зв® Їа®Ёб室Ёв ў® ўаҐ¬п ўл-
Ї®«ҐЁп Їа®Ја ¬¬л ¬®¦® Ї®«гзЁвм «Ёим ЇаЁ ®¤®ўаҐ¬Ґ®¬ а бᬮв-
२Ё ўаҐ¬Ґ®© Ё Є®«ЁзҐб⢥®© бв вЁбвЁЄЁ б Ёбе®¤л¬ вҐЄб⮬
Їа®Ја ¬¬л.
‚ ¬ Ґ®Ўе®¤Ё¬® б®Ї®бв ўЁвм ўаҐ¬ҐлҐ Ё Є®«ЁзҐбвўҐлҐ ¤ -
лҐ, 室пйЁҐбп ў ®ЄҐ Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп) б
ᮮ⢥вбвўгойЁ¬Ё бва®Є ¬Ё Ёб室®Ј® ⥪бв Їа®Ја ¬¬л, 室п饣®-
бп ў ®ЄҐ Module (Њ®¤г«м).
‚®в ®¤Ё Ё§ бЇ®б®Ў®ў ®¤®ўаҐ¬Ґ®Ј® Ї®«г票п нЄа Ґ ¤Ёб-
Ї«Ґп Ёб室®Ј® ⥪бв Ё бв вЁбвЁЄЁ Їа®дЁ«Ёа®ў Ёп:
1. €§¬ҐЁ¬ а §¬Ґал Ё Ї®«®¦ҐЁҐ ®Є Execution Profile (Џа®дЁ«м
ўлЇ®«ҐЁп) в Є, зв®Ўл ®® § п«® Їа ўго Ї®«®ўЁг ў 襣® нЄ-
а . „«п нв®Ј® 㦮 ўлЎа вм ў ¬Ґо Є®¬ ¤г
Window|Size/Move (ЋЄ®|ђ §¬Ґал/Џ®«®¦ҐЁҐ) Ё«Ё ¦ вм Ctrl-
F5.
2. ‘«Ґ¤г©вҐ гЄ § Ёп¬, 室пйЁ¬бп ў бва®ЄҐ б®бв®пЁп ¤«п в®Ј®,
зв®Ўл:
. €§¬ҐЁвм а §¬Ґал ®Є в Є, зв®Ўл ®® § Ё¬ «® ўҐбм нЄ-
а ў ўлб®вг Ё Ї®«®ўЁг нЄа ў иЁаЁг.
ў. ЏҐаҐ¤ўЁгвм Ї®«г祮Ґ ®Є® ўЇа ў®.
Џ®б«Ґ в®Ј® Є Є и ЈЁ Ё ў Ўг¤г⠯தҐ« л, ¦¬ЁвҐ Є« ўЁиг
ENTER.
3. ЂЄвЁўЁаг©вҐ ®Є® Module (Њ®¤г«м), ¦ ў ¤«п нв®Ј® Є« ўЁиг
F6, § ⥬ Ё§¬ҐЁвҐ ҐЈ® а §¬Ґал Ё а бЇ®«®¦ҐЁҐ в Є, зв®Ўл ®®
§ п«® «Ґўго Ї®«®ўЁг нЄа .
4. ‘®ў ўҐаЁвҐбм ў ®Є® Execution Profile (Џа®дЁ«м ўлЇ®«Ґ-
Ёп) ( ¦ ў ¤«п нв®Ј® Є« ўЁиг F6).
Њлим: €§¬ҐҐЁҐ а §¬Ґа®ў ®Є б Ї®¬®ймо ¬лиЁ Їа®Ёб室Ёв
Ї®б।бвў®¬ ЇҐаҐ¬ҐйҐЁп Ї® нЄа г ¬ аЄҐа Ё§¬ҐҐ-
Ёп а §¬Ґа , 室п饣®бп ў Ё¦Ґ¬ Їа ў®¬ гЈ«г.
„«п в®Ј®, зв®Ўл ЇҐаҐ¬ҐбвЁвм ®Є®, Ґ®Ўе®¤Ё¬® § жҐ-
ЇЁвм § Ј®«®ў®Є нв®Ј® ®Є Ё«Ё ўҐаеоо Ё«Ё «Ґўго
з бвм ¤ў®©®© а ¬ЄЁ, ®Ја ЁзЁў о饩 ®Є® Ё Ї®¤вп-
гвм ®Є® ў 㦮Ґ ¬Ґбв®.
ЊҐ¦¤г ®Є®¬ Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп) Ё ®Є®¬
Module (Њ®¤г«м) ўв®¬ вЁзҐбЄЁ Ї®¤¤Ґа¦Ёў Ґвбп бўп§м, Ї®н⮬㠪®Ј¤
‚л ЇҐаҐ¬Ґй ҐвҐбм Ї® Ёб室®¬г ⥪бвг Їа®Ја ¬¬л, ᮤҐа¦Ё¬®Ґ ®Є
Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп) ўбҐ ўаҐ¬п ᮮ⢥вбвўгҐв
⮬г гз бвЄг Їа®Ја ¬¬л Є®в®а®¬ ‚л 室ЁвҐбм ў ¤ л© ¬®¬Ґв.
„«п в®Ј®, зв®Ўл Ї®б¬®ваҐвм нв®в ¬Ґе Ё§¬ ў ¤Ґ©бвўЁЁ Ґ®Ўе®¤Ё¬®
ᤥ« вм б«Ґ¤го饥 :
1. ЂЄвЁўЁаг©вҐ ®Є® Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп) ( -
¦ ў ¤«п нв®Ј® F6) Ё ЇҐаҐ¬ҐбвЁвҐ ᢥ⮢®© ¬ аЄҐа ЇҐаўго
бва®Єг (бв вЁбвЁЄ ¤«п бва®ЄЁ 31 Їа®Ја ¬¬л PRIME0, Ё«Ё бва®-
ЄЁ 42 Їа®Ја ¬¬л PRIME0PA).
2. ЋвЄа®©вҐ «®Є «м®Ґ ¬Ґо ( ¦¬ЁвҐ ¤«п нв®Ј® Alt-F10) Ё ўлЎҐ-
аЁвҐ Є®¬ ¤г Module (Њ®¤г«м) (Ё«Ё Їа®бв® ¦¬ЁвҐ Ctrl-M).
Џа®дЁ«Ёа®ўйЁЄ гбв ®ўЁв Єгаб®а ў ®ЄҐ Module (Њ®¤г«м)
бва®ЄҐ 31.
3. ЏаЁ Ї®¬®йЁ Є« ўЁи гЇа ў«ҐЁп Єгаб®а®¬ ЇҐаҐ¬ҐбвЁвҐбм бва®-
Єг 22 Ёб室®Ј® ⥪бв Їа®Ја ¬¬л (бва®Є 31 ў PRIME0PA).
ќв бва®Є § Ё¬ Ґв ўв®а®Ґ ¬Ґбв® Ї® § ва в ¬ ўаҐ¬ҐЁ ў Їа®-
Ја ¬¬Ґ PRIME0. ’ҐЇҐам ў ¤ўге ўҐаеЁе бва®Є е ®Є Execution
Profile (Џа®дЁ«м ўлЇ®«ҐЁп) 室пвбп ¤ лҐ Їа®дЁ«Ёа®ў Ёп
¤«п а бб¬ ваЁў Ґ¬®Ј® ®ЇҐа в®а if.
4. ЏҐаҐ¬ҐбвЁвҐ Єгаб®а ў ®ЄҐ Module (Њ®¤г«м) бва®Єг 21 (
бва®Єг 29 ў PRIME0PA) Ё Ї®б¬®ваЁвҐ Є Є Ё§¬ҐЁ«®бм ᮤҐа¦Ё¬®Ґ
®Є Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп). ‚ҐаеЁҐ бва®ЄЁ
ў ®ЄҐ Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп) ⥯Ґам ᮤҐа-
¦ в бв вЁбвЁЄг ¤«п 21 бва®ЄЁ Їа®Ја ¬¬л.
5. ЏҐаҐ¬ҐбвЁвҐ Єгаб®а бва®Єг 30 ( бва®Єг 42 ў PRIME0PA) Ё
Ї®б¬®ваЁвҐ ¤ лҐ ў ®ЄҐ Execution Profile (Џа®дЁ«м ўл-
Ї®«ҐЁп).
Ќ «ЁзЁҐ в Є®© бўп§Ё ¬Ґ¦¤г ¤ўг¬п ®Є ¬Ё ®Ў«ҐЈз Ґв 宦¤ҐЁҐ
гз бвЄ®ў ‚ 襩 Їа®Ја ¬¬л, ЁЎ®«ҐҐ а бв®зЁвҐ«м® а б室гойЁе ўаҐ-
¬п ҐҐ ўлЇ®«ҐЁп. Љ ⮬㠦Ґ нв® ¬®¦Ґв Ї®§ў®«Ёвм Ё§ЎҐ¦ вм Їа®б¬®в-
а «ЁбвЁЈ Їа®дЁ«Ёа®ў Ёп (Ї®¤®Ў®Ј® а бᬮв८¬г а ҐҐ), ў
⮬ б«гз Ґ Ґб«Ё ‚л ЇаҐ¤Ї®зЁв ҐвҐ «Ё§Ёа®ў вм ¤ лҐ, 室пйЁҐ-
бп нЄа Ґ Є®¬ЇмовҐа .
‘®еа ҐЁҐ Є®дЁЈга жЁЁ ®Є®
Ќ ¤ ®¬ нв ЇҐ бв « Ї®¤е®¤пйЁ© ¬®¬Ґв ¤«п в®Ј®, зв®Ўл § -
Ї®¬Ёвм Ё§¬ҐҐЁп, Їа®Ё§ўҐ¤ҐлҐ ў Є®дЁЈга жЁЁ бЁб⥬л Turbo
Profiler. …б«Ё ‚л Ґ б®еа ЁвҐ вҐЄг饥 а бЇ®«®¦ҐЁҐ Ё а §¬Ґал
®Є®, в® ЇаЁ б«Ґ¤го饬 бҐ бҐ а Ў®вл б Їа®дЁ«Ёа®ўйЁЄ®¬ ®Є ®Їпвм
ЇаЁ¬гв Ї®«®¦ҐЁҐ Ё а §¬Ґал, § ¤ ў Ґ¬лҐ Ї® 㬮«з Ёо.
1. ‚лЎҐаЁвҐ Є®¬ ¤г Options|Save Options (Џ а ¬Ґвал|‘®еа Ёвм
Ї а ¬Ґвал). Ќ нЄа Ґ Ї®пўЁвбп Ў«®Є ¤Ё «®Ј Save
Configuration (‘®еа ҐЁҐ Є®дЁЈга жЁЁ).
2.Џ® 㬮«з Ёо ваЁЈЈҐалҐ Є®ЇЄЁ Options (Џ а ¬Ґвал), 室пйЁҐбп
ў ¤ ®¬ Ў«®ЄҐ ¤Ё «®Ј 㦥 гбв ®ў«Ґл, Ё ўбҐ гбв ®ў«ҐлҐ
Ї а ¬Ґвал (в ЄЁҐ, ЇаЁ¬Ґа, Є Є Ї а ¬Ґвал Ё§®Ўа ¦ҐЁп ®Є
Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп)) § ЇЁблў овбп ў д ©«
Є®дЁЈга жЁЁ.
3. ‚ Ў«®ЄҐ ¤Ё «®Ј Save Configuration (‘®еа ҐЁҐ Є®дЁЈга жЁЁ)
ЇаЁ Ї®¬®йЁ Є« ўЁиЁ TAB ЇҐаҐ¬ҐбвЁвҐбм ў Layout (Љ®¬Ї®®ўЄ ) Ё
¦¬ЁвҐ Є« ўЁиг "Їа®ЎҐ«". ‚ १г«мв ⥠нв®Ј® ⥪гй п Є®¬Ї®-
®ўЄ ®Є® "бвлЄ ў бвлЄ" Ўг¤Ґв б®еа Ґ ў д ©«Ґ Є®дЁЈга -
жЁЁ.
4. Џ® 㬮«з Ёо Є®дЁЈга жЁп § ЇЁблў Ґвбп ў д ©« TFCONFIG.TF,
ҐЈ® Ё¬п 㦥 гбв ®ў«Ґ® ў Ў«®ЄҐ ўў®¤ Save To (‘®еа Ёвм ў).
‚лЎҐаЁвҐ ЋЉ, Ё«Ё ¦¬ЁвҐ ENTER, ¤«п в®Ј® зв®Ўл б®еа Ёвм ‚ -
иЁ Ї а ¬Ґвал ў ⥪г饩 ¤ЁаҐЄв®аЁЁ ў д ©«Ґ б нвЁ¬ §ў ЁҐ¬.
Љ Є в®«мЄ® ‚л § ЇгбЄ ҐвҐ бЁб⥬г Turbo Profiler, ® ЁйҐв
д ©« TFCONFIG.TF, Ї® 㬮«з Ёо бзЁв Ґвбп, зв® д ©« Є®дЁЈга жЁЁ
Ё¬ҐҐв нв® Ё¬п. Љ Є в®«мЄ® Їа®дЁ«Ёа®ўйЁЄ 室Ёв нв®в д ©«, ® ў-
⮬ вЁзҐбЄЁ ЇаЁЁ¬ Ґв Є®дЁЈга жЁо, § ¤ ў Ґ¬го Ї а ¬Ґва ¬Ё,б®еа -
Ґл¬Ё ў н⮬ д ©«Ґ.
€§¬ҐаҐЁҐ нд䥪⨢®бвЁ а Ў®вл "®Ў« бвЁ" Їа®Ја ¬¬л.
Ћв®иҐЁҐ ®ЎйҐЈ® ўаҐ¬ҐЁ, § ва 祮Ј® а Ў®вг ¤ ®© "®Ў-
« бвЁ" Їа®Ја ¬¬л Є зЁб«г ЇҐаҐ¤ з гЇа ў«ҐЁп ¤ го "®Ў« бвм"
пў«пҐвбп е®а®иҐ© ¬Ґа®© ¤«п ўлзЁб«ҐЁп нд䥪⨢®бвЁ а Ў®вл Є Є
®¤®Ј® ®ЇҐа в®а , в Є Ё ўбҐ© Їа®Ја ¬¬л.
„«п в®Ј®, зв®Ўл Ї®б¬®ваҐвм нв® ®в®иҐЁҐ ¤«п "®Ў« б⥩", ®Ї-
।Ґ«Ґле ў PRIME0, Ё§¬ҐЁвҐ Ї а ¬Ґва Ё§®Ўа ¦ҐЁп ¤«п ®Є
Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп). ќв® ¬®¦® ᤥ« вм б«Ґ¤го-
йЁ¬ ®Ўа §®¬:
1. €§ «®Є «м®Ј® ¬Ґо ®Є Execution Profile (Џа®дЁ«м ўлЇ®«Ґ-
Ёп) ўлЎҐаЁвҐ Є®¬ ¤г Display (€§®Ўа ¦ҐЁҐ). („«п нв®Ј® Ґ-
®Ўе®¤Ё¬® ¦ вм Є®¬ЎЁ жЁо Є« ўЁи Alt-F10.)
2. ‚ Ї®пўЁўиҐ¬бп Ў«®ЄҐ ¤Ё «®Ј ўлЎҐаЁвҐ § 票Ґ Per Call (Ќ
®¤Ё ўл§®ў) Ї а ¬Ґва Display (€§®Ўа ¦ҐЁҐ).
3. ‚лЎҐаЁвҐ ЋЉ (Ё«Ё ¦¬ЁвҐ ENTER).
’ҐЇҐам ‚л ¬®¦ҐвҐ ўЁ¤Ґвм, зв® бва®Є 22 а Ў®в Ґв Ј®а §¤® нд-
䥪⨢ҐҐ бва®ЄЁ 31 (ў PRIME0PA бва®ЄЁ 30 Ё 41 ᮮ⢥вб⢥®).
ЌҐб¬®вап в®, зв® ®ЎйҐҐ ўаҐ¬п, § ва 祮Ґ ўлЇ®«ҐЁҐ ¤ ®©
бва®ЄЁ, ўҐ«ЁЄ®, Ї®бЄ®«мЄг нв бва®Є ўлЇ®«пҐвбп Ў®«м讥 Є®«ЁзҐ-
бвў® а §, б।ҐҐ ўаҐ¬п ҐҐ ўлЇ®«ҐЁп б®бв ў«пҐв ¬ҐҐҐ ®¤®© ¬Ё«-
«ЁбҐЄг¤л. ‡ ¬ҐвЁ¬, зв® б।ҐҐ ўаҐ¬п ўлЇ®«ҐЁп бва®ЄЁ 31 б®-
бв ў«пҐв ЇаЁЎ«Ё§ЁвҐ«м® 38 ¬Ё««ЁбҐЄг¤ (ў PRIME0PA б।ҐҐ ўаҐ¬п
ўлЇ®«ҐЁп бва®ЄЁ 42 а ў® 28 ¬Ё««ЁбҐЄг¤ ¬).
„ лҐ, Ї®«гзҐлҐ Їа®дЁ«Ёа®ўйЁЄ®¬ Ї®Є §лў ов Їг⨠㬥миҐ-
Ёп ўаҐ¬ҐЁ а Ў®вл PRIME0 Ё гЇа®йҐЁп ҐҐ бвагЄвгал. Њ®¦® ўл¤Ґ-
«Ёвм ¤ўҐ бва ⥣ЁЁ г«гзиҐЁп Їа®Ја ¬¬л:
1. ‘®Єа 饨Ґ ўаҐ¬ҐЁ, § ва зЁў Ґ¬®Ј® ўлЇ®«ҐЁҐ ®ЇҐа жЁ©
ўў®¤ /ўлў®¤ .
2. €§¬ҐҐЁҐ бвагЄвгал ®ЇҐа в®а®ў жЁЄ« Ў®«ҐҐ нд䥪⨢го Ё
а жЁ® «мго.
Џа®Ў«Ґ¬ ўў®¤ /ўлў®¤ ¬®¦Ґв Ўлвм з бвЁз® аҐиҐ § бзҐв б®-
Єа йҐЁп ®ЇҐа в®а printf б ҐЈ® бв®п饣® ўЁ¤
printf("prime #%d=%d\n", lastprime, curprime)
¤® ўЁ¤
printf("%d\n", curprime).
€д®а¬ жЁп ¤«п Ї®«м§®ў ⥫Ґ© Џ бЄ «п: ‚л ¬®¦ҐвҐ ЇаЁўҐ-
бвЁ ®ЇҐа в®а Writeln Є ўЁ¤г
Writeln(CurPrime);.
’®«мЄ® ®¤® нв® Їа®б⮥ Ё§¬ҐҐЁҐ ¤ Ґв § зЁвҐ«м®Ґ 㬥миҐ-
ЁҐ ўаҐ¬ҐЁ ўлЇ®«ҐЁп Їа®Ја ¬¬л. Ћ¤ Є® § ¬ҐвЁ¬, зв® ‚л Ґ ¬®¦Ґ-
⥠㬥миЁвм Є®«ЁзҐбвў® ®Ўа 饨© Є ®ЇҐа в®аг ўлў®¤ (ў ¤ ®¬
ЇаЁ¬ҐаҐ нЄа Є ¦¤л© а § Ўг¤Ґв ўлў®¤Ёвмбп 168 Їа®бвле зЁбҐ«).
€, § ЁбЄ«о票Ґ¬ нв®Ј® ҐЎ®«ми®Ј® г«гз襨п, ‚л Ї®звЁ ЁзҐЈ® Ґ
ᬮ¦ҐвҐ ᤥ« вм ¤«п г᪮२п а Ў®вл PRIME0. Ђ«Ј®аЁв¬ нв®© Їа®-
Ја ¬¬л, Є®в®ал© вॡгҐв б®еа ҐЁп ўбҐе ЇаҐ¤л¤гйЁе १г«мв в®ў ў
¬ ббЁўҐ б Ї®б«Ґ¤гойЁ¬ ЁбЇ®«м§®ў ЁҐ¬ Ёе ¤«п ¤Ґ«ҐЁп, б®ўҐа襥
бв®«мЄ®, зв® ¤ «мҐ©иҐҐ ҐЈ® г«гз襨Ґ Їа ЄвЁзҐбЄЁ Ґў®§¬®¦®.
(‡ ¬ҐвЁ¬, зв® ¤ л© «Ј®аЁв¬ Ґ ®зҐм нд䥪⨢Ґ б в®зЄЁ §аҐЁп
ЁбЇ®«м§®ў Ёп Ї ¬пвЁ, в Є Є Є «ЁзЁҐ ¬ ббЁў вॡгҐв १ҐаўЁа®-
ў Ёп Ї ¬пвЁ, а §¬Ґал Є®в®а®© ¤®«¦л Ї®§ў®«Ёвм а §¬ҐбвЁвм ўбҐ
©¤ҐлҐ Їа®бвлҐ зЁб« . €§ ўл襨§«®¦Ґ®Ј® б«Ґ¤гҐв ®Ја ЁзҐЁҐ
Є®«ЁзҐбвў® Їа®бвле зЁбҐ«, Є®в®алҐ ¬®Јгв Ўлвм ©¤Ґл ¤ ®©
Їа®Ја ¬¬®©, Ї®бЄ®«мЄг ЇаЁ ҐЄ®в®а®¬ Ёе Є®«ЁзҐб⢥ ҐЁ§ЎҐ¦® Їа®-
Ё§®©¤Ґв ЇҐаҐЇ®«ҐЁҐ ®ЇҐа вЁў®© Ї ¬пвЁ.)
Љ бз бвмо бгйҐбвўгҐв Ў®«ҐҐ ®ЇвЁ¬ «мл© бЇ®б®Ў Ї®ЁбЄ Їа®бвле
зЁбҐ«, ® ¤«п в®Ј®, зв®Ўл Ё¬ ў®бЇ®«м§®ў вмбп Ґ®Ўе®¤Ё¬® Ї®«®бвмо
Ё§¬ҐЁвм «Ј®аЁв¬, зв® Ё ¤Ґ¬®бваЁагҐвбп ў б«Ґ¤го饬 ЇаЁ¬ҐаҐ, ў
Їа®Ја ¬¬Ґ PRIME1.
Њ®¤г«м п Їа®Ја ¬¬ Ї®ЁбЄ Їа®бвле зЁбҐ« (PRIME1)
‡ ўҐаиЁ¬ а бᬮв२Ґ PRIME0 Ё § Јаг§Ё¬ ў ®Є® Module (Њ®-
¤г«м) Їа®Ја ¬¬г PRIME1, б«Ґ¤гойЁ© ў аЁ в Їа®Ја ¬¬л Ї®ЁбЄ Їа®-
бвле зЁбҐ«. Ќ 祬 Ё§г票Ґ нв®© Їа®Ја ¬¬л б Їа®бв®Ј® Їа®б¬®ва
ҐҐ ⥪бв .
1. ‚лЎҐаЁвҐ Є®¬ ¤г File|Open (” ©«|ЋвЄалвм).
2. Џ® 㬮«з Ёо ЄвЁўЁагҐвбп Ў«®Є ўў®¤ File Name (€¬п д ©« ),
ᮤҐа¦ йЁ© и Ў«® Ё¬ҐЁ д ©« ўЁ¤ *.EXE. Ќ ¦¬ЁвҐ ENTER.
3. ‚ Ў«®ЄҐ бЇЁбЄ Files (” ©«л) ЇҐаҐ¬ҐбвЁвҐ ᢥ⮢®© ¬ аЄҐа
PRIME1.EXE (Ё«Ё PRIME1PA.EXE), ЁбЇ®«м§гп ¤«п нв®Ј® Є« ўЁиЁ
"бв५Є ўўҐае" Ё "бв५Є ўЁ§".
4. Ќ ¦¬ЁвҐ ENTER. ‘Ёб⥬ Turbo Profiler § Јаг§Ёв Їа®Ја ¬¬г
PRIME1 (PRIME1PA) ў ®Є® Module (Њ®¤г«м).
5. ђ бЇ еЁвҐ ®Є® Module (Њ®¤г«м) ( ¦ ў ¤«п нв®Ј® F5). ЋЎа -
вЁвҐ ўЁ¬ ЁҐ в®, зв® ў бва®ЄҐ 4 Ї®пўЁ« бм Ї®¤Їа®Ја ¬¬
prime (Prime).
‘а §г Ўа®б овбп ў Ј« § ¤ў ®в«ЁзЁп ®в ЇаҐ¤л¤г饣® ЇаЁ¬Ґа :
* ‚®-ЇҐаўле, Ёб祧 ¬ ббЁў primes. „ п Їа®Ја ¬¬ Ґ ЁбЇ®«м-
§гҐв бЇ®б®Ў ¤Ґ«ҐЁп ¬ҐмиЁҐ Їа®бвлҐ зЁб« , ® Їа®бв® б®-
¤Ґа¦Ёв ў ᥡҐ жЁЄ«, ў Є®в®а®¬ ¤Ґ« Ґвбп Ї®ЇлвЄ а §¤Ґ«Ёвм
а бб¬ ваЁў Ґ¬®Ґ зЁб«® ўбҐ ҐзҐвлҐ зЁб« , бва®Ј® ¬ҐмиЁҐ
¤ ®Ј®. ‚ з «Ґ १г«мв ⮬ нв®Ј® Ўг¤Ґв 㢥«ЁзҐЁҐ зЁб«
ЁвҐа жЁ© Ї® ба ўҐЁо б ЇаҐ¤л¤гйЁ¬ ЇаЁ¬Ґа®¬, ® ¬л гўЁ¤Ё¬,
зв® ў Є®Ґз®¬ Ёв®ЈҐ, Ї®б«Ґ ЇҐаҐа Ў®вЄЁ ¤ ®Ј® ЇаЁ¬Ґа ,
¬®¦® Ї®«гзЁвм Ў®«ҐҐ а жЁ® «мго Ё Є зҐб⢥го Їа®Ја ¬¬г.
* ‚®-ўв®але Їа®ўҐаЄ в®, пў«пҐвбп «Ё ¤ ®Ґ зЁб«® Їа®бвл¬,
ўл¤Ґ«Ґ ў б ¬®бв®п⥫мго Ї®¤Їа®Ја ¬¬г, Є®в®а п ўл§лў Ґвбп
Ё§ ®б®ў®© Їа®Ја ¬¬л.
Џ®¬Ґвм⥠"®Ў« бвЁ" ў § Ја㦥®© Їа®Ја ¬¬Ґ (ўлЎа ў ¤«п нв®Ј®
Є®¬ ¤г Add Areas|Every Line („®Ў ўЁвм "®Ў« бвЁ"|Љ ¦¤ п бва®Є ) ў
«®Є «м®¬ ¬Ґо ®Є Module (Њ®¤г«м)), ¦¬ЁвҐ ENTER, § ⥬ § Їг-
бвЁвҐ PRIME1 ( ¦ ў F9) Ї®¤ гЇа ў«ҐЁҐ¬ бЁб⥬л Turbo Profiler Ё
®§ Є®¬мвҐбм б Ї®«г祮© бв вЁбвЁЄ®©. ‡ ⥬ ўлЎҐаЁвҐ Display Ё§
«®Є «м®Ј® ¬Ґо ®Є Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп) ¤«п
в®Ј®, зв®Ўл ®вЄалвм Ў«®Є ¤Ё «®Ј Display Options (Џ а ¬Ґвал Ё§®-
Ўа ¦ҐЁп) Ё ЇаЁўҐбвЁ Є®ЇЄг Both ў б®бв®пЁҐ On (€бЇ®«м§гҐвбп).
Ќ ¦¬ЁвҐ ENTER, § ⥬ а бЇ еЁвҐ ®Є® Їа®дЁ«п (Є« ўЁи F5).
ђЁб.1.6 ‚६Ґ п Ё Є®«ЁзҐб⢥ п бв вЁбвЁЄ . PRIME1.
‚л ¬®¦ҐвҐ § ¬ҐвЁвм, зв® ўаҐ¬п ўлЇ®«ҐЁп Ґ¬®Ј® 㬥миЁ«®бм
(®вз бвЁ нв® Їа®Ё§®и«® § бзҐв в®Ј®, зв® PRIME1 ўл¤ Ґв нЄа
¬ҐмиҐ Ёд®а¬ жЁЁ 祬 PRIME0). ‘ ¬л¬ г§ЄЁ¬ ¬Ґб⮬ Їа®Ја ¬¬л Ї®-
ЇаҐ¦Ґ¬г ®бв Ґвбп ®ЇҐа в®а printf (⥯Ґам 室пйЁ©бп ў бва®ЄҐ
21) (ў PRIME1PA Ґ¬г ᮮ⢥вбвўгҐв ®ЇҐа в®а Writeln ў бва®ЄҐ 24.)
Ћв¬ҐвЁ¬, зв® бва®Є , ў Є®в®а®© ҐЇ®б।б⢥® Їа®ўҐапҐвбп
пў«пҐвбп «Ё ®зҐаҐ¤®Ґ зЁб«® Їа®бвл¬ (бва®Є 9 ў PRIME0, бва®Є 12
ў PRIME0PA), ⥯Ґам ўлЇ®«пҐвбп 78 022 а § ў¬Ґбв® 15 122. Ќ
ЇҐаўл© ў§Ј«п¤, нв®в д Єв ўлЈ«п¤Ёв ўЇҐз в«пойҐ, ® 㦮 гзҐбвм,
зв® ў १г«мв вҐ, ®ЎйҐҐ ўаҐ¬п, § ва зЁў Ґ¬®Ґ ўлЇ®«ҐЁҐ ¤ ®©
бва®ЄЁ, 㢥«ЁзЁвбп ўбҐЈ® «Ёим ЇаЁ¬Ґа® 1 ᥪг¤г, в Є Є Є, ў
ᮮ⢥вбвўЁЁ б а ҐҐ Ї®«гзҐл¬Ё ¤ л¬Ё, нв бва®Є а Ў®в Ґв
®зҐм нд䥪⨢® б в®зЄЁ §аҐЁп ЁбЇ®«м§®ў Ёп ўаҐ¬ҐЁ.
…б«Ё ЇаЁпвм ў® ўЁ¬ ЁҐ, зв® жЁЄ« Їа®ўҐаЄЁ зЁб« ўл¤Ґ«Ґ
⥯Ґам ў ®в¤Ґ«мго Ї®¤Їа®Ја ¬¬г, в® ®¤Ё¬ Ё§ ®зҐўЁ¤ле Їг⥩ Ї®-
ўл襨п нд䥪⨢®бвЁ ҐҐ а Ў®вл пў«пҐвбп б®Єа 饨Ґ ўл§®ў®ў ¤ -
®© Ї®¤Їа®Ја ¬¬л. ‘гйҐбвўгҐв ҐбЄ®«мЄ® Їг⥩ б®Єа йҐЁп Є®«ЁзҐбв-
ў 楫ле зЁбҐ«, ЇҐаҐ¤ ў Ґ¬ле ¤ ®© Ї®¤Їа®Ја ¬¬Ґ ¤«п Їа®ўҐаЄЁ.
—Ґ¬ Ў®«миҐ зЁбҐ« Ўг¤Ґв ®вбҐп® га®ўҐ ®б®ў®© Їа®Ја ¬¬л, ⥬
¬Ґм襥 Є®«ЁзҐбвў® а § Ўг¤Ґв ўл§лў вмбп ¤ п Ї®¤Їа®Ја ¬¬ Ё ⥬
Ўлбв॥ Ўг¤Ґв ўлЇ®«пвмбп ўбп Їа®Ја ¬¬ ў 楫®¬. ‚ б«Ґ¤гойЁе Ґ-
бЄ®«мЄЁе ЇаЁ¬Ґа е ¬л Їа®¤Ґ¬®бваЁа㥬 Є Є Їа ЄвЁЄҐ ЇаЁ¬ҐпҐвбп
ўл襨§«®¦Ґ п бва ⥣Ёп.
Њ®¤ЁдЁЄ жЁп Їа®Ја ¬¬л Ё Ї®ўв®а®Ґ Їа®дЁ«Ёа®ў ЁҐ.
ЃҐв«Ё ®в¬Ґз Ґв, зв® ў¬Ґбв® Їа®ўҐаЄЁ ўбҐе ¬®¦ЁвҐ«Ґ© Ё§ Ё-
вҐаў « ®в 1 ¤® n ў ®ЇҐа в®аҐ ¤Ґ«ҐЁп Ї® ¬®¤г«о, ¤®бв в®з® ®Ја -
ЁзЁвмбп «Ёим зЁб« ¬Ё, Ґ ЇаҐў®б室пйЁ¬Ё Є®ап Єў ¤а в®Ј® Ё§
а бб¬ ваЁў Ґ¬®Ј® зЁб« . ќв® Ё ॠ«Ё§®ў ® ¬Ё ў Їа®Ја ¬¬Ґ PRIME2
(PRIME2PA).
‡ Јаг§Є Їа®Ја ¬¬л PRIME2.
€в Є, Їа®¤®«¦Ё¬ иЁ гЇа ¦ҐЁп. „«п з « § Јаг§Ё¬ ў ®Є®
Module (Њ®¤г«м) Їа®Ја ¬¬г PRIME2, б«Ґ¤гойго ўҐабЁо 襩 Їа®Ја ¬-
¬л. ‚ Їа®Ја ¬¬Ґ PRIME2 ¬л ¤®Ў ўЁ«Ё ЁбЇ®«м§®ў ЁҐ Ї®¤Їа®Ја ¬¬л
root (Root), ЎЁЎ«Ё®вҐз®© Ї®¤Їа®Ја ¬¬л ўлзЁб«ҐЁп Єў ¤а в®Ј®
Є®ап, ў®§ўа й о饩 ў Є зҐб⢥ १г«мв в 楫®Ґ зЁб«®.
€д®а¬ жЁп ¤«п Ї®«м§®ў ⥫Ґ© Џ бЄ «п: ‡ Ја㧨⥠ў ®Є®
Їа®Ја ¬¬л PRIME1PA.
‚ ¬ Ґ®Ўе®¤Ё¬® Ї®¬ҐвЁвм Є ¦¤го бва®Єг Їа®Ја ¬¬л Є Є "®Ў-
« бвм". ‚맮ўЁвҐ «®Є «м®Ґ ¬Ґо Ё ўлЎҐаЁвҐ ў Ґ¬ Є®¬ ¤г Add
Areas| Every Line in Module („®Ў ўЁвм "®Ў« бвЁ"| Љ ¦¤ п бва®Є ў
¬®¤г«Ґ), § ⥬ ¦¬ЁвҐ ENTER.
Ќ ¦¬ЁвҐ F9 ¤«п з « Їа®дЁ«Ёа®ў Ёп. Ќ нЄа Ґ Ї®«м§®ў ⥫п
®Їпвм Ї®пўпвбп ўбҐ Їа®бвлҐ зЁб« , 室пйЁҐбп ў ¤Ё Ї §®Ґ ®в 1 ¤®
1000.
Љ®Ј¤ Їа®Ја ¬¬ § Є®зЁв бў®о а Ў®вг, ®вЄа®©вҐ Ў«®Є ¤Ё «®Ј
Display Options (Џ а ¬Ґвал Ё§®Ўа ¦ҐЁп) (¤«п нв®Ј® ўлЎҐаЁвҐ Є®-
¬ ¤г Display (€§®Ўа ¦ҐЁҐ) Ё§ «®Є «м®Ј® ¬Ґо ®Є Execution
Profile (Џа®дЁ«м ўлЇ®«ҐЁп)) Ё гбв ®ўЁвҐ Ї а ¬Ґва Display ў б®-
бв®пЁҐ Both ("€ в®, Ё ¤агЈ®Ґ"). Ќ ¦¬ЁвҐ ЋЉ. ЌҐб¬®вап 㬥миҐ-
ЁҐ Є®«ЁзҐбвў ®Ўа 饨© Є бва®ЄҐ 15 (c 78022 ¤® 5288) Ё ᮮ⢥в-
б⢥® б®Єа йҐЁп ®ЎйҐЈ® ўаҐ¬ҐЁ, § ва зЁў Ґ¬®Ј® ўлЇ®«ҐЁҐ
¤ ®© бва®ЄЁ, Ї®«®Ґ ўаҐ¬п ўлЇ®«ҐЁп ¤ ®© Їа®Ја ¬¬л § зЁ-
вҐ«м® ў®§а®б«®.
ЋЎкпᥨҐ ¤ ®© ®б®ЎҐ®бвЁ Їа®Ја ¬¬л PRIME2 Єа®Ґвбп ў Ёб-
Ї®«м§®ў ЁЁ ®ў®© Ї®¤Їа®Ја ¬¬л root. ‘ва®Є 7 襩 Їа®Ја ¬¬л ўл-
Ї®«пҐвбп 5465 а §, Ё нв® § Ё¬ Ґв Ї®звЁ 5 ᥪг¤. Ќ ®¤Ё ўл§®ў
Ї®¤Їа®Ја ¬¬л § ва зЁў Ґвбп ЇаЁЎ«Ё§ЁвҐ«м® 1 ¬Ё«ЁбҐЄг¤ , б«Ґ¤®ў -
вҐ«м® з б⮥ ®Ўа 饨Ґ Є нв®© Ї®¤Їа®Ја ¬¬Ґ пў«пҐвбп а бв®зЁвҐ«м-
л¬.(ў PRIME2PA ᮮ⢥вбвўгой п бва®Є Ё¬ҐҐв ®¬Ґа 9.)
…б«Ё ў ®ЄҐ Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп) ўаҐ¬Ґ п
Ё Є®«ЁзҐб⢥ п бв вЁбвЁЄ Ї®Є §лў овбп ®¤®ўаҐ¬Ґ®, в® ҐЄ®в®-
алҐ б®зҐв Ёп нвЁе ¤ ле § б«г¦Ёў ов ўЁ¬ Ёп. „«п Ґнд䥪⨢ле
Ї®¤Їа®Ја ¬¬ ўв®а п бва®Є ЈЁбв®Ја ¬¬л (ўаҐ¬ҐлҐ ¤ лҐ) Ј®а §¤®
¤«ЁҐҐ, 祬 ЇҐаў п (Є®«ЁзҐбвўҐлҐ ¤ лҐ), нв® ®§ з Ґв, зв®
®в®иҐЁҐ ўаҐ¬ҐЁ ўлЇ®«ҐЁп Є Є®«ЁзҐбвўг ўл§®ў®ў ўҐ«ЁЄ®. €¬Ґ®
в Є п бЁвг жЁп Ў«о¤ Ґвбп ў бва®ЄҐ 27, ®ЇҐа в®а printf (ў Џ бЄ -
«ҐўбЄ®© Їа®Ја ¬¬Ґ нв® бва®Є 28).
‚ ⮬ б«гз Ґ, Ґб«Ё ¤«п Є Є®©-в® Ї®¤Їа®Ја ¬¬л ®в®иҐЁҐ ®ЎйҐ-
Ј® ўаҐ¬ҐЁ ҐҐ ўлЇ®«ҐЁп Є Є®«ЁзҐбвўг ҐҐ ўл§®ў®ў ўҐ«ЁЄ®, в® б ¬®Ґ
«гз襥 Ё§ в®Ј®, зв® ¬®¦® ЇаҐ¤ЇаЁпвм - нв® Ї®Їлв вмбп § ¬ҐЁвм
ҐҐ ¤агЈго Ї®¤Їа®Ја ¬¬г.
ђ бб¬ ваЁў п ®ЇҐа в®а return ў Ї®¤Їа®Ја ¬¬Ґ root (бва®Є 7),
¬л Ї®Ї ¤ Ґ¬ ў ¤агЈго бЁвг жЁо. ќв®в ®ЇҐа в®а е а ЄвҐаЁ§гҐвбп б -
¬л¬ Ў®«миЁ¬ зЁб«®¬ ®Ўа 饨© Ё б ¬л¬ Ў®«миЁ¬ ®ЎйЁ¬ ўаҐ¬ҐҐ¬ ўл-
Ї®«ҐЁп. Љ ¤ўг¬ ¤агЈЁ¬ бва®Є ¬ (бва®ЄҐ 5 Ё бва®ЄҐ 8) ®Ўа 饨Ґ
Їа®Ёб室Ёв 5456 а §, ® ЈЁбв®Ја ¬¬л ¤«п Є ¦¤®© Ё§ нвЁе бва®Є Ї®-
Є §лў ов ¬ «ҐмЄЁҐ § ва вл ўаҐ¬ҐЁ Ёе ўлЇ®«ҐЁҐ. ’ Є®Ґ б®зҐ-
в ЁҐ б ўЇ®«Ґ гбва Ёў Ґв, ®® ®§ з Ґв, зв® ¤ лҐ ®ЇҐа в®ал
а Ў®в ов Ўлбва®. €в Є, б ¬®© Ў®«ми®© Їа®Ў«Ґ¬®© бв®пйЁ© ¬®-
¬Ґв пў«пҐвбп Є®«ЁзҐбвў® ўл§®ў®ў Ї®¤Їа®Ја ¬¬л root.
‘®Єа 饨Ґ Є®«ЁзҐбвў ўл§®ў®ў Ї®¤Їа®Ја ¬¬л (PRIME3).
’ҐЇҐам и ®б®ў п § ¤ з - нв® б®Єа 饨Ґ Є®«ЁзҐбвў ўл§®-
ў®ў Ї®¤Їа®Ја ¬¬л root. ‡ Ја㧨⥠PRIME3 ў ®Є® Module (Њ®¤г«м),
§ ⥬ а бЇ еЁвҐ нв® ®Є® Ё Ї®б¬®ваЁвҐ Ёбе®¤л© вҐЄбв 襣®
ЇаЁ¬Ґа .
€д®а¬ жЁп ¤«п Ї®«м§®ў ⥫Ґ© Џ бЄ «п: ‚ ¬ б«Ґ¤гҐв § -
Јаг§Ёвм ў ®Є® Module (Њ®¤г«м) ЇаЁ¬Ґа PRIME3PA.
…¤Ёб⢥ п ¬®¤ЁдЁЄ жЁп, Ё¬Ґой пбп ў PRIME3, ᮤҐа¦Ёвбп ў
Ї®¤Їа®Ја ¬¬Ґ prime. Њл ¤®Ў ўЁ«Ё ®ўго 楫®зЁб«Ґго ЇҐаҐ¬Ґго
limit Ё, ЇҐаҐ¤ з «®¬ а Ў®вл жЁЄ« for, ЇаЁбў®Ё«Ё Ґ© § 票Ґ,
а ў®Ґ root(n). ЏҐаҐ¬Ґ п limit - нв® ўҐаепп Ја Ёж ¤«п Ї а -
¬Ґва жЁЄ« for.
€д®а¬ жЁп ¤«п Ї®«м§®ў ⥫Ґ© Џ бЄ «п: ‚ PRIME3PA ¬л ¤®Ў ўЁ«Ё
楫®зЁб«Ґго ЇҐаҐ¬Ґго Limit Ё Ї®«®¦Ё«Ё ҐҐ а ў®© Є®ао Єў ¤-
а ⮬㠨§ n ЇҐаҐ¤ з «®¬ ўлЇ®«ҐЁп жЁЄ« for. ЏҐаҐ¬Ґ п Limit
- нв® ўҐаепп Ја Ёж ¤«п Ї а ¬Ґва жЁЄ« for.
ЏаЁ Ї®¬®йЁ «®Є «м®Ј® ¬Ґо ®Є Module (Њ®¤г«м), Ї®¬ҐвмвҐ
"®Ў« бвЁ" Є ¦¤®© бва®ЄҐ Їа®Ја ¬¬л. ‚® ўаҐ¬п ¤ ®Ј® ᥠб
Їа®дЁ«Ёа®ў Ёп (¤«п в®Ј®, зв®Ўл § ЇгбвЁвм Їа®Ја ¬¬г ўлЎҐаЁвҐ Run|
Run (‚лЇ®«ҐЁҐ| ‚лЇ®«ҐЁҐ) Ё«Ё ¦¬ЁвҐ Є« ўЁиг F9), Їа®Ја ¬¬
а Ў®в Ґв Ґ¬®Ј® Ўлбв॥. ЋЎйҐҐ ўаҐ¬п ўлЇ®«ҐЁп Їа®Ја ¬¬л PRIME3
б®Єа вЁ«®бм Ї®звЁ 50%.
’ҐЇҐам ў Є зҐб⢥ ®б®ў®Ј® Ї®вॡЁвҐ«п ўаҐ¬ҐЁ ўлЇ®«ҐЁп
ўлбвгЇ Ґв дгЄжЁп printf. ‡ бзҐв б®Єа 饨п зЁб« ®Ўа 饨© Є
Ї®¤Їа®Ја ¬¬Ґ ўлзЁб«ҐЁп Єў ¤а в®Ј® Є®ап (б 5456 ¤® 999) ¬л § -
зЁвҐ«м® 㬥миЁ«Ё ®ЎйҐҐ ўаҐ¬п ўлЇ®«ҐЁп Їа®Ја ¬¬л.
„®Ў ўЁ¬ ҐйҐ Ґ¬®Ј® нд䥪⨢®бвЁ.
“ б ®бв «®бм ҐйҐ ҐбЄ®«мЄ® ў®§¬®¦®б⥩ ¤«п 㢥«ЁзҐЁп нд-
䥪⨢®бвЁ Ї®¤Їа®Ја ¬¬л prime. ‡ Ја㧨⥠PRIME4 ў ®Є® Module
(Њ®¤г«м), § ⥬ Їа®б¬®ваЁвҐ бва®ЄЁ Ёб室®Ј® ⥪бв б 8 Ї® 17.
€д®а¬ жЁп ¤«п Ї®«м§®ў ⥫Ґ© Џ бЄ «п: § Јаг§ЁвҐ
PRIME4PA Ё Ё§гзЁвҐ бва®ЄЁ б 11 Ї® 32.
/* Copyright (c) 1990, Borland International */
#include <stdio.h>
prime(int n)
{
int i;
if (n % 2 == 0)
return (n==2);
if (n % 3 == 0)
return (n==3);
if (n % 5 == 0)
return (n==5);
for (i=7; i*i <= n; i+=2)
if (n % i == 0)
return 0;
return 1;
}
main()
{
int i, n;
n = 1000;
for (i=2; i<=n; i++)
if (prime(i))
printf("%d\n", i);
}
{ Copyright (c) 1990, Borland International }
program Prime4PA;
Var
I,N: Integer;
Function Prime( N : Integer ):Boolean;
Var
I : integer;
Begin
If (N MOD 2 = 0) then
Begin
Prime := N = 2;
Exit;
End;
If (N MOD 3 = 0) then
Begin
Prime := N = 3;
Exit;
End;
If (N MOD 5 = 0) then
Begin
Prime := N = 5;
Exit;
End;
For I := 7 to N-1 do
If (N MOD I = 0) then
Begin
Prime := False;
Exit;
End;
Prime := True;
End;
Begin
N := 1000;
For I := 2 to N do
If Prime(I) then
Writeln( I );
End.
‚ нвЁе бва®Є е ᮤҐа¦Ёвбп ап¤ г«гз襨©.
* ’аЁ ®ЇҐа в®а if ў Ї®¤Їа®Ја ¬¬Ґ prime г¤ «пов Ё§ а бᬮваҐ-
Ёп зЁб« , Єа влҐ 2, 3, Ё 5 ᮮ⢥вб⢥®. …б«Ё ®б®ў -
ЁЁ нвЁе Їа®ўҐа®Є ‚ ¬ Ґ г¤ Ґвбп ®вбҐпвм а бб¬ ваЁў Ґ¬®Ґ
зЁб«® n, в® ЇаЁе®¤Ёвбп Їа®ўҐапвм ҐЈ® ¤Ґ«Ё¬®бвм ®бв ўиЁҐбп
жҐ«лҐ зЁб« ўЇ«®вм ¤® Є®ап Єў ¤а в®Ј® Ё§ n. Ќ з вм нвЁ
Їа®ўҐаЄЁ ¬®¦® б зЁб« 7, в Є Є Є «ЁзЁҐ ®ЇҐа в®а®ў if ЁбЄ-
«оз Ґв Ё§ а бᬮваҐЁп ўбҐ ¬ҐмиЁҐ зЁб« .
* –ЁЄ« for ⥯Ґам а Ў®в Ґв б и Ј®¬ 2, в Є Є Є Ґв б¬лб« а б-
б¬ ваЁў вм зҐвлҐ зЁб« .
* Џа®ўҐаЄ i*i<=n § ¬ҐЁ« Ў®«ҐҐ ¤®а®Ј®©, б в®зЄЁ §аҐЁп ўаҐ-
¬Ґле § ва в, вҐбв, ®б®ўлў ойЁ©бп ўлзЁб«ҐЁЁ Єў ¤а в®-
Ј® Є®ап.
ђҐ§г«мв ⮬ ўбҐе нвЁе Ё§¬ҐҐЁ© пўЁ«®бм в®, зв® ®ЎйҐҐ ўаҐ¬п
ўлЇ®«ҐЁп 㬥миЁ«®бм Ў®«ҐҐ 祬 ®¤г ᥪг¤г. „ лҐ, ЇаЁўҐ-
¤ҐлҐ аЁбгЄҐ 1.7 Ї®Є §лў ов, зв® дгЄжЁп printf ®вЁ¬ Ґв вҐ-
ЇҐам 96% ўбҐЈ® ўаҐ¬ҐЁ ўлЇ®«ҐЁп.
ђЁб.1.7 ‚६Ґ п Ё Є®«ЁзҐб⢥ п бв вЁбвЁЄ , PRIME4.
‘®Єа 饨Ґ ўаҐ¬ҐЁ ўў®¤ /ўлў®¤
€§¬ҐҐЁҐ ў ¤®«Ґ ўаҐ¬ҐЁ, Ї®вॡ«пҐ¬®© ®ЇҐа в®а®¬ printf,
Ј®ў®аЁв ® ⮬, з⮠⥯Ґам ЎлбвதҐ©бвўЁҐ Їа®Ја ¬¬л ў Ў®«м襩 бвҐ-
ЇҐЁ ®Ја ЁзЁў Ґвбп ®ЇҐа в®а ¬Ё ўў®¤ /ўлў®¤ , 祬 ҐҐ ўлзЁб«ЁвҐ«м-
®© з бвмо. ‚®§¬®¦®, в Є®Ґ Ї®«®¦ҐЁҐ пў«пҐвбп ўЇ®«Ґ ЇаЁҐ¬«Ґ¬л¬.
Ќ®, е®вп Ўл Їа®бв® а ¤Ё ЁвҐаҐб , ¤ ў ©вҐ Ї®Їа®ЎгҐ¬ ўл¦ вм ҐйҐ
зв®-ЁЎг¤м Ё§ нвЁе ®ЇҐа в®а®ў.
‡ Ја㧨⥠PRIME5 ў ®Є® Module (Њ®¤г«м) Ё Ї®б¬®ваЁвҐ 28
бва®Єг (бва®Єг 3 ў Џ бЄ «ҐўбЄ®¬ ў аЁ вҐ)
‚ Turbo C Ё¬ҐҐвбп Ў®«ҐҐ Ўлбвал© ў аЁ в дгЄжЁЁ printf, -
§лў Ґ¬л© cprintf, ЁбЇ®«м§®ў ЁҐ Є®в®а®Ј® пў«пҐвбп Ґ¤Ёб⢥л¬
®в«ЁзЁҐ¬ Їа®Ја ¬¬л PRIME5 ®в PRIME4. ”гЄжЁп cprintf ®Ўа Ў влў Ґв
бЁвг жЁо ЇҐаҐе®¤ ®ўго бва®Єг Ё зҐ, 祬 printf: ў cprintf
ў¬Ґбв® Ґ¤Ёб⢥®Ј® бЁ¬ў®« "®ў п бва®Є " ЁбЇ®«м§гҐвбп Ї а
бЁ¬ў®«®ў "ў®§ўа в Є аҐвЄЁ"/"ЇҐаҐў®¤ бва®ЄЁ" (\r \n).
€д®а¬ жЁп ¤«п Ї®«м§®ў ⥫Ґ© Џ бЄ «п: бЁб⥬ Turbo
Paskal в Є¦Ґ ᮤҐа¦Ёв Ўлбвал© ў аЁ в Writeln (ᮤҐа¦ -
йЁ©бп ў ¬®¤г«Ґ Crt). Њл ¤ Ґ¬ гЄ § ЁҐ ®Ў ЁбЇ®«м§®ў ЁЁ
нв®© Ўлбва®© ўҐабЁЁ Ї®б।бвў®¬ ўЄ«озҐЁп ®ЇҐа в®а
uses Crt ў з «® 襩 Їа®Ја ¬¬л. ‚ н⮬ § Є«о祮
Ґ¤Ёб⢥®Ґ ®в«ЁзЁҐ PRIME5PA ®в ЇаҐ¤л¤г饣® ў аЁ в .
‚맮ўЁвҐ «®Є «м®Ґ ¬Ґо ®Є Module (Њ®¤г«м) Ё гбв ®ўЁвҐ
"®Ў« бвЁ" ¤«п Є ¦¤®© бва®ЄЁ Ёб室®Ј® ⥪бв PRIME5. ‡ ЇгбвЁвҐ
PRIME5, Ї®б«Ґ 祣® Ё§гзЁвҐ Є®«ЁзҐбвўҐлҐ ¤ лҐ Їа®дЁ«Ёа®ў Ёп
¤«п бва®ЄЁ 28 ў PRIME5 (Ё«Ё бва®ЄЁ 3 ў PRIME5PA).
Ѓ®«ҐҐ Ўлбвал© ў аЁ в дгЄжЁЁ ўлў®¤ Є ¦¤ле 168 ўл§®ў е
нЄ®®¬Ёв Ї®звЁ ®¤г ᥪг¤г.
“¤ «ҐЁҐ Ї а бЁ¬ў®«®ў cr/lf ("ў®§ўа в Є аҐвЄЁ"/"ЇҐаҐў®¤
бва®ЄЁ") (PRIME6)
€, Є®Ґж, ®¤® Ї®б«Ґ¤ҐҐ Ё§¬ҐҐЁҐ. ‚¬Ґбв® в®Ј®, зв®Ўл ўл-
ў®¤Ёвм Ї аг бЁ¬ў®«®ў "ў®§ўа в Є аҐвЄЁ"/"ЇҐаҐў®¤ бва®ЄЁ" Ї®б«Ґ
Є ¦¤®Ј® ®Ў а㦥®Ј® Їа®бв®Ј® зЁб« , Ї®Їа®Ўг©вҐ ўлў®¤Ёвм Їа®бв®
бЁ¬ў®« "Їа®ЎҐ«". ‚ н⮬ Ё § Є«оз Ґвбп Ґ¤Ёб⢥®Ґ Ё§¬ҐҐЁҐ,
ᤥ« ®Ґ ў Їа®Ја ¬¬Ґ PRIME6.
‡ Ја㧨⥠PRIME6 (Ї®«м§®ў вҐ«п¬ Џ бЄ «п Ґ®Ўе®¤Ё¬® § Јаг§Ёвм
PRIME6PA) Ё гбв ®ўЁвҐ ¬ аЄҐал "®Ў« бвЁ" Є ¦¤®© бва®ЄҐ, § ⥬
ўлЇ®«ЁвҐ нвг Їа®Ја ¬¬г.
Ћ з㤮! “¤ «ҐЁҐ Ї а бЁ¬ў®«®ў "ў®§ўа в Є аҐвЄЁ"/"ЇҐаҐў®¤
бва®ЄЁ" б®Єа вЁ«® ўаҐ¬п ўлЇ®«ҐЁп Ї®звЁ ў 7 а §. ’ҐЇҐам бв «
®зҐўЁ¤Ґ в®в д Єв, зв® ЇҐаҐе®¤ ®ўго бва®Єг нв® ¤®а®Ј®бв®пй п
®ЇҐа жЁп. ‚ १г«мв ⥠ўбҐе ўҐбҐле Ё§¬ҐҐЁ© ўаҐ¬Ґ ўлЇ®«Ґ-
Ёп Ё Є®«ЁзҐбвў ўл§®ў®ў а бЇаҐ¤Ґ«Ё«Ёбм ¤®ў®«м®-в ЄЁ а ў®¬Ґа®
(ђЁб.1.8). ‚ап¤ «Ё ¬ г¤ бвбп ўл¦ вм ҐйҐ зв®-ЁЎг¤м Ё§ нв®© Їа®-
Ја ¬¬л ЎҐ§ ®б®ў ⥫쮩 ЇҐаҐа Ў®вЄЁ «Ј®аЁв¬ .
ђЁб.1.8 ‚६Ґ п Ё Є®«ЁзҐб⢥ п бв вЁбвЁЄ Їа®Ја ¬¬л
PRIME6.
Ђ зв® ¦Ґ ¤ «миҐ?
‚ нв®© Ј« ўҐ ¬л гзЁ«Ё ‚ б ®б®ў ¬ Їа®дЁ«Ёа®ў Ёп. Љ бв®-
п饬㠬®¬Ґвг ‚л 㦥 ¤®«¦л гзЁвмбп ®Ўа й вмбп б бЁб⥬®© Turbo
Profiler ¤® в Є®© б⥯ҐЁ, зв®Ўл 㬥вм § Јаг¦ вм Ё Їа®дЁ«Ёа®ў вм
Їа®Ја ¬¬л, ЇҐз в вм ᮤҐа¦Ё¬®Ґ а §«Ёзле ®Є®, б®еа пвм Ё ў®б-
бв ў«Ёў вм бв вЁбвЁЄг Їа®дЁ«Ёа®ў Ёп Ё ¬Ґпвм а бЇ®«®¦ҐЁҐ Ё
а §¬Ґал ®Є® ¤«п ®Ў«ҐЈзҐЁп «Ё§ бв вЁбвЁЄЁ.
Ќ н⮬ § Є®зЁ¬ иҐ ®Ўг票Ґ Ё Ї®ЄЁҐ¬ б।г бЁб⥬л Turbo
Profiler (ўлЎҐаЁвҐ File| Quit (” ©«л| ‚л室) Ё«Ё Їа®бв® ¦¬ЁвҐ
Alt-X).
„«п в®Ј®, зв®Ўл Ї®«гзЁвм Ў®«ҐҐ ®ЎиЁаго Ёд®а¬ жЁо ® б।Ґ
бЁб⥬л Turbo Profiler, ў ⮬ зЁб«Ґ Ё ® вҐе з бвпе Їа®дЁ«Ёа®ўйЁ-
Є , Є®в®алҐ Ґ Ўл«Ё а бᬮваҐл ў ¤ ®© Ј« ўҐ, ‚ ¬ Ґ®Ўе®¤Ё¬®
®Ўа вЁвмбп Є Ј« ўҐ 4, пў«по饩бп Ї®«л¬ бЇа ў®зл¬ агЄ®ў®¤бвў®¬
Ї® б।Ґ бЁб⥬л Turbo Profiler.
…б«Ё г ‚ б ў®§ЁЄ«® ¦Ґ« ЁҐ ¤®Ї®«ЁвҐ«м® а бᬮваҐвм ҐйҐ
Є ЄЁҐ-в® § ¤ зЁ, в® ¬л Ўл Ї®аҐЄ®¬Ґ¤®ў «Ё ‚ ¬ ᤥ« вм б«Ґ¤го饥:
* Џ®«гзЁвҐ Їа®дЁ«Ё ¤«п Їа®Ја ¬¬, ЁйгйЁе Їа®бвлҐ зЁб« ¬ҐмиЁҐ
祬:
* 2 500,
* 5 000,
* 7 500,
* 10 000.
* “бв ®ўЁвҐ ०Ё¬ Їа®дЁ«Ёа®ў Ёп ў б®бв®пЁҐ Ї ббЁў®Ј® -
«Ё§ (ўлЎа ў ¤«п нв®Ј® Є®¬ ¤г Statistics| Profiling Options
(‘в вЁбвЁЄ | Џ а ¬Ґвал Їа®дЁ«Ёа®ў Ёп), зв® Ї®ў«ҐзҐв § б®-
Ў®© Ї®пў«ҐЁҐ Ў«®Є ¤Ё «®Ј Profiling Options (Џ а ¬Ґвал
Їа®дЁ«Ёа®ў Ёп)). Љ ЄЁҐ Ё§¬ҐҐЁп нЄа Ґ Їа®дЁ«Ёа®ўйЁЄ
Ї®б«Ґ¤®ў «Ё § нвЁ¬? Љ Єго Ёд®а¬ жЁо ¬л вҐа塞 ЇаЁ Ї ббЁў-
®¬ «Ё§Ґ? (€д®а¬ жЁо ® Ї ббЁў®¬ Їа®дЁ«Ёа®ў ЁЁ ¬®¦®
Ї®зҐаЇгвм ў Ј« ўҐ 3.)
* Џ®б¬®ваЁвҐ Є Є г«гзи вбп е а ЄвҐаЁбвЁЄЁ Їа®Ја ¬¬л ЇаЁ ЇаЁ¬Ґ-
ҐЁЁ аҐиҐв ќа в®бдҐ ¤«п 宦¤ҐЁп Їа®бвле зЁбҐ«, Ґ
ЇаҐўли ойЁе 10 000.
* ‘а ўЁвҐ б«гз © ЇаЁ¬ҐҐЁп дгЄжЁЁ Ї®§ЁжЁ®Ёа®ў Ёп Єгаб®а
б ®Ўлзл¬ ЇҐаҐе®¤®¬ ®ўго бва®Єг.
‘гйҐбвўгҐв ҐЄ®в®а®Ґ Є®«ЁзҐбвў® бв ⥩ Ё ЄЁЈ, ў Є®в®але
а бб¬ ваЁў Ґвбп ў®Їа®б ® Ї®«г票Ё Їа®дЁ«п Їа®Ја ¬¬л. ЉЁЈ „¦®
ЃҐв«Ё "‘®§¤ ЁҐ нд䥪⨢ле Їа®Ја ¬¬" (Jon Bentley, Writing
Efficient Programs), ᮤҐа¦ й п бў®¤Єг Їа ўЁ« ᮧ¤ Ёп нд䥪⨢®
а Ў®в о饣® Їа®Ја ¬¬®Ј® Є®¤ , ЇаҐ¤« Ј Ґв ўбҐбв®а®оо ®Ўбв®п-
⥫мго ¬Ґв®¤®«®ЈЁо Їа®дЁ«Ёа®ў Ёп Ё ўЄ«оз Ґв ў бҐЎп ®ЎиЁаго
ЎЁЎ«Ё®Ја дЁо.
‘Ёб⥬ Turbo Profiler дЁа¬л Borland - нв® Є Є а § в®, 祣®
Ґ еў в Ґв ў ‚ 襬 Їа®жҐбᥠᮧ¤ Ёп Їа®Ја ¬¬®Ј® ®ЎҐбЇҐзҐЁп.
…б«Ё ў и Їа®Ја ¬¬ 㦥 ¤Ґ« Ґв в®, зв® ‚ ¬ вॡгҐвбп, в® бЁб⥬
Turbo Profiler Ї®¬®¦Ґв ‚ ¬ Ї®ўлбЁвм ҐҐ бЄ®а®бвм Ё нд䥪⨢®бвм.
€в Є, зв® ¦Ґ Ё§ бҐЎп ЇаҐ¤бв ў«пҐв Їа®дЁ«Ёа®ўйЁЄ? Џа®дЁ«Ёа®ў-
йЁЄЁ ( §лў Ґ¬лҐ в Є¦Ґ «Ё§ в®а ¬Ё Їа®жҐбб ўлЇ®«ҐЁп Їа®-
Ја ¬¬) - нв® Їа®Ја ¬¬лҐ б।бвў , Ї®§ў®«пойЁҐ Ї®«гзЁвм ап¤ Є®«Ё-
зҐб⢥ле ¤ ле ® Їа®жҐбᥠўлЇ®«ҐЁп ‚ 襩 Їа®Ја ¬¬л Ё ®б-
®ў ЁЁ нвЁе ¤ ле ўлпўЁвм ў Ґ© "г§ЄЁҐ ¬Ґбв ", ®ваЁж ⥫м®
бЄ §лў ойЁҐбп нд䥪⨢®бвЁ ҐҐ а Ў®вл. Џа®дЁ«Ёа®ўйЁЄ Ї®§ў®«пҐв
Ї®«гзЁвм б«Ґ¤гойго Ёд®а¬ жЁо ® Їа®жҐбᥠўлЇ®«ҐЁп Їа®Ја ¬¬л:
* Є Є Ё зв® а б室гҐвбп ўаҐ¬п а Ў®вл Їа®Ја ¬¬л;
* бЄ®«мЄ® а § ўлЇ®«пҐвбп ¤ п бва®Є Їа®Ја ¬¬л;
* бЄ®«мЄ® а § Ё Є ЄЁ¬Ё ¬®¤г«п¬Ё ўл§лў Ґвбп ¤ л© ¬®¤г«м Їа®-
Ја ¬¬л;
* Є Є ЄЁ¬ д ©« ¬ ®Ўа й Ґвбп ў и Їа®Ја ¬¬ Ё бЄ®«мЄ® ўаҐ¬ҐЁ
® нв® ва вЁв.
Џа®дЁ«Ёа®ўйЁЄЁ в Є ¦Ґ б®ЎЁа ов Ёд®а¬ жЁо ® ЁбЇ®«м§®ў ЁЁ
ЄаЁвЁзҐбЄЁе аҐбгаб®ў Є®¬ЇмовҐа , Є Є®в®ал¬ ®в®бпвбп:
* Їа®жҐбб®а®Ґ ўаҐ¬п;
* ®Ўа йҐЁп Є ¤ЁбЄг;
* ўў®¤ б Є« ўЁ вгал;
* ўлў®¤ ЇҐз вм;
* ЁбЇ®«м§®ў ЁҐ ЇаҐалў Ё©.
‘Ёб⥬ Turbo Profiler Є®ва®«ЁагҐв Є ¦¤л© и Ј ўлЇ®«ҐЁп
Їа®Ја ¬¬л Ё ЇаҐ¤®бв ў«пҐв Ї®¤а®ЎлҐ бв вЁбвЁзҐбЄЁҐ ᢥ¤ҐЁп ®
ўбҐе нв Ї е ҐҐ а Ў®вл, зв® Ї®§ў®«пҐв ‚ ¬ ¤®ў®¤Ёвм ‚ иЁ Їа®Ја ¬¬л
¤® б®ўҐаиҐбвў . ЋЎ ¦ п ўгв२© ¬Ґе Ё§¬ а Ў®вл Їа®Ја ¬¬л Ё
ўбЄалў п бгй®бвм ЁЎ®«ҐҐ б«®¦ле ®ЇҐа жЁ© (зв® ¤®бвЁЈ Ґвбп §
бзҐв иЁа®ЄЁе ў®§¬®¦®б⥩ Їа®дЁ«Ёа®ўйЁЄ зЁ п ®в Ї®¤бзҐв ўаҐ-
¬ҐЁ Ё Є®«ЁзҐбвў ўлЇ®«ҐЁ© ®ЇҐа в®а®ў Ё § Є зЁў п Є®ва®«Ґ¬ §
ўл§®ў ¬Ё ЇаҐалў Ё© Ё ®Ўа 饨ﬨ Є д ©« ¬), бЁб⥬ Turbo
Profiler Ї®¬®Ј Ґв ‚ ¬ ®ви«Ёд®ў вм ў и Є®¤ Ё 㢥«ЁзЁвм ЎлбвதҐ©-
бвўЁҐ ‚ иЁе Їа®Ја ¬¬.
‘Ёб⥬ Turbo Profiler ЇаҐў®б室Ёв ¤агЈЁҐ Ё¬ҐойЁҐбп алЄҐ
Їа®дЁ«Ёа®ўйЁЄЁ Є Є Ї® ¬®й®бвЁ, в Є Ё Ї® Їа®бв®вҐ ЁбЇ®«м§®ў Ёп,
Ё е а ЄвҐаЁ§гҐвбп б«Ґ¤гойЁ¬Ё ®б®ўл¬Ё зҐав ¬Ё:
* Џа®дЁ«Ёа®ў ЁҐ ў ЁвҐа ЄвЁў®¬ ०Ё¬Ґ, ®ЎҐбЇҐзЁў о饥 Ўлбв-
஥ ўлпў«ҐЁҐ ҐЇа®Ё§ў®¤ЁвҐ«мле гз бвЄ®ў Їа®Ја ¬¬л.
* Џа®дЁ«Ёа®ў ЁҐ Їа®Ја ¬¬ «оЎ®Ј® а §¬Ґа , ўлЇ®«пойЁебп Ї®¤
гЇа ў«ҐЁҐ¬ DOS.
* Џа®дЁ«Ёа®ў ЁҐ Їа®Ја ¬¬, ЇЁб ле п§лЄ е Turbo Pascal,
Turbo C++, Turbo C Ё Turbo Assembler, в Є ¦Ґ Їа®Ја ¬¬,
бЄ®¬ЇЁ«Ёа®ў ле б Ї®¬®ймо Microsoft C Ё MASM.
* “¤®Ўл© Ё Їа®бв®© ¬®Ј®®Є®л© ЁвҐа䥩б б ЇҐаҐЄалў ойЁ¬Ёбп
®Є ¬Ё, ў®§¬®¦®бвмо ЁбЇ®«м§®ў Ёп ¬лиЁ Ё Є®вҐЄбв®-§ ўЁбЁ-
¬®© Ї®¬®ймо.
* Џ®¤бзҐв ўаҐ¬ҐЁ ўлЇ®«ҐЁп Ё Є®«ЁзҐбвў ўл§®ў®ў Є Є ¤«п Ї®¤-
Їа®Ја ¬¬, в Є Ё ¤«п ®в¤Ґ«мле ®ЇҐа в®а®ў.
* Ћвб«Ґ¦Ёў ЁҐ ўбҐе Їг⥩ ўл§®ў ¤«п Є ¦¤®© Ї®¤Їа®Ја ¬¬л.
* Ђ «Ё§ з бв®вл ўл§®ў Ї®¤Їа®Ја ¬¬л б Їа®б¬®в஬ Ї®«®Ј® бвҐ-
Є ўл§®ў ¤«п Є ¦¤®Ј® б«гз п.
* Љ®ва®«м а Ў®вл б д ©« ¬Ё DOS, ®бгйҐбвў«пҐ¬л© ў ®ЄҐ Files
(” ©«л) Ё ўЄ«оз ойЁ© ў ᥡп гзҐв ®Ўа 饨© Є д ©« ¬ Ё ўаҐ¬Ґ-
Ё, § ва 祮Ј® ®вЄалвЁҐ, § ЄалвЁҐ, з⥨Ґ Ё § ЇЁбм д ©-
«®ў. „«п Є ¦¤®Ј® д ©« Ї®¤бзЁвлў Ґвбп зЁб«® Ў ©в, § ЇЁб ле
ў д ©« Ё Їа®зЁв ле Ё§ ҐЈ®.
* ‚®§¬®¦®бвм ўлЎ®а®з®Ј® Є®ва®«п а Ў®вл Їа®Ја ¬¬л б ЇаҐалў -
Ёп¬Ё. Љ®ва®«м ўбҐе ЇаҐалў Ё© ®в ўЁ¤Ґ® ¤ ЇвҐа®ў, Є« ўЁ вг-
ал, ¤ЁбЄ®ў®¤®ў, ¬лиЁ, в Є ¦Ґ Ґбв ¤ авле ЇаҐалў Ё©. ‚Ґ-
¤ҐЁҐ Ї®«®Ј® Їа®в®Є®« Ё«Ё Їа®бв® гзҐв з бв®вл ®Ўа 饨п.
‚Ґ¤ҐЁҐ бЇЁбЄ ўл§®ў®ў ЇаҐалў Ё©, ў Є®в®а®¬ ®Ё ®Ў®§ зҐл
бЁ¬ў®«ЁзҐбЄЁ¬Ё Ё¬Ґ ¬Ё, зв® Ї®§ў®«пҐв Ўлбва® ©вЁ 㦮Ґ
ЇаҐалў ЁҐ.
* Џ®¤¤Ґа¦Є Ї®«®© ва ббЁа®ўЄЁ ®ўҐа«ҐҐў ¤«п п§лЄ®ў Turbo
Pascal Ё Turbo ‘.
* Џа®дЁ«Ёа®ў ЁҐ ўЁавг «м®© ¬ иЁҐ ў бЁб⥬Ґ б 386 Їа®жҐб-
б®а®¬ Ґ § Ё¬ Ґв ®ЇҐа вЁўго Ї ¬пвм, Ї®«®бвмо ®в¤ ў п ҐҐ ў
а бЇ®а殮ЁҐ ‚ 襩 Їа®Ја ¬¬л.
* Џ®¤¤Ґа¦Є г¤ «Ґ®Ј® Їа®дЁ«Ёа®ў Ёп.
* Џ®¤¤Ґа¦Є а Ў®вл б Їа®Ја ¬¬ ¬Ё, ЇЁб л¬Ё п§лЄ е ‘ Ё
бᥬЎ«Ґа, д®а¬ в ЁбЇ®«Ё¬ле д ©«®ў Є®в®але б®ў¬ҐбвЁ¬л Ї®
бў®Ґ¬г д®а¬ вг б бЁб⥬®© Codeview.
* Џа®дЁ«Ёа®ў ЁҐ «оЎ®© Їа®Ја ¬¬л, Ї®«г祮© ў १г«мв ⥠а -
Ў®вл «оЎ®Ј® Є®¬ЇЁ«пв®а , Ґб«Ё ® б®Їа®ў®¦¤ Ґвбп бв ¤ авл¬
MAP-д ©«®¬ ў д®а¬ ⥠Microsoft.
ђҐ «Ё§гп ў®§¬®¦®бвЁ, ®вбгвбвўгойЁҐ ў ®ЇвЁ¬Ё§ в®а е, Turbo
Profiler ўлпў«пҐв гз бвЄЁ Їа®Ја ¬¬л ўлЇ®«ҐЁҐ Є®в®але § ва -
зЁў Ґвбп Ў®«м讥 Є®«ЁзҐбвў® ўаҐ¬ҐЁ, Ї®Є §лў п ⥬ б ¬л¬ ў Є Є®¬
¬Ґб⥠Ґ®Ўе®¤Ё¬® ўҐбвЁ г«гзиҐЁп Ё«Ё Ё§¬ҐЁвм «Ј®аЁв¬ а Ў®вл.
Ћв«ЁзЁҐ Їа®дЁ«Ёа®ў Ёп ®в ®ЇвЁ¬Ё§ жЁЁ
ЋЇвЁ¬Ё§ в®а ¤Ґ« Ґв а Ў®вг Їа®Ја ¬¬л Ў®«ҐҐ Ўлбва®© § бзҐв
§ ¬Ґл ¤®«Ј® а Ў®в ойЁе Є®¬ ¤ нЄўЁў «ҐвлҐ, ® вॡгойЁҐ
¬ҐмиЁе § ва ⠢६ҐЁ. Ќ® ®ЇвЁ¬Ё§ жЁп Ґ ¬®¦Ґв § зЁвҐ«м® Ї®-
¬®зм ў б«гз Ґ, Є®Ј¤ Їа®Ја ¬¬ Ґнд䥪⨢ Ї® бў®Ґ© бгвЁ.
Џа®дЁ«Ёа®ўйЁЄ Ї®¬®Ј Ґв ‚ ¬ ®Ў аг¦Ёвм Ё¬ҐҐҐ нд䥪⨢лҐ
гз бвЄЁ ў 襣® Є®¤ Ё Ї®пвм Є ЄЁҐ, Ё§ «Ј®аЁв¬®ў 㦤 овбп ў ¬®-
¤ЁдЁЄ жЁЁ Ё«Ё Ї®«®© ЇҐаҐа Ў®вЄҐ. €бб«Ґ¤®ў Ёп Ї®Є §лў ов, зв®
ЁЎ®«миЁ© нд䥪в, ЇаЁ Ї®ЇлвЄҐ г«гзиЁвм а Ў®зЁҐ е а ЄвҐаЁбвЁЄЁ
Їа®Ја ¬¬л, ¤®бвЁЈ Ґвбп ᪮॥ § бзҐв Ё§¬ҐҐЁп «Ј®аЁв¬®ў Ё
бвагЄвга ¤ ле, 祬 § бзҐв ®ЇвЁ¬Ё§ жЁЁ ҐЎ®«миЁе гз бвЄ®ў Є®¤ ,
Ї®«г祮Ј® ў १г«мв ⥠Є®¬ЇЁ«пжЁЁ. Џлв вмбп ©вЁ ў ‚ 襩 Їа®-
Ја ¬¬Ґ ЄаЁвЁзҐбЄЁҐ (ў б¬лб«Ґ Їа®Ё§ў®¤ЁвҐ«м®бвЁ) ¬Ґбв Ґ Ї®«м§г-
пбм ЇаЁ н⮬ Їа®дЁ«Ёа®ўйЁЄ®¬.- нв® ўбҐ а ў®, зв® Їлв вмбп ©вЁ
ў Ґ© ®иЁЎЄЁ ЎҐ§ Ї®¬®йЁ ®в« ¤зЁЄ . Turbo Profiler нЄ®®¬Ёв Є Є
ў иҐ ўаҐ¬п, в Є Ё ‚ иЁ гбЁ«Ёп.
“‘‹Ћ‚€џ ђЂЃЋ’›
Turbo Profiler а Ў®в Ґв Є®¬ЇмовҐа е ᥬҐ©бвў IBM PC,
ўЄ«оз п XT, AT, PS/2 Ё ўбҐ Ї®«®бвмо IBM-б®ў¬ҐбвЁ¬лҐ Є®¬ЇмовҐал.
„«п ҐЈ® а Ў®вл вॡгҐвбп ®ЇҐа жЁ® п бЁб⥬ DOS ўҐабЁЁ 2.0 Ё«Ё
Ў®«ҐҐ ўлб®Є®©, в Є ¦Ґ Ґ ¬ҐҐҐ 384Љ ®ЇҐа вЁў®© Ї ¬пвЁ Ё «оЎ®©
¤ЁбЇ«Ґ©, бва®Є Є®в®а®Ј® ᮤҐа¦Ёв 80 бЁ¬ў®«®ў. Њл ४®¬Ґ¤гҐ¬
Ї®«м§®ў вмбп ¦ҐбвЄЁ¬ ¤ЁбЄ®¬, е®вп ў®§¬®¦ а Ў®в Є®¬ЇмовҐаҐ,
Ё¬Ґо饬 ¤ў ¤ЁбЄ®ў®¤ ¤«п ЈЁЎЄЁе ¤ЁбЄ®ў. Њ ⥬ вЁзҐбЄЁ© б®Їа®жҐб-
б®а 80x87 ¤«п а Ў®вл.бЁб⥬л Turbo Profiler Ґ вॡгҐвбп.
“‘’ЂЌЋ‚ЉЂ ‘€‘’…Њ› TURBO PROFILER
„«п в®Ј®, зв®Ўл гбв ®ўЁвм Turbo Profiler ‚ 襩 ўлзЁб«Ё-
⥫쮩 бЁб⥬Ґ, Ґ®Ўе®¤Ё¬® § ЇгбвЁвм Ёбв ««пжЁ®го Їа®Ја ¬¬г
INSTALL.EXE, 室пйгобп ‚ иЁе ¤ЁбваЁЎгвЁўле ¤ЁбЄҐв е. ќв
Їа®Ја ¬¬ ўв®¬ вЁзҐбЄЁ бЄ®ЇЁагҐв д ©«л б ¤ЁбваЁЎгвЁўле ¤ЁбЄҐв
ў и ¦ҐбвЄЁ© ¤ЁбЄ. „«п нв®Ј® 㦮 в®«мЄ® ўбв ўЁвм Ёбв ««пжЁ-
®го ¤ЁбЄҐвг ў ¤ЁбЄ®ў®¤ Ђ, Ўа вм Є« ўЁ вгॠA:INSTALL, Ё
¦ вм Є« ўЁиг ENTER. ‡ ⥬ Ґ®Ўе®¤Ё¬® б«Ґ¤®ў вм ЁбвагЄжЁп¬, Є®-
в®алҐ Ї®пўпвбп ‚ 襬 нЄа Ґ.
„ЁбваЁЎгвЁўлҐ ¤ЁбЄҐвл ®вд®а¬ вЁа®ў л Є Є ¤ўгебв®а®ЁҐ б
¤ў®©®© Ї«®в®бвмо Ё ¬®Јгв Ўлвм Їа®зЁв л Є®¬ЇмовҐа е ᥬҐ©бв-
ў IBM PC Ё б®ў¬ҐбвЁ¬ле б Ё¬Ё. ЏҐаҐзҐм д ©«®ў, 室пйЁебп
‚ иЁе ¤ЁбваЁЎгвЁўле ¤ЁбЄҐв е 室Ёвбп ў д ©«Ґ README Ёбв «-
«пжЁ®®© ¤ЁбЄҐвҐ.
” ©« README
ЏҐаҐ¤ ⥬, Є Є з вм а Ў®вг б бЁб⥬®© Turbo Profiler, ®§-
Є®¬мвҐбм б ᮤҐа¦Ё¬л¬ д ©« README, Є®в®ал© е®¤Ёвбп Ёб-
в ««пжЁ®®© ¤ЁбЄҐвҐ. ќв®в д ©« ᮤҐа¦Ёв б ¬лҐ Ї®б«Ґ¤ЁҐ ᢥ¤Ґ-
Ёп, Є®в®алҐ ¬®Јгв ®вбгвбвў®ў вм ў ¤ ®¬ агЄ®ў®¤б⢥. ’ Є¦Ґ ®
ўЄ«оз Ґв ў бҐЎп ЇҐаҐзҐм ўбҐе д ©«®ў, 室пйЁебп ¤ЁбваЁЎгвЁў-
ле ¤ЁбЄҐв е б Єа вЄЁ¬ ®ЇЁб ЁҐ¬ Є ¦¤®Ј® Ё§ Ёе.
„«п в®Ј®, зв®Ўл Їа®б¬®ваҐвм д ©« README, ўбв ўм⥠Ёбв ««п-
жЁ®го ¤ЁбЄҐвг ў ¤ЁбЄ®ў®¤ Ђ, ЇҐаҐЄ«озЁвҐбм а Ў®вг б ¤ЁбЄ®ў®-
¤®¬ Ђ; ¤«п нв®Ј® Ґ®Ўе®¤Ё¬® Ўа вм Є« ўЁ вгॠЂ: Ё ¦ вм
Є« ўЁиг ENTER, § ⥬ Ўа вм README Ё ҐйҐ а § ¦ вм Є« ўЁиг
ENTER. …б«Ё ‚л 室ЁвҐбм ў д ©«Ґ README, в® ‚л ¬®¦ҐвҐ ЇҐаҐ¬Ґ-
й вмбп Ї® ⥪бвг ЇаЁ Ї®¬®йЁ Є« ўЁи "бв५Є -ўўҐае" Ё "бв५Є -
ўЁ§", ¤«п ®Є®з Ёп Їа®б¬®ва д ©« ¦ вм Є« ўЁиг ESC.
ЉђЂ’ЉЋ… ‘Ћ„…ђ†ЂЌ€…
"‚ўҐ¤ҐЁҐ" ¤ Ґв ®ЎйҐҐ ЇаҐ¤бв ў«ҐЁҐ ® ⮬, зв® в Є®Ґ Їа®дЁ-
«Ёа®ў ЁҐ, ®ЇЁблў Ґв ®б®ўлҐ е а ЄвҐаЁбвЁЄЁ бЁб⥬л Turbo
Profiler, Ё Ј®в®ўЁв ‚ б Є § ЇгбЄг бЁб⥬л Turbo Profiler ‚ 襬
Є®¬ЇмовҐаҐ.
ѓ« ў 1, "ЏаЁ¬Ґа а Ў®вл б Їа®дЁ«Ёа®ўйЁЄ®¬", нв® г祡 п Ј« -
ў ў Є®в®а®© ®ЇЁб (вЁЇЁзл© Ё ў в® ¦Ґ ўаҐ¬п ¤®бв в®з® Їа®бв®©)
ᥠб а Ў®вл б Їа®дЁ«Ёа®ўйЁЄ®¬. ќв Ј« ў зЁ Ґвбп б Ї®«г票п
Їа®дЁ«п Їа®Ја ¬¬л, Ї®§ў®«по饣® Ї®пвм, зв® Їа®Ёб室Ёв ў® ўаҐ¬п
ҐҐ ўлЇ®«ҐЁп, § ⥬ Ї®б«Ґ¤®ў вҐ«м® Їа®ў®¤Ёв ‚ б зҐаҐ§ ЁвҐаЇаҐ-
в жЁо Ї®«г祮Ј® Їа®дЁ«п Їа®Ја ¬¬л, ¬®¤ЁдЁЄ жЁо Ё б®ўҐаиҐбвў®-
ў ЁҐ Їа®Ја ¬¬л ®б®ўҐ «Ё§ Їа®дЁ«п, Ё Ї®«г票Ґ Ї®б«Ґ¤го-
йЁе Їа®дЁ«Ґ© ¤«п ®жҐЄЁ нд䥪⨢®бвЁ Є ¦¤®Ј® Ё§¬ҐҐЁп, ўҐбҐ-
®Ј® ў Їа®Ја ¬¬г.
ѓ« ў 2, "‚гваЁ Їа®дЁ«Ёа®ўйЁЄ ", ў Є®в®а®© Ј«п¤® ®Ўкпб-
пҐвбп Є ЄЁ¬ ®Ўа §®¬ Їа®дЁ«Ёа®ўйЁЄ Ї®«гз Ґв Є®«ЁзҐбвўҐлҐ Ё ўаҐ-
¬ҐлҐ е а ЄвҐаЁбвЁЄЁ Їа®жҐбб ўлЇ®«ҐЁп Їа®Ја ¬¬л.
ѓ« ў 3, "‘ва ⥣Ёп Їа®дЁ«Ёа®ў Ёп", ᮤҐа¦Ёв ®ЎйЁҐ ЇаЁжЁ-
Їл, в Є¦Ґ ®ЇЁб ЁҐ ҐЄ®в®але ЇаЁҐ¬®ў Їа®дЁ«Ёа®ў Ёп, Є®в®алҐ
Ґ®Ўе®¤Ё¬® § вм ¤«п гбЇҐи®© а Ў®вл б Їа®дЁ«Ёа®ўйЁЄ®¬.
ѓ« ў 4, "‘। бЁб⥬л Turbo Profiler", Ї®¤а®Ў® а ббЄ §л-
ў Ґв ® Є ¦¤®¬ ЇгЄвҐ ¬Ґо Ё Є ¦¤®¬ Ї а ¬Ґвॠб।л бЁб⥬л Turbo
Profiler.
ЏаЁ«®¦ҐЁҐ Ђ, "Џ а ¬Ґвал Є®¬ ¤®© бва®ЄЁ бЁб⥬л Turbo
Profiler", ў Ґ¬ ЇҐаҐзЁб«Ґл ўбҐ Ї а ¬Ґвал Є®¬ ¤®© бва®ЄЁ бЁб-
⥬л Turbo Profiler Ё ®Ўкп᥮ § 票Ґ Є ¦¤®Ј® Ё§ Ї а ¬Ґва®ў.
ЏаЁ«®¦ҐЁҐ ‚, "Ќ бва®©Є бЁб⥬л Turbo Profiler", ®ЎкпбпҐв
Є Є Ї®«м§®ў вмбп TFINST ¤«п в®Ј® зв®Ўл Ё§¬ҐЁвм Є®дЁЈга жЁо бЁб-
⥬л Turbo Profiler, § ¤ ў Ґ¬го Ї® 㬮«з Ёо.
ЏаЁ«®¦ҐЁҐ ‘, "“¤ «Ґ®Ґ Їа®дЁ«Ёа®ў ЁҐ", ®ЇЁблў Ґв Є Є Їа®-
Ёб室Ёв Їа®дЁ«Ёа®ў ЁҐ б ЁбЇ®«м§®ў ЁҐ¬ ¤ўге Є®¬ЇмовҐа®ў, ®¤-
®¬ Ё§ Є®в®але ЁбЇ®«пҐвбп ў и Їа®Ја ¬¬ , ¤агЈ®¬ Turbo
Profiler.
ЏаЁ«®¦ҐЁҐ D, "‚Ёав㠫쮥 Їа®дЁ«Ёа®ў ЁҐ б ЁбЇ®«м§®ў ЁҐ¬
Їа®жҐбб®а 80386", ®ЇЁблў Ґв, Є Є § ЇгбвЁвм Turbo Profiler в ЄЁ¬
®Ўа §®¬, зв®Ўл ® Ї®«м§®ў «бп в®«мЄ® а биЁа塞®© Ї ¬пвмо Їа®жҐб-
б®а 80386, ®бв ў«пп ўбҐ 640Љ ®б®ў®© Ї ¬пвЁ ¤«п ‚ 襩 Їа®Ја ¬-
¬л.
ЏаЁ«®¦ҐЁҐ ‘, "ЏаЁЈ« иҐЁп Ё б®®ЎйҐЁп ®Ў ®иЁЎЄ е", Ј¤Ґ ЇҐ-
аҐзЁб«Ґл ўбҐ ЇаЁЈ« иҐЁп Ё б®®ЎйҐЁп ®Ў ®иЁЎЄ е, Є®в®алҐ ¬®Јгв
Ї®пўЁвмбп ў Їа®жҐбᥠ‚ 襩 а Ў®вл б бЁб⥬®© Turbo Profiler, Ё
¤ л ४®¬Ґ¤ жЁЁ Є ЄЁ¬ ®Ўа §®¬ Ёе 㦮 ॠЈЁа®ў вм.
‡ ¬Ґз Ёп Ї® вҐа¬Ё®«®ЈЁЁ
„«п 㤮Ўбвў Ё Єа вЄ®бвЁ ў ¤ ®¬ агЄ®ў®¤б⢥ ¬л ЁбЇ®«м§гҐ¬
вҐа¬Ёл "¬®¤г«м", "Ї®¤Їа®Ја ¬¬ " Ё " аЈг¬Ґв" ў Ў®«ҐҐ иЁа®Є®¬
б¬лб«Ґ 祬 ®Ўлз®.
"¬®¤г«м" Њ®¤г«м ў ¤ ®¬ агЄ®ў®¤б⢥
нв® в®, зв® ®Ўлз® §лў Ґвбп
¬®¤г«Ґ¬ ў ‘ ® в Є ¦Ґ нвЁ¬
б«®ў®¬ ¬л §лў Ґ¬ Џ бЄ «Ґў-
бЄЁ© UNIT.
"Ї®¤Їа®Ја ¬¬ " Ђ «®ЈЁз® ЇаҐ¤л¤г饬г вҐа¬Ё
"Ї®¤Їа®Ја ¬¬ " ў ¤ ®¬ агЄ®-
ў®¤б⢥ ®в®бЁвбп Є Є Є дгЄ-
жЁп¬ ‘, в Є Ё Є Ї®¤Їа®Ја ¬¬ ¬
Џ бЄ «п, Є®в®алҐ ўЄ«оз ов ў
ᥡп дгЄжЁЁ, Їа®жҐ¤гал Ё ¬Ґ-
в®¤л ®ЎкҐЄв . ‚ ‘ дгЄжЁп ¬®-
¦Ґв ў®§ўа й вм ҐЄ®в®а®Ґ § -
票Ґ (Є Є нв® ¤Ґ« ов дгЄжЁЁ
ў Џ бЄ «Ґ), ¬®¦Ґв Ё Ґ ў®§-
ўа й вм ЁЄ Є®Ј® § 票п
( «®ЈЁз® Їа®жҐ¤га ¬ ў Џ б-
Є «Ґ).(…б«Ё дгЄжЁп ў ‘ Ґ
ў®§ўа й Ґв § 票Ґ, в® ®
§лў Ґвбп дгЄжЁҐ© вЁЇ
void) Њл ЁбЇ®«м§гҐ¬ вҐа¬Ё
Ї®¤Їа®Ја ¬¬ ¤«п ®Ў®§ 票п
Є Є дгЄжЁ© ‘, в Є Ё Їа®жҐ¤га
Ё дгЄжЁ© Џ бЄ «п.
" аЈг¬Ґв" €, Є®Ґж, вҐа¬Ё " аЈг¬Ґв"
ў ¤ ®¬ агЄ®ў®¤б⢥ ЁбЇ®«м-
§гҐвбп ў Є зҐб⢥ нЄўЁў «Ґв
вҐа¬Ё Ї а ¬Ґва. Ћ ЇаЁ¬Ґп-
Ґвбп ¤«п ®Ў®§ 票п аЈг¬Ґ-
в®ў Є®¬ ¤®© бва®ЄЁ, ЁбЇ®«м-
§гҐ¬ле ЇаЁ ўл§®ўҐ Їа®Ја ¬¬ Ё§
DOS, б в ЄЁ¬ ¦Ґ гᯥ宬 Є Є Ё
¤«п ®Ў®§ 票п аЈг¬Ґв®ў,
ЇҐаҐ¤ ў Ґ¬ле Ї®¤Їа®Ја ¬¬Ґ.
ѓ‹Ђ‚Ђ 1. Џђ€Њ…ђ ђЂЃЋ’› ‘ ЏђЋ”€‹€ђЋ‚™€ЉЋЊ
Џа®дЁ«Ёа®ў ЁҐ - нв® ®¤ Ё§ ҐйҐ Ї®Є Ґ¤®®жҐЁў Ґ¬ле, ®
®зҐм Ї®«Ґ§ле Ё ¤ ¦Ґ ¦Ё§Ґ® Ґ®Ўе®¤Ё¬ле з б⥩ Їа®жҐбб ᮧ¤ -
Ёп Є зҐб⢥®Ј® Їа®Ја ¬¬®Ј® ®ЎҐбЇҐзҐЁп. ЋЎ§®ал Ї®Є §лў ов,
зв®, б ¬®¬ ¤Ґ«Ґ, в®«мЄ® Ґ§ зЁвҐ«м п з бвм Їа®дҐббЁ® «мле
Їа®Ја ¬¬Ёбв®ў ЁбЇ®«м§гҐв Їа®дЁ«Ёа®ўйЁЄЁ ¤«п г«гз襨п бў®Ёе Їа®-
Ја ¬¬. „агЈЁҐ ¦Ґ Ёбб«Ґ¤®ў Ёп Ј®ў®апв ® ⮬, зв® ў Ў®«миЁб⢥
б«гз Ґў ¤ ¦Ґ ®ЇлвлҐ Їа®Ја ¬¬Ёбвл ҐЇа ўЁ«м® гЄ §лў ов ЄаЁвЁзҐ-
бЄЁҐ гз бвЄЁ ("г§ЄЁҐ ¬Ґбв ") ў бў®Ёе Їа®Ја ¬¬ е.
Љ Є®ўл ¦Ґ ЇаҐЁ¬гйҐбвў ЁбЇ®«м§®ў Ёп ®ЇЁблў Ґ¬®Ј® ¬Ё ®аг-
¤Ёп? ‚®-ЇҐаўле Їа®дЁ«Ёа®ў ЁҐ ‚ иЁе Їа®Ја ¬¬ ¬®¦Ґв Ї®ўлбЁвм Ёе
Їа®Ё§ў®¤ЁвҐ«м®бвм. ‚®-ўв®але Їа®дЁ«Ёа®ў ЁҐ ¬®¦Ґв гбЁ«Ёвм ў иг
бЇ®б®Ў®бвм ᮧ¤ Ёп нд䥪⨢ле Їа®Ја ¬¬. €, Є®Ґж, Їа®дЁ«Ёа®-
ў ЁҐ, Є Є Ё ®в« ¤Є , ¬®¦Ґв бв вм Ґ®вꥬ«Ґ¬л¬ н«Ґ¬Ґв®¬ жЁЄ«
ᮧ¤ Ёп Їа®Ја ¬¬®Ј® ®ЎҐбЇҐзҐЁп.
‚ нв®© Ј« ўҐ ¬л Їа®¤Ґ¬®бваЁа㥬 ‚ ¬ ЇаЁ¬Ґа в®Ј®, Є ЄЁ¬ ®Ў-
а §®¬ ¬®¦® Ё§ў«Ґзм Ї®«м§г Ё§ ЇаЁ¬ҐҐЁп Їа®дЁ«Ёа®ўйЁЄ , Ё Є Є ў
¤ «мҐ©иҐ¬ Їа®дЁ«Ёа®ў ЁҐ ¬®¦Ґв бнЄ®®¬Ёвм ‚ ¬ з бл ў® ўаҐ¬п Ї®-
ЁбЄ бва®Є Їа®Ја ¬¬л, а бв®зЁвҐ«м® ЁбЇ®«м§гойЁе аҐбгабл Є®¬Їмо-
вҐа . ‚л гзЁвҐбм ЇаЁ¬Ґпвм Їа®дЁ«Ёа®ўйЁЄ ¤«п в®Ј® зв®Ўл:
* ®Ў аг¦Ёў вм Ј¤Ґ Ё зв® ў и Їа®Ја ¬¬ а б室гҐв ўаҐ¬п;
* ᮧ¤ ў вм ®вЁа®ў л© «ЁбвЁЈ Ёб室®Ј® ⥪бв ‚ 襩 Їа®-
Ја ¬¬л Ё бв вЁбвЁзҐбЄЁ© ®взҐв ® Їа®дЁ«Ёа®ў ЁЁ;
* § Ї®¬Ё вм бв вЁбвЁзҐбЄЁҐ ¤ лҐ, Ї®«гзҐлҐ ў १г«мв вҐ
Їа®дЁ«Ёа®ў Ёп Ё § ⥬, Ї®б«Ґ ЇҐаҐалў , ў®§ўа й вмбп Є а Ў®-
⥠б нвЁ¬Ё ¤ л¬Ё;
* «Ё§Ёа®ў вм бв вЁбвЁЄг Їа®дЁ«Ёа®ў Ёп Ё Ёбе®¤л© вҐЄбв ‚ -
襩 Їа®Ја ¬¬л, 室пйЁҐбп, ў б®бҐ¤Ёе ®Є е.
ЏаЁ¬Ґз ЁҐ: ЏаЁ¬Ґал нв®© Ј« ўл ®б®ў л Є®«®ЄҐ „¦®-
ЃҐв«Ё ў ¦га «Ґ Communications of the ACM (Ёо«м
1987), Є®в®а п §лў Ґвбп "†Ґ¬зг¦Ёл Їа®Ја ¬¬Ёа®ў Ёп"
("Programming Pearls").
ЏаЁ¬Ґз ЁҐ: ‚ᥠЇаЁ¬Ґал Ўл«Ё ®Їа®Ў®ў л ¬ иЁҐ б 286
Їа®жҐбб®а®¬ Ё ўЁ¤Ґ® ¤ ЇвҐа®¬ Hercules.
ЏаЁ¬Ґал ў ¤ ®© Ј« ўҐ ®б®ўлў овбп Ї®ЁбЄҐ Ё а бЇҐз вЄҐ
ўбҐе Їа®бвле зЁбҐ«, 室пйЁебп ў ¤Ё Ї §®Ґ ®в 1 ¤® 1000. ‚бЇ®¬-
Ё¬, зв® зЁб«® пў«пҐвбп Їа®бвл¬ Ґб«Ё ®® ¤Ґ«Ёвбп в®«мЄ® 1 Ё
б ¬® ᥡп, ®зҐўЁ¤®, зв® ®® ¤®«¦® Ўлвм ҐзҐвл¬, в Є Є Є «о-
Ў®Ґ зҐв®Ґ зЁб«® ¤Ґ«Ёвбп 2 Ё, б«Ґ¤®ў ⥫м®, Ґ пў«пҐвбп Їа®-
бвл¬. „«п в®Ј® зв®Ўл ®ЇаҐ¤Ґ«Ёвм, пў«пҐвбп «Ё ¤ ®Ґ зЁб«® Їа®-
бвл¬, Ґ®Ўе®¤Ё¬® Їа®ўҐаЁвм Ґ пў«пҐвбп «Ё Є Є®Ґ «ЁЎ® Їа®б⮥ зЁб-
«®, ¬Ґм襥 ¤ ®Ј®, ҐЈ® ¤Ґ«ЁвҐ«Ґ¬, в Є ¦Ґ Їа®ўҐаЁвм Ґ ¤Ґ«Ёвбп
«Ё а бб¬ ваЁў Ґ¬®Ґ зЁб«® Є Є®Ґ -ЁЎг¤м 楫®Ґ, Ў®«м襥 ¤ўге
ЇҐаўле Їа®бвле зЁбҐ« 2 Ё 3.
–Ґ«мо Їа®дЁ«Ёа®ў Ёп Їа®Ја ¬¬-ЇаЁ¬Ґа®ў пў«пҐвбп г᪮२Ґ
Їа®жҐбб 宦¤ҐЁп Ё ЇҐз вЁ Їа®бвле зЁбҐ«. Џа®а Ў®в ў нвЁ ЇаЁ¬Ґ-
ал ‚л гзЁвҐбм ЁбЇ®«м§®ў вм Turbo Profiler ¤«п ®ЇаҐ¤Ґ«ҐЁп нд-
䥪⨢®бвЁ бвагЄвгал Їа®Ја ¬¬л Є ¦¤®Ј® Ё§ ЇаЁ¬Ґа®ў.
ЏҐаў®© Їа®Ја ¬¬®©, Є®в®аго ¬л а бᬮваЁ¬, Ўг¤Ґв PRIME0. Љ Є
в®«мЄ® ‚л ®вЇа®дЁ«ЁагҐвҐ ҐҐ Ё Ї®©¬ҐвҐ ў Є ЄЁе ¬Ґбв е Ґ®Ўе®¤Ё¬®
Ё§¬ҐЁвм ҐҐ ⥪бв, ‚ ¬ Ґ®Ўе®¤Ё¬® ЇҐаҐе®¤Ёвм Є б«Ґ¤го饬г и Јг -
§ Јаг§ЄҐ Ё Їа®дЁ«Ёа®ў Ёо PRIME1. ‡ ЁбЄ«о票Ґ¬ PRIME1, Є ¦¤ п
Ё§ Їа®Ја ¬¬, а бб¬ ваЁў Ґ¬ле ў ¤ ®© Ј« ўҐ (PRIME2, PRIME3,
PRIME4, PRIME5 Ё PRIME6) пў«пҐвбп ¬®¤ЁдЁЄ жЁҐ© ЇаҐ¤л¤г饩.
‚ ¦®Ґ § ¬Ґз ЁҐ: €д®а¬ жЁп ¤«п Ї®«м§®ў ⥫Ґ© Џ бЄ «п.
Џа®Ја ¬¬л PRIMEn.* ЇЁб л Turbo C. „«п Ї®«м§®ў вҐ-
«Ґ© Џ бЄ «п Ё¬Ґовбп «®ЈЁ нвЁе Їа®Ја ¬¬ PRIMEnPA.*
Є®в®алҐ ¬®Јгв ЁбЇ®«м§®ў вмбп ¤«п гЇа ¦ҐЁ© ў® ўаҐ¬п
звҐЁп ¤ ®© Ј« ўл. Љ ¦¤®Ґ ®Ўб㦤ҐЁҐ Їа®дЁ«Ёа®ў Ёп
Їа®Ја ¬¬л, ЇЁб ®© ‘ б®Їа®ў®¦¤ Ґвбп Є®¬¬Ґв аЁҐ¬,
®ва ¦ ойЁ¬ ®в«ЁзЁп ў б«гз Ґ Їа®дЁ«Ёа®ў Ёп Џ бЄ «ҐўбЄ®©
Їа®Ја ¬¬л.
“ЎҐ¤ЁвҐбм, зв® ўбҐ д ©«л б ЇаЁ¬Ґа ¬Ё (PRIMEn.C Ё PRIMEn.EXE
Ё«Ё PRIMEnPA.PAS Ё PRIMEnPA.EXE) 室пвбп ў ‚ 襩 ⥪г饩 ¤ЁаҐЄ-
в®аЁЁ.
„«п Є ¦¤®Ј® Ё§ ®ЇЁблў Ґ¬ле ЇаЁ¬Ґа®ў Ё¬Ґовбп Є Є Ёб室лҐ
д ©«л, в Є Ё ўлЇ®«Ё¬лҐ д ©«л, Ї®бЄ®«мЄг ¤«п «Ё§Ёа®ў Ёп Їа®-
Ја ¬¬л Turbo Profiler вॡговбп Ё ⥠Ё ¤агЈЁҐ. Љ ¦¤л© Ё§ ЇаЁ¬Ґа®ў
Ўл« бЄ®¬ЇЁ«Ёа®ў б Ї®«®© бЁ¬ў®«ЁзҐбЄ®© Ёд®а¬ жЁҐ©, в Є Є Є нв
Ёд®а¬ жЁп Ґ®Ўе®¤Ё¬ ¤«п Їа®дЁ«Ёа®ў Ёп.
„«п в®Ј® зв®Ўл ®ЎҐбЇҐзЁвм «ЁзЁҐ Ї®«®© бЁ¬ў®«ЁзҐбЄ®© Ё-
д®а¬ жЁЁ ¤«п ‚ иЁе Їа®Ја ¬¬, Ґ®Ўе®¤Ё¬® ЇаЁ Ёе Є®¬ЇЁ«пжЁЁ § ¤ вм
б«Ґ¤гойЁҐ Ї а ¬Ґвал:
Turbo C++: ЏаЁ а Ў®вҐ ў ЁвҐЈаЁа®ў ®© б।Ґ, Ґ®Ўе®¤Ё¬®
ўлЎа вм ў ¬Ґо Options| Full Menus (Џ а ¬Ґвал| Џ®«л© Ў®а ¬Ґо)
§ ⥬ ®вЄалвм Ў«®Є ¤Ё «®Ј ®в« ¤зЁЄ (¤«п нв®Ј® ¤® ўлЎа вм
Options| Debugger (Џ а ¬Ґвал| Ћв« ¤зЁЄ)), Ё гбв ®ўЁвм Source
Debugging (Ћв« ¤Є га®ўҐ Ёб室®Ј® Є®¤ ) ў § 票Ґ
Standalone (‘ ¬®бв®п⥫мл© ®в« ¤зЁЄ). ЏаЁ Є®¬ЇЁ«пжЁЁ б ЁбЇ®«м§®-
ў ЁҐ¬ Є®¬ ¤®© бва®ЄЁ Ґ®Ўе®¤Ё¬® § ¤ ў вм Ї а ¬Ґва -v.
Turbo C: …б«Ё ‚л Є®¬ЇЁ«ЁагҐвҐ ў ЁвҐЈаЁа®ў ®© б।Ґ, в®
Ґ®Ўе®¤Ё¬® ЇҐаҐ¤ Є®¬ЇЁ«пжЁҐ© Їа®Ја ¬¬л ўлЎа вм Standalone (‘ ¬®-
бв®п⥫мл© ®в« ¤зЁЄ) ў Ї а ¬Ґва е ®в« ¤зЁЄ Debug| Source
Debugging (Ћв« ¤зЁЄ| Ћв« ¤Є га®ўҐ Ёб室®Ј® ⥪бв ). ЏаЁ
Є®¬ЇЁ«пжЁЁ б ЁбЇ®«м§®ў ЁҐ¬ Є®¬ ¤®© бва®ЄЁ Ґ®Ўе®¤Ё¬® § ¤ ў вм
Ї а ¬Ґва -v.
Turbo Pascal: …б«Ё ‚л Є®¬ЇЁ«ЁагҐвҐ ў ЁвҐЈаЁа®ў ®© б।Ґ,
Ґ®Ўе®¤Ё¬® гбв ®ўЁвм ЇгЄвл ¬Ґо Options|Debug Information (Џ -
а ¬Ґвал|Ћв« ¤®з п Ёд®а¬ жЁп) Ё Debug|Stand-Alone Debugging (Ћв-
« ¤Є | ‘ ¬®бв®п⥫мл© ®в« ¤зЁЄ) ў б®бв®пЁҐ On. ЏаЁ Є®¬ЇЁ«пжЁЁ б
Ї®¬®ймо Є®¬ ¤®© бва®ЄЁ Ґ®Ўе®¤Ё¬® ЁбЇ®«м§®ў вм Ї а ¬Ґва /v.
Turbo Assembler: ЌҐ®Ўе®¤Ё¬® ЁбЇ®«м§®ў вм Ї а ¬Ґва /zi, § ⥬
бва®Ёвм § Ја㧮зл© ¬®¤г«м ЇаЁ Ї®¬®йЁ TLINK, § ¤ ў п ЇаЁ н⮬ Ї -
а ¬Ґва /v.
€д®а¬ жЁп ¤«п Ї®«м§®ў ⥫Ґ© 80x87.
Џ®бЄ®«мЄг Turbo Profiler бЇ®б®ЎҐ ЁбЇ®«м§®ў вм ў®§¬®¦®бвЁ
¬ ⥬ вЁзҐбЄ®Ј® б®Їа®жҐбб®а , ў ⮬ б«гз Ґ Ґб«Ё б®Їа®жҐбб®а гбв -
®ў«Ґ ‚ 襬 Є®¬ЇмовҐаҐ, Ё ‚л е®вЁвҐ Ї®«гзЁвм бв вЁбвЁзҐбЄЁҐ
¤ лҐ, ᮮ⢥вбвўгойЁҐ Ё§«®¦Ґл¬ ў бв®п饬 агЄ®ў®¤б⢥, в®
‚ ¬ Ґ®Ўе®¤Ё¬® ўаҐ¬Ґ® § ЇаҐвЁвм ЁбЇ®«м§®ў ЁҐ б®Їа®жҐбб®а (ў
Їа®вЁў®¬ б«гз Ґ Ї®«гзҐлҐ ў ¬Ё १г«мв вл Ўг¤гв § зЁвҐ«м® ®в-
«Ёз вмбп ®в ЇаЁўҐ¤Ґле ў н⮬ ⥪бвҐ). „«п в®Ј® зв®Ўл Turbo
Profiler Ґ Ї®«м§®ў «бп ў®§¬®¦®бвп¬Ё б®Їа®жҐбб®а ¤®бв в®з® ЇҐ-
। з «®¬ а Ў®вл б Їа®дЁ«Ёа®ўйЁЄ®¬ ўлЇ®«Ёвм Є®¬ ¤г DOS SET
87=N. Ќ® ¤ ¦Ґ ў н⮬ б«гз Ґ Ї®«гзҐлҐ бв вЁбвЁзҐбЄЁҐ ¤ лҐ ¬®-
Јгв бЁ«м® ®в«Ёз вмбп ®в Ё§«®¦Ґле ў ¤ ®¬ агЄ®ў®¤б⢥, Ё§-§
Ґб®ўЇ ¤ҐЁп вҐеЁзҐбЄЁе е а ЄвҐаЁбвЁЄ Є®¬ЇмовҐа®ў в ЄЁе, ЇаЁ-
¬Ґа, Є Є ЎлбвதҐ©бвўЁҐ Їа®жҐбб®а .
Џа®дЁ«Ёа®ў ЁҐ Їа®Ја ¬¬л (PRIME0)
Џа®жҐбб Їа®дЁ«Ёа®ў Ёп Ё Є®а४вЁа®ўЄЁ Їа®Ја ¬¬л б®бв®Ёв Ё§
б«Ґ¤гойЁе зҐвлаҐе нв Ї®ў:
1. ‡ Јаг§Є Їа®Ја ¬¬л ЇҐаҐ¤ ҐҐ Їа®дЁ«Ёа®ў ЁҐ¬.
2. ‘Ў®а ¤ ле ў® ўаҐ¬п ўлЇ®«ҐЁп Їа®Ја ¬¬л.
3. Ђ «Ё§ Ї®«гзҐле ¤ ле.
4. Њ®¤ЁдЁЄ жЁп Їа®Ја ¬¬л Ё ҐҐ Ї®ўв®а п Є®¬ЇЁ«пжЁп.
Џ®б«Ґ ўҐбҐЁп Ё§¬ҐҐЁ© ў Їа®Ја ¬¬г Ґ®Ўе®¤Ё¬® Ї®ўв®аЁвм
ўлЇ®«ҐЁҐ ЇгЄв®ў б 1 Ї® 3 ¤«п в®Ј®, зв®Ўл Ї®б¬®ваҐвм Є Є Ї®ў«Ё-
п«Ё нвЁ Ё§¬ҐҐЁп Ї®ўҐ¤ҐЁҐ Їа®Ја ¬¬л ў Їа®жҐбᥠЁбЇ®«ҐЁп.
Џа®Ја ¬¬ PRIME0 ЁбЇ®«м§гҐв «Ј®аЁв¬ …ўЄ«Ё¤ ¤«п 宦¤ҐЁп
Їа®бвле зЁбҐ«. Љ Є в®«мЄ® Їа®б⮥ зЁб«® ©¤Ґ®, ®® ба §г ¦Ґ § -
ЇЁблў Ґвбп ў ¬ ббЁў primes Ё ¤«п в®Ј®, зв®Ўл ®ЇаҐ¤Ґ«Ёвм пў«повбп
«Ё Ї®б«Ґ¤гойЁҐ зЁб« Їа®бвл¬Ё, ¤Ґ« Ґвбп Ї®ЇлвЄ Ї®¤Ґ«Ёвм Ёе
зЁб« , 㦥 § ЇЁб лҐ ў ¬ ббЁў primes.
‡ Ја㧨⥠PRIME0 ў бЁб⥬г Turbo Profiler, Ўа ў Є« ўЁ -
вгаҐ
Turbo Profiler PRIME0
Ё ¦ ў Є« ўЁиг ENTER.
ЏаЁ¬Ґз ЁҐ: ‚л ¬®¦ҐвҐ § Є®зЁвм а Ў®вг б Їа®дЁ«Ёа®ўйЁ-
Є®¬ ў «оЎ®© ¬®¬Ґв. „«п нв®Ј® Ґ®Ўе®¤Ё¬® ўлЎа вм ў ¬Ґо
Ї®б«Ґ¤®ў ⥫м®бвм File|Quit (” ©«|‚л室) Ё«Ё ¦ вм
Є®¬ЎЁ жЁо Alt-X.
‚ ¦®Ґ § ¬Ґз ЁҐ: €д®а¬ жЁп ¤«п Ї®«м§®ў ⥫Ґ© Џ бЄ «п.
…б«Ё ‚л е®вЁвҐ Їа®дЁ«Ёа®ў вм Џ бЄ «ҐўбЄго ўҐабЁо
PRIME0.C, в® гЎҐ¤ЁвҐбм, зв® д ©«л PRIME0PA.PAS Ё
PRIME0PA.EXE 室пвбп ў ‚ 襩 ⥪г饩 ¤ЁаҐЄв®аЁЁ Ї®б«Ґ
祣® ЎҐаЁвҐ Є« ўЁ вгаҐ
TPROF PRIME0PA
Ё ¦¬ЁвҐ Enter.
‚ з «Ґ а Ў®вл Џа®дЁ«Ёа®ўйЁЄ ®вЄа®овбп ¤ў ®Є : Module
(Њ®¤г«м) (ў Є®в®а®¬ 室Ёвбп Ёбе®¤л© вҐЄбв PRIME0) Ё Execution
Profile (Џа®дЁ«м ўлЇ®«ҐЁп) (ў Є®в®а®¬, Ї®б«Ґ в®Ј® Є Є ‚л § Їг-
бвЁвҐ Їа®Ја ¬¬г PRIME0, Ўг¤Ґв ®в®Ўа ¦Ґ бв вЁбвЁЄ Їа®жҐбб ҐҐ
ўлЇ®«ҐЁп).
ђЁб.1.1 Turbo Profiler б § Ја㦥®© ў ҐЈ® Їа®Ја ¬¬®©
PRIME0
ЋЄ® Module (Њ®¤г«м) Ё ®Є® Execution Profile (Џа®дЁ«м ўл-
Ї®«ҐЁп) ®в®бпвбп Є и Ј ¬ 1 Ё 3 Їа®жҐбб Їа®дЁ«Ёа®ў Ёп. ЋЄ®
Module (Њ®¤г«м) ЁбЇ®«м§гҐвбп ¤«п в®Ј®, зв®Ўл Ї®¬Ґз вм гз бвЄЁ
Їа®Ја ¬¬л, Є®в®алҐ Ґ®Ўе®¤Ё¬® Їа®дЁ«Ёа®ў вм. Џ®б«Ґ в®Ј® Є Є ‚л
§ ЇгбвЁвҐ Їа®Ја ¬¬г, ў ®ЄҐ Execution Profile (Џа®дЁ«м ўлЇ®«Ґ-
Ёп) ®в®Ўа ¦ Ґвбп Ёд®а¬ жЁп, Ґ®Ўе®¤Ё¬ п ¤«п «Ё§ ҐҐ а Ў®вл.
“бв ®ўЄ Ї а ¬Ґва®ў Їа®дЁ«Ёа®ў Ёп.
ЏҐаҐ¤ з «®¬ Їа®дЁ«Ёа®ў Ёп Їа®Ја ¬¬л Ґ®Ўе®¤Ё¬® Ї®¬ҐвЁвм ў
Ґ© ЁвҐаҐбгойЁҐ ‚ б "®Ў« бвЁ". "ЋЎ« бвм" - нв® гз бв®Є Їа®Ја ¬¬л
¤«п Є®в®а®Ј® ‚л е®вҐ«Ё Ўл Ї®«гзЁвм бв вЁбвЁзҐбЄЁҐ ¤ лҐ. "ЋЎ« -
бвмо" ¬®¦Ґв Ўлвм ®¤ бва®Є , ®¤Ё ®ЇҐа в®а ( ЇаЁ¬Ґа ®ЇҐа в®а
жЁЄ« ) Ё«Ё ўбп Їа®Ја ¬¬ 楫ЁЄ®¬. ‚® ўаҐ¬п ЇҐаў®Ј® бҐ б Їа®дЁ-
«Ёа®ў Ёп ‚ ¬ Ї®вॡгҐвбп б®Ўа вм Ў®«ҐҐ ®ЎиЁаго Ёд®а¬ жЁо ®
"®Ў« бвпе" 祬 в , Є®в®а п § ¤ Ґвбп Ї а ¬Ґва ¬Ё бЁб⥬л Turbo
Profiler Ї® 㬮«з Ёо.
„«п в®Ј®, зв®Ўл Їа® «Ё§Ёа®ў вм ҐЎ®«м讥 Є®«ЁзҐбвў® Є®а®в-
ЄЁе Ї®¤Їа®Ја ¬¬ (в ЄЁе, Є Є prime Ё main ў ¤ ®© Їа®Ја ¬¬Ґ), ‚л
¤®«¦л § вм бЄ®«мЄ® а § ўлЇ®«пҐвбп Є ¦¤ п Ёе бва®Є Ё бЄ®«мЄ®
ўаҐ¬ҐЁ § Ё¬ Ґв ҐҐ ўлЇ®«ҐЁҐ. „«п в®Ј®, зв®Ўл Ї®«гзЁвм нвг Ё-
д®а¬ жЁо, ‚л ¤®«¦л Ї®¬ҐвЁвм Є ¦¤го бва®Єг нв®© Їа®Ја ¬¬л Є Є
"®Ў« бвм".
1. Ќ ¦¬ЁвҐ Alt-F10, ¤«п в®Ј® зв®Ўл ЄвЁўЁа®ў вм «®Є «м®Ґ ¬Ґо
®Є Module (Њ®¤г«м).
2. ‚лЎҐаЁвҐ ў н⮬ ¬Ґо Add Areas („®Ў ўЁвм "®Ў« бвЁ"). ‚ ¬ Ўг-
¤Ґв ЇаҐ¤«®¦Ґ ¤«п ўлЎ®а бЇЁб®Є ў®§¬®¦ле Ја Ёж "®Ў« бвЁ".
3. ‚лЎҐаЁвҐ Every Line in Module (Љ ¦¤ п бва®Є ў ¬®¤г«Ґ). ‚
१г«мв ⥠нв®Ј® ¬ аЄҐал "®Ў« бвЁ" Ўг¤гв гбв ®ў«Ґл ¤«п
Є ¦¤®© бва®ЄЁ Їа®Ја ¬¬л Ё Єгаб®а ўҐаҐвбп ў ®Є® Module (Њ®-
¤г«м).
ЋЎа вЁвҐ ўЁ¬ ЁҐ в®, зв® ў १г«мв ⥠ўлЇ®«ҐЁп ЇҐаҐ-
зЁб«Ґле ®ЇҐа жЁ© ўбҐ ўлЇ®«Ё¬лҐ бва®ЄЁ Їа®Ја ¬¬л ®Є § «Ёбм Ї®-
¬ҐзҐл¬Ё ¬ થ஬ =>.
‘Ў®а бв вЁбвЁзҐбЄЁе ¤ ле
€в Є, ў бв®пйЁ© ¬®¬Ґв ‚л Ј®в®ўл Є Їа®ўҐ¤ҐЁо ўв®а®Ј® нв -
Ї Їа®дЁ«Ёа®ў Ёп. Ќ ¦¬ЁвҐ Є« ўЁиг F9 ¤«п § ЇгбЄ PRIME0 Ї®¤ Є®-
ва®«Ґ¬ Turbo Profiler. Џа®Ја ¬¬ ўл¤ бв нЄа Ї®«м§®ў ⥫п
Їа®бвлҐ зЁб« , 室пйЁҐбп ў ¤Ё Ї §®Ґ ®в 1 ¤® 1000. Љ®Ј¤ ўлЇ®«-
ҐЁҐ Їа®Ја ¬¬л § ўҐаиЁвбп, Їа®б¬®ваЁвҐ Ёд®а¬ жЁо, Ї®пўЁўигобп ў
®ЄҐ Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп). ќв® Ё Ґбвм бв вЁбвЁ-
Є Їа®жҐбб ўлЇ®«ҐЁп ‚ 襩 Їа®Ја ¬¬л.
ђ бЇ еЁвҐ ®Є® Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп), -
¦ ў Є« ўЁиг F5 Ё«Ё ўлЎа ў Zoom (ђ бЇ егвм) Ё§ ¬Ґо Window (ЋЄ-
®). Џ®б«Ґ 祣® ®Є® Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп) Ўг¤Ґв
ўлЈ«п¤Ґвм б«Ґ¤гойЁ¬ ®Ўа §®¬:
ђЁб.1.2 ‘в вЁбвЁЄ Їа®жҐбб ўлЇ®«ҐЁп Їа®Ја ¬¬л PRIME0
‚Ґаепп Ї Ґ«м ®Є Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп)
Ї®Є §лў Ґв ®ЎйҐҐ ўаҐ¬п ўлЇ®«ҐЁп Їа®Ја ¬¬л, б®Їа®ў®¦¤ Ґ¬®Ґ Ё-
д®а¬ жЁҐ© ® ¤ ле, 室пйЁебп Ё¦Ґ© Ї Ґ«Ё. ‚ Є ¦¤®© бва®ЄҐ
Ё¦Ґ© Ї Ґ«Ё ᮤҐа¦Ёвбп зҐвлॠЇ®§ЁжЁЁ:
* §ў ЁҐ "®Ў« бвЁ";
* Є®«ЁзҐбвў® ᥪг¤, § ва зҐле ўлЇ®«ҐЁҐ ¤ ®© ®Ў« бвЁ;
* Їа®жҐв®Ґ ®в®иҐЁҐ нв®Ј® ўаҐ¬ҐЁ Є ®ЎйҐ¬г ўаҐ¬ҐЁ ўлЇ®«Ґ-
Ёп Їа®Ја ¬¬л;
* Ј®аЁ§®в «м п ¤Ё Ја ¬¬ , Їа®Ї®ажЁ® «м п н⮬㠮в®иҐЁо.
‘ва®Є ўЁ¤
#PRIME0#31 6.2655 sec 93% |============================
Ј®ў®аЁв ® ⮬, зв® ваЁ¤ж вм ЇҐаў п бва®Є Їа®Ја ¬¬л PRIME0
ўлЇ®«п« бм ў вҐзҐЁҐ 6.3 ᥪг¤л, зв® б®бв ўЁ«® 93% ®в ўаҐ¬ҐЁ
ўлЇ®«ҐЁп ўбҐе Ї®¬ҐзҐле "®Ў« б⥩". „Ё Ја ¬¬ ¤«п бва®ЄЁ 31
ўв®¬ вЁзҐбЄЁ § Ё¬ Ґв ўбҐ ®вўҐ¤Ґ®Ґ ¤«п ¤Ё Ја ¬¬л ¬Ґбв®, в Є
Є Є ўлЇ®«ҐЁҐ 31 бва®ЄЁ § ва зЁў Ґвбп б ¬®Ґ Ў®«м讥 Є®«ЁзҐбв-
ў® ўаҐ¬ҐЁ б।Ё ўбҐе Ї®¬ҐзҐле ®Ў« б⥩.
‚ ¦®Ґ § ¬Ґз ЁҐ: €д®а¬ жЁп ¤«п Ї®«м§®ў ⥫Ґ© Џ бЄ -
«п.‚ Їа®Ја ¬¬Ґ PRIME0PA, ᮮ⢥вбвўгой п бва®Є Ё¬ҐҐв
®¬Ґа 42.
€§®Ўа ¦ҐЁҐ бв вЁбвЁЄЁ
’ Є¦Ґ ‚л ¬®¦ҐвҐ Їа®б¬®ваҐвм Є®«ЁзҐбвўҐлҐ ¤ лҐ ® Їа®жҐббҐ
ўлЇ®«ҐЁп ‚ 襩 Їа®Ја ¬¬л.
1. Ќ ¦¬ЁвҐ Alt-F10 ¤«п ўл§®ў ¬Ґо ®Є Execution Profile
(Џа®дЁ«м ўлЇ®«ҐЁп).
2. ‚лЎҐаЁвҐ ў н⮬ ¬Ґо Є®¬ ¤г Display (€§®Ўа ¦ҐЁҐ)
Ѓ«®Є ¤Ё «®Ј ¤«п гбв ®ўЄЁ Ї а ¬Ґва®ў Ё§®Ўа ¦ҐЁп ЇаҐ¤®бв ў-
«пҐв Їпвм бЇ®б®Ў®ў Ё§®Ўа ¦ҐЁп ¤ ле ў ®ЄҐ Execution
Profile (Џа®дЁ«м ўлЇ®«ҐЁп).
ђЁб.1.3 Ѓ«®Є ¤Ё «®Ј § ¤ Ёп Ї а ¬Ґва®ў Ё§®Ўа ¦ҐЁп
* Time ("‚६п")§ ¤ Ґв Ё§®Ўа ¦ҐЁҐ Ї®«®Ј® ўаҐ¬ҐЁ § ва -
祮Ј® ўлЇ®«ҐЁҐ Є ¦¤®© Ё§ Ї®¬ҐзҐле "®Ў« б⥩".
(нв®в Ї а ¬Ґва § ¤ Ґвбп Ї® 㬮«з Ёо)
* Count ("Џ®¤бзҐв") § ¤ Ґв Ё§®Ўа ¦ҐЁҐ зЁб« , Ї®Є §лў о-
饣® бЄ®«мЄ® а § § ўаҐ¬п ўлЇ®«ҐЁп Їа®Ја ¬¬л гЇа ў«Ґ-
ЁҐ ЇҐаҐ¤ ў «®бм Ї®¬ҐзҐ®© "®Ў« бвЁ".
* Both ("€ в®, Ё ¤агЈ®Ґ") § ¤ Ґв ®¤®ўаҐ¬Ґл© Ї®Є § ўаҐ-
¬ҐЁ ўлЇ®«ҐЁп Ё Є®«ЁзҐбвў ўл§®ў®ў.
* "Per Call" ("Ќ ®¤Ё ўл§®ў") ўҐ¤Ґв Є Ё§®Ўа ¦ҐЁо б।-
ҐЈ® ўаҐ¬ҐЁ § ва 祮Ј® ®¤® ўлЇ®«ҐЁҐ Ї®¬ҐзҐ®©
"®Ў« бвЁ".
* Longest ("‘ ¬®Ґ Ў®«м讥") ўҐ¤Ґв Є Ї®Є §г ¬ ЄбЁ¬ «м®Ј®
ўаҐ¬ҐЁ § ва 祮Ј® ўлЇ®«ҐЁҐ ¤ ®© "®Ў« бвЁ".
3. ‚лЎҐаЁвҐ Counts (Џ®¤бзҐв) ў Ја дҐ Display (€§®Ўа ¦ҐЁҐ) ў
а бб¬ ваЁў Ґ¬®¬ Ў«®ЄҐ ¤Ё «®Ј .(‘¤Ґ« ©вҐ нв® ЇаЁ Ї®¬®йЁ ¬лиЁ,
Ё«Ё ЁбЇ®«м§гп Є« ўЁиЁ гЇа ў«ҐЁп Єгаб®а®¬ ЇҐаҐ©¤ЁвҐ Є н⮬г
ЇгЄвг Ё ¦¬ЁвҐ Є« ўЁиг ENTER, в®Ј® ¦Ґ б ¬®Ј® १г«мв в
¬®¦® ¤®бвЁзм Їа®бвл¬ ¦ вЁҐ¬ Є« ўЁиЁ ‘.)
4. ‚лЎҐаЁвҐ ЋЉ (Ё«Ё ¦¬ЁвҐ ENTER).
’ҐЇҐам ®Є® Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп) Ї®Є §лў -
Ґв Ґ ўаҐ¬Ґго, Є®«ЁзҐб⢥го бв вЁбвЁЄг ўлЇ®«ҐЁп Їа®Ја ¬¬л
PRIME0, Є Є Ї®Є § ® б«Ґ¤го饬 аЁбгЄҐ.
ђЁб.1.4 Љ®«ЁзҐб⢥ п бв вЁбвЁЄ ў ®ЄҐ Їа®дЁ«п Їа®Ја ¬¬л:
ќвЁ Ё§®Ўа ¦ҐлҐ нЄа Ґ ¤ лҐ Ј®ў®апв ® ⮬, зв® ЁЎ®-
«ҐҐ з бв® ў Їа®Ја ¬¬Ґ PRIME0 ўлЇ®«пҐвбп бва®Є 22. (‘®®вўҐвбвўг-
ой п бва®Є ў Їа®Ја ¬¬Ґ PRIME0PA Ё¬ҐҐв ®¬Ґа 31.)
ЏаЁ ¦Ґ« ЁЁ ‚л ¬®¦ҐвҐ Ї®б¬®ваҐвм Є®«ЁзҐб⢥го Ё ўаҐ¬Ґго
бв вЁбвЁЄг ®¤®ўаҐ¬Ґ®. „«п нв®Ј® 㦮 б®ў ўл§ў вм Ў«®Є ¤Ё -
«®Ј Display Options (Џ а ¬Ґвал Ё§®Ўа ¦ҐЁп) ( ¦ ў ¤«п нв®Ј®
Alt-F10 Ё ўлЎа ў Display (€§®Ўа ¦ҐЁҐ) Ё«Ё ¦ ў Ctrl-D).
‚лЎҐаЁвҐ Both ("€ в®, Ё ¤агЈ®Ґ") ў бв®«ЎжҐ Display (€§®Ўа -
¦ҐЁҐ), § ⥬ ўлЎҐаЁвҐ ЋЉ Ё«Ё ¦¬ЁвҐ ENTER. ( „«п в®Ј®, зв®Ўл
н⮠ᤥ« вм ¤® ўлЎа вм Both ("€ в®, Ё ¤агЈ®Ґ") ЇаЁ Ї®¬®йЁ ¬лиЁ,
Ё«Ё ЇҐаҐ©вЁ Є Both ("€ в®, Ё ¤агЈ®Ґ") ЇаЁ Ї®¬®йЁ Є« ўЁи гЇа ў«Ґ-
Ёп Єгаб®а®¬ Ё ¦ вм ENTER, в Є¦Ґ ¬®¦® Їа®бв® ¦ вм Є« ўЁиг ‚
)
’ҐЇҐам ®Є® Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп) ўлЈ«п¤Ёв
б«Ґ¤гойЁ¬ ®Ўа §®¬:
ђЁб.1.5 ‚६Ґ п Ё Є®«ЁзҐб⢥ п бв вЁбвЁЄ ў ®ЄҐ
Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп)
…б«Ё ў ®ЄҐ Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп) ўаҐ¬Ґ п
Ё Є®«ЁзҐб⢥ п бв вЁбвЁЄ Ё§®Ўа ¦ овбп ®¤®ўаҐ¬Ґ®, в® ¤«п
Є ¦¤®© Ї®¬ҐзҐ®© "®Ў« бвЁ" ЇҐаў®Ґ зЁб«®, ®в®бп饥бп Є нв®© "®Ў-
« бвЁ"- нв® Є®«ЁзҐбвў® ўлЇ®«ҐЁ© ¤ ®© "®Ў« бвЁ", ўв®а®Ґ зЁб-
«®- нв® ўаҐ¬п, § ва 祮Ґ ўлЇ®«ҐЁҐ ¤ ®© "®Ў« бвЁ". ђЁбг-
®Є 1.5 Ї®Є §лў Ґв, зв® "®Ў« бвм" PRIME0#22 (бва®Є 22 ў Їа®Ја ¬-
¬Ґ PRIME0) ўлЇ®«п« бм 15 122 а § , зв® § п«® ў ®ЎйҐ© б«®¦®бвЁ
0.31 ᥪг¤л.
ЏҐз вм ⥪бв®ў Їа®Ја ¬¬ Ё бв вЁбвЁЄЁ
‚ н⮬ а §¤Ґ«Ґ ‚л гзЁвҐбм ЇҐз в вм ¤ўҐ ўҐйЁ:
1. ‹ЁбвЁЈ Ёб室®Ј® ⥪бв Їа®дЁ«Ёа㥬®© Їа®Ја ¬¬л, 室п饩-
бп ў ®ЄҐ Module (Њ®¤г«м) б Є®«ЁзҐб⢥®© Ё ўаҐ¬Ґ®© бв -
вЁбвЁЄ®©, б®Їа®ў®¦¤ о饩 Є ¦¤го Ї®¬ҐзҐго "®Ў« бвм".
2. ‘в вЁбвЁЄг Їа®дЁ«Ёа®ў Ёп, Ё§®Ўа ¦Ґго ў ®ЄҐ Execution
Profile (Џа®дЁ«м ўлЇ®«ҐЁп).
ЏҐз вм «ЁбвЁЈ Їа®дЁ«Ёа㥬®© Їа®Ја ¬¬л.
ЏҐаҐ¤ ⥬ Є Є ўлўҐбвЁ ў д ©« «ЁбвЁЈ Їа®дЁ«Ёа㥬®© Їа®Ја ¬-
¬л, ᮤҐа¦ йЁ© ўаҐ¬Ґго Ё Є®«ЁзҐб⢥го бв вЁбвЁЄг, ‚л ¤®«¦л
§ ¤ вм ᮮ⢥вбвўгойЁҐ Ї а ¬Ґвал ЇҐз вЁ:
1. ‚лЎҐаЁвҐ Є®¬ ¤г Print|Options (ЏҐз вм|Џ а ¬Ґвал).
2. ‚ Ў«®ЄҐ ¤Ё «®Ј Printing Options (Џ а ¬Ґвал ЇҐз вЁ) ўлЎҐаЁвҐ
ᥫҐЄвЁўго Є®ЇЄг File (” ©«) ¤«п нв®Ј® ¦Ё¬ ©вҐ TAB ¤®
вҐе Ї®а Ї®Є Ґ ЄвЁўЁаговбп ᥫҐЄвЁўлҐ Є®ЇЄЁ, § ⥬, ЇаЁ
Ї®¬®йЁ Є« ўЁиЁ "бв५Є ўЁ§", ўлЎҐаЁвҐ Ї а ¬Ґва File
(” ©«)).
3. ЏаЁ Ї®¬®йЁ Є« ўЁиЁ TAB ЄвЁўЁаг©вҐ Ў«®Є ўў®¤ Destination
File (” ©« § 票п) Ё ЎҐаЁвҐ Є« ўЁ вгаҐ
PRIME0SC.LST
4. ‚лЎҐаЁвҐ ASCII ¤«п в®Ј® зв®Ўл Ї®«м§®ў вмбп бв ¤ ав®© Є®¤Ё-
а®ўЄ®© ASCII, Ґ а биЁаҐл¬ Ў®а®¬ бЁ¬ў®«®ў IBM.
5. BлЎҐаЁвҐ ЋЉ Ё«Ё ¦¬ЁвҐ (ENTER).
’ҐЇҐам Єгаб®а 室Ёвбп ў ЄвЁў®¬ ®ЄҐ Execution Profile
(Џа®дЁ«м ўлЇ®«ҐЁп).
„«п в®Ј®, зв®Ўл ўлўҐбвЁ «ЁбвЁЈ ў д ©« ўлЎҐаЁвҐ ў ¬Ґо Є®-
¬ ¤г Print|Module (Ќ ЇҐз в вм|Њ®¤г«м). ‚ Ў«®ЄҐ ¤Ё «®Ј PIck a
Module (‚лЎа вм ¬®¤г«м) ЇаЁ Ї®¬®йЁ Є« ўЁиЁ "бв५Є ўЁ§" ўлЎҐаЁ-
⥠§ў ЁҐ ¬®¤г«п PRIME0, § ⥬ ¦¬ЁвҐ ENTER (Ё«Ё ўлЎҐаЁвҐ ЋЉ).
‚л ¬®¦ҐвҐ ўл©вЁ ў DOS (Ґ ўле®¤п Ё§ бЁб⥬л Turbo Profiler),
зв®Ўл Їа®б¬®ваҐвм д ©« PRIME0SC.LST, Є®в®ал© ¤®«¦Ґ Ўлвм ўлўҐ¤Ґ
ў ⥪гйго ¤ЁаҐЄв®аЁо. ‚лЎҐаЁвҐ ў ¬Ґо Є®¬ ¤г File|Dos shell
(” ©«|ЋЎ®«®зЄ DOS) Ё ЎҐаЁвҐ Є« ўЁ вгаҐ
TYPE PRIME0SC.LST
…б«Ё ‚л Їа®дЁ«ЁагҐвҐ Їа®Ја ¬¬г PRIME0, ЇЁб го Turbo
C, ‚л ¤®«¦л гўЁ¤Ґвм нЄа Ґ б«Ґ¤го饥:
/* Copyright (c) 1990, Borland International */
/* Џа®Ја ¬¬ ЈҐҐа жЁЁ Їа®бвле зЁбҐ« ЇаЁ Ї®¬®йЁ «Ј®аЁв¬ ќўЄ«Ё-
¤ */
int primes[1000];
#define MAXPRIMES 1000
main()
{
int j;
int lastprime, curprime;
primes[0] = 2;
primes[1] = 3;
lastprime = 1;
curprime = 3;
printf("prime %d = %d\n", 0, primes[0]);
printf("prime %d = %d\n", 1, primes[1]);
while(curprime < MAXPRIMES)
{
for(j = 0; j <= lastprime; j++)
if((curprime % primes[j]) == 0)
{
curprime += 2;
break;
}
if(j <= lastprime)
continue;
lastprime++;
printf("prime %d = %d\n", lastprime, curprime);
primes[lastprime] = curprime;
curprime += 2;
}
}
ЏаЁ¬Ґз ЁҐ: ўаҐ¬Ґ ўлЇ®«ҐЁп "®Ў« б⥩", дЁЈгаЁагойЁҐ ў
‚ 襬 д ©«Ґ ¬®Јгв ®в«Ёз вмбп ®в ЇаЁўҐ¤Ґле §¤Ґбм Ё§-§ а §«ЁзЁ©
¬Ґ¦¤г ‚ иЁ¬ Є®¬ЇмовҐа®¬ Ё ⥬, Є®в®а®¬ Ўл«Ё Ї®«гзҐл Ё§®Ўа -
¦ҐлҐ १г«мв вл.
€¬Ґвм нв®в «ЁбвЁЈ ‚ 襩 ®вЇа®дЁ«Ёа®ў ®© Їа®Ја ¬¬л ®зҐм
Ї®«Ґ§®, в Є Є Є ® ®бв Ґвбп Ї®б«Ґ ᥠб а Ў®вл б Їа®дЁ«Ёа®ўйЁ-
Є®¬ Ё ᮤҐа¦Ёв Є®«ЁзҐб⢥го Ё ўаҐ¬Ґго бв вЁбвЁЄг ¤«п Є ¦¤®©
Ї®¬ҐзҐ®© "®Ў« бвЁ" ‚ 襩 Їа®Ја ¬¬л.
’ҐЇҐам ЎҐаЁвҐ Є« ўЁ вгॠEXIT Ё ¦¬ЁвҐ Є« ўЁиг ENTER
¤«п в®Ј®, зв®Ўл ўҐагвмбп ў б।г бЁб⥬л Turbo Profiler.
ЋвзҐв ® бв вЁбвЁЄҐ Їа®дЁ«Ёа®ў Ёп.
ЏаЁ Ґ®Ўе®¤Ё¬®бвЁ ‚л ¬®¦ҐвҐ ўлўҐб⨠ᮤҐа¦Ё¬®Ґ ®Є
Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп) ў д ©« Ё«Ё ЇаЁвҐа.
1. ‘®ў ўлЎҐаЁвҐ Print|Options (ЏаЁвҐа|Џ а ¬Ґвал).
2. ‚лЎҐаЁвҐ ᥫҐЄвЁўго Є®ЇЄг Printer (ЏаЁвҐа).
3. ‚лЎҐаЁвҐ Graphics (ѓа дЁЄ ) ¤«п в®Ј®, зв®Ўл ўЄ«озЁвм ў ўл¤ -
з㠯ᥢ¤®Ја дЁзҐбЄЁҐ бЁ¬ў®«л IBM (…б«Ё ў и ЇаЁвҐа Ґ Ї®¤-
¤Ґа¦Ёў Ґв ЇбҐў¤®Ја дЁзҐбЄЁҐ бЁ¬ў®«л, Їа®ЇгбвЁвҐ нв®в и Ј Ё
ЇҐаҐе®¤ЁвҐ Є и Јг 4.)
4. Ќ ¦¬ЁвҐ ENTER Ё«Ё (ўлЎҐаЁвҐ ЋЉ).
5. ‚лЎҐаЁвҐ Print|Statistics (ЏҐз вм|‘в вЁбвЁЄ ).
‚ १г«мв ⥠ўлЇ®«ҐЁп ўл襯ҐаҐзЁб«Ґле ¤Ґ©бвўЁ©, ‚л Ї®«г-
зЁвҐ ўл¤ зг, ў Є®в®а®© Ўг¤Ґв ®ва ¦Ґ Є ¦¤л© и Ј ў 襣® ᥠб
Їа®дЁ«Ёа®ў Ёп (Ї®«г票Ґ Їа®дЁ«п, ¬®¤ЁдЁЄ жЁп Їа®Ја ¬¬л, Ї®ўв®а-
п Є®¬ЇЁ«пжЁп (४®¬ЇЁ«пжЁп), Ї®ўв®а®Ґ Ї®«г票Ґ Їа®дЁ«п (аҐ-
Їа®дЁ«Ёа®ў ЁҐ)) ЇгвЁ Ї®ЁбЄ ЁЎ®«ҐҐ б®ўҐа襮Ј® Ё нд䥪⨢-
®Ј® ⥪бв ‚ 襩 Їа®Ја ¬¬л.
‘®еа ҐЁҐ Ё ў®ббв ®ў«ҐЁҐ бв вЁбвЁзҐбЄЁе ¤ ле.
ЏҐаҐ¤ ⥬ Є Є Їа®¤®«¦Ёвм бҐ б Їа®дЁ«Ёа®ў Ёп, гзЁ¬бп § -
ЇЁблў вм ў д ©« бв вЁбвЁзҐбЄЁҐ ¤ лҐ ® Їа®жҐбᥠўлЇ®«ҐЁп Їа®-
Ја ¬¬л PRIME0, ¤«п в®Ј®, зв®Ўл Ё¬Ґвм ў®§¬®¦®бвм ў «оЎ®© ¬®¬Ґв
Ї®ЄЁгвм б।г бЁб⥬л Turbo Profiler, Ґ Ї®вҐапў ЇаЁ н⮬ Ґ®Ў-
室Ё¬лҐ ¤ лҐ. ’ Є¦Ґ ¬л гзЁ¬ ‚ б бзЁвлў вм нвЁ ¤ лҐ ў б।г
Їа®дЁ«Ёа®ўйЁЄ ЇаЁ Ї®б«Ґ¤гойЁе ᥠб е а Ў®вл.
‚лЎҐаЁвҐ Є®¬ ¤г Statistics| Save (‘в вЁбвЁЄ | ‘®еа Ёвм)
¤«п б®еа ҐЁп бв вЁбвЁЄЁ Їа®дЁ«Ёа®ў Ёп ў д ©«Ґ б а биЁаҐЁҐ¬
.TFS (Turbo Profiler Statistics (‘в вЁбвЁзҐбЄЁҐ ¤ лҐ бЁб⥬л
Turbo Profiler)). ’ Є Є Є ў ®ЄҐ Module (Њ®¤г«м) 室Ёвбп
PRIME0, в® Ў«®Є ўў®¤ File Name (€¬п д ©« ) Ї® 㬮«з Ёо ЇаҐ¤« -
Ј Ґв PRIME0.TFS ¤«п §ў Ёп д ©« ў Є®в®а®¬ Ўг¤Ґв еа Ёвбп бв -
вЁбвЁЄ . „«п в®Ј®,зв®Ўл ᮧ¤ вм нв®в д ©« ўлЎҐаЁвҐ ЋЉ.
‚ᥠбв вЁбвЁзҐбЄЁҐ ¤ лҐ вҐЄг饣® бҐ б Їа®дЁ«Ёа®ў Ёп
PRIME0 ⥯Ґам б®еа Ґл ў д ©«Ґ PRIME0.TFS, 室п饬бп ў ⥪г饩
¤ЁаҐЄв®аЁЁ, б«Ґ¤®ў вҐ«м® вҐЇҐам ‚л ¬®¦ҐвҐ ў «оЎ®© ¬®¬Ґв Ї®ЄЁ-
гвм б।㠯а®дЁ«Ёа®ўйЁЄ , Ґ Ї®вҐапў ЇаЁ н⮬ Ї®«гзҐлҐ ¤ лҐ.
„«п в®Ј®,зв®Ўл Їа®б¬®ваҐвм бв вЁбвЁЄг, § Ја㧨⥠PRIME0 ў Їа®дЁ-
«Ёа®ўйЁЄ Ё ўлЎҐаЁвҐ ў ¬Ґо Є®¬ ¤г Statistics|Restore (‘в вЁбвЁ-
Є |‚®ббв ®ўЁвм). Љ Є Ё ў ЇаҐ¤л¤гйЁ© а §, ў Ў«®ЄҐ ўў®¤ File Name
(€¬п д ©« ) Ї® 㬮«з Ёо Ўг¤Ґв § ¤ д ©« PRIME0.TFS. Ќ ¦¬ЁвҐ
ENTER ¤«п ЇҐаҐе®¤ ў Ў«®Є бЇЁбЄ Files (” ©«л), ўлЎҐаЁвҐ ў Ґ¬
PRIME0.TFS Ё, § ⥬, ўлЎҐаЁвҐ ЋЉ ¤«п ў®ббв ®ў«ҐЁп бв вЁбвЁзҐ-
бЄЁе ¤ ле Ё§ нв®Ј® д ©« .
Ђ «Ё§ бв вЁбвЁЄЁ.
‚ н⮬ а §¤Ґ«Ґ ‚л гзЁвҐбм «Ё§Ёа®ў вм бв вЁбвЁЄг, е®-
¤пйгобп ў ®ЄҐ Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп), ¤«п в®Ј®,
зв®Ўл ®б®ў ЁЁ нв®© бв вЁбвЁЄЁ ў®бЁвм ў ў иг Їа®Ја ¬¬г г«гз-
襨п.
„«п з « ҐйҐ а § Ї®б¬®ваЁ¬ ўаҐ¬Ґго Ё Є®«ЁзҐб⢥го
бв вЁбвЁЄг, 室пйгобп ў ®ЄҐ Execution Profile (Џа®дЁ«м ўлЇ®«-
ҐЁп). ђ бЇ еЁвҐ ®Є® Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп
(‚лЎҐаЁвҐ Є®¬ ¤г Zoom (ђ бЇ егвм) Ё§ ¬Ґо Window (ЋЄ®) Ё«Ё -
¦¬ЁвҐ F5) Ё Ї®б¬®ваЁвҐ бв вЁбвЁЄг ¤«п бва®Є 22 Ё 31 (®ЇҐа в®ал
if Ё printf).
‚ ¦®Ґ § ¬Ґз ЁҐ: Џ®«м§®ў вҐ«п¬ Џ бЄ «п. ‚ PRIME0PA Ё¬
ᮮ⢥вбвўгов бва®ЄЁ 31 (if) Ё 42 (Writeln).
€§ Ї®«г祮Ј® Їа®дЁ«п ¬л ¬®¦Ґ¬ Ї®зҐаЇгвм ¬®Ј® Ї®«Ґ§ле
ᢥ¤ҐЁ©. Ќ ЇаЁ¬Ґа, «ҐЈЄ® § ¬ҐвЁвм, зв® бва®Є 22 ў PRIME0 ўлЇ®«-
пҐвбп Ј®а §¤® з йҐ зҐ¬ «оЎ®© ¤агЈ®© ®ЇҐа в®а. ‚Ї®«Ґ Ї®пв®,
зв® бва®Є 22 ўлЇ®«пҐвбп 15 122 а § , в Є Є Є ў нв®© бва®ЄҐ Їа®-
Ёб室Ёв Їа®ўҐаЄ Є ¦¤®Ј® зЁб« ў ¤Ё Ї §®Ґ ®в 4 ¤® 1000 ¤Ґ«Ё-
¬®бвм нв®Ј® зЁб« н«Ґ¬Ґвл ¬ ббЁў primes, Їа®ўҐаЄ Їа®Ёб室Ёв
¤® вҐе Ї®а Ї®Є «ЁЎ® Ї®б«Ґ ¤Ґ«ҐЁп ®бв в®Є бв Ґв а ўл¬ 0, «ЁЎ®
¬ ббЁў primes Ўг¤Ґв ЁбзҐаЇ . ’ Є ¦Ґ ¬®¦® ўЁ¤Ґвм, зв® бва®Є 31
(®ЇҐа в®а printf) ®вЁ¬ Ґв Ў®«миго з бвм ўаҐ¬ҐЁ ўлЇ®«ҐЁп Їа®-
Ја ¬¬л.
ЏаЁ¬Ґз ЁҐ: ў Їа®Ја ¬¬Ґ PRIME5 ᮤҐа¦Ёвбп ¬®¤ЁдЁжЁа®ў л©
ў аЁ в ®ЇҐа в®а printf, (Ї®«м§®ў вҐ«п¬ Џ бЄ «п ЇаҐ¤ § зҐ
Їа®Ја ¬¬ PRIME5PA б ®ЇҐа в®а®¬ CRT)
Ћ¤®ўаҐ¬Ґл© Їа®б¬®ва Ёб室®Ј® ⥪бв Ё бв вЁбвЁЄЁ.
„ лҐ ў ®ЄҐ Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп) Ї®Є §л-
ў ов, зв® ў бва®ЄҐ 22 Їа®Ја ¬¬ ўлЇ®«пҐв Ў®«миго а Ў®вг, 祬 ¬
Ґ®Ўе®¤Ё¬®. Ќ® Ї®«го Є авЁг в®Ј®, зв® Їа®Ёб室Ёв ў® ўаҐ¬п ўл-
Ї®«ҐЁп Їа®Ја ¬¬л ¬®¦® Ї®«гзЁвм «Ёим ЇаЁ ®¤®ўаҐ¬Ґ®¬ а бᬮв-
२Ё ўаҐ¬Ґ®© Ё Є®«ЁзҐб⢥®© бв вЁбвЁЄЁ б Ёбе®¤л¬ вҐЄб⮬
Їа®Ја ¬¬л.
‚ ¬ Ґ®Ўе®¤Ё¬® б®Ї®бв ўЁвм ўаҐ¬ҐлҐ Ё Є®«ЁзҐбвўҐлҐ ¤ -
лҐ, 室пйЁҐбп ў ®ЄҐ Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп) б
ᮮ⢥вбвўгойЁ¬Ё бва®Є ¬Ё Ёб室®Ј® ⥪бв Їа®Ја ¬¬л, 室п饣®-
бп ў ®ЄҐ Module (Њ®¤г«м).
‚®в ®¤Ё Ё§ бЇ®б®Ў®ў ®¤®ўаҐ¬Ґ®Ј® Ї®«г票п нЄа Ґ ¤Ёб-
Ї«Ґп Ёб室®Ј® ⥪бв Ё бв вЁбвЁЄЁ Їа®дЁ«Ёа®ў Ёп:
1. €§¬ҐЁ¬ а §¬Ґал Ё Ї®«®¦ҐЁҐ ®Є Execution Profile (Џа®дЁ«м
ўлЇ®«ҐЁп) в Є, зв®Ўл ®® § п«® Їа ўго Ї®«®ўЁг ў 襣® нЄ-
а . „«п нв®Ј® 㦮 ўлЎа вм ў ¬Ґо Є®¬ ¤г
Window|Size/Move (ЋЄ®|ђ §¬Ґал/Џ®«®¦ҐЁҐ) Ё«Ё ¦ вм Ctrl-
F5.
2. ‘«Ґ¤г©вҐ гЄ § Ёп¬, 室пйЁ¬бп ў бва®ЄҐ б®бв®пЁп ¤«п в®Ј®,
зв®Ўл:
. €§¬ҐЁвм а §¬Ґал ®Є в Є, зв®Ўл ®® § Ё¬ «® ўҐбм нЄ-
а ў ўлб®вг Ё Ї®«®ўЁг нЄа ў иЁаЁг.
ў. ЏҐаҐ¤ўЁгвм Ї®«г祮Ґ ®Є® ўЇа ў®.
Џ®б«Ґ в®Ј® Є Є и ЈЁ Ё ў Ўг¤г⠯தҐ« л, ¦¬ЁвҐ Є« ўЁиг
ENTER.
3. ЂЄвЁўЁаг©вҐ ®Є® Module (Њ®¤г«м), ¦ ў ¤«п нв®Ј® Є« ўЁиг
F6, § ⥬ Ё§¬ҐЁвҐ ҐЈ® а §¬Ґал Ё а бЇ®«®¦ҐЁҐ в Є, зв®Ўл ®®
§ п«® «Ґўго Ї®«®ўЁг нЄа .
4. ‘®ў ўҐаЁвҐбм ў ®Є® Execution Profile (Џа®дЁ«м ўлЇ®«Ґ-
Ёп) ( ¦ ў ¤«п нв®Ј® Є« ўЁиг F6).
Њлим: €§¬ҐҐЁҐ а §¬Ґа®ў ®Є б Ї®¬®ймо ¬лиЁ Їа®Ёб室Ёв
Ї®б।бвў®¬ ЇҐаҐ¬ҐйҐЁп Ї® нЄа г ¬ аЄҐа Ё§¬ҐҐ-
Ёп а §¬Ґа , 室п饣®бп ў Ё¦Ґ¬ Їа ў®¬ гЈ«г.
„«п в®Ј®, зв®Ўл ЇҐаҐ¬ҐбвЁвм ®Є®, Ґ®Ўе®¤Ё¬® § жҐ-
ЇЁвм § Ј®«®ў®Є нв®Ј® ®Є Ё«Ё ўҐаеоо Ё«Ё «Ґўго
з бвм ¤ў®©®© а ¬ЄЁ, ®Ја ЁзЁў о饩 ®Є® Ё Ї®¤вп-
гвм ®Є® ў 㦮Ґ ¬Ґбв®.
ЊҐ¦¤г ®Є®¬ Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп) Ё ®Є®¬
Module (Њ®¤г«м) ўв®¬ вЁзҐбЄЁ Ї®¤¤Ґа¦Ёў Ґвбп бўп§м, Ї®н⮬㠪®Ј¤
‚л ЇҐаҐ¬Ґй ҐвҐбм Ї® Ёб室®¬г ⥪бвг Їа®Ја ¬¬л, ᮤҐа¦Ё¬®Ґ ®Є
Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп) ўбҐ ўаҐ¬п ᮮ⢥вбвўгҐв
⮬г гз бвЄг Їа®Ја ¬¬л Є®в®а®¬ ‚л 室ЁвҐбм ў ¤ л© ¬®¬Ґв.
„«п в®Ј®, зв®Ўл Ї®б¬®ваҐвм нв®в ¬Ґе Ё§¬ ў ¤Ґ©бвўЁЁ Ґ®Ўе®¤Ё¬®
ᤥ« вм б«Ґ¤го饥 :
1. ЂЄвЁўЁаг©вҐ ®Є® Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп) ( -
¦ ў ¤«п нв®Ј® F6) Ё ЇҐаҐ¬ҐбвЁвҐ ᢥ⮢®© ¬ аЄҐа ЇҐаўго
бва®Єг (бв вЁбвЁЄ ¤«п бва®ЄЁ 31 Їа®Ја ¬¬л PRIME0, Ё«Ё бва®-
ЄЁ 42 Їа®Ја ¬¬л PRIME0PA).
2. ЋвЄа®©вҐ «®Є «м®Ґ ¬Ґо ( ¦¬ЁвҐ ¤«п нв®Ј® Alt-F10) Ё ўлЎҐ-
аЁвҐ Є®¬ ¤г Module (Њ®¤г«м) (Ё«Ё Їа®бв® ¦¬ЁвҐ Ctrl-M).
Џа®дЁ«Ёа®ўйЁЄ гбв ®ўЁв Єгаб®а ў ®ЄҐ Module (Њ®¤г«м)
бва®ЄҐ 31.
3. ЏаЁ Ї®¬®йЁ Є« ўЁи гЇа ў«ҐЁп Єгаб®а®¬ ЇҐаҐ¬ҐбвЁвҐбм бва®-
Єг 22 Ёб室®Ј® ⥪бв Їа®Ја ¬¬л (бва®Є 31 ў PRIME0PA).
ќв бва®Є § Ё¬ Ґв ўв®а®Ґ ¬Ґбв® Ї® § ва в ¬ ўаҐ¬ҐЁ ў Їа®-
Ја ¬¬Ґ PRIME0. ’ҐЇҐам ў ¤ўге ўҐаеЁе бва®Є е ®Є Execution
Profile (Џа®дЁ«м ўлЇ®«ҐЁп) 室пвбп ¤ лҐ Їа®дЁ«Ёа®ў Ёп
¤«п а бб¬ ваЁў Ґ¬®Ј® ®ЇҐа в®а if.
4. ЏҐаҐ¬ҐбвЁвҐ Єгаб®а ў ®ЄҐ Module (Њ®¤г«м) бва®Єг 21 (
бва®Єг 29 ў PRIME0PA) Ё Ї®б¬®ваЁвҐ Є Є Ё§¬ҐЁ«®бм ᮤҐа¦Ё¬®Ґ
®Є Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп). ‚ҐаеЁҐ бва®ЄЁ
ў ®ЄҐ Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп) ⥯Ґам ᮤҐа-
¦ в бв вЁбвЁЄг ¤«п 21 бва®ЄЁ Їа®Ја ¬¬л.
5. ЏҐаҐ¬ҐбвЁвҐ Єгаб®а бва®Єг 30 ( бва®Єг 42 ў PRIME0PA) Ё
Ї®б¬®ваЁвҐ ¤ лҐ ў ®ЄҐ Execution Profile (Џа®дЁ«м ўл-
Ї®«ҐЁп).
Ќ «ЁзЁҐ в Є®© бўп§Ё ¬Ґ¦¤г ¤ўг¬п ®Є ¬Ё ®Ў«ҐЈз Ґв 宦¤ҐЁҐ
гз бвЄ®ў ‚ 襩 Їа®Ја ¬¬л, ЁЎ®«ҐҐ а бв®зЁвҐ«м® а б室гойЁе ўаҐ-
¬п ҐҐ ўлЇ®«ҐЁп. Љ ⮬㠦Ґ нв® ¬®¦Ґв Ї®§ў®«Ёвм Ё§ЎҐ¦ вм Їа®б¬®в-
а «ЁбвЁЈ Їа®дЁ«Ёа®ў Ёп (Ї®¤®Ў®Ј® а бᬮв८¬г а ҐҐ), ў
⮬ б«гз Ґ Ґб«Ё ‚л ЇаҐ¤Ї®зЁв ҐвҐ «Ё§Ёа®ў вм ¤ лҐ, 室пйЁҐ-
бп нЄа Ґ Є®¬ЇмовҐа .
‘®еа ҐЁҐ Є®дЁЈга жЁЁ ®Є®
Ќ ¤ ®¬ нв ЇҐ бв « Ї®¤е®¤пйЁ© ¬®¬Ґв ¤«п в®Ј®, зв®Ўл § -
Ї®¬Ёвм Ё§¬ҐҐЁп, Їа®Ё§ўҐ¤ҐлҐ ў Є®дЁЈга жЁЁ бЁб⥬л Turbo
Profiler. …б«Ё ‚л Ґ б®еа ЁвҐ вҐЄг饥 а бЇ®«®¦ҐЁҐ Ё а §¬Ґал
®Є®, в® ЇаЁ б«Ґ¤го饬 бҐ бҐ а Ў®вл б Їа®дЁ«Ёа®ўйЁЄ®¬ ®Є ®Їпвм
ЇаЁ¬гв Ї®«®¦ҐЁҐ Ё а §¬Ґал, § ¤ ў Ґ¬лҐ Ї® 㬮«з Ёо.
1. ‚лЎҐаЁвҐ Є®¬ ¤г Options|Save Options (Џ а ¬Ґвал|‘®еа Ёвм
Ї а ¬Ґвал). Ќ нЄа Ґ Ї®пўЁвбп Ў«®Є ¤Ё «®Ј Save
Configuration (‘®еа ҐЁҐ Є®дЁЈга жЁЁ).
2.Џ® 㬮«з Ёо ваЁЈЈҐалҐ Є®ЇЄЁ Options (Џ а ¬Ґвал), 室пйЁҐбп
ў ¤ ®¬ Ў«®ЄҐ ¤Ё «®Ј 㦥 гбв ®ў«Ґл, Ё ўбҐ гбв ®ў«ҐлҐ
Ї а ¬Ґвал (в ЄЁҐ, ЇаЁ¬Ґа, Є Є Ї а ¬Ґвал Ё§®Ўа ¦ҐЁп ®Є
Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп)) § ЇЁблў овбп ў д ©«
Є®дЁЈга жЁЁ.
3. ‚ Ў«®ЄҐ ¤Ё «®Ј Save Configuration (‘®еа ҐЁҐ Є®дЁЈга жЁЁ)
ЇаЁ Ї®¬®йЁ Є« ўЁиЁ TAB ЇҐаҐ¬ҐбвЁвҐбм ў Layout (Љ®¬Ї®®ўЄ ) Ё
¦¬ЁвҐ Є« ўЁиг "Їа®ЎҐ«". ‚ १г«мв ⥠нв®Ј® ⥪гй п Є®¬Ї®-
®ўЄ ®Є® "бвлЄ ў бвлЄ" Ўг¤Ґв б®еа Ґ ў д ©«Ґ Є®дЁЈга -
жЁЁ.
4. Џ® 㬮«з Ёо Є®дЁЈга жЁп § ЇЁблў Ґвбп ў д ©« TFCONFIG.TF,
ҐЈ® Ё¬п 㦥 гбв ®ў«Ґ® ў Ў«®ЄҐ ўў®¤ Save To (‘®еа Ёвм ў).
‚лЎҐаЁвҐ ЋЉ, Ё«Ё ¦¬ЁвҐ ENTER, ¤«п в®Ј® зв®Ўл б®еа Ёвм ‚ -
иЁ Ї а ¬Ґвал ў ⥪г饩 ¤ЁаҐЄв®аЁЁ ў д ©«Ґ б нвЁ¬ §ў ЁҐ¬.
Љ Є в®«мЄ® ‚л § ЇгбЄ ҐвҐ бЁб⥬г Turbo Profiler, ® ЁйҐв
д ©« TFCONFIG.TF, Ї® 㬮«з Ёо бзЁв Ґвбп, зв® д ©« Є®дЁЈга жЁЁ
Ё¬ҐҐв нв® Ё¬п. Љ Є в®«мЄ® Їа®дЁ«Ёа®ўйЁЄ 室Ёв нв®в д ©«, ® ў-
⮬ вЁзҐбЄЁ ЇаЁЁ¬ Ґв Є®дЁЈга жЁо, § ¤ ў Ґ¬го Ї а ¬Ґва ¬Ё,б®еа -
Ґл¬Ё ў н⮬ д ©«Ґ.
€§¬ҐаҐЁҐ нд䥪⨢®бвЁ а Ў®вл "®Ў« бвЁ" Їа®Ја ¬¬л.
Ћв®иҐЁҐ ®ЎйҐЈ® ўаҐ¬ҐЁ, § ва 祮Ј® а Ў®вг ¤ ®© "®Ў-
« бвЁ" Їа®Ја ¬¬л Є зЁб«г ЇҐаҐ¤ з гЇа ў«ҐЁп ¤ го "®Ў« бвм"
пў«пҐвбп е®а®иҐ© ¬Ґа®© ¤«п ўлзЁб«ҐЁп нд䥪⨢®бвЁ а Ў®вл Є Є
®¤®Ј® ®ЇҐа в®а , в Є Ё ўбҐ© Їа®Ја ¬¬л.
„«п в®Ј®, зв®Ўл Ї®б¬®ваҐвм нв® ®в®иҐЁҐ ¤«п "®Ў« б⥩", ®Ї-
।Ґ«Ґле ў PRIME0, Ё§¬ҐЁвҐ Ї а ¬Ґва Ё§®Ўа ¦ҐЁп ¤«п ®Є
Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп). ќв® ¬®¦® ᤥ« вм б«Ґ¤го-
йЁ¬ ®Ўа §®¬:
1. €§ «®Є «м®Ј® ¬Ґо ®Є Execution Profile (Џа®дЁ«м ўлЇ®«Ґ-
Ёп) ўлЎҐаЁвҐ Є®¬ ¤г Display (€§®Ўа ¦ҐЁҐ). („«п нв®Ј® Ґ-
®Ўе®¤Ё¬® ¦ вм Є®¬ЎЁ жЁо Є« ўЁи Alt-F10.)
2. ‚ Ї®пўЁўиҐ¬бп Ў«®ЄҐ ¤Ё «®Ј ўлЎҐаЁвҐ § 票Ґ Per Call (Ќ
®¤Ё ўл§®ў) Ї а ¬Ґва Display (€§®Ўа ¦ҐЁҐ).
3. ‚лЎҐаЁвҐ ЋЉ (Ё«Ё ¦¬ЁвҐ ENTER).
’ҐЇҐам ‚л ¬®¦ҐвҐ ўЁ¤Ґвм, зв® бва®Є 22 а Ў®в Ґв Ј®а §¤® нд-
䥪⨢ҐҐ бва®ЄЁ 31 (ў PRIME0PA бва®ЄЁ 30 Ё 41 ᮮ⢥вб⢥®).
ЌҐб¬®вап в®, зв® ®ЎйҐҐ ўаҐ¬п, § ва 祮Ґ ўлЇ®«ҐЁҐ ¤ ®©
бва®ЄЁ, ўҐ«ЁЄ®, Ї®бЄ®«мЄг нв бва®Є ўлЇ®«пҐвбп Ў®«м讥 Є®«ЁзҐ-
бвў® а §, б।ҐҐ ўаҐ¬п ҐҐ ўлЇ®«ҐЁп б®бв ў«пҐв ¬ҐҐҐ ®¤®© ¬Ё«-
«ЁбҐЄг¤л. ‡ ¬ҐвЁ¬, зв® б।ҐҐ ўаҐ¬п ўлЇ®«ҐЁп бва®ЄЁ 31 б®-
бв ў«пҐв ЇаЁЎ«Ё§ЁвҐ«м® 38 ¬Ё««ЁбҐЄг¤ (ў PRIME0PA б।ҐҐ ўаҐ¬п
ўлЇ®«ҐЁп бва®ЄЁ 42 а ў® 28 ¬Ё««ЁбҐЄг¤ ¬).
„ лҐ, Ї®«гзҐлҐ Їа®дЁ«Ёа®ўйЁЄ®¬ Ї®Є §лў ов Їг⨠㬥миҐ-
Ёп ўаҐ¬ҐЁ а Ў®вл PRIME0 Ё гЇа®йҐЁп ҐҐ бвагЄвгал. Њ®¦® ўл¤Ґ-
«Ёвм ¤ўҐ бва ⥣ЁЁ г«гзиҐЁп Їа®Ја ¬¬л:
1. ‘®Єа 饨Ґ ўаҐ¬ҐЁ, § ва зЁў Ґ¬®Ј® ўлЇ®«ҐЁҐ ®ЇҐа жЁ©
ўў®¤ /ўлў®¤ .
2. €§¬ҐҐЁҐ бвагЄвгал ®ЇҐа в®а®ў жЁЄ« Ў®«ҐҐ нд䥪⨢го Ё
а жЁ® «мго.
Џа®Ў«Ґ¬ ўў®¤ /ўлў®¤ ¬®¦Ґв Ўлвм з бвЁз® аҐиҐ § бзҐв б®-
Єа йҐЁп ®ЇҐа в®а printf б ҐЈ® бв®п饣® ўЁ¤
printf("prime #%d=%d\n", lastprime, curprime)
¤® ўЁ¤
printf("%d\n", curprime).
€д®а¬ жЁп ¤«п Ї®«м§®ў ⥫Ґ© Џ бЄ «п: ‚л ¬®¦ҐвҐ ЇаЁўҐ-
бвЁ ®ЇҐа в®а Writeln Є ўЁ¤г
Writeln(CurPrime);.
’®«мЄ® ®¤® нв® Їа®б⮥ Ё§¬ҐҐЁҐ ¤ Ґв § зЁвҐ«м®Ґ 㬥миҐ-
ЁҐ ўаҐ¬ҐЁ ўлЇ®«ҐЁп Їа®Ја ¬¬л. Ћ¤ Є® § ¬ҐвЁ¬, зв® ‚л Ґ ¬®¦Ґ-
⥠㬥миЁвм Є®«ЁзҐбвў® ®Ўа 饨© Є ®ЇҐа в®аг ўлў®¤ (ў ¤ ®¬
ЇаЁ¬ҐаҐ нЄа Є ¦¤л© а § Ўг¤Ґв ўлў®¤Ёвмбп 168 Їа®бвле зЁбҐ«).
€, § ЁбЄ«о票Ґ¬ нв®Ј® ҐЎ®«ми®Ј® г«гз襨п, ‚л Ї®звЁ ЁзҐЈ® Ґ
ᬮ¦ҐвҐ ᤥ« вм ¤«п г᪮२п а Ў®вл PRIME0. Ђ«Ј®аЁв¬ нв®© Їа®-
Ја ¬¬л, Є®в®ал© вॡгҐв б®еа ҐЁп ўбҐе ЇаҐ¤л¤гйЁе १г«мв в®ў ў
¬ ббЁўҐ б Ї®б«Ґ¤гойЁ¬ ЁбЇ®«м§®ў ЁҐ¬ Ёе ¤«п ¤Ґ«ҐЁп, б®ўҐа襥
бв®«мЄ®, зв® ¤ «мҐ©иҐҐ ҐЈ® г«гз襨Ґ Їа ЄвЁзҐбЄЁ Ґў®§¬®¦®.
(‡ ¬ҐвЁ¬, зв® ¤ л© «Ј®аЁв¬ Ґ ®зҐм нд䥪⨢Ґ б в®зЄЁ §аҐЁп
ЁбЇ®«м§®ў Ёп Ї ¬пвЁ, в Є Є Є «ЁзЁҐ ¬ ббЁў вॡгҐв १ҐаўЁа®-
ў Ёп Ї ¬пвЁ, а §¬Ґал Є®в®а®© ¤®«¦л Ї®§ў®«Ёвм а §¬ҐбвЁвм ўбҐ
©¤ҐлҐ Їа®бвлҐ зЁб« . €§ ўл襨§«®¦Ґ®Ј® б«Ґ¤гҐв ®Ја ЁзҐЁҐ
Є®«ЁзҐбвў® Їа®бвле зЁбҐ«, Є®в®алҐ ¬®Јгв Ўлвм ©¤Ґл ¤ ®©
Їа®Ја ¬¬®©, Ї®бЄ®«мЄг ЇаЁ ҐЄ®в®а®¬ Ёе Є®«ЁзҐб⢥ ҐЁ§ЎҐ¦® Їа®-
Ё§®©¤Ґв ЇҐаҐЇ®«ҐЁҐ ®ЇҐа вЁў®© Ї ¬пвЁ.)
Љ бз бвмо бгйҐбвўгҐв Ў®«ҐҐ ®ЇвЁ¬ «мл© бЇ®б®Ў Ї®ЁбЄ Їа®бвле
зЁбҐ«, ® ¤«п в®Ј®, зв®Ўл Ё¬ ў®бЇ®«м§®ў вмбп Ґ®Ўе®¤Ё¬® Ї®«®бвмо
Ё§¬ҐЁвм «Ј®аЁв¬, зв® Ё ¤Ґ¬®бваЁагҐвбп ў б«Ґ¤го饬 ЇаЁ¬ҐаҐ, ў
Їа®Ја ¬¬Ґ PRIME1.
Њ®¤г«м п Їа®Ја ¬¬ Ї®ЁбЄ Їа®бвле зЁбҐ« (PRIME1)
‡ ўҐаиЁ¬ а бᬮв२Ґ PRIME0 Ё § Јаг§Ё¬ ў ®Є® Module (Њ®-
¤г«м) Їа®Ја ¬¬г PRIME1, б«Ґ¤гойЁ© ў аЁ в Їа®Ја ¬¬л Ї®ЁбЄ Їа®-
бвле зЁбҐ«. Ќ 祬 Ё§г票Ґ нв®© Їа®Ја ¬¬л б Їа®бв®Ј® Їа®б¬®ва
ҐҐ ⥪бв .
1. ‚лЎҐаЁвҐ Є®¬ ¤г File|Open (” ©«|ЋвЄалвм).
2. Џ® 㬮«з Ёо ЄвЁўЁагҐвбп Ў«®Є ўў®¤ File Name (€¬п д ©« ),
ᮤҐа¦ йЁ© и Ў«® Ё¬ҐЁ д ©« ўЁ¤ *.EXE. Ќ ¦¬ЁвҐ ENTER.
3. ‚ Ў«®ЄҐ бЇЁбЄ Files (” ©«л) ЇҐаҐ¬ҐбвЁвҐ ᢥ⮢®© ¬ аЄҐа
PRIME1.EXE (Ё«Ё PRIME1PA.EXE), ЁбЇ®«м§гп ¤«п нв®Ј® Є« ўЁиЁ
"бв५Є ўўҐае" Ё "бв५Є ўЁ§".
4. Ќ ¦¬ЁвҐ ENTER. ‘Ёб⥬ Turbo Profiler § Јаг§Ёв Їа®Ја ¬¬г
PRIME1 (PRIME1PA) ў ®Є® Module (Њ®¤г«м).
5. ђ бЇ еЁвҐ ®Є® Module (Њ®¤г«м) ( ¦ ў ¤«п нв®Ј® F5). ЋЎа -
вЁвҐ ўЁ¬ ЁҐ в®, зв® ў бва®ЄҐ 4 Ї®пўЁ« бм Ї®¤Їа®Ја ¬¬
prime (Prime).
‘а §г Ўа®б овбп ў Ј« § ¤ў ®в«ЁзЁп ®в ЇаҐ¤л¤г饣® ЇаЁ¬Ґа :
* ‚®-ЇҐаўле, Ёб祧 ¬ ббЁў primes. „ п Їа®Ја ¬¬ Ґ ЁбЇ®«м-
§гҐв бЇ®б®Ў ¤Ґ«ҐЁп ¬ҐмиЁҐ Їа®бвлҐ зЁб« , ® Їа®бв® б®-
¤Ґа¦Ёв ў ᥡҐ жЁЄ«, ў Є®в®а®¬ ¤Ґ« Ґвбп Ї®ЇлвЄ а §¤Ґ«Ёвм
а бб¬ ваЁў Ґ¬®Ґ зЁб«® ўбҐ ҐзҐвлҐ зЁб« , бва®Ј® ¬ҐмиЁҐ
¤ ®Ј®. ‚ з «Ґ १г«мв ⮬ нв®Ј® Ўг¤Ґв 㢥«ЁзҐЁҐ зЁб«
ЁвҐа жЁ© Ї® ба ўҐЁо б ЇаҐ¤л¤гйЁ¬ ЇаЁ¬Ґа®¬, ® ¬л гўЁ¤Ё¬,
зв® ў Є®Ґз®¬ Ёв®ЈҐ, Ї®б«Ґ ЇҐаҐа Ў®вЄЁ ¤ ®Ј® ЇаЁ¬Ґа ,
¬®¦® Ї®«гзЁвм Ў®«ҐҐ а жЁ® «мго Ё Є зҐб⢥го Їа®Ја ¬¬г.
* ‚®-ўв®але Їа®ўҐаЄ в®, пў«пҐвбп «Ё ¤ ®Ґ зЁб«® Їа®бвл¬,
ўл¤Ґ«Ґ ў б ¬®бв®п⥫мго Ї®¤Їа®Ја ¬¬г, Є®в®а п ўл§лў Ґвбп
Ё§ ®б®ў®© Їа®Ја ¬¬л.
Џ®¬Ґвм⥠"®Ў« бвЁ" ў § Ја㦥®© Їа®Ја ¬¬Ґ (ўлЎа ў ¤«п нв®Ј®
Є®¬ ¤г Add Areas|Every Line („®Ў ўЁвм "®Ў« бвЁ"|Љ ¦¤ п бва®Є ) ў
«®Є «м®¬ ¬Ґо ®Є Module (Њ®¤г«м)), ¦¬ЁвҐ ENTER, § ⥬ § Їг-
бвЁвҐ PRIME1 ( ¦ ў F9) Ї®¤ гЇа ў«ҐЁҐ¬ бЁб⥬л Turbo Profiler Ё
®§ Є®¬мвҐбм б Ї®«г祮© бв вЁбвЁЄ®©. ‡ ⥬ ўлЎҐаЁвҐ Display Ё§
«®Є «м®Ј® ¬Ґо ®Є Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп) ¤«п
в®Ј®, зв®Ўл ®вЄалвм Ў«®Є ¤Ё «®Ј Display Options (Џ а ¬Ґвал Ё§®-
Ўа ¦ҐЁп) Ё ЇаЁўҐбвЁ Є®ЇЄг Both ў б®бв®пЁҐ On (€бЇ®«м§гҐвбп).
Ќ ¦¬ЁвҐ ENTER, § ⥬ а бЇ еЁвҐ ®Є® Їа®дЁ«п (Є« ўЁи F5).
ђЁб.1.6 ‚६Ґ п Ё Є®«ЁзҐб⢥ п бв вЁбвЁЄ . PRIME1.
‚л ¬®¦ҐвҐ § ¬ҐвЁвм, зв® ўаҐ¬п ўлЇ®«ҐЁп Ґ¬®Ј® 㬥миЁ«®бм
(®вз бвЁ нв® Їа®Ё§®и«® § бзҐв в®Ј®, зв® PRIME1 ўл¤ Ґв нЄа
¬ҐмиҐ Ёд®а¬ жЁЁ 祬 PRIME0). ‘ ¬л¬ г§ЄЁ¬ ¬Ґб⮬ Їа®Ја ¬¬л Ї®-
ЇаҐ¦Ґ¬г ®бв Ґвбп ®ЇҐа в®а printf (⥯Ґам 室пйЁ©бп ў бва®ЄҐ
21) (ў PRIME1PA Ґ¬г ᮮ⢥вбвўгҐв ®ЇҐа в®а Writeln ў бва®ЄҐ 24.)
Ћв¬ҐвЁ¬, зв® бва®Є , ў Є®в®а®© ҐЇ®б।б⢥® Їа®ўҐапҐвбп
пў«пҐвбп «Ё ®зҐаҐ¤®Ґ зЁб«® Їа®бвл¬ (бва®Є 9 ў PRIME0, бва®Є 12
ў PRIME0PA), ⥯Ґам ўлЇ®«пҐвбп 78 022 а § ў¬Ґбв® 15 122. Ќ
ЇҐаўл© ў§Ј«п¤, нв®в д Єв ўлЈ«п¤Ёв ўЇҐз в«пойҐ, ® 㦮 гзҐбвм,
зв® ў १г«мв вҐ, ®ЎйҐҐ ўаҐ¬п, § ва зЁў Ґ¬®Ґ ўлЇ®«ҐЁҐ ¤ ®©
бва®ЄЁ, 㢥«ЁзЁвбп ўбҐЈ® «Ёим ЇаЁ¬Ґа® 1 ᥪг¤г, в Є Є Є, ў
ᮮ⢥вбвўЁЁ б а ҐҐ Ї®«гзҐл¬Ё ¤ л¬Ё, нв бва®Є а Ў®в Ґв
®зҐм нд䥪⨢® б в®зЄЁ §аҐЁп ЁбЇ®«м§®ў Ёп ўаҐ¬ҐЁ.
…б«Ё ЇаЁпвм ў® ўЁ¬ ЁҐ, зв® жЁЄ« Їа®ўҐаЄЁ зЁб« ўл¤Ґ«Ґ
⥯Ґам ў ®в¤Ґ«мго Ї®¤Їа®Ја ¬¬г, в® ®¤Ё¬ Ё§ ®зҐўЁ¤ле Їг⥩ Ї®-
ўл襨п нд䥪⨢®бвЁ ҐҐ а Ў®вл пў«пҐвбп б®Єа 饨Ґ ўл§®ў®ў ¤ -
®© Ї®¤Їа®Ја ¬¬л. ‘гйҐбвўгҐв ҐбЄ®«мЄ® Їг⥩ б®Єа йҐЁп Є®«ЁзҐбв-
ў 楫ле зЁбҐ«, ЇҐаҐ¤ ў Ґ¬ле ¤ ®© Ї®¤Їа®Ја ¬¬Ґ ¤«п Їа®ўҐаЄЁ.
—Ґ¬ Ў®«миҐ зЁбҐ« Ўг¤Ґв ®вбҐп® га®ўҐ ®б®ў®© Їа®Ја ¬¬л, ⥬
¬Ґм襥 Є®«ЁзҐбвў® а § Ўг¤Ґв ўл§лў вмбп ¤ п Ї®¤Їа®Ја ¬¬ Ё ⥬
Ўлбв॥ Ўг¤Ґв ўлЇ®«пвмбп ўбп Їа®Ја ¬¬ ў 楫®¬. ‚ б«Ґ¤гойЁе Ґ-
бЄ®«мЄЁе ЇаЁ¬Ґа е ¬л Їа®¤Ґ¬®бваЁа㥬 Є Є Їа ЄвЁЄҐ ЇаЁ¬ҐпҐвбп
ўл襨§«®¦Ґ п бва ⥣Ёп.
Њ®¤ЁдЁЄ жЁп Їа®Ја ¬¬л Ё Ї®ўв®а®Ґ Їа®дЁ«Ёа®ў ЁҐ.
ЃҐв«Ё ®в¬Ґз Ґв, зв® ў¬Ґбв® Їа®ўҐаЄЁ ўбҐе ¬®¦ЁвҐ«Ґ© Ё§ Ё-
вҐаў « ®в 1 ¤® n ў ®ЇҐа в®аҐ ¤Ґ«ҐЁп Ї® ¬®¤г«о, ¤®бв в®з® ®Ја -
ЁзЁвмбп «Ёим зЁб« ¬Ё, Ґ ЇаҐў®б室пйЁ¬Ё Є®ап Єў ¤а в®Ј® Ё§
а бб¬ ваЁў Ґ¬®Ј® зЁб« . ќв® Ё ॠ«Ё§®ў ® ¬Ё ў Їа®Ја ¬¬Ґ PRIME2
(PRIME2PA).
‡ Јаг§Є Їа®Ја ¬¬л PRIME2.
€в Є, Їа®¤®«¦Ё¬ иЁ гЇа ¦ҐЁп. „«п з « § Јаг§Ё¬ ў ®Є®
Module (Њ®¤г«м) Їа®Ја ¬¬г PRIME2, б«Ґ¤гойго ўҐабЁо 襩 Їа®Ја ¬-
¬л. ‚ Їа®Ја ¬¬Ґ PRIME2 ¬л ¤®Ў ўЁ«Ё ЁбЇ®«м§®ў ЁҐ Ї®¤Їа®Ја ¬¬л
root (Root), ЎЁЎ«Ё®вҐз®© Ї®¤Їа®Ја ¬¬л ўлзЁб«ҐЁп Єў ¤а в®Ј®
Є®ап, ў®§ўа й о饩 ў Є зҐб⢥ १г«мв в 楫®Ґ зЁб«®.
€д®а¬ жЁп ¤«п Ї®«м§®ў ⥫Ґ© Џ бЄ «п: ‡ Ја㧨⥠ў ®Є®
Їа®Ја ¬¬л PRIME1PA.
‚ ¬ Ґ®Ўе®¤Ё¬® Ї®¬ҐвЁвм Є ¦¤го бва®Єг Їа®Ја ¬¬л Є Є "®Ў-
« бвм". ‚맮ўЁвҐ «®Є «м®Ґ ¬Ґо Ё ўлЎҐаЁвҐ ў Ґ¬ Є®¬ ¤г Add
Areas| Every Line in Module („®Ў ўЁвм "®Ў« бвЁ"| Љ ¦¤ п бва®Є ў
¬®¤г«Ґ), § ⥬ ¦¬ЁвҐ ENTER.
Ќ ¦¬ЁвҐ F9 ¤«п з « Їа®дЁ«Ёа®ў Ёп. Ќ нЄа Ґ Ї®«м§®ў ⥫п
®Їпвм Ї®пўпвбп ўбҐ Їа®бвлҐ зЁб« , 室пйЁҐбп ў ¤Ё Ї §®Ґ ®в 1 ¤®
1000.
Љ®Ј¤ Їа®Ја ¬¬ § Є®зЁв бў®о а Ў®вг, ®вЄа®©вҐ Ў«®Є ¤Ё «®Ј
Display Options (Џ а ¬Ґвал Ё§®Ўа ¦ҐЁп) (¤«п нв®Ј® ўлЎҐаЁвҐ Є®-
¬ ¤г Display (€§®Ўа ¦ҐЁҐ) Ё§ «®Є «м®Ј® ¬Ґо ®Є Execution
Profile (Џа®дЁ«м ўлЇ®«ҐЁп)) Ё гбв ®ўЁвҐ Ї а ¬Ґва Display ў б®-
бв®пЁҐ Both ("€ в®, Ё ¤агЈ®Ґ"). Ќ ¦¬ЁвҐ ЋЉ. ЌҐб¬®вап 㬥миҐ-
ЁҐ Є®«ЁзҐбвў ®Ўа 饨© Є бва®ЄҐ 15 (c 78022 ¤® 5288) Ё ᮮ⢥в-
б⢥® б®Єа йҐЁп ®ЎйҐЈ® ўаҐ¬ҐЁ, § ва зЁў Ґ¬®Ј® ўлЇ®«ҐЁҐ
¤ ®© бва®ЄЁ, Ї®«®Ґ ўаҐ¬п ўлЇ®«ҐЁп ¤ ®© Їа®Ја ¬¬л § зЁ-
вҐ«м® ў®§а®б«®.
ЋЎкпᥨҐ ¤ ®© ®б®ЎҐ®бвЁ Їа®Ја ¬¬л PRIME2 Єа®Ґвбп ў Ёб-
Ї®«м§®ў ЁЁ ®ў®© Ї®¤Їа®Ја ¬¬л root. ‘ва®Є 7 襩 Їа®Ја ¬¬л ўл-
Ї®«пҐвбп 5465 а §, Ё нв® § Ё¬ Ґв Ї®звЁ 5 ᥪг¤. Ќ ®¤Ё ўл§®ў
Ї®¤Їа®Ја ¬¬л § ва зЁў Ґвбп ЇаЁЎ«Ё§ЁвҐ«м® 1 ¬Ё«ЁбҐЄг¤ , б«Ґ¤®ў -
вҐ«м® з б⮥ ®Ўа 饨Ґ Є нв®© Ї®¤Їа®Ја ¬¬Ґ пў«пҐвбп а бв®зЁвҐ«м-
л¬.(ў PRIME2PA ᮮ⢥вбвўгой п бва®Є Ё¬ҐҐв ®¬Ґа 9.)
…б«Ё ў ®ЄҐ Execution Profile (Џа®дЁ«м ўлЇ®«ҐЁп) ўаҐ¬Ґ п
Ё Є®«ЁзҐб⢥ п бв вЁбвЁЄ Ї®Є §лў овбп ®¤®ўаҐ¬Ґ®, в® ҐЄ®в®-
алҐ б®зҐв Ёп нвЁе ¤ ле § б«г¦Ёў ов ўЁ¬ Ёп. „«п Ґнд䥪⨢ле
Ї®¤Їа®Ја ¬¬ ўв®а п бва®Є ЈЁбв®Ја ¬¬л (ўаҐ¬ҐлҐ ¤ лҐ) Ј®а §¤®
¤«ЁҐҐ, 祬 ЇҐаў п (Є®«ЁзҐбвўҐлҐ ¤ лҐ), нв® ®§ з Ґв, зв®
®в®иҐЁҐ ўаҐ¬ҐЁ ўлЇ®«ҐЁп Є Є®«ЁзҐбвўг ўл§®ў®ў ўҐ«ЁЄ®. €¬Ґ®
в Є п бЁвг жЁп Ў«о¤ Ґвбп ў бва®ЄҐ 27, ®ЇҐа в®а printf (ў Џ бЄ -
«ҐўбЄ®© Їа®Ја ¬¬Ґ нв® бва®Є 28).
‚ ⮬ б«гз Ґ, Ґб«Ё ¤«п Є Є®©-в® Ї®¤Їа®Ја ¬¬л ®в®иҐЁҐ ®ЎйҐ-
Ј® ўаҐ¬ҐЁ ҐҐ ўлЇ®«ҐЁп Є Є®«ЁзҐбвўг ҐҐ ўл§®ў®ў ўҐ«ЁЄ®, в® б ¬®Ґ
«гз襥 Ё§ в®Ј®, зв® ¬®¦® ЇаҐ¤ЇаЁпвм - нв® Ї®Їлв вмбп § ¬ҐЁвм
ҐҐ ¤агЈго Ї®¤Їа®Ја ¬¬г.
ђ бб¬ ваЁў п ®ЇҐа в®а return ў Ї®¤Їа®Ја ¬¬Ґ root (бва®Є 7),
¬л Ї®Ї ¤ Ґ¬ ў ¤агЈго бЁвг жЁо. ќв®в ®ЇҐа в®а е а ЄвҐаЁ§гҐвбп б -
¬л¬ Ў®«миЁ¬ зЁб«®¬ ®Ўа 饨© Ё б ¬л¬ Ў®«миЁ¬ ®ЎйЁ¬ ўаҐ¬ҐҐ¬ ўл-
Ї®«ҐЁп. Љ ¤ўг¬ ¤агЈЁ¬ бва®Є ¬ (бва®ЄҐ 5 Ё бва®ЄҐ 8) ®Ўа 饨Ґ
Їа®Ёб室Ёв 5456 а §, ® ЈЁбв®Ја ¬¬л ¤«п Є ¦¤®© Ё§ нвЁе бва®Є Ї®-
Є §лў ов ¬ «ҐмЄЁҐ § ва вл ўаҐ¬ҐЁ Ёе ўлЇ®«ҐЁҐ. ’ Є®Ґ б®зҐ-
в ЁҐ б ўЇ®«Ґ гбва Ёў Ґв, ®® ®§ з Ґв, зв® ¤ лҐ ®ЇҐа в®ал
а Ў®в ов Ўлбва®. €в Є, б ¬®© Ў®«ми®© Їа®Ў«Ґ¬®© бв®пйЁ© ¬®-
¬Ґв пў«пҐвбп Є®«ЁзҐбвў® ўл§®ў®ў Ї®¤Їа®Ја ¬¬л root.
‘®Єа 饨Ґ Є®«ЁзҐбвў ўл§®ў®ў Ї®¤Їа®Ја ¬¬л (PRIME3).
’ҐЇҐам и ®б®ў п § ¤ з - нв® б®Єа 饨Ґ Є®«ЁзҐбвў ўл§®-
ў®ў Ї®¤Їа®Ја ¬¬л root. ‡ Ја㧨⥠PRIME3 ў ®Є® Module (Њ®¤г«м),
§ ⥬ а бЇ еЁвҐ нв® ®Є® Ё Ї®б¬®ваЁвҐ Ёбе®¤л© вҐЄбв 襣®
ЇаЁ¬Ґа .
€д®а¬ жЁп ¤«п Ї®«м§®ў ⥫Ґ© Џ бЄ «п: ‚ ¬ б«Ґ¤гҐв § -
Јаг§Ёвм ў ®Є® Module (Њ®¤г«м) ЇаЁ¬Ґа PRIME3PA.
…¤Ёб⢥ п ¬®¤ЁдЁЄ жЁп, Ё¬Ґой пбп ў PRIME3, ᮤҐа¦Ёвбп ў
Ї®¤Їа®Ја ¬¬Ґ prime. Њл ¤®Ў ўЁ«Ё ®ўго 楫®зЁб«Ґго ЇҐаҐ¬Ґго
limit Ё, ЇҐаҐ¤ з «®¬ а Ў®вл жЁЄ« for, ЇаЁбў®Ё«Ё Ґ© § 票Ґ,
а ў®Ґ root(n). ЏҐаҐ¬Ґ п limit - нв® ўҐаепп Ја Ёж ¤«п Ї а -
¬Ґва жЁЄ« for.
€д®а¬ жЁп ¤«п Ї®«м§®ў ⥫Ґ© Џ бЄ «п: ‚ PRIME3PA ¬л ¤®Ў ўЁ«Ё
楫®зЁб«Ґго ЇҐаҐ¬Ґго Limit Ё Ї®«®¦Ё«Ё ҐҐ а ў®© Є®ао Єў ¤-
а ⮬㠨§ n ЇҐаҐ¤ з «®¬ ўлЇ®«ҐЁп жЁЄ« for. ЏҐаҐ¬Ґ п Limit
- нв® ўҐаепп Ја Ёж ¤«п Ї а ¬Ґва жЁЄ« for.
ЏаЁ Ї®¬®йЁ «®Є «м®Ј® ¬Ґо ®Є Module (Њ®¤г«м), Ї®¬ҐвмвҐ
"®Ў« бвЁ" Є ¦¤®© бва®ЄҐ Їа®Ја ¬¬л. ‚® ўаҐ¬п ¤ ®Ј® ᥠб
Їа®дЁ«Ёа®ў Ёп (¤«п в®Ј®, зв®Ўл § ЇгбвЁвм Їа®Ја ¬¬г ўлЎҐаЁвҐ Run|
Run (‚лЇ®«ҐЁҐ| ‚лЇ®«ҐЁҐ) Ё«Ё ¦¬ЁвҐ Є« ўЁиг F9), Їа®Ја ¬¬
а Ў®в Ґв Ґ¬®Ј® Ўлбв॥. ЋЎйҐҐ ўаҐ¬п ўлЇ®«ҐЁп Їа®Ја ¬¬л PRIME3
б®Єа вЁ«®бм Ї®звЁ 50%.
’ҐЇҐам ў Є зҐб⢥ ®б®ў®Ј® Ї®вॡЁвҐ«п ўаҐ¬ҐЁ ўлЇ®«ҐЁп
ўлбвгЇ Ґв дгЄжЁп printf. ‡ бзҐв б®Єа 饨п зЁб« ®Ўа 饨© Є
Ї®¤Їа®Ја ¬¬Ґ ўлзЁб«ҐЁп Єў ¤а в®Ј® Є®ап (б 5456 ¤® 999) ¬л § -
зЁвҐ«м® 㬥миЁ«Ё ®ЎйҐҐ ўаҐ¬п ўлЇ®«ҐЁп Їа®Ја ¬¬л.
„®Ў ўЁ¬ ҐйҐ Ґ¬®Ј® нд䥪⨢®бвЁ.
“ б ®бв «®бм ҐйҐ ҐбЄ®«мЄ® ў®§¬®¦®б⥩ ¤«п 㢥«ЁзҐЁп нд-
䥪⨢®бвЁ Ї®¤Їа®Ја ¬¬л prime. ‡ Ја㧨⥠PRIME4 ў ®Є® Module
(Њ®¤г«м), § ⥬ Їа®б¬®ваЁвҐ бва®ЄЁ Ёб室®Ј® ⥪бв б 8 Ї® 17.
€д®а¬ жЁп ¤«п Ї®«м§®ў ⥫Ґ© Џ бЄ «п: § Јаг§ЁвҐ
PRIME4PA Ё Ё§гзЁвҐ бва®ЄЁ б 11 Ї® 32.
/* Copyright (c) 1990, Borland International */
#include <stdio.h>
prime(int n)
{
int i;
if (n % 2 == 0)
return (n==2);
if (n % 3 == 0)
return (n==3);
if (n % 5 == 0)
return (n==5);
for (i=7; i*i <= n; i+=2)
if (n % i == 0)
return 0;
return 1;
}
main()
{
int i, n;
n = 1000;
for (i=2; i<=n; i++)
if (prime(i))
printf("%d\n", i);
}
{ Copyright (c) 1990, Borland International }
program Prime4PA;
Var
I,N: Integer;
Function Prime( N : Integer ):Boolean;
Var
I : integer;
Begin
If (N MOD 2 = 0) then
Begin
Prime := N = 2;
Exit;
End;
If (N MOD 3 = 0) then
Begin
Prime := N = 3;
Exit;
End;
If (N MOD 5 = 0) then
Begin
Prime := N = 5;
Exit;
End;
For I := 7 to N-1 do
If (N MOD I = 0) then
Begin
Prime := False;
Exit;
End;
Prime := True;
End;
Begin
N := 1000;
For I := 2 to N do
If Prime(I) then
Writeln( I );
End.
‚ нвЁе бва®Є е ᮤҐа¦Ёвбп ап¤ г«гз襨©.
* ’аЁ ®ЇҐа в®а if ў Ї®¤Їа®Ја ¬¬Ґ prime г¤ «пов Ё§ а бᬮваҐ-
Ёп зЁб« , Єа влҐ 2, 3, Ё 5 ᮮ⢥вб⢥®. …б«Ё ®б®ў -
ЁЁ нвЁе Їа®ўҐа®Є ‚ ¬ Ґ г¤ Ґвбп ®вбҐпвм а бб¬ ваЁў Ґ¬®Ґ
зЁб«® n, в® ЇаЁе®¤Ёвбп Їа®ўҐапвм ҐЈ® ¤Ґ«Ё¬®бвм ®бв ўиЁҐбп
жҐ«лҐ зЁб« ўЇ«®вм ¤® Є®ап Єў ¤а в®Ј® Ё§ n. Ќ з вм нвЁ
Їа®ўҐаЄЁ ¬®¦® б зЁб« 7, в Є Є Є «ЁзЁҐ ®ЇҐа в®а®ў if ЁбЄ-
«оз Ґв Ё§ а бᬮваҐЁп ўбҐ ¬ҐмиЁҐ зЁб« .
* –ЁЄ« for ⥯Ґам а Ў®в Ґв б и Ј®¬ 2, в Є Є Є Ґв б¬лб« а б-
б¬ ваЁў вм зҐвлҐ зЁб« .
* Џа®ўҐаЄ i*i<=n § ¬ҐЁ« Ў®«ҐҐ ¤®а®Ј®©, б в®зЄЁ §аҐЁп ўаҐ-
¬Ґле § ва в, вҐбв, ®б®ўлў ойЁ©бп ўлзЁб«ҐЁЁ Єў ¤а в®-
Ј® Є®ап.
ђҐ§г«мв ⮬ ўбҐе нвЁе Ё§¬ҐҐЁ© пўЁ«®бм в®, зв® ®ЎйҐҐ ўаҐ¬п
ўлЇ®«ҐЁп 㬥миЁ«®бм Ў®«ҐҐ 祬 ®¤г ᥪг¤г. „ лҐ, ЇаЁўҐ-
¤ҐлҐ аЁбгЄҐ 1.7 Ї®Є §лў ов, зв® дгЄжЁп printf ®вЁ¬ Ґв вҐ-
ЇҐам 96% ўбҐЈ® ўаҐ¬ҐЁ ўлЇ®«ҐЁп.
ђЁб.1.7 ‚६Ґ п Ё Є®«ЁзҐб⢥ п бв вЁбвЁЄ , PRIME4.
‘®Єа 饨Ґ ўаҐ¬ҐЁ ўў®¤ /ўлў®¤
€§¬ҐҐЁҐ ў ¤®«Ґ ўаҐ¬ҐЁ, Ї®вॡ«пҐ¬®© ®ЇҐа в®а®¬ printf,
Ј®ў®аЁв ® ⮬, з⮠⥯Ґам ЎлбвதҐ©бвўЁҐ Їа®Ја ¬¬л ў Ў®«м襩 бвҐ-
ЇҐЁ ®Ја ЁзЁў Ґвбп ®ЇҐа в®а ¬Ё ўў®¤ /ўлў®¤ , 祬 ҐҐ ўлзЁб«ЁвҐ«м-
®© з бвмо. ‚®§¬®¦®, в Є®Ґ Ї®«®¦ҐЁҐ пў«пҐвбп ўЇ®«Ґ ЇаЁҐ¬«Ґ¬л¬.
Ќ®, е®вп Ўл Їа®бв® а ¤Ё ЁвҐаҐб , ¤ ў ©вҐ Ї®Їа®ЎгҐ¬ ўл¦ вм ҐйҐ
зв®-ЁЎг¤м Ё§ нвЁе ®ЇҐа в®а®ў.
‡ Ја㧨⥠PRIME5 ў ®Є® Module (Њ®¤г«м) Ё Ї®б¬®ваЁвҐ 28
бва®Єг (бва®Єг 3 ў Џ бЄ «ҐўбЄ®¬ ў аЁ вҐ)
‚ Turbo C Ё¬ҐҐвбп Ў®«ҐҐ Ўлбвал© ў аЁ в дгЄжЁЁ printf, -
§лў Ґ¬л© cprintf, ЁбЇ®«м§®ў ЁҐ Є®в®а®Ј® пў«пҐвбп Ґ¤Ёб⢥л¬
®в«ЁзЁҐ¬ Їа®Ја ¬¬л PRIME5 ®в PRIME4. ”гЄжЁп cprintf ®Ўа Ў влў Ґв
бЁвг жЁо ЇҐаҐе®¤ ®ўго бва®Єг Ё зҐ, 祬 printf: ў cprintf
ў¬Ґбв® Ґ¤Ёб⢥®Ј® бЁ¬ў®« "®ў п бва®Є " ЁбЇ®«м§гҐвбп Ї а
бЁ¬ў®«®ў "ў®§ўа в Є аҐвЄЁ"/"ЇҐаҐў®¤ бва®ЄЁ" (\r \n).
€д®а¬ жЁп ¤«п Ї®«м§®ў ⥫Ґ© Џ бЄ «п: бЁб⥬ Turbo
Paskal в Є¦Ґ ᮤҐа¦Ёв Ўлбвал© ў аЁ в Writeln (ᮤҐа¦ -
йЁ©бп ў ¬®¤г«Ґ Crt). Њл ¤ Ґ¬ гЄ § ЁҐ ®Ў ЁбЇ®«м§®ў ЁЁ
нв®© Ўлбва®© ўҐабЁЁ Ї®б।бвў®¬ ўЄ«озҐЁп ®ЇҐа в®а
uses Crt ў з «® 襩 Їа®Ја ¬¬л. ‚ н⮬ § Є«о祮
Ґ¤Ёб⢥®Ґ ®в«ЁзЁҐ PRIME5PA ®в ЇаҐ¤л¤г饣® ў аЁ в .
‚맮ўЁвҐ «®Є «м®Ґ ¬Ґо ®Є Module (Њ®¤г«м) Ё гбв ®ўЁвҐ
"®Ў« бвЁ" ¤«п Є ¦¤®© бва®ЄЁ Ёб室®Ј® ⥪бв PRIME5. ‡ ЇгбвЁвҐ
PRIME5, Ї®б«Ґ 祣® Ё§гзЁвҐ Є®«ЁзҐбвўҐлҐ ¤ лҐ Їа®дЁ«Ёа®ў Ёп
¤«п бва®ЄЁ 28 ў PRIME5 (Ё«Ё бва®ЄЁ 3 ў PRIME5PA).
Ѓ®«ҐҐ Ўлбвал© ў аЁ в дгЄжЁЁ ўлў®¤ Є ¦¤ле 168 ўл§®ў е
нЄ®®¬Ёв Ї®звЁ ®¤г ᥪг¤г.
“¤ «ҐЁҐ Ї а бЁ¬ў®«®ў cr/lf ("ў®§ўа в Є аҐвЄЁ"/"ЇҐаҐў®¤
бва®ЄЁ") (PRIME6)
€, Є®Ґж, ®¤® Ї®б«Ґ¤ҐҐ Ё§¬ҐҐЁҐ. ‚¬Ґбв® в®Ј®, зв®Ўл ўл-
ў®¤Ёвм Ї аг бЁ¬ў®«®ў "ў®§ўа в Є аҐвЄЁ"/"ЇҐаҐў®¤ бва®ЄЁ" Ї®б«Ґ
Є ¦¤®Ј® ®Ў а㦥®Ј® Їа®бв®Ј® зЁб« , Ї®Їа®Ўг©вҐ ўлў®¤Ёвм Їа®бв®
бЁ¬ў®« "Їа®ЎҐ«". ‚ н⮬ Ё § Є«оз Ґвбп Ґ¤Ёб⢥®Ґ Ё§¬ҐҐЁҐ,
ᤥ« ®Ґ ў Їа®Ја ¬¬Ґ PRIME6.
‡ Ја㧨⥠PRIME6 (Ї®«м§®ў вҐ«п¬ Џ бЄ «п Ґ®Ўе®¤Ё¬® § Јаг§Ёвм
PRIME6PA) Ё гбв ®ўЁвҐ ¬ аЄҐал "®Ў« бвЁ" Є ¦¤®© бва®ЄҐ, § ⥬
ўлЇ®«ЁвҐ нвг Їа®Ја ¬¬г.
Ћ з㤮! “¤ «ҐЁҐ Ї а бЁ¬ў®«®ў "ў®§ўа в Є аҐвЄЁ"/"ЇҐаҐў®¤
бва®ЄЁ" б®Єа вЁ«® ўаҐ¬п ўлЇ®«ҐЁп Ї®звЁ ў 7 а §. ’ҐЇҐам бв «
®зҐўЁ¤Ґ в®в д Єв, зв® ЇҐаҐе®¤ ®ўго бва®Єг нв® ¤®а®Ј®бв®пй п
®ЇҐа жЁп. ‚ १г«мв ⥠ўбҐе ўҐбҐле Ё§¬ҐҐЁ© ўаҐ¬Ґ ўлЇ®«Ґ-
Ёп Ё Є®«ЁзҐбвў ўл§®ў®ў а бЇаҐ¤Ґ«Ё«Ёбм ¤®ў®«м®-в ЄЁ а ў®¬Ґа®
(ђЁб.1.8). ‚ап¤ «Ё ¬ г¤ бвбп ўл¦ вм ҐйҐ зв®-ЁЎг¤м Ё§ нв®© Їа®-
Ја ¬¬л ЎҐ§ ®б®ў ⥫쮩 ЇҐаҐа Ў®вЄЁ «Ј®аЁв¬ .
ђЁб.1.8 ‚६Ґ п Ё Є®«ЁзҐб⢥ п бв вЁбвЁЄ Їа®Ја ¬¬л
PRIME6.
Ђ зв® ¦Ґ ¤ «миҐ?
‚ нв®© Ј« ўҐ ¬л гзЁ«Ё ‚ б ®б®ў ¬ Їа®дЁ«Ёа®ў Ёп. Љ бв®-
п饬㠬®¬Ґвг ‚л 㦥 ¤®«¦л гзЁвмбп ®Ўа й вмбп б бЁб⥬®© Turbo
Profiler ¤® в Є®© б⥯ҐЁ, зв®Ўл 㬥вм § Јаг¦ вм Ё Їа®дЁ«Ёа®ў вм
Їа®Ја ¬¬л, ЇҐз в вм ᮤҐа¦Ё¬®Ґ а §«Ёзле ®Є®, б®еа пвм Ё ў®б-
бв ў«Ёў вм бв вЁбвЁЄг Їа®дЁ«Ёа®ў Ёп Ё ¬Ґпвм а бЇ®«®¦ҐЁҐ Ё
а §¬Ґал ®Є® ¤«п ®Ў«ҐЈзҐЁп «Ё§ бв вЁбвЁЄЁ.
Ќ н⮬ § Є®зЁ¬ иҐ ®Ўг票Ґ Ё Ї®ЄЁҐ¬ б।г бЁб⥬л Turbo
Profiler (ўлЎҐаЁвҐ File| Quit (” ©«л| ‚л室) Ё«Ё Їа®бв® ¦¬ЁвҐ
Alt-X).
„«п в®Ј®, зв®Ўл Ї®«гзЁвм Ў®«ҐҐ ®ЎиЁаго Ёд®а¬ жЁо ® б।Ґ
бЁб⥬л Turbo Profiler, ў ⮬ зЁб«Ґ Ё ® вҐе з бвпе Їа®дЁ«Ёа®ўйЁ-
Є , Є®в®алҐ Ґ Ўл«Ё а бᬮваҐл ў ¤ ®© Ј« ўҐ, ‚ ¬ Ґ®Ўе®¤Ё¬®
®Ўа вЁвмбп Є Ј« ўҐ 4, пў«по饩бп Ї®«л¬ бЇа ў®зл¬ агЄ®ў®¤бвў®¬
Ї® б।Ґ бЁб⥬л Turbo Profiler.
…б«Ё г ‚ б ў®§ЁЄ«® ¦Ґ« ЁҐ ¤®Ї®«ЁвҐ«м® а бᬮваҐвм ҐйҐ
Є ЄЁҐ-в® § ¤ зЁ, в® ¬л Ўл Ї®аҐЄ®¬Ґ¤®ў «Ё ‚ ¬ ᤥ« вм б«Ґ¤го饥:
* Џ®«гзЁвҐ Їа®дЁ«Ё ¤«п Їа®Ја ¬¬, ЁйгйЁе Їа®бвлҐ зЁб« ¬ҐмиЁҐ
祬:
* 2 500,
* 5 000,
* 7 500,
* 10 000.
* “бв ®ўЁвҐ ०Ё¬ Їа®дЁ«Ёа®ў Ёп ў б®бв®пЁҐ Ї ббЁў®Ј® -
«Ё§ (ўлЎа ў ¤«п нв®Ј® Є®¬ ¤г Statistics| Profiling Options
(‘в вЁбвЁЄ | Џ а ¬Ґвал Їа®дЁ«Ёа®ў Ёп), зв® Ї®ў«ҐзҐв § б®-
Ў®© Ї®пў«ҐЁҐ Ў«®Є ¤Ё «®Ј Profiling Options (Џ а ¬Ґвал
Їа®дЁ«Ёа®ў Ёп)). Љ ЄЁҐ Ё§¬ҐҐЁп нЄа Ґ Їа®дЁ«Ёа®ўйЁЄ
Ї®б«Ґ¤®ў «Ё § нвЁ¬? Љ Єго Ёд®а¬ жЁо ¬л вҐа塞 ЇаЁ Ї ббЁў-
®¬ «Ё§Ґ? (€д®а¬ жЁо ® Ї ббЁў®¬ Їа®дЁ«Ёа®ў ЁЁ ¬®¦®
Ї®зҐаЇгвм ў Ј« ўҐ 3.)
* Џ®б¬®ваЁвҐ Є Є г«гзи вбп е а ЄвҐаЁбвЁЄЁ Їа®Ја ¬¬л ЇаЁ ЇаЁ¬Ґ-
ҐЁЁ аҐиҐв ќа в®бдҐ ¤«п 宦¤ҐЁп Їа®бвле зЁбҐ«, Ґ
ЇаҐўли ойЁе 10 000.
* ‘а ўЁвҐ б«гз © ЇаЁ¬ҐҐЁп дгЄжЁЁ Ї®§ЁжЁ®Ёа®ў Ёп Єгаб®а
б ®Ўлзл¬ ЇҐаҐе®¤®¬ ®ўго бва®Єг.
‘гйҐбвўгҐв ҐЄ®в®а®Ґ Є®«ЁзҐбвў® бв ⥩ Ё ЄЁЈ, ў Є®в®але
а бб¬ ваЁў Ґвбп ў®Їа®б ® Ї®«г票Ё Їа®дЁ«п Їа®Ја ¬¬л. ЉЁЈ „¦®
ЃҐв«Ё "‘®§¤ ЁҐ нд䥪⨢ле Їа®Ја ¬¬" (Jon Bentley, Writing
Efficient Programs), ᮤҐа¦ й п бў®¤Єг Їа ўЁ« ᮧ¤ Ёп нд䥪⨢®
а Ў®в о饣® Їа®Ја ¬¬®Ј® Є®¤ , ЇаҐ¤« Ј Ґв ўбҐбв®а®оо ®Ўбв®п-
⥫мго ¬Ґв®¤®«®ЈЁо Їа®дЁ«Ёа®ў Ёп Ё ўЄ«оз Ґв ў бҐЎп ®ЎиЁаго
ЎЁЎ«Ё®Ја дЁо.