NetNado
  Найти на сайте:

Учащимся

Учителям



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


СТАНДАРТНЫЕ ФУНКЦИИ

Для выполнения часто встречающихся вычислительных операций и преобразования данных, относящихся к раз­ным типам, в языке Турбо-Паскаль реализуются следую­щие стандартные (не требующие отдельного описания) функции:

— арифметические;

— преобразования и упорядочения типов;

— логические;

— строковые;

— файловые;

— адресные.
Арифметические выражения

  Арифметические выражения строятся из имен переменных, констант, знаков операций и круглых скобок так, как это принято в математике. При вычислении их значений операции выполняются в порядке приоритета: *, /, DIV, MOD, а затем + и -. Операции одинакового старшинства выполняются слева направо.
  Наряду с переменными и константами в арифметические выражения можно включать функции. При определении значения выражения,   прежде всего, вычисляются значения входящих в него функций. В Паскале имеются следующие стандартные функции:

функция

назначение

тип результата

ABS(X)

Абсолютное значение Х

Вещественный

ARCTAN(X)

Арктангенс Х

Вещественный

COS(X)

Косинус Х

Вещественный

EXP(X)

ех

Вещественный

FRAC(X)

Дробная часть Х

Вещественный

INT(X)

Целая часть Х, обнуление дробной части

Вещественный

LN(X)

Натуральный логарифм

Вещественный

PI

Значение PI=3.1415926535897932385

Вещественный

ROUND(X)

Округление до ближайшего целого

Целый

SIN(X)

Синус Х

Вещественный

SQR(X)

Квадрат Х

Тип аргумента

SQRT(X)

Квадратный корень Х

Вещественный

TRUNC(X)

Отбрасывание дробной части

Целый

  Аргумент функции обязательно заключается в скобки.
  Выражение на Паскале, как впрочем, и на других языках программирования, записывается в одну строчку, а для сохранения порядка действий используются скобки. Все действия должны быть указаны. Например, 2Х + XY надо записать как 2*Х + Х*Y.

random — генерирует случайное число типа real с равно­мерным законом распределения в диапазоне от 0 до 1.

random(x) — генерирует случайное целое число с равно­мерным законом распределения в диапазоне от 0 до х; х — число типа integer.

Примечание: для того чтобы избежать постоянно повто­ряющихся случайных чисел, функциям random и random(x) должна предшествовать процедура randomize, которая ини­циализирует генератор случайных чисел. Для стандартных функций arctan, cos, exp, In, sin, sqr, sqrt аргумент х может быть типа real или integer, а результат всегда real.
Функции преобразования и упорядочения типов
frac(x) — вычисляет дробную часть х, целая часть отбрасывается; х — тип real; результат — тип real. Например,

frac(123.456); {0.456} frac(-123.456); {-0.456}

int(x), trunc(x) — вычисляет целую часть х, дробная часть отбрасывается; х — тип real; результат — тип integer (для trunc), тип real (для int). Например,

trunc(325.568); {325} trunc(-325.568); {-325}

round(x) — вычисляет округленную целую часть; х — тип real; результат — тип integer. Например,

round(325.568); {326} round(-325.568); {-325}

round(325.268); {325} round(-325.268); {-324}

chr(x) — по числовому коду определяет символ в ASCII; x — тип integer; результат — тип char.

Например, chr(65); {'A'}

ord(x) — вычисляет порядковый номер символа в упорядо­ченном множестве символов (порядковый номер начинает­ся с нуля); х — тип char; результат — тип integer.

Например,

program primer3;

type day=(mo, tu, we , th, fr, sa, su);

var x:day;

begin

x:=we;

writeln(ord(x));

end.

Результат — {2}

succ(x) — дает значение, следующее за х (если оно суще­ствует); х — значение любого простого типа (кроме real).

pred(x) — дает значение, предшествующее х (если оно су­ществует); х — значение любого простого типа (кроме real). Например,

colors=(red, blue, green);

succ(blue); {green}

pred(blue); {red}


Логические функции
odd(x) — дает значение true, если х — нечетное число, и false в противном случае; х — тип integer. eof(f) — дает значение true, если при чтении файла с фай­ловой переменной f достигнут конец файла, в противном случае — false.

