загрузка...
загрузка...
На головну

Логічні вирази

  1. II. Психологічні аспекти ділового спілкування
  2. III. Нейрофізіологічні або нейродинамические теорії темпераменту.
  3. IV. 14.2. Фізіологічні основи емоційних станів
  4. IV. Доповніть пропозиції словами і виразами з тексту.
  5. IV. Доповніть пропозиції словами і виразами з тексту.
  6. V. 16.2. Фізіологічні основи темпераменту
  7. V. 17.2. Фізіологічні основи характеру

Змінні логічного типу описуються за допомогою ідентифікатора Boolean. Вони можуть приймати тільки два значення - False (Брехня) и True (Істина). Описуються вони також в розділі опису змінних. Var <ім'я>: Boolean;

В логічні вирази можуть входити:

n логічні величини,

n операції відносини (<- менше,> - більше, <= - менше або дорівнює,> = - більше або дорівнює, <> - не дорівнює, = - дорівнює).

n логічні операції And, Or, Not

n разл. дії і функції


 Приклади простих логічних виразів  значення
 0 <5  True
 x mod 2 = 0  True при парному x
 7 mod 2 <> 1  False
 Sqr (2)> = 4  True
 Trunc (3.6)> 3  False

У мові Турбо Паскаль є логічні операції, що застосовуються до змінних логічного типу. Це операції not, and, or і хor.

 значення операндів  результат операції
X Y  not X  X and Y  X or Y
 False  False  True  False  False
 False  True  True  False  True
 True  False  False  False  True
 True  True  False  True  True

операція not (Не) має один операнд і утворює його логічне заперечення. Результат операції not є False, якщо операнд правдивий, і True, якщо операнд має значення брехня. Так, not True  False (неправда є брехня) not False  True (неложь є правда).

результат операції and (І) є істина, тільки якщо обидва її операнда істинні, і брехня в усіх інших випадках (логічне множення).

результат операції or (Або) є істина, якщо який-небудь з її операндів правдивий, і помилковий тільки тоді, коли обидва операнди помилкові (логічне додавання).

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

Not

2. and, *, /, div, mod

3. or, +, -

4. операції відносини (<- менше,> - більше, <= - менше або дорівнює,> = - більше або дорівнює, <> - не дорівнює, = - дорівнює).

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

4 3 2 1

AorBandnot (AorB)


Спочатку виконується укладена в дужки операція or, а потім операції not, and, or. Якщо підставити замість змінних А і В значення True і False, то, використовуючи вже розглянутий порядок дій, отримаємо значення всього виразу рівне True.

 Приклади складових логічних виразів  значення
 Not (X = 0)  Істина при x <> 0, брехня при x = 0
 (A> b) and (a> c)  Істина, якщо a = max {a, b, c}
 (A = 0) or (b = 0)  Істина, якщо хоча б одне з a, b = 0
 (A mod 2 = 0) and (A mod 4> 0)  Істина, якщо А кратно двом, але не кратна 4

Вправа 5:. Запишіть в зошит і обчисліть значення виразів

при a = 10, b = 20, c = true, d = false: а)(A> 5) and (b> 5) and (a <20) and (b <30);

b)not (a <15) or not (b <30);

c)c or d and (b = 20).

Увага! У мові Паскаль немає можливості введення логічних даних за допомогою оператора read. Однак передбачено виведення значень змінних логічного типу за допомогою оператора write. наприклад, Після виконання оператора write (5> 2) на екран буде виведено True.

Упржненія 6. Чи існує трикутник зі сторонами a, b, c (всі> 0)? Вивести true або false.
 Var a, b, c: real; R: boolean; Beginwrite ( 'введіть позитивні a, b, c'); read (a, b, c); R: = (a + b> c) and (b + c > a) and (c + a> b); writeln (R); End.

Домашні питання і завдання:

1. Як описується логічна змінна і які значення вона може приймати?

2. Що може входить в логічні вирази. Наведіть приклади простих логічних виразів.

3. Розкажіть про логічних операціях в мові Паскаль. Наведіть приклади складових логічних виразів.

4. Який пріоритет різних операцій в Паскалі. Наведіть приклад.


завдання:

№19. Записати на Паскалі вираз, справжнє при виконанні зазначеної умови і хибне в іншому випадку:

А. ціле k ділиться на 7;

Б. 0

В. Хоча б одне з цілих x, y парне;

Г. x = max (x, y, z), тобто x найбільше з трьох чисел x, y, z;

Д.  (Операцію not не використовувати)

Е. хоча б одна з логічних змінних а і b має значення True;

Ж. обидві логічні змінні а і b мають значення True.

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

а) a and b or not c and d; б) (X> = 0) or not c and d.

№21. Обчислити такі вирази при a = True, b = False:

а) a or b and not a; б) (A or b) and not a; в) not a and b; г) not (a and b)

№22. Скласти програму: На вступних іспитах абітурієнт здавав фізику, інформатику, твір. Абітуріет надійде, якщо отримає 5 з інформатики та набере суму балів за три іспити не менше 13. Чи правда, що він вчинив (вивести True / False)?

§ 8. Рішення задач по темі «Лінійні програми. Логічні величини. »

Упр. 7. Обчисліть значення виразу:

а) sqr (x) + sqr (y) <= 4 при x = 0.3, y = -1.6;

б) k mod 7 = k div5-1 при k = 15;

в) odd (trunc (10 * p)) при p = 0.182;

г) not odd (n) при n = 0;

д) t and (p mod 3 = 0) при t = true, p = 101010;

е) (x * y <> 0) and (y> x) при x = 2, y = 1;

ж) (x * y <> 0) or (y> x) при x = 2, y = 1;

з) a or (not b) при a = False, b = True;

Упр. 8. Записати на Паскалі вираз, справжнє при виконанні зазначеної умови і хибне в іншому випадку:

а) х належить відрізку [0, 1];

б) х лежить поза відрізком [0, 1];

в) * х належить відрізку [2, 5] або [-1, 1];

г) * х лежить поза відрізків [2, 5] і [-1, 1];

д) кожне з чисел х, у, z позитивно;

ж) жодне з чисел х, у, z не є позитивним;

з) тільки одне з чисел х, у, z позитивно;

і) логічна змінна а має значення True, логічна змінна b має значення False;


к) * рік з порядковим номером у є високосним (рік високосний, якщо його номер кратний 4, однак з кратних 100 високосними є лише кратні 400, наприклад, 1700, 1800 і 1900 - невисокосних роки, 2000 - високосний).

Упр. 9. Намалювати на площині (х, у) область, в якій і тільки в якій істинно вказане вираз:

а) * (y> = x) and (y + x> = 0) and (y <= 1);

б) (sqr (x) + sqr (y) <1) or (y> 0) and (abs (x) <= 1);

в) (trunc (y) = 0 and (round (x) = 0);

г) * (abs (x) <= 1)> (abs (y)> = 1);

д) (sqr (x) + sqr (y) <= 4) = (y <= x).

Упр. 10.. Книга коштує X рублів. У покупця є купюри номіналом 50, 10, 5, 1 рублів. Скільки і яких купюр треба взяти, щоб розплатитися за книгу мінімальною кількістю купюр?

 



Попередня   1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   Наступна

Поняття алгоритму. Властивості, види і форми подання алгоритмів | циклічний | Введення в мову програмування Pascal | Типи величин. Змінні. Присвоєння. | Оператор введення. | арифметичні операції | Умовний оператор працює за наступним алгоритмом. | Вкладені умовні оператори | Цикл з передумовою | від початку |

загрузка...
© um.co.ua - учбові матеріали та реферати