Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
практичні алгоритмізація дл студ.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
6.12 Mб
Скачать

Лабораторна робота №6. Тема: Написання програм використовуючи логічні значення Boolean.

Мета: Засвоїти практично логічні значення в мові Паскаль

Теоретичні відомості

Булевий тип визначений так, що False < True. Це означає, що операції відношення можуть бути застосовані не тільки до даних цілого, дійсного та символьного типів, але й до даних булевого типу.

Умовні оператори забезпечують виконання чи невиконання деякого оператора або послідовності операторів в залежності від заданих умов.

Паскаль дозволяє використання двох умовних операторів if і case.

Умовний оператор if є одним із найпоширеніших засобів, що змінює природний порядок виконання програми. Він може приймати одну з наступних форм:

1.if <умова>then <оператор1> else <оператор2>;

2. if <умова> then <оператор>;

Тут ключові слова if, then, else означають "якщо" , "то", "інакше".

< Умова > - це логічний вираз, значення якого має булевий тип.

< Оператор > може бути простим або складним. Складний оператор містить довільну кількість простих операторів розділених крапкою з комою і взятих в операторів дужки begin і end.

В першому випадку, якщо умова істинна, то виконується <оператор 1>, якщо хибна - то <оператор2>.

Приклад.

if A>B then WriteLn (’A більше B’) else WriteLn (’A менше або рівне B’);

В другому випадку , якщо умова істина , то виконується < оператор >, якщо хибна - то наступний оператор після if.

Приклад.

A:=2 ;B:=8; C:=20;

IF A>B THEN C:=A+B;

WriteLn (‘C=’, C:2);

В результаті на екрані з'явиться повідомлення C=20 , оскільки умова A>B хибна, оператор присвоєння C:=A+B не виконувався.

Один оператор if може входити в склад іншого оператора if. В такому випадку говорять про вкладеність операторів:

if <умова1> then

if <умова2> then <оператор1> else <оператор2>

else if <умова3> then<оператор3> else <оператор4>;

При вкладеності умовних операторів if кожне else відповідає тому then, яке безпосередньо йому передує. Тому <оператор3> виконуватиметься, якщо <умова1>=false, <умова2>=true. Конструкція з ступенем вкладеності 2-3 краще уникати із-за їх складності аналізу при відлагодженні програми.

Булеві значення.

Булеві змінні в програмі

Приклад 1. !!!!!Знайти помилки в програмі!!!!!

Program Booll;

var x: integer:

Bol: Boolean;

begin

x:=4;

Bol:=x > 3: { Це твердження істинне }

writeln(Bol) :

Bol:=x < 3: { Це твердження помилкове }

writeln(Bol) :

readln

end.

Хід роботи

Завдання 1. Що при виконанні програми приклад 1 на екрані ми отримаємо? Змініть кожне значення числа. Пояснити суть програми при різних значеннях.

Завдання 2. Приклад. Як ввести з клавіатури змінну булевого типу. !!!!!Знайти помилки!!!!!

program Booleanlnput;

var eat: boolean:

ch: char:

begin

write( Ти хочеш їсти [y/n}?:');

readln(ch);

eat:= ch = 'y ':

writeln ('Твоя відповідь :'.eat) :

readln

end.

Завдання 3. Розгалуження. Логічні вирази. (Умовний перехід).

Розв’язати приклад засобами Паскаль. Розберемо приклад пошагово.

І варіант

Program Rozgaluz;

Var x,y: real;

Begin

Write('Введiть х='); ReadLn(x);

if x>0 then y:=SQR(x)+1 else y:=SQRT(x*x+5);

writeLn('X=',x:5:2,' Y=',y:5:2) writeln('');

End.

ІІ варіант

Program Rozgaluz;

Var x,y: real;

Begin

Write('Ââåäiòü õ='); ReadLn(x);

if x>0 then y:=SQR(x)+1 else y:=SQRT(x)*SQR(x)+5;

writeLn('X=',x:5:2,' Y=',y:5:2);

End. (щоб отримати значення -3, необхідно змінити x>0).