Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Карлюченко_Вступ_до_спец_метод.doc
Скачиваний:
0
Добавлен:
06.05.2019
Размер:
166.4 Кб
Скачать

Тема 1.2: Арифметичнi I логiчнi вирази.

План: 1. Стандартнi функцїї

2. Арифметичнi вирази.

3. Логiчнi вирази.

1. Правила запису стандартних функцiй паскаля

- iм'я функцiї (яке складаeться не бiльш нiж iз 6 лiтер) записується прописними лiтерами латинського алфавіту;

- аргумент функцii записyється в () пiсля iмені функцїї;

- аргументом функцїї може бути const, змiнна або арифм.вираз;

- в тригонометричних ф-ях SIN i COS аргумент задаєтся в радiаннiй мiрi. Переведення Х градусiв в рад за формулою Х /180.

С Т А Н Д А Р Т Н I Ф У Н К Ц Ї Ї П А С К А Л Я

Назва та математичне позначення функцїї

Позначення в Паскалі

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

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

Абсолютне значення: ׀Х׀

ABS (x)

INTEGER, REAL

INTEGER, REAL

Арктангенс: arctg(x)

ARCTAN (x)

INTEGER, REAL

REAL

Косiнус : cos(x)

COS (x)

INTEGER, REAL

REAL

Сiнус : sin(x)

SIN (x)

INTEGER, REAL

REAL

Eкспонента: eХ

EXP (x)

INTEGER, REAL

REAL

Натуральн.логарифм:ln(x)

LN (x)

INTEGER,REAL >0

REAL

Квадратний корiнь: √Х

SQRT (x)

INTEGER,REAL >0

REAL

Пiднес. до квадрату:Х2

SQR (x)

INTEGER, REAL

INTEGER, REAL

Округлення

ROUND (x)

REAL

INTEGER

Цiла частuна: [x]

TRUNC (x)

REAL

INTEGER

Перев на непарнiсть

ODD (x)

INTEGER

BOOLEAN

Попереднє значення

PRED (x)

INTEGER, CHAR

INTEGER, CHAR

Наступне значення

SUCC (x)

INTEGER, CHAR

INTEGER, CHAR

Порядковuй № символа

ORD (x)

CHAR

INTEGER

Символ за порядковим №

CHR (x)

INTEGER

CHAR

PRED(X)=X-1; SUCC(X)=X+1; PRED('B')='A'; SUCC('A')='B';

ORD(FALSE)=0; ORD(TRUE)=1; ODD(100)=FALSE; ODD(101)=TRUE;

CHR(64)='A'; ORD('A')=64; CHR(ORD(X))=X; ORD(CHR(X))=X

Операцiя ПIДНЕСЕННЯ ДО СТEПЕНЯ виконується за формулою :

а а*ln(X)

Х = е , що на Паскалi= EXP(A*LN(X))

2. АРИФМЕТИЧНI ВИРАЗИ будують iз арифм. const, змiнних, функцiй i операцiй над ними. Виконуються такі правила:

- всi складовi частини виразу записуються в один рядок;

- дужки використовуються тiльки круглi (), ( {} i [] недопустимi) ;

- число вiдкриваючих дужок повинно дорiвнювати числу закрuваючих;

- заборонено записувати впiдряд два знакu операцїї, треба рoздiлятu їх

кpуглuми дужками ;

- при наявностi дужок спочатку виконуютьсч дїї в дужках (в першу чергу в

самих внутрiшнiх i далi в порядку вкладення), а потiм за дужками;

- обчислення виконуються злiва направо при наступних ПРИОРИТЕТАХ операцiй:

1) обчислення значення функцiї ;

2) NOT (заперечення);

3) *, /, DIV, MOD, AND;

4) +, -, OR;

5) =, <, >, <>, <=, >=;

- операцiї одного приоритету виконуються послiдовно злiва направо.

3. ЛОГIЧНI ВИРАЗИ складаються iз логiч.даних (TRUE i FALSE), логiч. операцiй i операцiй вiдношення. Результатом є логiчні данi. Порядок виконання i приоритет операцiй аналогiчнuй арифметичним. В круглi дужки заносяться частини виразу, якi стоять злiва i справа вiд логiчних операцiй AND i OR . В операцiях вiдношення можуть брати участь арифм. i логiч. вирази, а тaкож символьнi данi.

ПРИКЛАДИ:

1.Вказати порядок виконаня операцiй: -A MOD B + A DIV B*C

а) заперечення - А;

б) -A MOD B ;

в) A DIV B ;

г) результат виконання пункта в) множимо на С;

д) складаeм результатu виконання пунктiв б) i г).

2. Обчислити значення арифметичного виразу:

а) ROUND(6.9)= 7; б) TRUNC(6.9)= 6; в) TRUNC(-1.8)= -1;

г) 123 DIV 0 - ERROR (дiлення на 0 недопустимо);

д) 3.0 MOD 3 - ERROR (аргументu операцiї повиннi бути цiлuми);

е) TRUNC(6,8)+20 DIV 4 MOD 3 DIV 6= 6+5 MOD 3 DIV 6=6+2 DIV 6=6+0=6

ж) 1+SQRT(16)-PRED(-8)+SUCC(-2) = 1+4.+9-1=13.

3. Обчислити значення логічного виразу:

(A>3) AND (B=A+6) OR NOT (C=4) при A=2, B=8, C=5

Порядок виконання операцiй:

а) операцiя порiвняння в першuх дужках: 2>3 - FALSE ;

б) в других дужках спочатку виконуeться згiдно приорiтету:

А+6=2+6=8, потiм порiвнюються з В , а т.я. 8=8 рез-т - TRUE;

в) оп-цiя порiвняння (С=4) в третiх дужках, т.я. 5=4 рез-т FALSE ;

г) операцiя NOT (C=4) дорiвнюe NOT FALSE. Результат - TRUE;

д) операцiя AND над первuми i другими дужками (FALSE AND TRUE)

Результат - FALSE;

е) операцiя OR над виразами злiва i справа вiд неi (FALSE OR TRUE)

Результат - TRUE . Результат всього виразу - TRUE .

4. Чи справедливий для Паскаля вираз (1/3)*3=1 ?

Нi, т.я. в МП не проходить скорочення 1/3 i *3, а обчислюeться значення послiдовно. 1/3=0.33333... i при *3 рез-т ≠ 1.

ДОМАШНЄ ЗАВДАННЯ:

1. Обчислити значення арифм. виразiв:

а) 3*7 DIV 2 MOD 7/3-TRUNC(SIN(1))= 21 DIV 2 MOD 7/3- TRUNC(0.0)=

10 MOD 7/3-0=3/3=1. REAL

б) SUCC(ROUND((5/2)-PRED(3))= SUCC(3-2)=2 INTEGER

Тема Складання виразів різноманітного типу

План: 1. Оператор присвоєння

2. Складання виразів різноманітного типу

1. ОПЕРАТОР ПРИСВОEННЯ - основний оператор будь-якої МП.

V:=A ,

де V - ім’я змінної, := - знак присвоєння, А - вираз.

- в момент виконання оператора присвоєння значення всіх змінних в правій

частині повинно бути визначено;

- спочатку обчислюється значення виразу в правій частині оператора,а потім

це значення присвоюється змінний в лiвій частині;

- тип змінної в лівій частині i тип виразу в правій частині повинні бути

однакові ;

- виключення: ціле значення виразу в правій частині можна присвоїти

дійсний змінний ( 6.0 real фізично дорівнює 6 integer)

ПРИКЛАДИ:

============