else
if (round(Xl) mod 2 =0) and (round(X2) mod 2 =0)
then writeln(‘Корені рівняння парні’)
else writeln(ЛКорені рівняння непарні’);
End;
End;
Readkey;
End.
ЗАДАЧА №130
Умова задачі: Дано дійсні додатні числа а, b , с, х, у. Визначити, чи пройде цеглина з ребрами а, b , с у прямокутний отвір зі сторонами х та у. Проштовхувати цеглину дозволяється лише так, щоб кожне з її ребер було паралельним чи перпендикулярним кожній зі сторін отвору.
Для розв’язання цієї задачі пропонується впорядкувати розміри отвору та розміри цеглини за зростанням, тобто досягти того, щоб було а<= b <= c та х<=у. Тоді перевірка зведеться до порівняння розмірів отвору з найменшими розмірами цеглини (адже ми можемо цеглину розвернути будь-яким боком, щоб проштовхнути її у отвір).
Program Example_130;
Uses crt;
Var a,b,c,x,y,S:real;
(S - допоміжна змінна для обміну місцями значень двох змінних}
Begin
Clrscr;
Write(‘Введіть розміри цеглини: ‘);
Readln(a,b,c);
Write(‘Введіть розміри отвору: ‘) ;
Readln(х,у);
If (a<=0)or(b<=0)or(c<=0)or(x<=0)or(y<=0)
Then writeln(‘Помилка вхідних даних.’)
Else
Begin
{Впорядкування розмірів цеглини)
If а>b
Then Begin S:=а; а:=Ь; b:=S; End;
If a>c
Then Begin S:=a; a:=c; c:=S; End;
If b>c
Then Begin S:=b; b:=c; c:=S; End;
{Впорядкування розмірів отвору)
If x>y
Then Begin S:=x; x:=y; y:=S; End;
If (a<=x) and (b<=y)
Then writeln(‘Цеглина пройде у отвір.’)
else writeln(‘Цеглина не пройде у отвір.’)
End;
Readkey;
End.
Домашнє завдання:
• Прочитати сторінки 59—65 запропонованого підручника;
• Задачі № 120, 122, 123, 125, 126 (4,5), 128 (2), 129 (1).
УРОК 17. Вказівка вибору
Мета уроку: Дати поняття про форми вказівки вибору
Теоретичний матеріал
Цей оператор є узагальненням оператора if і дозволяє зробити вибір із довільного числа наявних варіантів. Він складається з виразу, що називається селектором , і списку параметрів, кожному з яких передує список констант вибору (список може складатися і з однієї константи). Як і в операторі if тут може бути присутнім слово else , що має той же зміст. Формат опису:
case < вираз-селектор > of
список констант вибору1 > : < оператор 1 >;
список констант вибору 2 > : < оператор 2 >;
. . . .
список констант вибору n > : < оператор n >
else < оператор >
end;
Оператор case працює наступним чином. Спочатку обчислюється значення виразу-селектора, потім забезпечується реалізація того оператора, константа вибору якого дорівнює поточному значенню селектора. Якщо жодна з констант не дорівнює поточному значенню селектора, виконується оператор, що знаходиться за словом else . Якщо слово elseвідсутнє, активізується оператор, що знаходиться за словом end , тобто перший оператор за межею дії case .
Селектор повинен відноситися до одного з перелічувальних типів (цілого, булівського або літерного). Дійсні та рядкові типи використовувати в якості селектора заборонено. Список констант вибору складається з довільної кількості значень або діапазонів, відділених один від одного комами. Межі діапазону записуються двома константами через складений символ діапазону «..». Тип констант у будь-якому випадку повинен збігатися з типом селектора. Щоб краще зрозуміти використання оператора вибору, розглянемо кілька типових задач.
ЗАДАЧА №134
Умова задачі: Розробити діалогову програму, яка запитує вік користувача і визначає, до якої вікової категорії він належить:
1) від 1 до 10 років — дитина;
2) від 11 до 15 років - підліток;
3) відіб до 20 років - юнак (юнка);
4) від 21 до 30 років - молода людина;
5) після 31 року - доросла людина.
Особливих пояснень ця задача не потребує, адже її можна розв’язати і за допомогою команди розгалуження. Однак зробимо її за допомогою команди вибору, причому, щоб скористатися гілкою Else , будемо вважати, що людина може мати вік не більше 150 років (навіть за всіма відомими рекордами, людина не може жити більше 150 років). Якщо ж користувач введе число, що не входить у дозволений діапазон, будемо вважати, що він пожартував.
Читать дальше