Мета уроку:навчити складати алгоритми з використанням команди розгалуження та записувати їх мовою програмування.
Практична робота
На початку уроку бажано зробити експрес-опитування за матеріалом попереднього уроку (поняття умови, умови прості та складені, поняття команди розгалуження, її форми, запис мовою програмування та мовою блок-схем). Далі пропонується розглянути типові задачі з використанням команди розгалуження.
ЗАДАЧА № 97
Умова: Дано значення дійсних величин а, b, с. Знайти:
min((a + b + с) /2, 1/(а2 +l)+l/(b2 +l)+l/(c2 +1)
Використані у програмі змінні, на наш погляд, є очевидними. Тому наводимо програму без пояснень.
Program Example_97_2;
Uses crt;
Var а,Ь,с : real;
Rezl,Rez2,Min : real; {а,Ь,с - вхідні дамі; Rezl, Rez2 -проміжні обчислення; Міn - результат виконання програми}
Умова: Дано значення дійсної величини х. Визначити:
х-5___
хг+х-2
На перший погляд діти можуть не зрозуміти, навіщо у цій задачі команда розгалуження. Треба їм нагадати відоме правило: ділити на нуль не можна. І тоді розв'язок стає очевидним.
Program Example_100_2;
Uses crt;
Var X,Rezultat:real;
Begin
Clrscr; {Очищення екрану}
Write('Введіть значення X: ');
Readln(X);
If X*X*X+X-2<>0 Then
Begin
Rezultat:=(X-5)/(X*X*X+X-2);
Writeln('Rezultat=',Rezultat:8:2);
End
Else
Writeln('Обчислення неможливі - ділення на нуль!');
Readkey;
End.
ЗАДАЧА №101
Умова: При даному значенні х обчислити:
Для розв'язання цієї задачі необхідно пам'ятати, що не можна знайти квадратний корінь з від'ємного числа (зверніть увагу дітей на те, що у прикладі присутні два квадратних кореня).
За рейтинговою системою оцінка визначається таким чином: якщо загальний бал учня становить не менше 92% від максимального, то виставляється оцінка 12, якщо не нижче 70%, то — оцінка 8, якщо ж не нижче 50%, то — оцінка 5, в інших випадках - оцінка 2. Визначте оцінку учня, якщо він набрав N балів, а максимальне значення загального балу становить S. У цій задачі можна використати повну або скорочену форму команди розгалуження.
Пропонується розв'язування зі скороченою формою.
Program Example_107;
Uses crt;
Var N,S,Grade:integer; {N - бали, що набрав учень; S -максимальне значення сумарного балу; Grade - оцінка учня}
Begin
Clrscr;
Wrіte('Введіть максимальне значення сумарного балу, що може набрати учень: ');
Readln(S);
Write ('Введіть кількість балів, що отримав учень: ».) ;