52841.fb2 Я готуюсь до курсу інформатики. Алгоритмізація та програмування - читать онлайн бесплатно полную версию книги . Страница 15

Я готуюсь до курсу інформатики. Алгоритмізація та програмування - читать онлайн бесплатно полную версию книги . Страница 15

УРОК 14. Програми з вказівкою розгалуження

Мета уроку: навчити складати алгоритми з використанням команди розгалуження та записувати їх мовою програмування.

Практична робота

На початку уроку бажано зробити експрес-опитування за матеріалом попереднього уроку (поняття умови, умови прості та складені, поняття команди розгалуження, її форми, запис мовою програмування та мовою блок-схем). Далі пропонується розглянути типові задачі з використанням команди розгалуження.

ЗАДАЧА № 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 - результат виконання програми}

Begin

Clrscr; {Очищення екрану}

Write(“Введіть числа а,b,с: ‘);

Readln(a,b,c);

Rezl:=(a + b + с) / 2;

Rez2:=sqrt(1/ (sqr (a) +1) + 1/ (sqr (b) +1) +1/ (sqr (c) +1)) ;

If Rezl<Rez2 Then Min:=Rezl

Else Min:=Rez2;

Writeln(‘Min=’,Min:8:2);

Readkey; {Затримка зображення на екрані}

End.

ЗАДАЧА № 100

Умова: Дано значення дійсної величини х. Визначити:

х-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

Умова: При даному значенні х обчислити:

Для розв’язання цієї задачі необхідно пам’ятати, що не можна знайти квадратний корінь з від’ємного числа (зверніть увагу дітей на те, що у прикладі присутні два квадратних кореня).

Program Example_101_4;

Uses crt;

Var X,Rezultat:real;

Begin

Clrscr;

Wrіte(‘Введіть значення Х: ‘);

Readln(X);

If (X>=1) and (X*X*X-sqrt(X-l)>=0) Then

begin

Rezultat:=sqrt(X*X*X-sqrt(X-l));

Writeln(‘Rezultat=’,Rezultat:8:2);

end

Else

Writeln(‘Обчислення неможливі - від’ємний підкореневий вираз!’) ;

Readkey;

End.

ЗАДАЧА № 107

За рейтинговою системою оцінка визначається таким чином: якщо загальний бал учня становить не менше 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 (‘Введіть кількість балів, що отримав учень: ».) ;

Readln(N);

If (S<=0) or (N<=0) or (N>S)

Then writeln(‘Помилка вхідних даних’)

Else

Begin

N:=round(N/S*100); {Знаходження %-відношення балів учня до максимально можливого}

If N>=92 then Grade:=12;

If (N<92) and (N>=70) then Grade:=8;

If (N<70> and (N>=50) then Grade:=5;

If (N<50) then Grade:=2;

Writeln(‘Учень отримав оцінку - ‘, Grade);

End;

Readkey;

End.

ЗАДАЧА № 103

Умова: На площині дано дві точки (х1 у1 ) та (х2, y2) Визначити, яка з них знаходиться далі від початку координат.

Для розв’язання цієї задачі необхідно скористатися теоремою Піфагорадля знаходження відстані від початку координат до заданої точки (дивись малюнок):

Очевидно, що відстань від початку координат до точки з координатами (х,у) буде обчислюватись наступним співвідношенням:

Зверніть увагу: в зв’язку з тим, що кожна з координат у формулі підноситься до квадрату, неважливо, в якій чверті координатної площини буде знаходитись точка. Виходячи з усього вищесказаного, програма для розв’язання даної задачі має наступний вигляд:

Program Example__103;

Uses crt;

Var Xl,Yl,X2,Y2:real;

{X1,Y2,X2,Y2 - координати даних точок}

SI, S2:real;

{S1,S2 - відстані відповідно до першої та другої точки}

Begin

Clrscr;

Write(‘Введіть координати першої точки: ‘);

Readln(XI,Y1);

Write(‘Введіть координати другої точки: ‘);

Readln(X2,Y2);

Sl:=sqrt(sqr(Xl)+sqr(Yl)) ;

S2:=sqrt(sqr(X2)+sqr(Y2));

If SKS2

Then Writeln(‘Друга точка далі від початку координат’)

Else Writeln(‘Перша точка далі від початку координат’);

Readkey;

End.

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

• Прочитати сторінки 59—65 запропонованого підручника;

• Задачі № 96 (2), 97 (3), 99, 100 (4), 101 (5), 102 (1), 104, 105.