Наприклад:
234 div 10 = 23
9213 div 100 = 92
52 mod 10 = 2
2845 mod 1000 = 845.
Виходячи з усього сказаного, програма буде мати вигляд:
Program Example_120_2;
Uses crt;
Var N, First, Last : word;
{First - перша цифра числа; Last - остання цифра числа}
Begin
Clrscr;
Write(‘Введіть число: ‘);
Readln(N); Last := N mod 10;
If (N>=0) and (N<10) then First:=0;
If (N>=10) and (N<100) then First:=N div 10;
If (N>=100) and (N<1000) then First:=N div 100;
If (N=1000) then First:=l;
Writeln(‘Сума першої та останньої цифр дорівнює’, First+Last);
Readkey;
End.
ЗАДАЧА №128
Умова: Квадратний багаточлен заданий коефіцієнтами а, b, с,де а ≠ 0. Визначити, чи корені відповідного рівняння є парними числами.
Для розв’язання цієї задачі необхідно нагадати дітям алгоритм знаходження коренів квадратного рівняння:
1) обчислити дискримінант;
2) якщо ми отримали від’ємне число, то коренів для розв’язку квадратного рівняння з даними коефіцієнтами а, b, с не існує;
3) якщо дискримінант невід’ємний, то корені рівняння знаходяться.Парність коренів можна визначити, використовуючи операцію знаходження залишку від цілочисельного ділення на 2 (парне число при цьомуу залишку має 0, а непарне — 1). Зверніть увагу на те, що парність абонепарність можна визначити тільки для цілих чисел.
Program Example_128_l;
Uses crt;
Var a,b,c,D,Xl,X2:real;
{a,b,c - коефіцієнти квадратного рівняння; D - дискримінант; XI, X2 - корені квадратного рівняння}
Begin
Clrscr;
Write ( ‘Введіть коефіцієнти квадратного рівняння а,b,с: ‘) ;
Readln(a,b,c);
If a=0
Then writeIn(лПомилка вхідних даних’)
Else
Begin
D:=sqr(b)-4*a*c;
If D<0
Then writeln(‘Рівняння не має розв»язків.’)
Else
Begin
XI:=(-b-sqrt(D))/(2*a); X2:=(-b+sqrt(D))/(2*a);
Writeln(‘Корені рівняння:’);
Writeln(‘Xl=’,X1:8:2);
Writeln(‘X2=’,X2:8:2);
If (round (XI) OX1) or (round(X2) <>X2)
Then writeln(‘Корені рівняння не є цілими числами.’)
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).
Мета уроку: Дати поняття про форми вказівки вибору
Теоретичний матеріал
Цей оператор є узагальненням оператора if і дозволяє зробити вибір із довільного числа наявних варіантів. Він складається з виразу, що називається селектором, і списку параметрів, кожному з яких передує список констант вибору (список може складатися і з однієї константи). Як і в операторі if тут може бути присутнім слово else, що має той же зміст. Формат опису:
Читать дальше