Основные математические функции (стандартные функции)
В этом разделе приведены основные математические функции, встроенные в системную библиотеку Турбо Паскаль. Стандартные функции служат для выполнения элементарных математических расчетов, часто требуемых при написании программ. Разработчики Паскаля стремились сделать его программное ядро максимально компактным, поэтому в него не вошел ряд функций, обычно имеющихся в других языках, таких, как вычисление максимума и минимума, возведение числа в произвольную степень и др. Физически коды стандартных функций хранятся в стандартной библиотеке Паскаля – файле с именем TURBO.TPL. Все функции оформляются одинаково: после имени функции следует ее аргумент, заключенный в круглые скобки. Если аргументов несколько, они разделяются запятыми. Информацию об основных стандартных функциях удобно представить в виде таблицы:
Здесь x обозначает любую подходящую по типу переменную, либо результат вычисления выражения соответствующего типа (см. ниже), либо соответствующий по типу результат, вычисленный другой стандартной функцией. Функция pi не имеет аргументов и возвращает число π. Функции возведения в произвольную степень в Турбо Паскале нет. Используйте многократное умножение для возведения в целочисленную степень, либо функции Exp и Ln для возведения в вещественную степень. Перед использованием Random в программах рекомендуется сначала инициализировать генератор псевдослучайных чисел процедурой Randomize. В противном случае при каждом запуске программы будет генерироваться одна и та же последовательность случайных чисел. Пример. Вывод на экран 5 случайных чисел в диапазоне -10..10. var i: integer;begin randomize; for i:=1 to 5 do writeln(random(21)-10);end.Примеры 1) возвести x в пятую степень x*x*x*x*x или sqr(x)*sqr(x)*x или sqr(sqr(x))*x, последнее показывает, что результаты одних функций могут быть аргументами других – это называют вложением функций. Разумеется, тип результата, возвращаемый вложенной функцией, должен быть подходящим для аргумента внешней функции.
2) возвести величину a в произвольную степень x Так как в Паскале нет функции возведения в произвольную степень, воспользуемся формулой ax=ex*ln a a:=2.5; x:=0.25; ax:=exp(x*ln(a)); обратите внимание, что все скобки в выражении должны быть парными. Или: = exp(1/3*ln(x)).
3) вычислить sin2x => sqr(sin(x)). Нельзя писать sin*x или sin x, после имени функции может следовать только аргумент в круглых скобках.
4) вычислить k=tan(t). Т.к. функции tan нет, пишем k:=sin(t)/cos(t); При необходимости изменить обычное старшинство операций в записи выражения используются круглые скобки. Пример: вычислить . Правильная запись: y:=(a+b)/2; Неправильно y:=a+b/2, т.к. это означает .
5) В записи выражений нельзя пропускать знак *, как часто делается в математике. b2-4ac -> sqr(b)-4*a*c
Тип выражения Турбо Паскаль построен на основе строгого соблюдения концепции типов, в соответствии с которой все применяемые в языке операции определены только для операндов совместимых типов. Поэтому для всех операций оговариваются допустимые типы операндов и тип получаемого результата. В программе данные одного типа могут преобразовываться в данные другого типа. Такое преобразование может быть явным и неявным.
Пример: var i,j,x:integer; f:real; ... i+4*j целый тип выражения, можно записать результат в целую переменную f+i*0.5 вещественный, результат пишется в вещественную переменную Оператор x:= i+4*j будет синтаксически правильным, а x:= f+i*0.5 будет неверным. Среда разработчика при компиляции сообщит об ошибке несовместимости типов. Операция деления / в Паскале всегда дает вещественное число. Для деления целых чисел с целым результатом (остаток отбрасывается) используйте div, для взятия остатка от деления двух целых – mod. Тип переменной позволяет не только устанавливать длину её внутреннего представления, но и контролировать те действия, которые выполняются над ней в программе. Такой контроль осуществляется на этапе компиляции программы и это важное преимущество Турбо Паскаля перед другими языками.
Читайте также: A) функции государства Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|