Тема уроку: "Розв'язування
задач з лінійними алгоритмами "
Мета уроку: Навчитися розв'язувати прості задачі з лінійними алгоритмами.
Тип уроку: Практична робота.
На початку уроку необхідно нагадати дітям правила поведінки в комп'ютерному
класі та правильної роботи за комп'ютером.
Повторити з учнями поняття величини, типи величин в мові Паскаль, поняття команди
присвоєння, правила оформлення виразів та пріоритет виконання операцій, основні
арифметичні функції мови Паскаль.
Розв'язати наступні приклади (повторення):
Приклади розв'язування задач:
№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 - площа вписаного круга.
Математична довідка:
Програма має наступний вигляд:
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.
Домашнє завдання: