Кампутары, Праграмаванне
Фактарыяла ў "Паскалю": як вылічыць. прыклады праграм
Навучанне праграмаванні ідзе па шляху ад простага да складанага. Асвоіўшы тыпы дадзеных і аператары мовы, пераходзяць да цыклічным канструкцый. Задач на цыклы існуе незлічоная колькасць: пачынаючы ад вываду лічбаў у слупок да падліку сум па складаных формулах. Тым не менш у пачаткоўцаў праграмістаў застаецца пытанне: "Як вылічыць фактарыяла ў" Паскалю "?"
Рэалізаваць задачу можна як мінімум трыма спосабамі. Адрозніваюцца яны выкарыстоўваюцца аператарамі.
матэматычныя звесткі
Перад тым як перайсці да пабудовы алгарытмаў і напісання праграм, варта вывучыць тэорыю. У матэматыцы факториалом называюць твор цэлага ліку, для якога вылічаецца выраз, на цэлыя станоўчыя колькасці менш яго.
Зразумець вызначэнне дапаможа прыклад. Хай патрабуецца выканаць знаходжанне фактарыяла для ліку 3. Рашэнне: 3! = 3 * 2 * 1 = 6.
Пазначаецца дзеянне клічнікам, які ставіцца пасля ліку. Важная заўвага: фактарыяла вызначаны толькі для цэлых станоўчых лікаў. Разам з тым, уведзена паняцці для нуля: 0! = 1.
Лічыць выраз для вялікіх значэнняў ўручную - занятак доўгае. Каб паскорыць працэс вылічэнняў, выкарыстоўваюць кампутарныя праграмы. Далей разгледжаны спосабы, як знайсці фактарыяла ў "Паскалю".
першы спосаб
Код ніжэй паказвае варыянт праграмы.
У прыкладзе выкарыстоўваюць складовую канструкцыю з умовай, якое запісваецца перад целам цыклу. Сінтаксіс запісу:
while {ўмова} do {последовательность_операторов};
Выконваецца код наступным чынам: праграма правярае праўдзівасць выказвання {ўмова}, у выпадку станоўчай праверкі пераходзіць на {последовательность_операторов}.
Вяртаючыся да праграмы, трэба звярнуць увагу на наступныя радкі:
- 2 - задаецца лік n, для якога будзе выкананы разьлік;
- 6 - загаловак цыкла;
- 7 - пачатак цыкла;
- 8 - вылічэнне зменнай fact, якая захоўвае значэнне фактарыяла колькасці n;
- 9 - павелічэнне зменнай-лічыльніка на адзінку;
- 10 - канец цыклу.
другі спосаб
Наступны прапануе вылічыць фактарыяла ў "Паскалю" з дапамогай аператара repeat.
Канструкцыя цыкла: repeat {последовательность_операторов} until {ўмова};
Каб зразумець, як працуе праграма, разгледзім яе парадкова:
- 2 - канстанта n прызначаецца лік, для якога выконваецца вылічэнне;
- 7 - пачатак цыкла;
- 8, 9 - разлік фактарыяла і павелічэння лічыльніка i;
- 10 - канец цела цыкла;
- 11 - праверка ўмовы, паколькі ўмова размяшчаецца пасля паслядоўнасці аператараў, паўтор дзеянняў будзе выкананы як мінімум адзін раз.
трэці спосаб
Апошняя праграма таксама дае магчымасць вылічыць фактарыяла ў "Паскалю" і з'яўляецца самай кампактнай па памеры. Прычына - які выкарыстоўваецца аператар for, для якога павелічэнне лічыльніка i задаецца ў параметрах цыклу.
Запіс аператара: for {начальное_значение} to {конечное_значение} do {последовательность_операторов}.
Працуе код наступным чынам (лічбамі пазначаны радкі лістынга):
- 2 - канстанта n прысвойваюць значэнне колькасці, для якога вылічаецца фактарыяла;
- 6 - задаюцца параметры цыклу - пачатковая і канчатковае значэння;
- 7 - пачатак цыкла;
- 8 - вылічэнне зменнай fact;
- 9 - канец цыклу.
заўвагу
Нават для лікаў з першай дзясяткі фактарыяла мае значэнне больш, чым дапускае тып дадзеных integer. Таму праграма ў "Паскалю" пакажа паведамленне пра памылку. Выправіць яе проста - трэба замяніць тып дадзеных для зменнай-выніку на longint або выкарыстоўваць тыпы для захоўвання рэчавых значэнняў.
Similar articles
Trending Now