КампутарыПраграмаванне

Праграмаванне. Цыклы з параметрам

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

разнавіднасці цыклаў

Усяго адрозніваюць тры разнавіднасці:

  • з параметрам,
  • з перадумовай,
  • з постусловием.

Цыклы з параметрам, інакш іх называюць For ... to ... do або For ... downto .... do, шматкроць паўтараюць пэўную паслядоўнасць дзеянняў. У прынцыпе, і іншыя разнавіднасці выкарыстоўваюцца з гэтай жа мэтай, толькі ў for-цыкле загадзя вядома колькасць крокаў.

У двух іншых канструкцыях (While і Repeat) колькасць ітэрацый першапачаткова невядома. Таму пры вывучэнні заданні ўжо неабходна разумець, якой цыкл будзе выкарыстаны.

Асноўныя вызначэння па тэме

Цыклы з параметрамі - шматкроць паўтараюцца ітэрацыі. Лічыльнік - асноўны паказчык, з дапамогай якога выконваецца зададзеная канструкцыя. Межы прамежку паказваюць, у якіх межах будуць выконвацца тыя ці іншыя ітэрацыі. Дарэчы, зусім не абавязкова, каб пачатковае значэнне было роўна 1. Карыстальнік самастойна задае абедзве межы прамежку. Цела цыклу - набор каманд, для якіх ужо вызначана колькасць паўтораў.

Паняцце «цыклы з параметрамі» азначае, што ў дадзенай канструкцыі правяраецца ўмова, пасля чаго выконваецца набор ітэрацый. Лічыльнік павялічваецца (або памяншаецца), і ўсё паўтараецца. Цела цыклу будзе задзейнічана да таго часу, пакуль ўмова праўдзіва.

For ... to ... do: алгарытм працы, сінтаксіс

Як ужо было сказана, цыклы з параметрам выкарыстоўваюцца ў задачах, у якіх паказаны «прамежак», у якім трэба будзе працаваць. Так, гэта можа быць масіў лікаў, дзён тыдня, радкоў верша і т. Д.

Вылучаюць 2 віды канструкцыі: на павелічэнне лічыльніка і на яго памяншэнне. Першая канструкцыя будзе прапісаная наступным чынам:

for исх.переменная: = мяжа 1 to мяжа 2 do

begin

цела цыклу;

end;

Тут: вых. пераменная аб'яўляецца карыстальнікам у пачатку праграмы або блока; мяжа 1 і мяжа 2 - пачатковая і канчатковае значэнне прамежку; у целе цыклу прапісваецца шэраг дзеянняў, якія павінны выконвацца праграмай. Неабходна памятаць, што калі цела цыклу змяшчае ўсяго 1 каманду, тады операторного дужкі begin ... end можна апусціць. У такім варыянце канструкцыі лічыльнік, а менавіта <исх.переменная>, будзе павялічвацца з крокам, роўным 1.

for исх.переменная: = мяжа 1 downto мяжа 2 do

begin

цела цыклу;

end;

Тут жа вых. пераменная будзе змяншацца з крокам, роўным 1.

Схема працы цыкла з параметрам For ... to ... do будзе выглядаць наступным чынам:

  • Задаецца значэнне верхняй мяжы прамежку, т. Е. Мяжа 2.
  • Исх.переменной прысвойваецца значэнне параметру мяжа 1.
  • Праходзіць праверка ўмовы: исх.переменная ≤ мяжа 2.
  • Пры атрыманні выніку True (Ісціна) выконваецца цела цыклу.
  • Лічыльнік павялічваецца на крок, роўны 1.
  • Выкананне пунктаў 3-5 адбываецца роўна да таго моманту, пакуль ўмова праўдзіва: исх.переменная> мяжа 2. Як толькі гэта адбылося, адбываецца выхад з цыклу і кіраванне перадаецца камандзе, наступнай за дадзенай канструкцыяй.

У For ... downto ... do алгарытм працы падобны з вышэйпаказаным, за выключэннем некаторых пунктаў:

  • У 3-м пункце правяраецца ўмова: исх.переменная ≥ мяжа 2.
  • У 5-м радку алгарытму лічыльнік памяншаецца на 1.
  • У 6-м пункце каманды 3-5 будуць выконвацца да таго часу, пакуль ня будзе задаволенае ўмова: исх.переменная <мяжа 2.

