Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
38
Добавлен:
07.02.2016
Размер:
208.38 Кб
Скачать

Оператор присвоювання.

Це найпростіший та найбільш поширений оператор мови. Він призначений для задання нового значення деякої змінної. Загальний вид оператора присвоювання такий:

A := B;

  1. ідентифікатор змінної, яка одержує нове значення;

  2. стала, або ідентифікатор змінної або вираз.

Працює цей оператор таким чином. Спочатку обчислюється вираз в правій частині оператора присвоювання. Далі отримане значення записується в клітинку пам’яті, що позначена вказаним зліва в операторі ідентифікатором. Обов’язково треба пам’ятати про наступне правило: тип величини В повинен співпадати з типом змінної А.

Увага! Змінній А, яка має дійсний тип, можна присвоювати ціле значення, але навпаки неможливо.

Приклади операторів присвоювання:

f:=4;

g:= f;

l:= sin(x-g) +exp(2*x);

y:=-7;

Треба звернути увагу на різницю між записом рівності у математиці та оператором присвоювання. В математиці вираз a=min та min=a означає, що обидві величини однакові. Для нас з вами це логічний вираз, який використовується для запису логічной величини. Оператор a:=min означає, що в комірчину a записуэться значення, що зберігається в комірчині min, а оператор min:=a означає, що саме в комірчину min записується значення величини a.

Увага! Оператор присвоювання є командою компютеру для запису значень у комірчину памяті.

Математичні вирази.

Для того, щоб описувати будь-який вид оператора присвоювання треба вміти записувати математичні вирази мовою Pascal. Адже дуже часто в програмах треба вести математичні обчислення. Для цього складають математичний вираз. В склад математичного виразу входять математичні та інші операції, математичні функції.

Спочатку розберемося з знаками та особливостями виконання математичних операцій над числовими величинами. Як уже було вказано раніше, над величинами можна виконувати тільки ті операції, які дозволені для вибраного типу. Тому зверніть увагу на наступну таблицю.

Таблиця 3.4. Дозволені операції над величинами в мові Pascal.

Позначення операції у мові Pascal

операція

тип операндів

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

+

додавання

цілі або дійсні

цілий, якщо обидва оператори цілі або дійсний

-

віднімання

цілі або дійсні

цілий якщо обидва оператори цілі або дійсний

*

множення

цілі або дійсні

цілий якщо обидва оператори цілі або дійсний

/

ділення

цілі або дійсні

дійсний

div

ділення без остачі

цілі

цілий

mod

залишок від ділення

без остачі

цілі

цілий

Тепер можна записувати найпростіші математичні вирази. Відміна математичного виразу від математичної формули у наступному:

  1. математичний вираз записується лінійно (у рядок);

  2. порядок дій однозначно визначений в запису математичного виразу;

  3. з усіх видів дужок використовуються тільки круглі;

  4. забороняється ставити підряд два знаки арифметичних операцій;

  5. обов’язково треба записувати знак множення між множниками.

При записі математичного виразу треба брати до уваги типи величин, які використовують у математичному записі. Це означає наступне. Якщо треба виконати такі дії:a+d*c–g, то величини a,d,c,gможуть бути:

  • всі цілими, тоді результат буде також цілий;

  • всі дійсними, тоді результат буде також дійсний;

  • деякі цілі, деякі дійсні, тоді результат буде дійсним, тому що перед виконанням операції цілі числа переформатовуються у дійсні.

Якщо треба виконати наступні дії: a-d/f, то, не залежно від того, який є тип даних, результат буде дійсний, тому що виконується операція ділення.

Для виконання дій amodcтаadivc використовуються тільки цілі величини і результат буде також цілий.

Останні операції дуже часто використовуються при складанні Pascal-програм. Розглянемо декілька прикладів:

Операція

Результат

7 mod 3

1

7 div 3

2

4 mod 2

0

5 mod 2

1

Останні два приклади демонструють властивості парного та непарного числа. Таким чином можна записати умову парності числа:

A mod 2 = 0,

умова непарності числа:

A mod 2 <> 0.

