Ти тут

Піднесення до степеня в мові програмування паскаль: поради і рекомендації

Існує величезна кількість мов програмування, і Паскаль займає серед них не останнє місце. І якщо ви збираєтеся надалі серйозно займатися програмуванням, слід починати знайомство з цим світом саме з вивчення даної мови, так як він більш простий в сприйнятті і, що важливо, програма абсолютно безкоштовна.

У статті ми розберемо таку непросту проблему, як зведення в ступінь. Паскаль, на жаль, не надає нам для вирішення даного завдання, на відміну від інших мов програмування, окремого оператора. Так що тут доводиться, як то кажуть, викручуватися підручними засобами, вдаючись до циклам і математичним операторам - саме тут ми можемо дати волю нашої фантазії. Розглянемо кілька методів вирішення даної проблеми.

Нехай нам дана найпростіша задача, де певна кількість необхідно звести в цілу позитивну ступінь. Припустимо, число a зводимо в 4 ступінь. Тут виконується проста математична операція: b: = a * a * a * a.



текст програмиВ наступному кроці ми ускладнити завдання і складемо універсальну програму, яка буде зводити будь-яке число в будь-яку цілу позитивну ступінь. Тут є можливість скористатися будь-яким циклом, але ми розглянемо більш простий метод з використанням циклу з лічильником. На зображенні зліва ви можете ознайомитися з повним текстом нашої програми, там же є і пояснення виконуваних операцій. До речі, слід зазначити, що споруджений число a необов`язково ставити Integer, а можна, припустимо, Real, що дозволить звести в ступінь дробове число.

Попередні приклади дозволяють нам зводити числа тільки в цілі позитивні ступеня. Але зустрічаються завдання, де необхідно звести число в дробову ступінь. При написанні такої програми нам необхідне знання властивостей логарифмів. Зокрема: ab= eb ln a. Виходячи з цього, потрібний фрагмент нашої програми буде мати вигляд: r: = exp (b * ln (a)). Але тут ми стикаємося з тим, що цей оператор не працює з нулем і негативними числами. Для того, щоб наша програма виконувала спорудження до рівня 0, потрібно задати умову: If b = 0 Then r: = 1 Else r: = exp (b * ln (a)). Але як же для негативного числа виглядає спорудження до рівня?



текст програми

Паскаль знову змушує нас замислитися. Тут доводиться проводити дану операцію з модулем нашого числа і брати дані з негативним результатом. Потім перевірити парність ступеня: якщо наша ступінь була парній, тоді ми беремо від результату модуль. В такому випадку наша програма буде мати вигляд: r: = (- 1) * exp (b * ln (abs (a))) - If Round (b / 2) = b / 2 Then r: = abs (r). Умова тут перевіряє, парна чи ні ступінь.

У підсумку ми підходимо до більш універсальної моделі нашої програми, яка буде працювати з будь-якими числами. Тобто тепер ми повинні об`єднати в єдине ціле всі вищевикладене. У зображенні праворуч ви можете ознайомитися з повним текстом нашої готової програми. Зверніть увагу на заданий тип даних. На відміну від першої програми, тут використовується Real, тому тут ми вже працюємо з будь-якими числами, а не тільки з цілими. Отже, зведення в ступінь дійсних чисел нами повністю розглянуто. Залишилося розглянути лише одне питання.

текст програмиПереходячи до нього, слід зазначити, що при вирішенні даного завдання необхідні досить глибокі знання в програмуванні. Це зведення в ступінь комплексного числа. Тут можна пробувати використовувати різні варіанти рішення, припустимо, формулу Муавра, але там є труднощі з перекладом комплексного числа в тригонометричну форму. Є рішення даної задачі в завданні процедури перемноження двох комплексних чисел і простого циклу з лічильником, тобто повторення цієї процедури рівне ступеню число раз. На наданому прикладі ви можете більш детально розібратися з текстом цієї програми.

Поділися в соц мережах:

Увага, тільки СЬОГОДНІ!

Схожі повідомлення


Увага, тільки СЬОГОДНІ!