-
ЛАБОРАТОРНА РОБОТА №5
Тема:
Розгалужені програми. Логічні операції
Мета:
-
Вивчити роботу з логічними операціями.
-
Навчитися створювати розгалужені програми.
Час:
2 год.
-
Порядок виконання роботи
-
-
Проробити контрольний приклад.
-
Виконати самостійну роботу.
-
Оформити звіт. Вимоги до оформлення звіту приведені в п. 5.3.
-
Захистити лабораторну роботу. Питання для самоконтролю приведені в п. 5.4
-
Практична частина
-
Контрольний приклад
-
-
Перейти на диск C:
-
Відкриваємо об'єкт Мій комп'ютер (подвійний щиглик мишею на значку об'єкта Мій комп'ютер).
-
Усередині вікна Мій комп'ютер робимо подвійного щиглика на значку диска C:
-
Перейти на диску C;у робочу папку (GR151ITP чи GR152ITP) і створити в ній папку для файлів лабораторної роботи. Ім'я створюваної папки: Lab05.
-
Подвійний щиглик на значку робочої папки (GR151ITP чи GR152ITP)
-
У вікні робочої папки виконуємо команду меню ФайлСтворитиПапку
-
Вводимо ім'я папки Lab05 і натискаємо Enter
-
Запустити операційну оболонку Norton Commander
-
Виконуємо команду Головного меню Пуск Виконати…
-
У діалоговому вікні вводимо команду: c:\nc\nc
-
Натискаємо Enter чи клацаємо кнопку Ok
Примітка – Якщо оболонка запустилася у віконному а не повноекраному режимі, те необхідно натиснути Alt + Enter
-
Запустити програму підтримки кирилиці KEYRUSr
-
У командному рядку вводимо команду: c:\keyrus\keyrus
-
Натискаємо Enter
Примітка – Переключення шрифтів за допомогою програми KEYRUS виконується правою клавішею Ctrl
-
У вікні Norton Commander перейти в папку Lab05
-
Ставимо курсор на робочу папку (GR151ITP чи GR152ITP) і натискаємо Enter
-
Ставимо курсор на папку Lab05 і натискаємо Enter
-
Запустити інтегроване середовище Turbo Pascal
-
У командному рядку набираємо команду: c:\tp\bin\turbo
-
Натискаємо Enter
-
Створити програму, що визначає відповідність уведеного значення X подвійній нерівності 12<X<35.
-
Виконуємо команду меню FileNew.
-
Уводимо текст програми
Program Nerav;
Var
X:Real;
BEGIN
Write('Увести X=');
ReadLn(X);
If (12<X) and (X<35) then
WriteLn('Значення відповідає нерівності')
Else
WriteLn('Значення не відповідає нерівності');
ReadLn;
END.
-
Перевірити роботу всіх галузей створеної програми
-
Запускаємо програму клавішами Ctrl + F9 (чи виконуємо команду меню RunRun)
-
Уводимо перше значення X=2 одержуємо результат.
-
Снову запускаємо програму і вводимо нове значення X=15.
-
Снову запускаємо програму і вводимо нове значення X=49.
-
Виконати програму в покроковому режимі, спостерігаючи за зміною порядку виконання рядків при різних значеннях X.
-
Натискаємо клавішу F7 до завершення роботи програми
-
Записати програму на диск у поточну папку Lab05 під ім'ям NERAV.PAS
-
Натискаємо клавішу F2 чи виконуємо команду меню FileSave
-
У рядку Save file as набираємо ім'я файлу (розширення .PAS указувати не обов'язково)
-
Щиглик на кнопці Ok (чи натиснути клавішу Enter )
-
Створити програму, що визначає вид трикутника (рівносторонній, рівнобедрений чи довільний) у залежності від розмірів його сторін a, b і с.
-
Виконуємо команду меню FileNew
-
Набираємо текст програми
Program Triangle;
Uses CRT;
Var
a,b,c:Real;
BEGIN
ClrScr;
Write('Уведіть розміри сторін=');
ReadLn(a,b,c);
{Перевіряємо рівність усіх сторін}
If (a=b) and (b=c) and (c=a) then
WriteLn('Трикутник рівносторонній')
Else
Begin
{Перевіряємо рівність будь-яких двох сторін}
If (a=b) or (b=c) or (c=a) then
WriteLn('Трикутник рівнобедрений')
Else {Усі сторони різні}
WriteLn('Трикутник довільний');
End;
ReadLn;
END.
-
Перевірити роботу всіх галузей створеної програми
-
Запускаємо програму клавішами Ctrl + F9 (чи виконуємо команду меню RunRun)
-
Вводимо однакові довжини сторін, наприклад: 4 4 4, одержуємо результат.
-
Снову запускаємо програму і вводимо різні довжини сторін, наприклад: 4 5 6 одержуємо результат.
-
Снову запускаємо програму і вводимо довжини сторін так щоб дві з них були однакові, наприклад: 4 5 5, одержуємо результат.
-
Виконати програму в покроковому режимі, спостерігаючи за зміною порядку виконання рядків при заданих довжинах сторін.
-
Натискаємо клавішу F7 до завершення роботи програми
-
Записати програму на диск у поточну папку під ім'ям TRIANGLE.PAS
-
Натискаємо клавішу F2 чи виконуємо команду меню FileSave
-
У рядку Save file as набираємо ім'я файлу (розширення .PAS указувати не обов'язково)
-
Щиглик на кнопці Ok (чи натиснути клавішу Enter )
-
Скласти програму для обчислення значення функції Z у залежності від умов. Примітка – a і b – постійні величини (константи), значення перемінної x повинне вводитися з клавіатури.
Вид функції:
Вихідні дані: a=5.1 b=19.3 x=2.6, 9.8, 45.8
-
Виконуємо команду меню FileNew.
-
Уводимо текст програми
Program Funct2;
Uses CRT;
Const
a=5.1;
b=19.3;
Var
x,z:Real;
BEGIN
ClrScr;
Write('Увести x=');
ReadLn(x);
If x<=a then
z:=sin(x);
If (a<x) and (x<b) then
z:=cos(x);
If (x>=b) then
z:=sin(x)/cos(x);
WriteLn('Z=',z:8:4);
ReadLn;
END.
-
Перевірити роботу всіх галузей створеної програми
-
Запускаємо програму клавішами Ctrl + F9 (чи виконуємо команду меню RunRun)
-
Уводимо перше значення x=2.6 одержуємо результат.
-
Снову запускаємо програму і вводимо нове значення x=9.8 і т.д.
-
Виконати програму в покроковому режимі, спостерігаючи за зміною порядку виконання рядків при різних значеннях x.
-
Натискаємо клавішу F7 до завершення роботи програми
-
Записати програму на диск у поточну папку під ім'ям FN2.PAS
-
Натискаємо клавішу F2 чи виконуємо команду меню FileSave
-
У рядку Save file as набираємо ім'я файлу (розширення .PAS указувати не обов'язково)
-
Щиглик на кнопці Ok (чи натиснути клавішу Enter )
-
Створити програму, що визначає, чи належить крапка з заданими координатами X,Y заштрихованої області (див. рисунок 5.1). Радіус зовнішньої окружності R1=10.2, радіус внутрішньої R2=4.8. Лінії окружностей до виділеної області не відносяться.
Рисунок 5.1 – Ілюстрація до контрольного приклада (п.19)
Короткий опис рішення
Крапка з заданими координатами буде знаходитися усередині заштрихованої області, якщо одночасно виконуються наступні дві умови: крапка повинна знаходитися усередині більшого кола і не повинна знаходитися усередині меншого кола.
Тому що рівняння окружності з центром на початку координат , де R – радіус окружності, то умова u1 приналежності крапки більшому колу запишеться так:
Умова u2 приналежності крапки меншому колу:
Таким чином, загальна умова u3:
u3:=u1 and not u2
Для створення програми:
-
Виконуємо команду меню FileNew
-
Набираємо текст програми
Program Oblast;
Uses CRT;
Const
R1=10.2; {Радіуси окружностей}
R2=4.8;
Var
u1,u2,u3:Boolean; {Необхідні умови}
x,y:Real; {Координати крапки}
BEGIN
ClrScr;
{Уводимо координати крапки}
Write('Увести координати X,Y=');
ReadLn(x,y);
{Формуємо умови}
u1:=SQR(x)+SQR(y)<SQR(R1);
u2:=SQR(x)+SQR(y)<SQR(R2);
u3:=u1 and not u2;
{Перевірка умови u3 і висновок результату}
If u3 then
WriteLn('Крапка належить')
Else
WriteLn('Крапка не належить');
ReadLn;
END.