Тема уроку: "Розв'язування задач з лінійними алгоритмами "
Мета уроку: Навчитися розв'язувати прості задачі з лінійними алгоритмами.
Тип уроку: Практична робота.

На початку уроку необхідно нагадати дітям правила поведінки в комп'ютерному класі та правильної роботи за комп'ютером.
Повторити з учнями поняття величини, типи величин в мові Паскаль, поняття команди присвоєння, правила оформлення виразів та пріоритет виконання операцій, основні арифметичні функції мови Паскаль.
Розв'язати наступні приклади (повторення):
•    Якщо значення цілочисельних змінних наступне X=15, Y=25, Z=8, то чому будуть дорівнювати значення цих змінних після виконання операцій присвоювання:
X := sqrt(Y)*2; Y := Y-2; Z := Y div 2 mod 3;
Відповідь: X:= sqrt(25)*2 X = 10
Y:= 25 - 2 Y = 23
Z:= 23 div 2 mod 3 Z = 2
•    Написати команду присвоєння, що надає значення середнього арифметичного змінних X та Y змінній Z.
Відповідь: Z := (X + Y) / 2
•    За допомогою яких операторів присвоєння можна поміняти місцями значення двох змінних X таY.
Для цього необхідно використання третьої змінної того ж типу, що й змінні X та Y, наприклад, Z:
Z := X; X := Y; Y := Z
•    Далі можна розв'язати задачі з запропонованого підручника на сторінках 55 - 58.
Приклади розв'язування задач:
№41.
Умова: Якщо на одну шальку терезів посадити Даринку, яка важить n кг, і Наталку, яка важить на 5 кг менше, а на іншу насипати m кг цукерок, то скільки кілограмів цукерок доведеться з'їсти дівчаткам, щоб шальки терезів врівноважились.
Введемо наступні змінні для зберігання необхідних результатів:
N - вага Даринки;
M - вага цукерок;
P - вага цукерок, що необхідно з'їсти дівчинкам.
Тоді програма для розв'язання задачі буде такою:
Program Task_41;
Uses crt;
Var M, N, P : real;
Begin
Clrscr;
Write(‘Введіть вагу Даринки   ’);
Readln(N);
Write(‘Введіть вагу цукерок, що лежать на терезах’);
Readln(M);
P := N + N – 5 – M;       {N – 5 – вага Наталки}
Writeln(‘Дівчаткам необхідно з’їсти ’,P,‘кг цукерок.’);
Readln;    {Процедура затримує зображення на екрані до натискання клавіші Enter}
 
End.
№50.
Умова: Дано два дійсних числа a та b. Обчислити їх суму, різницю, добуток.
Необхідні змінні:
a, b - задані числа;
Add - сума чисел;
Sub - різниця чисел;
Multy - добуток чисел.
Програма має наступний вигляд:
Program Task_50;
Uses crt;
Var a, b, Add, Sub, Multy : real;
Begin
Clrscr;
Write(‘Введіть два числа  ’);
Readln(a,b);
Add := a + b;
Sub := a – b;
Multy := a*b;
Writeln(‘Результати обчислень:’);
Writeln(‘Сума = ‘, Add :8:2);
Writeln(‘Різниця = ’, Sub :8:2);
Writeln(‘Добуток = ’, Multy :8:2);
Readkey;    {Процедура затримки зображення на екрані до натискання будь-якої клавіші}
End.
№51.
Умова: Дано дійсні числа x та y. Обчислити значення виразу: 
Необхідні змінні:
x, y - задані числа;
Rez - результат обчислень.
Програма має наступний вигляд:
Program Task_51;
Uses crt;
Var x, y, Rez : real;
Begin
Clrscr;
Write(‘Введіть два числа  ’);
Readln(x,y);
{Будьте уважні при розставлянні дужок у виразі}
Rez := (abs(x)-abs(y))/(1+abs(x*y));
Writeln(‘Rez= ‘, Rez:8:2);
Readkey;
End.
№58.
Умова: Дано гіпотенуза і один з катетів прямокутного трикутника. Знайти другий його катет і площу вписаного круга.
Необхідні змінні:
a - катет прямокутного трикутника;
c - гіпотенуза прямокутного трикутника;
b - довжина невідомого катета;
S - площа вписаного круга.
Математична довідка:
•    ь другий катет прямокутного трикутника знаходиться за теоремою Піфагора a^2 + b^2 = c^2, звідки випливає, що катет дорівнює: 
•    площа вписаного круга обчислюється за наступною формулою: 
Програма має наступний вигляд:
Program Task_58;
Uses crt;
Var a, b, c, S : real;
Begin
Clrscr;
Write(‘Введіть довжину гіпотенузи  ’);
Readln(с);
Write(‘Введіть довжину відомого катета  ’);
Readln(a);
b := sqrt(sqr(c)-sqr(a));
S := Pi*(a+b-c)/2;
Writeln(‘Довжина невідомого катета: ’, b:8:2);
Writeln(‘Площа вписаного кола: ’, S:8:2);
Readkey;
End.
№62.
Умова: Обчислити відстань між двома точками з координатами (x1; y1) та (x2; y2).
Необхідні змінні:
x1, y1 - координати першої точки;
x2, y2 - координати другої точки
Математична довідка:
Відстань між двома точками обчислюється за теоремою Піфагора, як катет прямокутного трикутника, побудованого наступним чином:
 
