§ 8. Алгарытмы і выканаўцы

8.1. Паняцце алгарытму

Успомнім некаторыя паняцці, вывучаныя ў 6-м класе.

Алгарытм — зразумелая і канечная паслядоўнасць дакладных дзеянняў (каманд), фармальнае выкананне якіх дазваляе атрымаць рашэнне пастаўленай задачы.
Выканаўца алгарытму — чалавек, група людзей або тэхнічнае ўстройства, якія разумеюць каманды алгарытму і ўмеюць правільна іх выконваць.
Сістэма каманд выканаўцы — каманды, якія разумее і можа выконваць выканаўца.

Любы выканаўца мае абмежаваную сістэму каманд. Усе яны падзяляюцца на групы:

  1. 1) каманды, якія непасрэдна выконвае выканаўца.
  2. 2) каманды, якія мяняюць парадак выканання іншых каманд выканаўцы.

Камп’ютар з’яўляецца ўніверсальным выканаўцам.

Запіс алгарытму ў выглядзе паслядоўнасці каманд, якую можа выканаць камп’ютар, называюць праграмай.

Існуюць наступныя спосабы ўяўлення алгарытмаў:

  • слоўны (апісанне алгарытму сродкамі натуральнай мовы з дакладнай і канкрэтнай фармулёўкай фраз);
  • графічны (блок-схема) (графічнае адлюстраванне каманд алгарытму з выкарыстаннем геаметрычных фігур, або блокаў, і стрэлак, што злучаюць гэтыя блокі і паказваюць на парадак выканання каманд);
  • праграмны (запіс алгарытму ў выглядзе праграмы).

(Схематычна дадзеныя спосабы паказаны ў прыкладзе 8.1.)

8.2. Выканаўца Чарцёжнік

У 6-м класе вы пазнаёміліся з выканаўцам Чарцёжнік, прызначаным для пабудовы рысункаў і чарцяжоў на каардынатнай плоскасці (прыклад 8.2).

Чарцёжнік мае пяро, якім ён можа рысаваць адрэзкі на плоскасці. У зыходным становішчы пяро ўзнята і знаходзіцца над пунктам (0, 0) — пачаткам каардынат. Пасля завяршэння рысавання пяро таксама павінна быць узнята.

Сістэма каманд Чарцёжніка:

Каманда

Дзеянне

ToPoint(x,y)

Перамясціць пяро ў пункт (x, y)

PenUp

Узняць пяро

PenDown

Апусціць пяро

Field(N,M)

Стварыць поле памерам NxM

OnVector(a,b)

Зрушыць пяро на а адзінак па гарызанталі і b адзінак па вертыкалі

Прыклад 8.3. Складзём алгарытм рашэння задачы.

Прамавугольны ўчастак, даўжыня якога ў 2 разы большая за шырыню, абгарадзілі плотам даўжынёй 120 м. Вызначыце даўжыню і шырыню ўчастка. Напішыце праграму, выканаўшы якую выканаўца Чарцёжнік пабудуе чарцёж плота гэтага ўчастка. Маштаб: 1 клетка роўна 10 м.

Слоўнае апісанне алгарытму:

  1. Даўжыня ўчастка ў 2 разы большая за шырыню, таму ў суме даўжыня і шырыня складуць 3 аднолькавыя часткі. Плот абгароджвае ўчастак па перыметры, роўным падвоенай суме даўжыні і шырыні, г. зн. перыметр роўны 6 аднолькавым часткам.
  2. Шырыня: 120 : 6 = 20 м.
  3. Даўжыня ў 2 разы большая за шырыню: 20 ∙ 2 = 40 м.

8.3. Алгарытмічная канструкцыя паслядоўнасць

Існуе вялікая колькасць алгарытмаў, у якіх усе каманды выконваюцца паслядоўна адна за адной у тым парадку, у якім яны запісаны. У такіх алгарытмах адсутнічаюць каманды, што мяняюць парадак выканання іншых каманд. Такія праграмы вы складалі ў мінулым годзе для выканаўцы Чарцёжнік.

Алгарытмічная канструкцыя паслядоўнасцьпаслядоўнасць каманд алгарытму, што выконваюцца ў тым парадку, у якім яны запісаны.

Алгарытмічная канструкцыя паслядоўнасць адлюстроўвае натуральны, паслядоўны парадак выканання дзеянняў у алгарытме.

Паслядоўнасць выкарыстоўвалася ў прыкладзе 8.3, у якім апісваліся алгарытмы вылічэння даўжыні і шырыні ўчастка і пабудовы прамавугольніка выканаўцам Чарцёжнік.

Алгарытмічная канструкцыя паслядоўнасць паказана ў прыкладзе 8.4 i прыкладзе 8.5.

8.4. Дапаможныя алгарытмы

Часта ў адной праграме трэба рысаваць адзін і той жа відарыс некалькі разоў. Атрыманне гэтага відарыса зручна аформіць у выглядзе дапаможнага алгарытму, які можна выкарыстоўваць патрэбную колькасць разоў.

Дапаможны алгарытм — алгарытм, што цалкам выкарыстоўваецца ў складзе іншага алгарытму.

Дапаможны алгарытм рашае некаторую падзадачу асноўнай задачы. Выклік дапаможнага алгарытму ў праграме замяняе некалькі каманд адной.

Прыклад 8.6. Напішам праграму, выканаўшы якую Чарцёжнік нарысуе відарыс:

Дадзены рысунак складаецца з аднолькавых фігур. Для рысавання адной з іх можна аформіць дапаможны алгарытм figura.

Апісанне асноўнага алгарытму:

  • перамяшчэнне ў пачатковы пункт;
  • рысаванне фігуры;
  • перамяшчэнне да другой фігуры;
  • рысаванне фігуры;
  • перамяшчэнне да трэцяй    фігуры;
  • рысаванне фігуры.

Пры рашэнні задач над праектам могуць працаваць некалькі чалавек. Кожны з членаў калектыву робіць частку сваёй працы і афармляе яе як асобны дапаможны алгарытм.

Алгарытмы пабудовы чарцяжоў чалавек распрацоўвае з глыбокай старажытнасці. З’яўленне чарцяжоў звязана з практычнай дзейнасцю чалавека — узвядзеннем умацаванняў і гарадскіх будынкаў. Першыя звесткі пра чарцяжы, што нагадваюць сучасныя, звязаны з імем Леанарда да Вінчы (1452—1519) — італьянскага вучонага і мастака, які ў тэхнічных рысунках і эскізах раскрываў свае ідэі ў галіне тэхнікі і будаўніцтва.

У цяперашні час чарцяжы шырока ўжываюцца ў розных галінах будаўніцтва, сельскай гаспадаркі, прамысловасці і г. д. Сёння для пабудовы чарцяжоў выкарыстоўваюцца спецыяльныя праграмы, якія дазваляюць аўтаматызаваць працэс чарчэння. Вось лагатыпы такіх праграм:

Прыклад 8.1.

Прыклад 8.2. Поле выканаўцы Чарцёжнік.

Прыклад 8.3. Запіс алгарытму па дзеяннях:

  1. 1) 1 + 2 = 3 (часткі);
  2. 2) 3 ∙ 2 = 6 (частак);
  3. 3) 120 : 6 = 20 (м);
  4. 4) 20 ∙ 2 = 40 (м).

Блок-схема алгарытму:

Праграма для выканаўцы:

Вынік работы праграмы:

Прыклад 8.4. Алгарытм гатавання бутэрброда:

  1. Адрэзаць лустачку батона.
  2. Пакласці на батон ліст салаты.
  3. Адрэзаць кавалачак вяндліны.
  4. Пакласці вяндліну на ліст салаты.
  5. Адрэзаць кавалачак памідора.
  6. Пакласці памідор на вяндліну.

Прыклад 8.5. Алгарытм выканання лабараторнай работы па біялогіі «Будова інфузорыі туфелькі»:

  1. Разгледзець знешні выгляд і ўнутраную будову інфузорыі туфелькі.
  2. Зарысаваць інфузорыю туфельку і абазначыць назвы яе органаў.
  3. Падвесці вынік работы.

Прыклад 8.6. Праграма для выканаўцы Чарцёжнік будзе наступнай:

Вынік выканання праграмы:



1. Што такое алгарытм?



2. Якія спосабы запісу алгарытмаў вам вядомыя?



3. Што называюць алгарытмічнай канструкцыяй паслядоўнасць?



4. Які алгарытм называецца дапаможным?



  1. 1. Які рысунак атрымаецца пасля выканання Чарцёжнікам наступнай праграмы? Адлюструйце рысунак і праверце правільнасць сваіх дзеянняў, выканаўшы праграму на камп’ютары.

  1. 2. Напішыце для выканаўцы Чарцёжнік праграмы для атрымання наступных відарысаў:

а)  б) 
  1. 3. Прыдумайце свае рысункі і складзіце праграмы для іх рысавання
    з дапамогай выканаўцы Чарцёжнік.

  1. 4*. Прааналізуйце рысункі. Якія з іх мог нарысаваць выканаўца Чарцёжнік? Чаму? Якія каманды вы можаце прапанаваць дадаць выканаўцы для выканання астатніх рысункаў?

    а)  б) в) г)