Етqг*и pl*звЪзув$ни{1 s&lщgl{ Bсr ДФгiФf,Jl0гio*g кaf1qm.рФYФрё Aл rоРитilяи i 6оaeвЁ о,nгорнтaшin*tlff cтрyктурt4 flllo...
5 downloads
266 Views
72MB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Етqг*и pl*звЪзув$ни{1 s&lщgl{ Bсr ДФгiФf,Jl0гio*g кaf1qm.рФYФрё Aл rоРитilяи i 6оaeвЁ о,nгорнтaшin*tlff cтрyктурt4 fllloвс rЕРoгpсДJEyЕfiн Ч a Рсxясcit
Пo6yдовr олт*ритмi*
Еllдпрorpoми
..',ffi
Каpава|tОва T. II.
IнфopЛlшmшкш БaзoвuЙlrypc Оcнoвu aлropumмiзaцii ma пpoеpalЙувaння (п poцedуpн e npoеpaлrувaння) Haвчaльний пoсiбник Budання чеmвеpme
Шепетiвкa 2007
ББк 22.18 к.52 РиЁкlнд и.я.
Peueнэeнmu:
нaTимoфiевa е.t{. - r.alц.фiз..мat.нayк' дoцeнtЧеpнiвеЦькoгo , Ю.t}сдЬкoEиЧs; Цioншrыroгo щiвсpсltтетyiменi 3aпоpiзiкoгoо6лaснoгoiнс. Чepнiкoвaл.A. ' - ЬapшrиЙвПклaдач тrryгy пiслядшплoмgoi педaгoгiчнoioсвiти; , H.B. Koмхmoo Фiлfulюtс pаdu Hаукoвo-меmoduчнoi' Cхвurcнoкoмiciсюз iнфopмаmuкu 3 numаньocвitltttMiнicmepcпваocвimui наукu Уtсpаtнu (npoпoкottJ|b 1 otdI2,0I.2Ф5 p)
к.52
lпфoplgпrкn. Бsooвиf, tgрс. Oснoвtt шlгоprrnлiзauii тa пporрaшyвaн. нлДщirанoвa Т.П. - Шспетiвкll кAспэкт>,20a'|. - l92 c,
lsBN 9?8-9бб.20|7.|4.4 Maтepiaл, ll'клцдGltии ). наBчдльl|olt|yпосiбникy, вiдпoвiдае вимoгвм "iТpoгpaм д,l' зarальноосвiпriх н!вчaльниx здшaдiв фiзикo.мaтtмaтI{-чlloгo' пpиpoДl}r. чorrr тr igшоlrогiчнoго.tцюфiлiв. lнфpмrпrIсa. l0.1l шaсш (Прoгрaми.ЦlшIзgг!льtrooсвiт-rriхшaliaдьншх зarдадiь lнфpмвтшкr. - 3rпоpiжiiя: Пpем'сp, 2003. - 304 с")' : . prкol{ендoвlllимв Мoll Уrpalви. i Пpосm' достщшо, лaкorriчнo дoситъ,пoвlio пpедставленi oстroви aJIrорит. мiзацii, tt.toви пpогprмylaшвя Пaскaль тa otrисаl|o po6oтa в iнтoгpoвaкомy сeре.ЦоllншiJuгbo Pasсal ?.0' Mlстить впpaви i пpaктиrнi poбoти ллл зaкрiплсння нa6щих зrrанЬi irввичок. 'Pекoмсн.uyсtъсr шrt рнiв lo.ll клaсiв звгaльнooсBiпriх нaвчaльниx зaшaдiв фiзикo.мaтемaтичltoгo'пprrpoДrичoгoтa тсхволoгiчнorю пpофiлiв. Biдповiдaе вимо. гaм дiючих пpoгpaм з iнфоpшafrки тa l2.йльнiй шкaлi qцlнювaння знaиЬyчltiE
7-l4.4 lsBN 978.96б.201
. ББк 22.18 @ КaрaвaяoвaT.п''2ф1
32.Aлгopитмпoшyryeлёмeнтiв3 дeякoювлaiтивiстю.....'............. 136
1
BцBчal мeтoди i як poздiл iнфopмaшш' Алzopuпlltiзaцiя, пpийoми пoбyДoви aлгopllпиiв тa ix влaстивoстi. Мgгolo. дalloгo пociбникa с, B пepцry чepry, poзгляд циx пит.lllь тa виpoблeнIlя B yrнiв навинoк пoбyДoви aгlгopитмiв. r кJlloчoвIlld y poздiлi aлгopитмiзa. 3мiст понятгя () як зpoзрli.пий i тoчний пpиIIис мo)кнa тpaктyBaти цii i йoгo викoнaвцIo шoдo здiйснeння пoслiдoвнoстi дiй, спpяМoвaниx нa дoсягIIrння пoсTaBлeнoi йeти. I{е пoняття е бaзoвим i в rеоpii сaмoгo зaг.UIьIIoгo arrгopитмiв. Caмe спpoби фopмyлlовaння стopi'r.rя. .Цo пoняття aJlгopитмy пpизBeли y 30-x poкax XX BиникненIIя тeopii aлгopитмiв, ЯKa вивчae пI{тaнIIя пoбyдoBи aлгopитмiнниx мoделeй. Питaння I{oдeлюBaI{IIя' BидiB модeлeй тaкoх( 6yдyгь poзглядaтися в oднiй iз тeм цьoгo пoсiбникa. У пoсiбникy мoвa йттrмgгься тaкo)к i пpo rrpalстllчний aспекг, пoв'язaний з IIoнятTям аJгop}Iтrvfy i з rпиpoким BикopистaнIIям цьoгo pеалiзyвaпl пpи нeo6xiднoстi пdErяrтя y пpoгpaIvryвaннi. Aдхе Дeл; BIrкopисToByюTЬ, Cкоpистaсмoся ДI|Я ЦЬoгo .зl tltt]itlм ri п,Iа; II'()p t,!,I.M OIr4Е вклiдa.
БyДь-який ЕrлгopиTМ Ivloжнa yяBити сoбi як дeякy сTpyкTypy, щo сIсllа,цzrсться3 oкpемIfl( бaзoвlд< елемекгiв. Зрзyмiло, щo пpи т:rкoмy пiдtoд дo аrгoplm"rЬ BиBчeння oснoBIlI,о(rршrrцшЬ lx кoнсгpylовшпrя спИ пo.пшraтиз oзнaйoмлеI{ня з цими бaзoвими rJIеменTaми. Bизнaчaroть тpи базoвuх сmpукmуpш|tх eле]|4енmu:лiнiйний, poзгaJly)кeн пil, ЦtlклiчнъlЙ.
A
Лiнiйнuм е]IеJу'енmo].4 а]Iеopu|nму наЗuвa€mьcя mака сsnepацiя,яКсl вuЗнсtчсlсoduн еЛеJ||енmаprluйкpoк oбpoбкu aбo вidoбpюrсеIrня iнфopмацii..
.Цo тaких oпepaцiй вiднoсяться ДiТ змiни зIIaЧеI{Ilя деяких
BелиЧин'
ввeдення
Ta виBeдeIrн,I
iнфopмauii тoщo (мaп.3). .(eкiлькa лiнiйниx eлeмeнтiв },to)кyтЬoб'сднyBaTИcяi щвopювaти склaдeнy лiнiйнy стpyктypy aбo лiнiйний фpaгмент aJlгopитМy.B anггopитмiЕвклiдa пiнiйними
iнфopмaцii,
У . . о o
елемeнTaми oбчислeння
с дii введенI{Я Ta BиBrдrI{ня нoBиx знaчень Bеличин nTa m.
I
t-l oпepaц'я
I
l-
|
Мaтl.З
якoстi пpиклaдiв лiнiйниx елeментiвМoх(нaнaвeститaкi: нaтисIIrнIIякнoIIкиPOWЕR пpи BМикaI{нiкoмп'roтеpa; пepеxiд Byлицi, пo якiй зaбopoненopyx TpalrспopTy; oбчисленнЯ.цискpимiнaнryкBaДpaTнoгopiвняння; BиBеденIIяpезyлЬтaTyoбчисленняapифмeтиннoгoBиp:l:ly. ,{o склaдениx бaзoвиx aлгopитмi.rниx стpyктyp вiднoсяться poзгaлy)кенii циклiчнi zulгopитМи. Poзzалуэrcенuм eлел4eнmo.fut сUlaopumJv'унсIЗuвасmьcя mаксI onеpсlцiя, за donoмozoю якoi.зdiйснюсmься вuбip odнiсi.з dвoх мoэlслuвuх diй в залeэrнocmi вid c ф opлtульoванoi.улtoвu. Пpи викoнaннi oпеpaцii, якa r poзгiUIy)кеIIиМ eлeМенToМ' викoнyсться ЛиIIIе oднa з дiй. B Toмy Bипaдкy' кoли yМoBa спpaBд}(yстЬся' пpoдoBжеtlня Bикoнaння :l.лгopиTМy вiдбрaсться зa стpiлкoro >, B пpoТилежнoмy BиIIaдкy _ зa стpiлкolo >aбo висxiдне пpoГpaМ)/Baння' Пpoгpaмyвaння .{ля виконaI{нЯTеМaтиЧнoiaтестaЦiiнеoбxiдIro: Знamu О eTaПиpoзB'шyBaннязaдaчзa.цoПoМoгoЮ кolvlп'roТepa; о piзнoви.Ци мoделей,пoняTTяiнфopмauiйнoiмoдeлi; o oзнaчeнняaЛгopиTМy'кJIaсиaлгopитмiв,oзHaченняBЛaстИвoстей aлгopитмiв; .
IIOIIятгя виI(oнaBця tlлГopиTMy;
.
oзнaЧе}lня apгyментiB, реЗyЛЬTaTiв тa пpoмiжниx
o a a a O
BeЛичин;
всi спoсoбиolrисyвaнняaлгopитмiв; бaзoвiсТpyкTypиалгopитмiв,типи aлгopитмiв] сyгЬ МеТoдyпoкpoкoвoi деталiзaцiТaлгopиTMy; пoняTTястpyкTypнoгoпiдxoдy дo пoбyдoви aJlгopиТМy; ПpинциПмодyльнoТпoбy.Цови irЛгopиTМy;
. ПotI,ITTяпpoГpalvryBarП{я Ta _ диз'юнкцiя: о > _ BиснoBoк (iмплiкaцiя); о - еквiвaлeнтнiсть.
4З
Лoziнне npo2pсll''увсlttl|я - цe Заnuc заdачi l,цoвoto л|аmеJv|аmuчнoIлoziкu у вuzляdi нaбopу вuc]Ioв]Iloвсlнь' вidнou,tеньмiэtс вucлoвлюваннялlu mа npавuJxвuвеdeння
B p".y,"'u'i
BaI{IIя' первipясгься
I
"#*r::::':## :#*"' пporpa^,ty" "'*^':: Ha сщaB€дJIиBiсгь сфopмyльoвaIII,D( вислoBлIoBaнЬ.
Як зазнaчaлoсЯBищr' oснoвнi iдei лoгiчнoгo пpoгpaмув,aННЯ y фшшii y фpмi Bпeplцe бyли yспiIutlo pgалiзoBalriA. Кoлr,rе'payеpoм l4oBи пpoгpaпryBштlяПpoлoг. Tеpмiни } чacтoвIдopистoвyloъ як iдентичнi. Пpoлoг був пpиЙнятий,в якoстi бaзoвoi мoBи B япoнськiй пpoгpaмi стBoprння кo]\,lп, IoТеpaП'ятoгo пoкoлiння, щo opiснтoвaнa нa' дoслiджеtlня мeтoдiв лoгiчнoгo пpoгpaмyBaННяTa IuЦ/rIHoгo iнтeлeкт5l,.a тaкo)I( нa poзpoбкy нoвoгo пoкoлiння кoмп'roтepiв, спeцiaльнo llpизнaчениx для pеaлiзaцii дaниx метoдiв. Haзвa мови Пpoлoг yгBopeнa iз слiв ПPoгpaмyвaння ЛoГiчнoгo aбo ПPoгpa. мyвalrня в тepмiнax ЛoГiки (PRoLoG - PRogramming in LoGiс). Лoгiчнe ПpoгpaмyBaIIIIяМoBolo Пpoлoг дoкоpiннo вiдptзняеться вiд пpoгpaмyBaн}IяzrлгopиTйiчнимиМoBaМи.Пpoгpaмa Moвolo Пpoлoг oписy€ не пpoцедypypoзB'ЯзyBaннязaдaчi,як це мaе мiсЦе в тpaдицiйниx aлгopитмiuнrтxмoвax типy Бeйсик, ПaскaлЬ,Ci i т.п., a лoгiuнy мoдeль пpeдметнoi oблaстi, щo BкJIIoчa€ в себe деякi фaкти вiднoснo влaстивoстей пpедметнoi oблaстi i вiднorцень мiж oб'сктaми B цiй oблaстi, a Taкoж ПpaBИЛa BиBе.цеIIнЯнoBих BлaсTиBoсTeйi вiднoцrеньiз вже зaдaних. Пpozpама J|4oвoюПpoлoz clgаdаemьcя iз мнoэюuнu mвеpdэrceнь' Ko)!сне З якl1х e обo факmoл,t,абo npавuлoм i odнozo цiльoвoeo mвеpdэюення. Пpaвилo Bкulзyс'яким чиtloМ poзв'язoк пoв'язaний iз зaдaними фaктaми aбo як Мo)кнa iз зaдaниx фaктiв BиBeсTи цей poзв,язок. Пpoгpaмрaння Мoвoto Пpoлoг BкJIЮчa€ в себе тaкi етaпи: . oгoлolllення фaктiв пpо oб'скти i вiднoшeння мiж ними; . BизHaчеIIIIяпpaBил взaсмoдii oб'ектiв i вiднoшrеньмiлt ними; о фopмyлroвal{няпиTaнь пpo oб'скти i вiднolшення мiж ниМи., Haведемo пpикJIaд. Hеxaй с тaкi твep.ЦжellнЯ: _ це r{енЬ>>; 'B, якoмy сxoвaнo меxaнiзм пpедстaBЛеI{IIЯ .Гa oбpoбки дaниx. Кopисryвa.t Мoжe зBеpTaТИсЯ Дo Дaнoгo oб'скry зa заздaлегiдь визнaченим ПpaBилoМ i, не впливaЮЧи нa oб'eкт, ЛицIr кopисЦ/Baтися }IиМ.
45
СxoжуlЙ мexaнiзм BикopистoBусTЬcЯi y стaндapтниx бiблioтекax мoв пpoгpaмyвaнI{я'кoли ми зBrpтaсмoся дo фyнкuii, кopистy. rМoся I{eк),нe зaдylrylочI,IсЬ Hяцтим' яким сaмe чинoм вol{aпpaцюe. Hacлidування_ цe J||oJtслuвiсmь вuкopucmсIння вJrcе вuЗначенuхoб,скmiв dля noбуdoвuirpаpхii oб,eкmiв, noхidнuх вid нuх, Haслiдрaння _ цe Мexal{iзм,в pезyльтaтi зaстoсyвaння якoгo oдин oб'eкт мox(e oтpимyвaти y спaдкoвiсть всi влaстивoотi тa мeтoди iнЦroгo, дoдaloчи дo нI{xсвo.ixapaкгеpнiшacгIaocгi' Кoхспd з y спaдroвiсть oПLl,cДaНИ)\ сrrpl,ttvfyr >,якi aктивiзyloть poбory нaйбiльtп BикopистoвyBa}Iиx кoМaнд. Haпpиклaд, Nfi ЗaПИcУ ТексTy нaбpaнoi ПpoГpaMи lra диск .цoсTaТньo нaTиснyTи гapячy клaвiruy F2 зaмiсть тoгo, щoб BикopисToByвaTи кoМalrлy мeню Filе. Haдалi МoжЛиBе викopисTaння Гapячих клaвiш дЛя BикoHaння .цeякиx кoМaнд сеpедoBищa бy.ЦевкaзyвaTИcЯ B дyккax. Iнтегpoвaне сepедoвище ПpoгpаМyBaння Turbo Pasсal 7.0 ще по Пpaвy нaзиBaroть бaгaтoвiкoнним. Cеpедoвищe I{aДaскopисTyBaчy зМoГy ПpaцюBaTи oДHoчaснo iз l00 вiкнaми' B якиx Мoже зI{axoдиTисяpiзнoмaнiтнa iнфopмaцiя. B кoжний МoМенT Чaсy Мo)ке бУти aкTиBниМ лиtllе Tе Biкно, B якoМу в.Ll пpaцIoсTе. Cлiд ЗaУBыK|4.ГИ,Щo Пpактичнo кiлькiстЬ oДtloЧaснo вiдкpитиx вiкoн З;Urе)киTЬвiд oб'смy oПrpaTиBtloi пaм'ятi BaIIIoГoкомЦ'roтеpa' ToМy шo iнфоpмaЦlЯ У вiкнax пiД чaс ceaНc,У poбoти з сеpедoBищеМ збеpiгaсться сaМе B oпеpaтивнiй пaм'ятi. Лишrе зa BaшIиМбaжaнням ця iнфopмaцiя мorке бyги збеpеlкенa y фaйлi нa дискoвi. Poзглядaюvи гoJIoBI{еМеtlto' Ми Дещo змiнимo вкaзaний пopядoк ix слiдyвaння, сТaBлячи Зa Меry пiД час ознaйомленIlя нa перц]э
52
мiсце лoгiчнiсть пoяснення. Filе _ ме}lI0 дЛЯ pобoти з фaйлaми, якi М1сTять тексTи ПpoгpaМ (мал.9). Пiсля aктивiзaцii цьoгo еЛеМeнTa.ГoЛoBtloгo МеHЮ пеpед BaМи.poЗгopl{rTЬсяМеIII0'яке мlститиМе Taкl кoмaнди. iоn9
L]han€Iе
]l:indоW
!1еl
diE...
. . sесup. Р' lnLer DOS shelr .t.lt+x Ех ig
оL_ 1 1 _ 0 2 . P д s oL_11_O 1 . P!.S oL_ 1 1 _ oз . P д 5 oL 1 4 0 2 . P д s oL1 4 oэ . P д 5
сЕеaЕe
a
nеU
fllе
in
a
nеU
Еdiв
UlndoU
Мaл.9
вiкно для стBopеtlня iнфopмauii iм'я зaдaстЬся фaйлa _ вiднoмеp пopядкoBий xx .це NONAMЕxx.PAS' кpитoгoвiкнa);
New
_ Bl.цкpити нoBе (aBToМaTиЧнo
opеn... (F3)
_ пpoчиTaти з дискa .цля пoдajlЬшroi poбoти тeкст збеpеженoТpaнiпlе пpoгpaМи з ПOToч}Ioгoпi.цкaтaлoгa, тoбтo з Тoгo' з якoгo бyлo зaпyщенo сepедoBище; - збеpегти BМiсT aкTивнoгo вiкнa B пoToч[IoМy
Sаyc'(F2) Sаvе as... Savе all Changе dir... Pгint Gеt infо...
пiдкaтaлoзi; _ збеpегги вмigг aкптвнoгo вiкнa з нoBиM BкaзaниM iм'я'д; _ збеpегти вмiст всix вiдpитиx вiкoн; _ змiнa кaTаJloгa ДЛЯЧИTaHНЯaбo зaпису фaйлiв ; _ BиBе.ценнЯ нa пpистpй лpyкy вмiсry aкгивнoгo вiкнa: _ iнфopмauiя пpo poзпoдiл пaм'ятi кoМП'IoTеpa iнтегpoвaниМ сеpедoвищеМ;
53
_ тимчaсoBиЙ вllхiд в oпеpашifuiy систeмy .4IIяBикoнaшrя дiй нa pЬнi oC (пoвеpнеrпиrftBa,цB irгвгpoвaнe cФeдoBишIrздйснюсться кoI\{aIIдoIo ЕХЩ; _ зaBеpIIIeнНя сeaнсy poботи в Еxit (ALTiX) iнтeгpoвalloмy ' сepедoвищi. Bи звеpнyп,r}.ary }raЕ, Щo ll:u,ви кoмaнд, якi Nlя сBoгo Bllкo. нaнI{явишгaгI{Il,fyгь дoдaпсoвoiiнфopМal{ilдoпoвнeнiсимBoлaМи ( .IFя змitти Igr-гi pщaш йoгo в нeoбxfuiнoмyнaпpЛt,flry. пoIIo)I(eшuзмrнIцeIIoгoвiкнa нa екpaнi мoнiтopa нейoгo мишrею 3a веpxнlo пooбxiднo > IDoI\tryмiсцi, тo йoгo мoжнa пoзHaЧиTи