В математичних виразах дуже часто використовуються математичні функції. Мова Turbo Pascal має відповідний інструмент для опису математичних функцій. Існує набір стандартних функцій, які підключаються автоматично при запуску програми. Всі математичні функції зосереджені в стандартному модулі Turbo Pascal – SYSTEM.TPU. Ніякої активної дії програмістів для їх підключення з боку програмістів не передбачається. Цей модуль підключається автоматично. Ось перелік найпоширеніших математичних функцій:

Таблиця 3.5.. Стандартні математичні функції.

математичний запис

стандартна функція

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

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

 x 

ABS ( x )

REAL або INTEGER

REAL або INTEGER

x2

SQR ( x )

REAL або INTEGER

REAL або INTEGER

sin x

SIN ( x )

REAL або INTEGER

REAL

cos x

COS ( x )

REAL або INTEGER

REAL

ex

EXP ( x )

REAL або INTEGER

REAL

lnx

LN ( x )

REAL або INTEGER

REAL

SQRT ( x )

REAL або INTEGER

REAL

arctg x

ARCTAN ( x )

REAL або INTEGER

REAL

За допомогою вказаних стандартних функцій можна записувати будь-які математичні вирази. Наприклад

sqrt((sqr(x)-sin(x))/(a*x-c))

У мові TurboPascalвідсутня стандартна операція піднесеня число до степеня, крім квадрату числа та кореня квадратного з числа. На допомогу приходить математика. Тому запамятайте загальну формулу піднесеня числа х до степеня з показником y:

exp(y*ln(x))

Увага! Не забувайте математику. Число х може бути тільки додатнім!

sin(x)/cos(x)- exp(y*ln(x))

exp(1/3*ln(x))

Дуже цікавою є фунція отримання випадкового числа

random(n)

Результатом буде будь-яке число з диапазону [0..n].Число n можна не вказувати. В такому випадку отрмаємо число з діапазону[0..1].Для того, щоб не повторювалися числа, спочатку використовують установку-процедуру

randomize;

Наприклад:

randomize;

random(100);

В результаті отримаємо число від 0 до 100.

Іноді треба перетворити тип змінної з дійсного в цілий та навпаки. Для цього використовують наступні стандартні функції:

Таблиця 3.6. Стандартні функції перетворення типу.

Зміст функції

стандартна функція

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

тип функції

Виділення цілої частини дійсного числа

trunc(x)

real

longint

округлення дійсного числа до найближчого цілого

round(x)

real

longint

виділення дробної частини дійсного числа

frac(x)

real

real

виділення цілої частини дійсного числа без перетворення типу

int(x)

real

real

перетворення ASCII- коду в символ

chr(x)

integer

char

Наприклад:

  • round(-3.3) дорівнює -3; trunc(-3.3) дорівнює -3; frac(-3.3) дорівнює -0.3

  • round(-3.6) дорівнює -4; trunc(-3.6) дорівнює -3;

  • round(3.3) дорівнює 3; trunc(3.3) дорівнює 3;

  • round(3.6) дорівнює 4; trunc(3.6) дорівнює 3; frac(3.6) дорівнює 0.6

Скалярні типи даних відрізняються тим, що вони впорядковані по зростанню. Таким чином для кожної величини скалярного типу можна знайти попередній елемент та наступний елемент. Для цілого 5 попереднім буде 4, а наступним – 6. Для символу ‘d’попереднім буде символ‘c’ , а наступним – символ‘e’ . Значення false та true також впорядковані. Тому існує набір функцій для отримання такої інформації. Розгляньте наступну таблицю.

Таблиця 3.7 Стандартні функції для роботи з скалярними даними.

Зміст функції

стандартна функція

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

тип функції

перетворення будь-якого порядкового типу в цілий тип (номер значення х в послідовності)

ord(x)

будь-який простий, крім дійсного

цілий

визначення попереднього значення величини х

pred(x)

будь-який простий, крім дійсного

будь-який простий, крім дійсного

визначення наступного значення величини х

succ(x)

будь-який простий, крім дійсного

будь-який простий, крім дійсного

Крім стандартних функцій, для скалярного типу існують також оператори процедур, які визначають попереднє та наступне значення:

inc(x);- одержання наступного значення х (те саме, що x:=x+1;)

dec(x); - одержання попереднього значення х (те саме, що x:=x-1;)

Соседние файлы в папке конспект лекцій 1 паск