вівторок, 2 червня 2020 р.

Логічний тип даних boolean Pascal

Логічний тип( 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
and Y
or Y
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
Підказка: Очевидно, що слово, яке утворилося під час перестановки літер, містить стільки ж символів як початкове.

Немає коментарів:

Дописати коментар