Как найти квадратный корень в паскале
Перейти к содержимому

Как найти квадратный корень в паскале

  • автор:

Функции Sqrt и Sqr

Функция Sqrt в Паскале вычисляет квадратный корень числа. Синтаксис функции следующий:

function Sqrt(Х : ValReal) : ValReal;

Эта функция возвращает квадратный корень числа, переданного через параметр Х. Число Х должно быть положительным, иначе произойдёт ошибка во время выполнения программы (так написано в документации, но в моей версии компилятора ошибки не происходит, а функция в случае отрицательного параметра возвращает значение NaN).

Функция Sqr в Паскале вычисляет квадрат числа. Синтаксис функции для разных типов приведён ниже:

Эта функция возвращает результат вычисления квадрата числа, переданного через параметр. То есть Sqr = х * х.

О типе ValReal я рассказывал здесь.

Квадрат числа

Здесь всё крайне просто. Квадрат числа Х равен произведению Х на Х. То есть функция Sqr на первый взгляд кажется бесполезной. Потому что во многих случаях проще написать так:

Единственный случай, когда использование функции Sqr является обоснованным с точки зрения упрощения кода, это когда в качестве параметра передаётся вещественное число (константа) с большим количеством знаков после запятой, или очень большое целое число, или сложное выражение. Например:

будет написать проще, чем

Х := 5.3456753322 * 5.3456753322

Также возведение в квадрат числа в Паскале сложного выражения тоже будет проще, если использовать функцию Sqr:

X := Sqr(Y + 100 * Z / X)

Вычисление квадратного корня

Когда мы изучали функции вычисления экспоненты и натурального логарифма, то мы узнали, что с их помощью можно возвести число в любую степень. То есть вычислить, в том числе, и корень любой степени.

Однако использование этих функций всё-таки немного сложновато. Поэтому для вычисления квадратного корня в Паскале имеется специальная функция (потому что квадратный корень приходится вычислять намного чаще, чем, например, корень n-й степени).

Эту функцию вы уже знаете — это функция Sqrt.

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

Итак, квадратный корень из числа А (корень 2-й степени) — это решение уравнения:

То есть квадратный корень из числа А, это число Х, которое при возведении в квадрат даёт число А.

ВАЖНО!
Число А может быть только положительным числом. Извлечение корня из отрицательного числа тоже возможно, но это уже будут комплексные числа.

Вычисление квадратного корня в Pascal. Операторы квадрата, корня и модуля

Квадратный корень числа в Pascal вычисляет функция Sqrt. Приведем ее синтаксис:

function Sqrt(Х : ValReal) : ValReal;

Данная функция возвращает квадратный корень числа, которое передается через параметр Х. При этом число должно быть положительным, в противном случае во время выполнения программы произойдет ошибка.

Синтаксис функции Sqrt для различных типов:

functionSqr(Х : LongInt) : LongInt;

functionSqr(Х : QWord) : QWord;

functionSqr(Х : ValReal) : ValReal;

Данная функция возвращает результат вычисления квадрата числа, который переданный через параметр. Другими словами, Sqr = х * х.

Примеры выполнения операторов квадрата, корны и модуля

Оператор квадрата

var a, c:integer;
begin
writeln (‘Введите число’);
readln (a);
c:=sqr(a);
writeln (‘Квадрат равен ‘,c);
end.

Оператор корня

Данный оператор находит корень из числа или переменной. Обозначается, как»sqrt» (не в кавычках). В приложении указывается какsqrt(a), где a – число или любая другая переменная.

var a, c:real;
begin
writeln (‘Введите число’);
readln (a);
c:=sqrt(a);
writeln (‘Кореньравен ‘,c);
end.

Оператор модуля

Этот оператор переводит число из обычного в число по модулю, а именно меняет его знак на положительный. Обозначается как «abs» (не в кавычках), а в программе, как abs(a), где a – число или другая переменная.

var a, c:real;
begin

writeln (‘Введите число’);
readln (a);
c:=abs(a);
writeln (‘Модуль равен ‘,c);
end.

Возникли ли у вас какие-то проблемы с вычислением квадратного корня в Паскаль? Напишите в комментариях.

Как найти квадратный корень в паскале

