Тема: Алгоритми і програми з розгалуженнями.
План.
1. Оператор безумовного переходу (goto).
2. Умовні оператори.
3. Складена команда.
Література: Я.М. Глинський. Інформатика. Алгоритмізація і програмування. Книжка 1. с. 67-85.
1 Оператор безумовного переходу (goto).
Команду переходу використовують щоб змінити порядок виконання команд у програмі.
Вона має такий вигляд:
goto – перекладається “перейти на”, де “мітка” – це адрес команди (оператора), на який потрібно перейти. Мітка може бути числом від 0 до 9999 або ідентифікатор, після якого є символ (:).
Приклади міток: 10:, 222:, m1:, alpha:. Усі мітки можна оголосити у розділі оголошення міток на початку програми так:
Наприклад:
label 10:, 222:, m1:, alpha:.
Задача Скласти програму обчислення функції:
для трьох різних значень x = 3,4,5 з клавіатури з використанням команди переходу goto.
Програма:
program FUN_Y;
label 10;
var x,y: real;
begin
10: write (’введіть значення х:’);
read ln (x);
y: = (3*5 sin (x) + cos (2*x)/(3.5-4*abs(x));
write ln (x:6:2, y:6:2)
goto 10;
end.
2. Умовні оператори.
У повсякденній діяльності часто доводиться аналізувати різноманітні ситуації, умови і залежно від них приймати ті чи інші рішення.
Команди розгалуження або умовні оператори змінюють порядок виконання дій у алгоритмі в залежності від виконання чи невиконання певних умов. Розгалуження бувають декількох видів. Найпростішим видом є “неповне розгалуження”.
Неповне розгалуження реалізується за допомогою команди if (якщо):
Виконання команди: <команда> може бути один оператор або група операторів. Якщо виконується умова (в блок-схемі – вітка “так”), то виконається оператори чи група операторів після слова then. Якщо ж умова не виконується (в блок-схемі – вітка “ні”), то ця команда не буде виконуватися і буде виконуватися наступний після if оператор (команда).
Умова – це логічний вираз, які бувають прості і складені.
Простий логічний вираз – це два арифметичні вирази, з’єднані символом відношення (порівняння).
У Паскалі символи відношень записуються так:>-більше,<менше,
>= - більше або дорівнює (не менше), <= - менше або дорівнює (не більше),
= - дорівнює, < > - не дорівнює.
Наприклад: x<5; x+y>=2*x; x< >y.
Складені логічні вирази – це прості логічні вирази, до яких застосовані логічні операції not (не), and (і), or (або).
Наприклад. Побудувати вираз, який буде використовуватися для визначення студентів, які не отримали оцінки “2” з інформатики (тобто отримали інші оцінки). Для позначення оцінки використаємо числову змінну ocinka. Шуканий вираз можна записати так:
А). not(ocinka=z) або ocinka< >2.
Приклад.
Записати подвійну нерівність
0<x<3 для дійсних х можна так: (x<0) and (x<3).
Примітка. Прості логічні вирази, які входять у складені, записують у круглих дужках.
Приклад.
На мові Паскаль таку складену умову можна записати так:
x< >4 or x< >-5.
Задача. Скласти програму, де у змінні а та b ввести два цілих числа. Третій змінній с присвоїти значення більшого з-поміж уведених. Якщо числа рівні, то змінні с присвоїти значення будь-якого з чисел.
program twonumbers;
var a,b, c: integer;
begin
write (’Введіть два числа’);
read ln(a,b);
if a>b then c:=a;
if a<b then c:=b;
if a=b then c:=a;
write ln (‘c=’, c); read ln
end.
Задача. Увести будь-яке значення х і обчислити значення функції у, яка задана формулою
program F1
var x,y: real;
begin
write (‘Введіть х:’);
read ln (x);
if x>0 then y:=x+3 else y:=x-5;
write ln (‘y=’,y);
read ln
end.
Повне розгалуження.
Повне розгалуження реалізують за допомогою повної команди розгалуження if.