Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






RreadLn(a, b);






if a < > 0.0

then Write('x=', -b / a)

else if b = 0.0

then write('Корінь - будь-яке число')

else write('Корній немає');

End.

Високосний рік.

А от задача, гідна самого Шерлока Холмса! Як визначити, чи є зазначений рік високосним? Нагадаємо, що рік вважається високосним, якщо його номер поділяється нацело на 4, крім тих випадків, коли він поділяється на 100. Якщо номер року поділяється на 400, то він усе рівно високосний. Так, наприклад, високосні роки — 24, 1952, 1600, 2000, а не високосними є 153, 1800 і 1900 роки. Для рішення задачі виберемо наступний алгоритм. Спочатку перевіримо, чи кратний номер року 400, якщо так, те рік високосний, якщо ні, перевіримо номер року на кратність 100. Якщо виявиться, що він кратний 100, то рік не високосний (марновірна людина може зітхнути з полегшенням!), якщо ні, перевіряємо на кратність 4. Якщо номер року поділяється на чотири без залишку, то він високосний, інакше — немає. А от програма, що уміє виконувати необхідні перевірки:


Program February_29;

var а: Integer;

Begin

Write(‘Введіть рік: ');

ReadLn(a);

if a mod 400 = 0

then write(a, '- високосний рік')

else if a mod 100 = 0

then write(a, '- не високосний рік')

else if a mod 4=0

then write(a, '- високосний рік')

else write(a, '- не високосний рік');

End.

Отже, ми переконалися, що найважливішою частиною умовного оператора є умова. Математик сказав би, що умова — це якесь твердження, що має вид відносини між двома арифметичними виразми, що може бути або істинно, або ложно. Програмістам часто приходиться мати справа з величинами, що приймають одне з двох можливих значень — «істина» або «неправда». Такі величини (змінні, константи і т.д.) називаються логічними. Для них існують спеціальні операції, за допомогою яких можна записувати логічні вираз, подібні до арифметичних виражень. У Паскале для логічних величин є особливий тип — Boolean («бульон», на честь англійського математика XIX століття Джорджа Буля, що вніс великий вклад в математичну логіку). Є всього дві логічні константи: True («істина») і False («неправда»).

Логічні операції

Для чого потрібні логічні операції? При рішенні різних задач іноді виникає необхідність перевіряти виконання декількох умов відразу. Наприклад, у задачі, що визначає, чи є число п двозначним, потрібно перевірити відразу дві умови — п повинна бути більше 9 і менше 100. Зробити це можна, записавши два умовних оператори:

if n > 9

then if п < 100

then Write('двозначне')

else Write('He двозначне')

else Write('He двозначне');

Але в цьому випадку приходиться два рази записувати рядок Write ('не двозначне'), і, крім того, таке рішення виглядає небагато заплутаним. Для зручності запису таких і подібних їм умов варто використовувати логічні операції:

· and — логічне «і» («логічне множення»);

· or — логічне «або» («логічне додавання»);

· xor — логічне «що виключає або»;

· not — логічне заперечення.

За допомогою логічних операцій прості умови можна поєднувати в складені. Прості умови при цьому обов'язково полягають у дужки, тому що логічні операції мають більш високий пріоритет, чим операції порівняння: (а < 3) and (b + а > = 7); (а = 7) or (2 < b); not(a = 7) or (2 < b) and (a = b)

Правила виконання логічних операцій.

Складна умова, складена з двох простою, з'єднаною операцією and, вірно тільки тоді, коли вірні обоє простих умови. Значенню «істина» можна умовно зіставити числове значення 1, а значенню «неправда» — нульове (адже тільки істина щось значить у нашім житті!). У цьому випадку результат застосування операції and можна одержати, якщо перемножити обоє логічних значення в їхньому числовому вираженні. Тільки якщо обоє вони щирі (дорівнюють Синиці), у результаті одержимо істину (одиницю). Тому операцію and і називають ще логічним множенням.

Для операції or складна умова щира, якщо вірно хоча б одне з простих умов. Тут також можна звести виконання логічної операції до додавання числових еквівалентів логічних значень, тільки при цьому результатом буде залишок від розподілу отриманої суми на два. Операцію оr тому називають логічним додаванням.

Результат операції логічне що виключає або:

умова_1 хог умова_2

«істина» тоді, коли вірно тільки одне з умов — умова_1 або умова_2.

Операція not — це операція заперечення. Заперечення істини неправда, а заперечення неправди — істина, тому not (умова) щира тоді, коли умова помилкова.

Пріоритет (послідовність) виконання логічних операцій такий — спочатку виконується заперечення (not), потім and, а потім нарівні or і хоr.

Якщо складна умова містить кілька однакових логічних операцій, то виконуються вони по-порядку ліворуч праворуч, як і арифметичні операції.

Для зміни порядку обчислення умов можна використовувати додаткові дужки. От приклади виконання логічних операцій:

(2 > = 3) and (3=3)— не правильно;

(2 < 7) and (3 = 3) and (2 < 0) — не правильно;

(3 > 4) and not (2 < 7) or (0 = 0) — істинно;

(2 = 0) хоr (2 < > 2) — не правильно.

 


Скільки цифр у числі?

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

program two_digits;

var n: Integer;

Begin

Write(введіть ціле число: ');


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.007 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал