Возведение в степень: основы математики в программировании

Нередко мы сталкиваемся с тем, что нам необходимо возвести число в какую-либо степень. Можно воспользоваться обычным калькулятором. Но это неинтересно и очень часто не подходит под условия поставленной задачи.

Понятие степени в математике

Стоит начать с пояснения математического смысла возведения в степень. Например, нам необходимо возвести некоторое число x в степень y. В математике эта запись выглядела бы так: xy = 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:

возведение в степень при помощи цикла for

Разберемся, что и как тут работает. Для начала мы вводим два числа: x и y. Затем берём за результат единицу, для чего это - ниже. Выполняем цикл до модуля нашей степени, т.к. если степень будет отрицательной, то цикл не пойдёт. В цикле мы умножаем наш результат на само число x. Так зачем мы присваивали результату 1? Во-первых, если бы мы умножали на 0, то программа всегда выдавала бы 0. Во-вторых, наша степень может быть равна 0, тогда программа должна вернуть нам 1, т.к. любое число в 0 степени это 1. Затем мы проверяем, является степень отрицательным числом или положительным: если она отрицательна, то делим единицу на наш результат. Выполнение этой задачи при помощи цикла while делается почти так же.

Использование цикла while при возведении в степень

Использование цикла while более правильно, нежели for, но для понимания проще предыдущий вариант. Вряд ли можно стоит ограничиваться одним лишь циклом for, для понимания будет лучше посмотреть несколько примеров, да и задача бывает поставлена по-разному, кому-то одним циклом, кому-то другим, именно поэтому мы разберём ещё один способ возведения в степень.

возведение циклом while

Всё почти так же, как и раньше. Вводим два числа х и у. Присваиваем нашему результату значение единицы, чтобы возводить в нулевую степень. Затем создаём счётчик i и присваиваем ему значение модуля нашей степени. Цикл идёт до тех пор, пока счётчик не равен нулю, если степень с самого начала равна нулю, то цикл не будет выполняться, результат так и останется единицей, как и должно быть, ведь любое число в нулевой степени - это единица. В самом цикле мы всё так же считаем результат, умножая уже полученный результат на наше число х, не забываем вычитать из нашего счётчика единицу, иначе мы никогда не дойдём до нуля. Ну а затем так же, как выше, преобразование, если степень была отрицательной. Ничего сложного, как оказалось. Впрочем, никто и не сомневался.

Что же, с обычными числами мы закончили, но ведь есть не только такие числа.

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

Нам с самого начала школьного обучения объясняют только обычные числа, но есть ведь ещё и другие, например, комплексные числа. Они довольно сложны в представлении, особенно учитывая то, что нас почти нигде не знакомят с ними. В математической записи они имеют вид z = x + yi, где x и y - это некоторые числа, а i - мысленная единица. Вы сразу подумали: да это же обычное число, стоит просто провести операцию сложения. Но нет, не всё так просто. Это не сумма, это именно число. Другими словами, если попытаться представить это всё с точки зрения геометрии, то можно заменить знак сложения точкой с запятой, и получатся как бы координаты точки, x и y. И если построить нулевой вектор до этой точки, то мы сможем визуально увидеть всё это. Кажется, текста стало слишком много, давайте немного посмотрим:

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

Если мы хотим показать, что наша плоскость комплексная, достаточно пометить её жирной буквой C, как тут. Затем мы можем видеть множество точек, давайте посмотрим на них и попытаемся понять, какая из них как записывается. Берём точку z1, опускаем проекцию на ось ReZ и получаем 3, затем на ось lmZ и получаем 1,75, в итоге имеем число z1=3 + 1.75i. Вроде всё понятно, давайте ещё раз, для закрепления. Точка z2, по горизонтальной оси - два, по вертикальной - четыре, в итоге имеем: z2=2 + 4i. Всё предельно понятно и просто.

С комплексными числами возможны все те же операции, что и с обычными. Сложение, вычитание, умножение, деление. Но в этой статье мы подробно остановимся на возведении комплексного числа в степень.

Возведение в степень комплексного числа

Что делать, если нужно возвести в степень комплексное число? Не паникуйте! Всё точно так же, как с обычными числами, но чуточку сложнее. Начнём с квадрата. Дано число z = 2 + 5i. Возводим в квадрат, получаем z2 = (2 + 5i)2 = (2 + 5i)(2 + 5i) - а это обычный двучлен, можно просто перемножить, привести подобные слагаемые и всё. Это очень просто, но что делать, когда нужно возвести в более высокую степень? Для начала следует представить наше число в тригонометрической форме, например:

возведение в степень комплексного числа

Затем необходимо воспользоваться формулой возведения комплексных чисел в тригонометрической форме: zn=|z|n * (cos(nx) + i * sin(nx)). Можно заметить, что при возведении комплексных чисел даже в очень большие степени они сильно не изменяются, так что не пугайтесь, это сложно, но с практикой всё придёт.

Таким образом, теперь вы знаете, как возводить числа в степень в математике, на языке программирования паскаль, также узнали, что такое комплексные числа и как их возводить в степень. Всё оказалось куда проще, чем вы думали. Не так ли? Остаётся лишь попробовать всё на своём опыте, и всё встанет на свои места. Любая задача, связанная с возведением в степень, теперь решается очень легко для вас.