eoln(f) — функция принимает значение true, если при чте­нии текстового файла с файловой переменной f достигнут конец текущей строки, в противном случае — false.
Строковые функции
copy(str,n1,n2) — результат работы функции — подстрока строки str, начинающаяся с номера п1 от начала строки, дли­ной n2; str — выражение строкового типа; п1, п2 — тип integer.

Например,

copy('abcdefg',5,2);

{'ef'}

Примечания:

— если п1 больше длины строки str, то результат — пустая строка;

— если п1+п2 больше длины строки str, то результатом бу­дет подстрока, символы которой находятся в пределах str; если п1 выходит за пределы диапазона 1..255,то ре­зультат — ошибка.

concat(str1,str2,..strn) — результат работы функции — сцепление (сложение) строк; число аргументов может быть произвольным; аргументы отделяются запятыми; strl,

str2..... strn — выражения строкового типа.

Например,

concat('ab’,’cd’,’ef'); {'abcdef'}

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

length(str) — вычисляет число символов в строке; str — вы­ражение строкового типа; результат — тип integer.

Например,

length('abcdef'); {6}

pos(str1 ,str) — результат работы функции — целое число, равное той позиции в строке str, в которой находится пер­вый символ подстроки strl, если подстрока в строке не об­наружена, то результат работы функции — 0; strl, str — вы­ражения строкового типа; результат — тип integer.

Например,

pos('de', 'abcdef'); {4}

pos('gh’,’abcdef'); {0}

Задания
1) Найдите значения переменных, если это возможно. Учтите, что число 7.0 является вещественным, т.к. оно имеет дробную часть, хотя и равную нулю. Операции MOD и DIV можно выполнять только над целыми числами (Урок 2):

a) A:=21 DIV 5 b) A:= 2 MOD 3

B:= 20 MOD 5 B:= 36.0 MOD 6

C:= 14 DIV 6.0 C:= 81 DIV 0

D:= 14 MOD 0 D:= 38 DIV 6

E:= 5 MOD 13 E:= 3 DIV 2
2) Найдите значения переменных, если это возможно:

a) A:=SQR(100) b) A:=sqrt(9)

B:=sqrt(100) B:=SQR(9)

C:=SQR(-10) C:=SQRT(-9)

D:=SQRT(-10) D:=SQR(-9)

E:=SQR(0.9) E:=SQRT(0.0)

F:=SQRT(0) F:=SQR(0.1)
3) Найдите значения переменных, если это возможно:

a) A:=ROUND(6.9) b) A:=ROUND(15.39)

B:=ROUND(6.48) B:=ROUND(15.8)

C:=TRUNC(9.5) C:=TRUNC(-39)

D:=FRAC(9.5) D:=FRAC(39)

E:=INT(9.5) E:=INT(39)

F:=TRUNC(-17) F:=TRUNC(5.6)

G:=FRAC(17) G:=FRAC(-0.3)

H:=INT(-17) H:=INT(1.25)

ОТВЕТЫ
2. Найдите значения переменных, если это возможно:
a)    A:=SQR(100)=10000        b) A:=sqrt(9)=3.0
      B:=sqrt(100)=10.0           B:=SQR(9)=81
      C:=SQR(-10)=100             C:=SQRT(-9) (выр. < 0)
      D:=SQRT(-10)(выр <0)        D:=SQR(-9)=81
      E:=SQR(0.9)=0.81            E:=SQRT(0.0)=0.0
      F:=SQRT(0)=0.0              F:=SQR(0.1)=0.01

3. Найдите значения переменных, если это возможно:
a)    A:=ROUND(6.9)=7         b)   A:=ROUND(15.39)=15
      B:=ROUND(6.48)=6            B:=ROUND(15.8)=16
      C:=TRUNC(9.5)=9             C:=TRUNC(-39)=-39
      D:=FRAC(9.5)=0.5            D:=FRAC(39)=0.0
      E:=INT(9.5)=9.0             E:=INT(39)=0.0
      F:=TRUNC(-17)=-17           F:=TRUNC(5.6)=5
      G:=FRAC(17)=0.0             G:=FRAC(-0.3)=-0.3
      H:=INT(-17)=-17.0           H:=INT(1.25)=1.0

страница 1


скачать

Другие похожие работы: