Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по Паскалю.doc
Скачиваний:
10
Добавлен:
01.03.2025
Размер:
7.34 Mб
Скачать

Стандартные функции

Стандартные функции служат для вычисления значений некоторых математических функций.

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

Abs(x) |x| Abs(-2.5) = 2.5

Sqr(x) x2 Sqr(25) = 625

Sqrt(x) Sqrt(225) = 15

Exp(x) ex Exp(0.0) = 1.0

Ln(x) ln x Ln(1.0) = 0.0

Sin(x) sin x Sin(0.0) = 0.0

Cos(x) cos x Cos(0.0) = 1.0

Arctan(x) arctg x Arctan(0.0) = 0.0

Trunc(x) целая часть аргумента Trunc(2.7) = 2

Round(x) округление аргумента Round(2.7) = 3

Frac(x) дробная часть аргумента Frac(2.7) = 0.7

Int(x) целая часть аргумента Int(2.7) = 2.0

Pred(x) предыдущее значение Pred(5) = 4

аргумента Pred(-5) = -6

Pred(‘c’) = ‘b’

Succ(x) следующее значение Succ(5) = 6

аргумента Succ(-5) = -4

Succ(‘c’) = ‘d

Ord(c) порядковый номер символа Ord(‘A’) = 65

(код символа) Ord(‘B’) = 66

Ord(‘0’) = 48

Ord(‘1’) = 49

но Ord(1) = 1

Chr(x) символ по его номеру Chr(65) = ‘A

(коду) Chr(48) = ‘0’

Odd(x) определение нечетности Odd(7) = True

целочисленного аргумента Odd(8) = False

Правила использования стандартных функций:

  • аргументы тригонометрических функций должны задаваться в радианах

  • аргументы функций Pred(), Succ() – только целые числа или символы алфавита Паскаля

  • аргументы функции Ord() – только символы алфавита Паскаля

  • аргументы функции Chr() – только целые числа в диапазоне от 32 до 255

  • аргументы функции Odd() – только целые числа.

Выражения

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

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

Важнейшей составляющей частью любой программы являются операторы присваивания, приписывающие переменным определенные значения. Действия и последовательность вычислений в операторах присваивания определяются выражениями.

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

Выражения целого типа

В этих выражениях используются операнды только целого типа, связанные круглыми скобками и знаками операций:

+ сложение x + y 5 + 3 = 8

- вычитание xy 5 – 3 = 2

* умножение x * y 5 * 3 = 15

/ деление x / y 5 / 3 = 1

Div деление нацело x Div y 5 Div 3 = 1

10 Div 3 = 3

10 Div (-3) = -3

3 Div 5 = 0

125 Div 10 = 12

Mod остаток от деления x Mod y 5 Mod 3 = 2

10 Mod 3 = 1

10 Mod (-3) = 1

3 Mod 5 = 3

125 Mod 10 = 5

Как видно, для целочисленных операндов операции Div и / эквивалентны: их результат – целая часть частного без округления.

В Паскале нет отдельной операции возведения в степень, поэтому для ее реализации используется соотношение:

xa = ea ln x

Для изменения значения аргумента можно использовать процедуры инкремента и декремента:

Inc(x) увеличение аргумента на 1

Inc(x, n) увеличение аргумента на n

Dec(x) уменьшение аргумента на 1

Dec(x, n) уменьшение аргумента на n

Порядок вычисления выражений целого типа:

  1. вычисление значений функций

  2. выполнение операций типа умножения: * / Div Mod

  3. выполнение операций типа сложения: + -

Порядок вычислений может быть изменен с помощью круглых скобок.

Правила записи выражений целого типа:

  • нельзя пропускать (подразумевать) знаки операций; особенно это относится к знаку умножения *

  • нельзя ставить рядом два знака операций

  • операции Mod и Div необходимо выделять пробелами:

неправильно правильно

3y 3*y

(a + b)(c – d) (a + b) * (c – d)

rs * -5 rs * (-5)

Примеры записи выражений целого типа:

математическая запись запись на Паскале

2a + 3b 2 * a + 3 * b

b2 Sqrt(a) * b * b

5x3 5 * x * x * x

+ a * b / c + c / (a * b)

x-1 1 / x

log2 x ln(x) / ln(2)

x100 Exp(100 * Ln(x))

Exp(Ln(1 + x) / 3)