Логічний тип( boolean) описує величину, що може бути лише хибною (false) або істиною (true), але на збереження якого відводять 1 байт.
Опис
var x, y, z: boolean;
Присвоєння значень
X:= TRUE; y:= 2>5; z:= a=b;
Виведення
writeln(y);
Writeln(a>b);
Коли логічна змінна має значення TRUE, її внутрішнє представлення 1.
Коли логічна змінна має значення FALSE, її внутрішнє представлення 0.
Такі величини отримують, наприклад, у результаті обчислення логічних виразів з операціями порівняння (відношення). Для даних логічного типу визначено такі операції:
Таблиця істинності логічних операцій:
Значення
операндів (аргументів) |
Результат операції
| |||||
X
|
Y
|
not X
|
X and Y
|
X or Y
|
X xor X
| |
false
|
false
|
true
|
false
|
false
|
false
| |
false
|
true
|
true
|
false
|
true
|
true
| |
true
|
false
|
false
|
false
|
true
|
true
| |
true
|
true
|
false
|
true
|
true
|
false
|
Подамо приклад програми порівняння одного з трьох введених цілих чисел з сумою решти:
program example3;
var a, b, c: integer;
la,lb,lc: boolean;
begin
write('Введіть 3 цілих числа через пропуск ');
readln(a,b,c);
la:=a>b+c;
lb:=b>c+a;
lc:=c>a+b;
writeln('a>b+c b>c+a c>a+b');
writeln(la:5,lb:6,lc:6);
end.
В останній вказівці після двокрапки вказано кількість позицій (символів) для виведення (останню заповнено). Результат роботи при введенні 3 4 5 буде таким.
Введіть 3 цілих числа через пропуск 3 4 5
a>b+c b>c+a c>a+b
False False False
Приклади
Програма
|
Пояснення
|
Результат роботи
|
Const a=2; b=10;
var x:boolean; begin x:=a < b; Writeln(x); end. |
a=2; b=10. Тому a < b вірна нерівність. Отже, x має значення TRUE, яке і виводиться на екран
|
TRUE
|
Const a=TRUE; b=FALSE;
Begin writeln(b > a); end. |
a=TRUE, тобто 1; b=FALSE, тобто 0. Тому b>a - невірна нерівність, тобто такий логічний вираз має значення FALSE
|
FALSE
|
Const X=-2; y=2;
Var Z:Boolean; Begin Z:=sqr(x)-sqr(y)=0; writeln(z); end. |
X=-2; y=2. Тому sqr(x)-sqr(y)=0 - вірна рівність, тому Z має значення TRUE
|
TRUE
|
Const F=7; D=5;
Var Z:Boolean; Begin Z:=1/F > 1/D; writeln(z); end. |
F=7; D=5, F > D. Тому 1/F<1/D. Звідки 1/F > 1/D -невірно, тому Z має значення FALSE
|
FALSE
|
Завдання для самостійного опрацювання
Задача Vinni. Вінні Пух любить складати віршики говорячи речення задом наперед. Якось йому попалось довге складне речення і він забув свій віршик, пробуючи його виговорити. Складіть програму, яка б допомагала ведмедику легко складати такі віршики. Зауваження: віршик може складатись як із 1 слова, так і з декількох, розділених пропусками.
Технічні умови. Програма зчитує з клавіатури стрічку-віршик. В кінці віршика ніколи не ставиться крапка. Довжина віршика менша за 255 символів. Програма виводить на екран стрічку, яку отримано внаслідок повороту.
Приклад. Введення> роза. Виведення> азор.
Приклад. Введення> Все медведи любят мед. Виведення> дем тябюл идевдем есВ
Задача Весела абетка. Петрик навчається в початковій школі. Він ще не дуже добре знає англійську абетку і тому дуже засмутився, коли Ольга Павлівна (учителька англійської мови) попросила його переставити літери слова S за абеткою (від «А» до «Z»). Допоможіть Петрику впоратися з завданням.
Вхідні дані: У рядку міститься слово S.
Вихідні дані: У рядку міститься слово, яке утворилось під час перестановки літер.
Обмеження: слово S містить від 1 до 10 символів, тільки маленькі латинські літери. Приклад вводу: champion Приклад виводу: Achimnop
Підказка: Очевидно, що слово, яке утворилося під час перестановки літер, містить стільки ж символів як початкове.
Немає коментарів:
Дописати коментар