о)
п)
y=3
Эти функции предназначены для преобразования типов величин. Они получают в качестве аргумента значение одного типа, а выдают в качестве результата значение другого типа (табл.7).
Таблица 7
Функции преобразования типов величин
Функция |
Назначение |
Тип аргумента |
Тип результата |
CHR(X)
ORD(X)
ROUND(X)
TRUNC(X) |
преобразование ASCII кода в символ
преобразование любого порядкового типа в целый тип
округление числа до ближайшего целого
получение целой части числа |
целый тип в диапазоне [0..255]
порядковый
вещественный
вещественный |
символ, соответствующий данному коду
LONGINT
LONGINT
LONGINT |
Например:
CHR (98)=′ b′ ROUND (15.64)=16
ORD (′5′)=53 TRUNC (15.64)=15
Эти функции позволяют выполнять действия над величинами порядкового (ординального) типа, к которым относятся целые, логический, символьный, перечисляемый и интервальный типы (табл. 8).
Таблица 8
Функции преобразования величин порядкового типа
Функция |
Назначение |
Тип аргумента |
Тип результата |
ODD (X)
PRED (X)
SUCC (X) |
проверка величины Х на нечетность
определение предыдущего значения величины Х
определение последующеего значения величины Х |
LONGINT
порядковый
порядковый |
TRUE (если аргумент нечетный), FALSE (если аргумент четный)
порядковый того же типа
порядковый того же типа |
Например:
ODD(4)=FALSE PRED(5)=4 SUCC(4)=5
ODD(5)=TRUE PRED(-2)=-3 SUCC(-3)=-2
PRED(′B′)=′A′ SUCC(′A′)=′B′
Упражнения к разделу
Упражнение 1 Определить тип и значения следующих выражений
(X AND Y OR NOT Z) AND NOT ((X OR Y) OR Y) AND X;
2*5+9 DIV 4 *3 + TRUNC (3.67);
15/4*2;
NOT X AND (X OR NOT Y) AND (XOR Y);
(2.5 + 0.68<= 2.8) OR Y AND X OR Z AND NOT X;
17/5/2+15 MOD 7;
((C-B)/A+B*C<ROUND (A)) OR Z AND NOT X;
ODD(C) OR X AND NOT ODD (C+15);
(′B′>′D′) OR (′5′< > ′9′) OR (PRED(′S′)<=SUCC(′W′));
(ORD(SUN)<ORD (TUE)) AND NOT (SUCC(зеленый)=синий);
где X=FALSE; Y=TRUE; Z=FALSE; A=36.2; B=-5.4; C=2, а определение типов цвет и DAY имеет вид
TYPE
Цвет = (красный, оранжевый, желтый, зеленый, голубой, синий, фиолетовый);
DAY = (SAT,SUN,MON,TUE,WED,THU,FRI);
Упражнение 2 Приведенная ниже программа вычисляет Y(x)=3-x+1 sin(x) при заданном х, печатает значения Y11 и Y22, соответствующие значениям функций TRUNC(Y) и ROUND(Y), и проверяет принадлежность точки с координатами (x1,y1) заштрихованной области, показанной на рис.3.
PROGRAM UPR;
VAR X,X1,Y1,Y:REAL;
BEGIN
WRITELN(′ВВЕДИТЕ Х:′);
READLN(X);
Y:=EXP((-X+1)*LN(3))*SIN(X);
WRITELN (`ПРИ Х=′,Х:8:3, ′_ _Y=′, Y:8:4);
WRITELN (′Y11=′,TRUNC(Y):4, ′_ _Y22=′, ROUND(Y):4);
WRITELN (′ВВЕДИТЕ КООРДИНАТЫ: X1,Y1′);
READLN (X1,Y1);
WRITELN ((X1>=0) AND (Y1>=0) AND (SQR(X)+SQR(Y)<=1));
WRITELN (′ ′:10, ′ПРОГРАММУ СОСТАВИЛ ИВАНОВ′)
END.
Задания к упражнению 2. Вычислить значение Y11 и Y22 для функций, предложенных в следующих заданиях (а) и проверить принадлежность исследуемых точек (б) заштрихованной области, показанной на рис.3.
а)
Y=2-xcos(x)+
при х=4.741;
б) координаты исследуемой точки (0.5;0.5);
2.
а) Y=
-
при х=2.312;
б) координаты исследуемой точки (1,5;0,5);
3.
а) Y=
+ sin
x
при х=12,7409;
б) координаты исследуемой точки (0,2;0,9);
4.
а) Y=x
при х=32.872
б) координаты исследуемой точки (0,75; -0,3)
5. а) y= tg x +׀x׀ при х= - 2.6312
б) координаты исследуемой точки (0.2;0.45);
6.
а) y=1
-
при х= - 0.387
б) координаты исследуемой точки (0.5;- 0,25);
7. а) y=ch ׀ ׀1+x при х=4.352
б) координаты исследуемой точки (0.0;0.0);
8.
а) y=arcsin
x+
при x=0.112;
б) координаты исследуемой точки: (1.0,1.5);
9. а) y=sin arctg x при x=-0.7129;
б) координаты исследуемой точки: (-0.5;0.9);
10. а) y=5 arctg x при х=-4.4172;
б) координаты исследуемой точки: (1.5;0.0);
11. а) y=cos (arcctg x - 1) при х= - 2.2117;
б) координаты исследуемой точки: (0.9;0.1)
12.
а) y=
arcctg
(
)
при х=2.081;
б) координаты исследуемой точки : (0.95;0.4);
13.
а) y=
+
sin2(
) при x=
-0.91;
б) координаты исследуемой точки: (0.8;0.65);
14.
а) y=arcos
( sin
) при х= - 0.485;
б) координаты исследуемой точки : (0.45;0.55);
15. а) y= ln (arcos ) при х=1.791;
б) координаты исследуемой точки: (0.58;0.92).
Программа, написанная на языке Паскаль, состоит из следующих разделов:
- заголовок программы;
- раздел объявления модулей;
- раздел объявления меток;
- раздел объявления констант;
- раздел объявления типов;
- раздел объявления переменных;
- раздел объявления процедур и функций;
- радел операторов (обязательная часть).
Формат программы на языке Паскаль:
PROGRAM имя программы;
USES
модули;
LABEL
метки;
CONST
объявление констант;
TYPE
определение типов данных;
VAR
объявление переменных:
PROCEDURE имя процедуры (параметры);
USES
модули;
LABEL
метки;
CONST
объявление констант;
ТУРЕ
определение типов данных;
VAR
объявление переменных;
PROCEDURE и FUNCTION;
BEGIN
операторы;
END;
FUNCTION имя функции (параметры): тип данных;
USES
модули;
LABEL
метки;
CONST
объявление констант;
TYPE
определение типов данных;
VAR
объявление переменных;
PROCEDURE и FUNCTION;
BEGIN
операторы;
END;
BEGIN
операторы;
END.
Любая программа на языке Паскаль состоит из заголовка и тела (блока) программы. Заголовок программы включает ключевое слово PROGRAM и имя программы (по усмотрению программиста). Например,
PROGRAM IT_IS_MY_FIRST_PROGRAM;
Тело программы может включать разделы (см. выше): описание меток, описание констант, описание типов данных, описание переменных, описание процедур и функций, операторы языка, составляющие обязательный раздел программы. Оформление процедур и функций аналогично.
Раздел объявления модулей
При использовании в программе стандартных библиотечных модулей этот раздел обязателен.
Формат:
USES < имена модулей>;
Например:
USES PRINTER, CRT, GRAPH;
Раздел объявления меток
В этом разделе перечисляются метки, которые будут использоваться для организации передачи управления между операторами программы. Этот раздел помечается ключевым словом LABEL. Например,
label 1, 2, 50, 100, 9999, m1;
Метка – целое число, включающее от 1 до 4 цифр(без знака) или идентификатор.
Раздел объявления констант
В этом разделе определяются все синонимы локальных констант программы. Раздел помечается ключевым словом CONST. Например,