Тоді відстань між точками з координатами (x1, y1) та (x2, y2) буде обчислюватись за наступною формулою: 
Враховуючи, що різниця між координатами точок підноситься до квадрату, можна не звертати увагу на послідовність координат в різниці.
Програма має наступний вигляд:
Program Task_62;
Uses crt;
Var x1,x2,y1,y2,S : real;
Begin
Clrscr;
Write(‘Введіть координати першої точки  ’);
Readln(x1,y1);
Write(‘Введіть координати другої точки  ’);
Readln(x2,y2);
S := sqrt(sqr(x1-x2)-sqr(y1-y2));
Writeln(‘Відстань між двома точками дорівнює: ’, S:8:2);
Readkey;
End.
№66.
Умова: Визначити, яку роботу необхідно виконати, щоб підняти тіло масою m на висоту h від Землі.
Необхідні змінні:
m - маса тіла;
h - висота підйому тіла;
A - робота.
Математична довідка:
Робота, необхідна для підняття тіла масою m на висоту h, обчислюється за наступною формулою:
A = mgh,
де g = 9,8 - таблична константа (прискорення вільного падіння).
Програма має наступний вигляд:
Program Task_66;
Uses crt;
Var m,h,A : real;
Begin
Clrscr;
Write(‘Введіть масу тіла  ’);
Readln(m);
Write(‘Введіть висоту підйому тіла ’);
Readln(h);
A := m*h*9.8;
Writeln(‘Виконана робота дорівнює: ’, А:8:2);
Readkey;
End.
№73.
Умова: Визначити, яку платню одержить на фірмі сумісник за виконану роботу, якщо йому нараховано S грн., а податок становить 20 відсотків.
Необхідні змінні:
S - сума нарахувань сумісника;
P - реальна платня, що він одержить у касі (за умовою вона становить 80% від нарахувань).
Програма має наступний вигляд:
Program Task_73;
Uses crt;
Var P,S : real;
Begin
Clrscr;
Write(‘Введіть суму нарахувань робітника ’);
Readln(S);
P := S*0.8;
Writeln(‘Платня сумісника становить: ’, P:8:2);
Readkey;
End.
№76.
Умова: Скласти програму, що подає звуковий сигнал з частотою H Гц та тривалістю Т мс.
Необхідні змінні:
H - частота звука;
T - тривалість звука.
Програма має наступний вигляд:
Program Task_76;
Uses crt;
Var H,T : integer;
Begin
Clrscr;
Write(‘Введіть частоту звука  ’);
Readln(H);
Write(‘Введіть тривалість звуку  ’);
Readln(T);
Sound(H);
Delay(T);
Nosound;
End.
№77.
Умова: Дано значення змінних x, y, z. Обчислити значення змінної t:
 
 
Необхідні змінні:
x, y, z - задані числа;
t1, t2, t3, t4 - результати обчислень за відповідними формулами завдання 77 підпункти 1), 2), 3), 4).
Математична довідка:
Для обчислення будь-якої степені будь-якого числа можна скористатися такою формулою: 
Мовою Паскаль це буде мати наступний вигляд:
Exp(ln(x)*y)
Програма має наступний вигляд:
Program Task_77;
Uses crt;
Var x,y,z,t1,t2,t3,t4 : real;
Begin
Clrscr;
Write(‘Введіть три числа’);
Readln(x,y,z);
T1 := (x+y)/(x-1/2)-(x-z)/(x*y);
T2:= exp(ln(x)*exp(ln(y)*(z+2)))+ exp(ln(x)*exp)ln(y)*z)));
T3:= (1+z)*(x+y/z)/(x-1/(1+sqr(x));
T4:= x/(1+sqr(x)/(3+sqr(2*x)/(5+sqr(3*x))));
Writeln(‘Т1= ’, Т1:8:2);
Writeln(‘Т2= ’, Т2:8:2);
Writeln(‘Т3= ’, Т3:8:2);
Writeln(‘Т4= ’, Т4:8:2);
Readkey;
End.
Домашнє завдання:
•    повторити теоретичний матеріал за попередні уроки;