Пользовательские процедуры и функции. При написании программ со сложными математическими вычислениями становится очевидным, что математических функций встроенных в Turbo Pascal, явно недостаточно. Нет, например такой функции, как y = x n . В процессе вычислений можно конечно задействовать такую формулу возведения в степень: y := exp(n*(ln(x)); но при частом использовании такой формулы в программе легко запутаться, особенно если нужно использовать разные аргументы.
Turbo Pascal предусматривает создание пользовательских процедур и функций. Рассмотрим создание функции возведения числа х в произвольную степень n (n >=0). Функция на паскале должна быть объявлена до начала программы, то есть до оператора begin.
Функция описывается следующим образом:
function имя функции (аргумент : тип аргумента) : возвращаемый тип данных;
var
раздел локальных переменных (если нужен);
begin
тело функции;
end;

В нашем случае с вычислением степеней, функция будет выглядеть так:
function stepen(x,n: real): real;
begin
stepen:= exp(n*ln(x));
end;
Теперь, напишем программу с использованием нашей функции.
uses crt;
function stepen(x,n: real): real;
begin
stepen:= exp(n*ln(x));
end;
var <раздел глобальных переменных>
rez,osn, pok: real;
begin
clrscr;
write(‘Wwedi osnowanie’);
readln(osn);
write(‘Wwedi pokazatel’);
readln(pok);
rez:= stepen(osn,pok);
writeln(‘rezultat= ‘,rez:0:2);
readln;
end.
Результат работы программы:

Используя уже написанные пользовательские функции можно создавать другие функции. Например, в нашем случае, мы можем написать функцию извлечения корня с произвольным показателем k (k <> 0) из любого числа q.
Известно, что q 1/k = q Исходя из этих соображений напишем функцию извлечения корня:
function koren(q,k: real): real;
var
kr: real;
begin
kr:= 1 / k;
koren:= stepen(q,kr);
end;

Так как, функция koren, использует функцию stepen, то в тексте программы, функция koren должна быть описана после описания функции stepen. Дополним и изменим нашу программу, с учётом вычисления не степени, а корня:

uses crt;
function stepen(x,n: real): real;
begin
stepen:= exp(n*ln(x));
end;
function koren(q, k: real): real;
var
kr: real;
begin
kr:= 1 / k;
koren:= stepen(q,kr);
end;
var
rez,osn, pok: real;
begin
clrscr;
write(‘Wwedi osnowanie: ‘);
readln(osn);
write(‘Wwedi pokazatel: ‘);
readln(pok);
rez:= koren(osn,pok);
writeln(‘rezultat= ‘,rez:0:2);
readln;
end.
Извлечём, например, корень 8-й степени из 256:

Процедуры в паскале, то-же, что и функции, но процедуры не возвращают никаких значений. Описываются процедуры так же, как и функции, в начале программы:

Функции Sqr, Abs, Sqrt, Sin, Cos, Arctan, Ln, Exp, Pi в Pascal.

Мы уже знаем, какие существуют функции для целых переменных. Это – нахождение модуля числа (Функция Abc), а также возведение числа в квадрат (Функция Sqr). В этом уроке мы рассмотрим функции, применяемые к дробным числам. Это функции Sqr — квадрат числа, Abs — модуль числа, Sqrt — корень числа, а также известные всем математические функции Sin, Cos, Arctan, Ln, Exp, Pi.

В строке №7 записывается функция Sqr. Это функция возведения числа в квадрат.

В строке №9 записывается операция нахождения модуля числа.
Функции Sqr и Abs мы разбирали в уроке Abs, Sqr в Pascal.

В строке №11 записывается функция Sqrt. Данная функция подсчитывает корень числа, стоящего в скобках после слова Sqrt. В нашем случае функция Sqrt будет считать корень из числа «2».

В строке №13 записываем функцию Sin. Данная функция будет подсчитывать синус числа, стоящего в скобках после записи функции.

Строка №15. Функция Cos подсчитывает косинус числа, стоящего в скобках после функции.

Строка №17. Функция Arctan вычисляет арктангенс числа, стоящего в скобках после записи функции.

Строка №19. Функция Ln подсчитывает логарифм числа, стоящего в скобках после записи функции.

Строка №21. Функция Exp возводит число «e» (экспонента — 2.72. ) в степень, значение которой указывается в скобках после слова Exp. Т.е. в нашем случае число «e» будет возведено в степень «2».

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *