Розв'язування задач з лінійними алгоритмами

Матеріал з Фізмат Вікіпедії
Перейти до: навігація, пошук

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

Тип уроку: Практична робота

Хід уроку

Організаційний етап

На початку уроку необхідно нагадати дітям правила поведінки в комп'ютерному класі та правильної роботи за комп'ютером.

Повторити з учнями поняття величини, типи величин в мові Паскаль, поняття команди присвоєння, правила оформлення виразів та пріоритет виконання операцій, основні арифметичні функції мови Паскаль.

Повторення вивченого матеріалу

Розв'язуємо наступні приклади (повторення):

• Якщо значення цілочисельних змінних наступне 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

Закріплення матеріалу

№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.

Домашнє завдання:

• повторити теоретичний матеріал за попередні уроки;

• задачі з запропонованого підручника 42, 52, 59, 63, 74, 75, 78.