Усё астатняе аналагічна ў абодвух алгарытмах працы.

Блок-схема цыкла з параметрам

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

Асноўныя патрабаванні да цыклу з параметрам

Цыклы з параметрамі патрабуюць пэўнага роду умоў.

  • Лічыльнік і межы прамежку (т. Е. Исх.переменная, мяжа 1 і мяжа 2) павінны належаць аднаму тыпу дадзеных. Калі маецца толькі сумяшчальнасць паміж пачатковым і канчатковым значэннямі адрэзка і зыходнай зменнай, то праграма можа павесці сябе няправільна, паколькі мяжы будуць ператвораныя па тыпу дадзеных зыходнага параметру.
  • Тып дадзеных, якому павінны належаць значэння параметраў, павінен быць цэлалікавых. Вельмі не рэкамендуецца выкарыстоўваць рэчавы тып.
  • Змяняць значэнне параметру исх.переменная ў целе цыклу прымусова непажадана. Інакш карыстальнік з цяжкасцю зможа адсачыць магчымыя якія з'явіліся памылкі.
  • У адрозненне ад іншых відаў цыклаў, у For ... to ... do або For ... downto ... do крок не можа мяняцца на параметр, выдатны ад 1.

Turbo Pascal: як выйсці з цыклу

Нярэдка сустракаюцца задачы, у якіх адбываецца зацыкленне, т. Е. Правяраць умовы заўсёды праўдзіва. Працэдура Break дапамагае выйсці з цыклаў з перадумовай, постусловием, параметрам. Т. е. Іх праца спыняецца датэрмінова.

Цыклы з параметрам у Паскалю (праграмаванне якіх мяркуе «адвечную» праўдзівасць ўмовы) можна спыніць з дапамогай Continue. Тут праца наладжана наступным чынам: бягучая ітэрацыя датэрмінова заканчвае сваё выкананне, кіраванне перадаецца наступнай камандзе, але без выхаду з цыкла.

Працэдура Exit неабходная для таго, каб завяршыць працу таго або іншага блока ў праграмным кодзе. Яе выклікаюць ўнутры працэдуры (функцыі) і ў той жа момант, выкананне гэтага «кавалка» неадкладна спыняецца. Калі ж Exit знаходзіцца ў асноўным блоку праграмы, тады яна завяршае сваю працу.

Працэдура Halt зводзіць прынцып функцыянавання да наступнага: цалкам канчаецца праца праграмы.

Прыклады заданняў з рашэннем

Карыстачу будзе карысна пасля вывучэння тэмы «Цыклы з параметрам у Паскалю» прыклады спачатку вывучыць, а затым трэніравацца пісаць код самастойна. Простыя задачы дапамагаюць будучаму праграмісту пазнаваць тэорыю ў практыцы, а затым паспяхова яе ўжываць. Па тэме «Цыклы з параметрам» прыклады задач з рашэннем можна знайсці лёгкія і складаныя. Тут прадстаўлены 3 задачы, у якіх разбіраюцца алгарытмы працы і даюцца тлумачэнні і каментары да кожнага рашэння.

задача 1

Дадзены двухмерных масіў натуральных лікаў у дыяпазоне [0..199], выбраных выпадкова. Знайсці колькасць усіх двухзначных лікаў, сума лічбаў якіх кратная 2.

Алгарытм дзеянняў:

  1. Стварыць двухмерных масіў.
  2. Праверыць кожны лік на адпаведнасць умовам:

a) калі 9 <Х <100, то падзяліць яго нацэліліся на 10 пасродкам div;

b) вылучыць другую лічбу колькасці дапамогай дзялення праз mod;

c) скласці выдзеленыя лічбы;

d) падзяліць пры дапамозе mod зададзеную суму на 2;

e) калі вынік будзе роўны 0, то лічыльнік павялічваецца на 1.

задача 2

Дадзены аднамерны масіў цэлалікавых элементаў. Знайсці колькасць станоўчых лікаў.

Алгарытм дзеянняў:

  1. Стварыць масіў цэлалікавых элементаў, створаных пры дапамозе randomize.
  2. У цыкл з параметрам ўкласці ўмоўны аператар IF, які будзе правяраць зададзены элемент на адпаведнасць умове: Х> 0.
  3. Калі ўмова выконваецца, то лічыльнік павялічваецца на 1.
  4. Пасля цыкла варта вывесці на экран атрыманае значэнне лічыльніка.

Дадзеныя, названыя ў дужках {}, з'яўляюцца каментарамі. У радку 11 можна вывесці масіў на экран двума спосабамі: пакінуць прабел паміж лікамі альбо адвесці пад кожны элемент пэўную колькасць вочак (у дадзеным выпадку іх 5).

У радку 12 зменную counter можна павялічыць таксама двума спосабамі: альбо да папярэдняга значэння дадаць 1, альбо скарыстацца стандартнай функцыяй Inc.

задача 3

Дана квадратная матрыца. Знайсці колькасць станоўчых элементаў, якія знаходзяцца на галоўнай дыяганалі.

тлумачэнні:

У масіве лікаў галоўная дыяганаль цягнецца з верхняга левага кута ў правы ніжні. Асаблівасцю яе з'яўляецца той факт, што індэксы радка і слупка супадаюць. Таму досыць зладзіць 1 цыкл для пераходу па радках без перабору астатніх элементаў.

Алгарытм дзеянняў:

  1. Стварыць квадратную матрыцу.
  2. Прысвоіць зменнай, адказнай за падлік станоўчых элементаў, значэнне "0".
  3. Скласці цыкл па стварэнні квадратнай матрыцы.
  4. Арганізаваць цыкл па праверцы ўмовы: калі лік на галоўнай дыяганалі> 0, тады лічыльнік павялічваецца на 1.
  5. Пасля заканчэння дзеяння цыкла на экран вывесці значэнне зменнай, якая захоўвае колькасць станоўчых элементаў.

Супрацьстаянне дзвюх моў праграмавання: З і Turbo Pascal

Як правіла, які паважае сябе праграміст ведае некалькі моў. Да прыкладу, гэта могуць быць З ++, Turbo Pascal, Delphi, Java і т. Д. Супрацьстаянне двух з іх было ярка выяўлена яшчэ ў 80-я гг. (С і турба паскаль). У канцы ХХ стагоддзя такая ж барацьба назіралася паміж Сі ++ і Java.

У віртуальнай прасторы сярод трох дзясяткаў моў праграмавання можна вылучыць тры самыя яркія пары, супрацьстаянне якіх ўражвала найвялікшыя розумы кіберпрасторы: Алгол-60 і Фартран, Pascal і C, Java і З ++. Вядома, гэтыя адчуванні суб'ектыўныя, але ў той ці іншы перыяд адзін з пары быў лідэрам. Гэта тлумачылася патрабаваннямі прамысловасці і неабходнасці ў тым ці іншым праграмным прадукце. У 70-х гг. «Кіраваў светам» Фартран, у 80-х - Turbo Pascal, у 90-х - З ++. Вядома, ні адзін з іх не «памёр». Хутчэй, яны пераўтварыліся ў ўдасканаленыя праграмныя прадукты.

Пры вывучэнні моў праграмавання можна заўважыць, што ў некаторых тэмах сінтаксіс падобны. Так, цыклы з параметрам ў C аналагічныя падобным канструкцый у Pascal, за выключэннем некаторых момантаў.

Цікава, што распрацоўшчыкі Turbo Pascal (Стары Свет) карысталіся вынікамі напрацовак амерыканскіх навукоўцаў, у той час як у Новым Свеце актыўна ўжывалі вынікі даследаванняў еўрапейскіх спецыялістаў. У Еўропе распрацоўшчыкі выступаюць у большай ступені за чысціню і кампактнасць моў праграмавання, а амерыканскія розумы схіляюцца больш да выкарыстання навамодных павеваў у напісанні кода.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 be.delachieve.com. Theme powered by WordPress.