Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4 основи програмування книга.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.77 Mб
Скачать

6.4. Приклади

Програмами, що розгалужуються, називаються програми, в яких використовуються оператори розгалуження.

Приклад 6.1. Скласти програму розв’язання квадратного рівняння, заданого своїми коефіцієнтами a, b, c.

Program SquareEquation;

Const

Line = ‘----------------------------‘;

Var

a, b, c, Root1, Root2: real;

Solution: Integer;

Procedure InpData (Var a, b, c : Real);

Begin

Write(‘ Введіть коефіцієнти рівняння (через пробіл):’);

Readln(a, b, c) ;

End;

Procedure SolutionEquation ( a, b, c : Real; Var Solution: Integer; Var Root1, Root2: real );

Var Discriminant: Real;

Begin

Discriminant := Sqr(b) - 4*a*c;

If Discriminant < 0

then Solution := 0 { Немає коренів }

else If Discriminant = 0 { Один корінь }

then begin

Solution := 1;

Root1 := -b/a;

end

else { Два кореня } begin

Solution := 2;

Root1 := (-b + Sqrt(Discriminant))/(2*a);

Root2 := -b/a - Root1;

end ;

End;

Procedure OutData (Solution, Root1, Root2: Real);

Begin

Writeln(Line);

Writeln(‘ Кількість розв’язків дорівнює: ‘, Solution);

If Solution=1 then Writeln(‘ X= ‘,Root1);

If Solution=2 then Writeln(‘ X1= ‘,Root1, ‘ X2= ‘,Root2);

End;

Begin

{Введення даних}

InpData (a, b, c);

{Обчислення}

SolutionEquation ( a, b, c, Solution, Root1, Root2);

OutData (Solution, Root1, Root2l);

End.

6.5. Задачі вибору й упорядкування

6.5.1. Задачі вибору

У найбільш простих випадках, коли є невелика кількість елементів інформації, пошук елемента з заданими властивостями зводиться до вибору цього елемента з декількох елементів. Тому такі задачі називають задачами вибору.

 

Задача 1. Вибір мінімального з двох елементів. У задачі потрібно з двох елементів a і b вибрати мінімальний.

Розв’язання. Вибір мінімального елемента з двох даних a і b програмується як розгалуження:

If a < b then Min := a else Min := b

Оскільки такий вибір в інших алгоритмах використовується дуже часто, мовою програмування його реалізують у вигляді функції

Function Min(a, b: Real): Real;

Begin

If a < b

then Min := a

else Min := b

End;

Цей алгоритм, власне кажучи, не залежить від того, з якими даними він має справу. Порівнювати за величиною можна цілі, дійсні або раціональні числа. Символи і рядки порівнюють згідно з алфавітним порядком. Якщо в якості даного використовується сукупність відомостей про учня, мірою порівняння може бути його вік, зріст або рейтинг успішності.

Таким чином, у наведеній функціі тип даних легко можна змінити на необхідний.

Задача 2. Вибір мінімального з трьох елементів. У задачі потрібно з елементів a, b, с вибрати мінімальний елемент d.

Розв’язання. Вибір мінімального елемента з трьох даних елементів можна здійснити, використовуючи функцію Min:

d := Min(Min(a, b), c);

Текст програми мовою Паскаль:

Program Min;

Var

a, b, c : Real;

d : Real;

Function Min (u, v: Real): Real;

Begin

If u < v

then Min := u

else Min := v

End;

Begin

{введення a, b, c}

d := Min(Min(a, b), c);

{виведення d}

End.

Задачі для самостійного розв’язування.

Задача 3. Скласти алгоритм вибору найменшого і найбільшого з двох елементів. Скільки операцій порівняння виконує Ваш алгоритм?

Задача 4. Скласти алгоритм вибору найбільшого з трьох елементів. Скільки операцій порівняння виконує Ваш алгоритм?

Задача 5. Скласти алгоритм вибору найменшого і найбільшого з чотирьох елементів. Скільки операцій порівняння виконує Ваш алгоритм?

Задача 6. Відомо, що в множині з 4-х елементів a1 < a2, a3 < a4. Скласти алгоритм пошуку найменшого елемента в цій множині. Скільки операцій порівняння виконує Ваш алгоритм?