Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по Паскалю.doc
Скачиваний:
61
Добавлен:
04.06.2015
Размер:
7.62 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)