русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Дані логічного типу.


Дата додавання: 2013-12-23; переглядів: 2032.


 

Логічний тип даних часто називають булевим по імені англійського математика Буля, який створив науку мат. логіку. В мові Pascal є 2-і логічні константи True та False.

Логічна зміна приймає одне із цих значень і має тип Boolean. Логічні дані широко використовуються при перевірці вірності деяких умов та при порівнянні величин. Результат може бути істинним чи хибним. Для порівняння даних існують наступні операції відношень <, >, <=, >=, =, < >. Якщо операцію відношення прикласти до арифметичних даних, то отримаємо логічне значення: відношення істине чи хибне. Наприклад, 7>4 дає істиний результат, а 19>25 - хибний. Над логічними даними можливі такі операції:

OR - логічне додавання; (або)

AND - логічне множення; (і)

NOT — логічне заперечення, (ні)

 

Логічні операції OR та AND виконуються над 2-а величинами, а NOT над однією.

Логічне додавання дає істиний результат, якщо хоча б одна із логічних величин А та В мають істине значення. Якщо обидві величини А та В мають хибне значення, то результат буде хибним.

Логічне множення дає істиний результат тільки в тому випадку, коли обидві величини істині. Якщо хоч би одна із величин хибна, то результат буде хибним.

Логічне заперечення дає хибний результат, якщо величина має істине значення і навпаки. Логічний тип визначається таким чином, що

 

False<True.

 

 

Результати операцій над логічними даними:

A B Not A A OR B A And B
TRUE TRUE FALSE FALSE TRUE FALSE TRUE FALSE   FALSE FALSE TRUE TRUE TRUE TRUE TRUE FALSE   TRUE FALSE FALSE FALSE  

 

 

Логічні дані і операції над ними мають важливе значення, так як дозволяють ввести елементи логіки (в логіці оперують константами 1 - істина, 0- хибна).

Логічні вирази будуються із логічних даних, логічних операцій та операцій відношень. В операціях відношень можуть зустрічатися арифметичні та логічні вирази, а також символьні дані. Результатом логічного виразу є значення True або False.

В логічних виразах прийнятий такий пріоритет операцій:

1. NOT

2. *,/,DIV,MOD,AND

3. +,- OR

4.<,<=, = ,<>, >= ,>

 

(Операції, що вказані в одному рядку мають однаковий пріоритет).

В логічних виразах допускається використання тільки круглих

дужок. При наявності дужок спочатку виконуються дії в дужках (в першу

чергу в самих внутрішніх), а потім за дужками. В круглі дужки

обов'язково заключаються частини виразів, що знаходяться зліва та

- справа від логічних операцій AND та OR.

Приклад: Визначити результат логічного виразу:

(А>3) AND (B-A+6) OR NOT (C-4)

при А=2,В=8,С=5 (False)

(False) And (True) Or (False) (False) Or (False)

False

Приклад: Записати на Pascal відношення істине при виконанні указаної умови та хибне в протилежному випадку:

a) ціле k ділиться на 7

k mod 7=0

b) рівняння a+bx+c=0 не має дійсних коренів

SQR(b) - 4*а*с<0

c) натуральне п є повним квадратом

SQR(round(SQRT (п))) =п

Приклад: Обчислити значення виразів:

a) ((x*y)<>0)and(y>x) npu x=2,y=l (False)

b) ((x*y)<>0)or (y>x) npu x=2,y=l (True)

c) a or (not b) npu a=false, b=true (False)

Приклад: Пояснити помилки в наступних записах:

a) true <0 (операції різних типів)

b) not 2-5 (відношення не взято в дужки)

c) ,x>0 or y =4 (відношення не взято в дужки)

d) not not b or or d (2-а знака операції поряд)

Приклад: Вказати порядок виконання операцій при обчисленні виразів:

a and b or not c and d

(a and b)or((not c) and d)

Приклад: Записати приведені нище висловлювання у вигляді виразів:

a) значення А не належить відрізку (0,3)

(A<=0)OR(A>=3)

b) значення А належить відрізку [-2, 0]

(A>=-2)AND(A<=0)

Приклад: Визначити, чи належить точка з координатами х,у прямокутнику з координатами x1,y1,x2,y2. Координати точки та прямокутника дійсного типу (точка належить прямокутнику, якщо

х> =x1 х< =х2

y>=y1 у<=у2)

Program kl;

Var x, x1, x2, у, y1, y2:Real;

Begin

Writeln (’ Введіть координати x1, y1, x2, y2);

Read(x1, y1 ,x2, y2) ;

Writeln('Bведіть координати х,у');

Read(x,y);

If (x> =x1)and(x< =x2)and(y> =y1)and(y< =y2)then

Write ('Точка належить прямокутнику)

Else write (’Точка не належить прямокутнику);

End.

Змінні типи

 

До цього часу ми працювали із стандартними типами даних. Змінні типи даних дозволяють створювати нові типи даних крім стандартних. В цю групу входять перелічувальний та обмежений типи. Перелічувальний тип називається так тому, що задається у вигляді переліку в строго визначеному порядку та в строго обмеженій кількості всіх значень, які можуть приймати дані того типу, що розглядаються. Перелічувальний тип може бути заданий користувачем в залежності від того, яку задачу він розв’язує. Перелічувальний тип складається Із списку констант. Змінні цього типу можуть приймати значення будь-якої із даних констант. Перелічувальний тип має такий вигляд:

Туре ім 'я_типу=(список констант);

Var ім'я_змін : ім'я типу;

 

Під константою тут розуміється особливий вид констант, що задається користувачем. Під списком констант розуміється перелік констант, що розділені комами. Сам список береться в круглі дужки.

Приклад: Туре рік = (зима,весна,літо,осінь);

Var А: рік;

Де рік — ім'я перелічувального типу;

Зима, весна, літо, осінь — константи

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

Наприклад: Var А: (Зима, весна, літо, осінь);

 

Але хорошим стилем програмування є опис даних з використанням розділу Туре, так як це допомагає скоротити кількість помилок та полегшує відлагодження програми. Кожна із констант має порядковий номер, відлік починається з 0. (Зима - 0 , весна - 1, ...). Впорядкованість констант дозволяє застосовувати до них операції відношення (<, <= , >, >=, 0), а також стандартні функції:

ODD - визначення парності числа;

CHR(і ) - визначення символу із набору символів по порядковому номеру і;

ORD(x)- знаходження порядкового номеру елемента х із переліку

допустимих значень;

PRED(x)- знаходження елемента, який є попереднім для даного в переліку допустимих значень;

SUCC(x)- знаходження елементу, який є наступним для даного в переліку допустимих елементів,

Приклад: Є опис

0 1 2 3

Туре сезон = (зима, весна, літо, осінь);

Var x,y: сезон; Т: (тепло, холодно);

а) чи правильні такі присвоєння:

+ + + - -

х;=весна; у:=х; t:=meплo; y:=t; і:=жарко;

б) обчислити значення виразів:

True true false

весна < літо; зима<літо : осінь<зима; succ (весна) =літо;

True

pred (весна) =зима; ord(веснa)=2; ord(ociHb)+ord(xoлоднo)=4;

Приклад:

Дано type колір = (червоний, білий, зелений);

Var c: колір;

Надрукувати значення змінної с.

Program PR3;

Type vet=(red, white, green);

Var c: vet;

n: Integer;

Begin

Writeln(’Введіть порядковий номер кольора');

Read(n);

Case n of

0: c:=red;

1: c:=white;

2: c:=green;

end;

case c of

red: write ('червоний');

white: write ('зелений');

green: write ('зелений ');

end;

end.


<== попередня лекція | наступна лекція ==>
Оператор безумовного переходу. | Відрізковий тип.


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн