Добрі поради » Техніка і технології » Зведення в ступінь: основи математики в програмуванні

Зведення в ступінь: основи математики в програмуванні

22-03-2015, 07:09
2 222
0
Нерідко ми стикаємося з тим, що нам необхідно звести число в яку-небудь ступінь. Можна скористатися звичайним калькулятором. Але це нецікаво і дуже часто не підходить під умови поставленої задачі.

Поняття ступеня в галузі математики

Варто почати з пояснення математичного сенсу зведення в ступінь. Наприклад, нам необхідно звести деяке число x до степеня y. В математиці ця запис виглядала б так: x y = x ^ y. Це означає, що число x потрібно помножити на себе y раз. Пам'ятайте: будь-яке число ви не зводили в нульову ступінь, вийде одиниця, а також при зведенні в першу ступінь ми отримаємо наше вихідне число. При зведенні в негативну ступінь ми всього лише перевертаємо отриманий результат.




Зведення в ступінь на паскалі

З математикою все зрозуміло. Але як же нам зробити таку програму, яка буде виробляти зведення в ступінь? Тут все просто. Якщо нам необхідно звести x в ступінь 5 то наш код прийме вигляд: res:= x * x * x * x * x. Ми помножили число x на себе 5 разів, як нам було необхідно, але що робити, якщо нам не відома ступеня, у яку треба звести число? Далі ми розглянемо, як виробляти зведення в ступінь. Паскаль надає нам не дуже багато можливостей для цього, але ми обов'язково що-небудь придумаємо. Наприклад, використання стандартних функцій та процедур або використання різних циклів.

Зведення числа в квадрат

Почнемо, мабуть, з зведення в квадрат. Зведення в квадрат є приватним випадком зведення в ступінь. Для цього в паскалі передбачена стандартна процедура sqr(x). Вона зведе наше число x у квадрат, ця запис дорівнює запису x*x.




Зведення в ступінь: основи математики в програмуванні
Дуже часто цього цілком достатньо, але не завжди програма може обмежитися одним лише зведенням в квадрат. Як же зводити в більш високі ступені? Про це читаємо далі і просвещаемся.

Використання стандартних операторів

У паскалі існує два методи для зведення числа у ступінь: exp(ln(x)*y) і метод power(x, y). Процедура exp() має обмеження: x повинно бути більше 0 т. к. не можна витягти натуральний логарифм з неположительного числа, але ця функція вважається застарілою і незручною для використання, тому далі ми про неї говорити не будемо. Функція power() приймає два значення, перше число (x) - що треба піднести до степеня, друге число (y) - ступінь, в який треба звести і повертає x в степені y. Слід пам'ятати, що числа х і у - речові, тобто типу real.
Зведення в ступінь: основи математики в програмуванні
Але тут є один недолік, ця функція є не у всіх версіях паскаля. Та й взагалі, іноді зведення в ступінь повинно проводитися без використання операторів. Йдемо далі і розбираємо наступний спосіб.

Зведення ступінь за допомогою циклу for

Як ми вже зрозуміли, зведення числа у ступінь - це послідовне множення числа на самого себе кілька разів. Повторити якусь дію кілька разів в програмуванні набагато легше, ніж у житті. Скористаємося циклом for:
Зведення в ступінь: основи математики в програмуванні
Розберемося, що і як тут працює. Для початку ми вводимо два числа: x і y. Потім беремо за результат одиницю, для чого це - нижче. Виконуємо цикл до модуля нашої ступеня, оскільки якщо ступінь буде негативною, то цикл не піде. У циклі ми множимо наш результат на саме число x. Так навіщо ми присвоювали результату 1? По-перше, якщо б ми множили на 0 то програма завжди видавала б 0. По-друге, наша ступінь може бути дорівнює 0 тоді програма повинна повернути нам 1 т. до. будь-яке число в 0 ступені це 1. Потім ми перевіряємо, є ступінь від'ємним числом або позитивним: якщо вона негативна, то ділимо на одиницю наш результат. Виконання цієї завдання за допомогою циклу while робиться майже так само.

Використання циклу while при зведенні в ступінь

Використання циклу while більш правильно, ніж for, але для розуміння простіше попередній варіант. Навряд чи можна варто обмежуватися одним лише циклом for, для розуміння буде краще подивитися декілька прикладів, так і завдання буває поставлена по-різному, комусь одним циклом, кому-то іншим, саме тому ми розберемо ще один спосіб зведення в ступінь.
Зведення в ступінь: основи математики в програмуванні
Все майже так само, як і раніше. Вводимо два числа х і у. Присвоюємо нашому результату значення одиниці, щоб зводити в нульову ступінь. Потім створюємо лічильник i і присвоюємо йому значення модуля нашої ступеня. Цикл продовжується до тих пір, поки лічильник не дорівнює нулю, якщо ступінь з самого початку дорівнює нулю, то цикл не буде виконуватися, результат так і залишиться одиницею, як і повинно бути, адже будь-яке число в нульовому - це одиниця. В самому циклі ми так само вважаємо результат, множачи вже отриманий результат на наше число х, не забуваємо віднімати з нашого лічильника одиницю, інакше ми ніколи не дійдемо до нуля. Ну а потім так само, як вище, перетворення, якщо ступінь була негативною. Нічого складного, як виявилося. Втім, ніхто і не сумнівався. Що ж, з звичайними числами ми закінчили, але ж є не тільки такі числа.

Поняття комплексних чисел

Нам з самого початку шкільного навчання пояснюють тільки звичайні числа, але є ще й інші, наприклад, комплексні числа. Вони досить складні в поданні, особливо враховуючи те, що нас майже ніде не знайомлять з ними. В математичній запису вони мають вигляд z = x + yi, де x і y - це деякі числа, а i - уявна одиниця. Ви відразу подумали: так це ж звичайне число, варто просто провести операцію додавання. Але ні, не все так просто. Це не сума, це саме число. Іншими словами, якщо спробувати уявити це все з точки зору геометрії, то можна замінити знак додавання крапкою з комою, і вийдуть як би координати точки x і y. І якщо побудувати нульовий вектор до цієї точки, то ми зможемо візуально побачити все це. Здається, тексту стало занадто багато, давайте трохи подивимося:
Зведення в ступінь: основи математики в програмуванні
Якщо ми хочемо показати, що наша комплексна площина, досить помітити її жирною буквою C, як тут. Потім ми можемо бачити безліч точок, давайте подивимося на них і спробуємо зрозуміти, яка з них як записується. Беремо точку z 1 опускаємо проекцію на вісь ReZ і отримуємо 3 потім на вісь lmZ і отримуємо 175 у підсумку маємо число z 1 =3 + 175 i. Начебто все зрозуміло, давайте ще раз, для закріплення. Точка z 2 по горизонтальній осі - два, по вертикальній - чотири, у підсумку маємо: z 2 =2 + 4i. Все гранично зрозуміло і просто. З комплексними числами можливі всі ті ж операції, що і з звичайними. Додавання, віднімання, множення, ділення. Але в цій статті ми детально зупинимося на зведенні комплексного числа в ступінь.

Піднесення до степеня комплексного числа

Що робити, якщо потрібно звести до степеня комплексного числа? Не панікуйте! Все точно так само, як зі звичайними числами, але трішки складніше. Почнемо з квадрата. Дано число z = 2 + 5i. Зводимо в квадрат, отримуємо z 2 = (2 + 5i) 2 = (2 + 5i)(2 + 5i) - а це звичайний двучлен, можна просто перемножити, привести подібні доданки і все. Це дуже просто, але що робити, коли потрібно звести в більш високу ступінь? Для початку слід уявити наше число в тригонометричній формі, наприклад:
Зведення в ступінь: основи математики в програмуванні
Потім необхідно скористатися формулою зведення комплексних чисел у тригонометричній формі: z n =|z| n * (cos(nx) + i * sin(nx)). Можна помітити, що при зведенні комплексних чисел навіть у дуже великі мірою вони сильно не змінюються, так що не лякайтеся, це складно, але з практикою все прийде. Таким чином, тепер ви знаєте, як зводити числа в ступінь у галузі математики, мовою програмування паскаль, також дізналися, що таке комплексні числа та їх зводити в ступінь. Все виявилося куди простіше, ніж ви думали. Чи Не так? Залишається лише спробувати все на своєму досвіді, і все встане на свої місця. Будь-яка задача, що пов'язана із зведенням в ступінь, тепер вирішується дуже легко для вас.
Схожі добрі поради по темі
Мазок на ступінь чистоти: норма, розшифровка
Мазок на ступінь чистоти: норма, розшифровка
Мазок на ступінь чистоти є найпоширенішим методом обстеження в гінекології. З його допомогою можна визначити стан мікрофлори піхви, наявність
Ділення на нуль. Захоплююча математика
Ділення на нуль. Захоплююча математика
Чому неможливо ділення на нуль, чим пояснити цей принцип елементарної математики? Як обходять цей принцип при вирішенні меж послідовностей?
Прості і не дуже способи того, як обчислити кубічний корінь
Прості і не дуже способи того, як обчислити кубічний корінь
Скільки гнівних слів сказано на його адресу? Часом здається, що кубічний корінь неймовірно сильно відрізняється від квадратного. Насправді різниця не
Як дізнатися площу рівностороннього трикутника: основні формули
Як дізнатися площу рівностороннього трикутника: основні формули
Знайти площу рівностороннього трикутника можна за будь-якою формулою для довільної фігури даного типу або скористатися тими, в яких уже врахована
Комплексні числа та дії над ними
Комплексні числа та дії над ними
Комплексні числа не є числами в елементарному значенні цього слова, що застосовуються при підрахунках і вимірюваннях, а є математичними об'єктами,
Які потрібні права на квадроцикл? Яка категорія прав для керування квадроциклом?
Які потрібні права на квадроцикл? Яка категорія прав для керування квадроциклом?
Хочете придбати квадроцикл, але не знаєте, потрібні права на керування ним? Не пропустіть можливість отримати відповідь на це питання прямо зараз.