- •Лабораторна робота №2. Розгалужені структури. Мета: вивчення основ побудови алгоритмів та основних операторів, які використовуються для вирішення задач, що мають розгалужену структуру
- •Підберемо вхідні значення для кожного з розрахунків z:
- •Індивідуальні завдання №2.2 до лабораторної роботи.
- •Індивідуальні завдання №2.4 до лабораторної роботи.
- •Індивідуальні завдання №2.5 до лабораторної роботи.
Лабораторна робота №2. Розгалужені структури. Мета: вивчення основ побудови алгоритмів та основних операторів, які використовуються для вирішення задач, що мають розгалужену структуру
Порядок виконання лабораторної роботи:
1 – провести лабораторне дослідження на тестовому прикладі;
2 – виконати індивідуальні завдання;
3 – оформити результати досліджень в журналі.
ТЕОРЕТИЧНИЙ МАТЕРІАЛ
ᄃ
І етап – формалізація задачі.
ІІ етап – алгоритмізація.
Розгалуження - алгоритмічна конструкція, в якій вибір дії залежить від виконання певних умов, значень вхідних даних або проміжних результатів.
Технологія проектування розгалужених алгоритмів включає:
1 – введення початкових даних;
2 – розрахунки проміжних та вихідних даних в залежності від виконання певних умов (керуючої частини);
3 – виведення результатів.
Умовні позначення символів (блоків) та функції, які відображаються ними
Керуюча частина – управляє інформаційним потоком (розділяє потік даних на 2 частини)
введення
початкових даних
керуюча
частина
розрахункова
частина
виведення
результатів
Керуюча частина – символ(и) "рішення" по'єднананих певним чином так, щоб - для певного набору вхідних даних або проміжних результатів гарантувалося виконання дій по єдиній гілці алгоритму. Вибір гілки задається логічним відношенням або логічним виразом.
Логічне відношення (проста умова) - послідовний запис констант, змінних, арифметичних виразів, функцій, об'єднаних знаками відношення: = , < , >, ≠ , ≤, ≥. У відношенні порівнюють дві частини. Результатом виконання операції відношення (зважування) є "Істина" (логічне значення = 1), інакше "Хибність"- (логічне значення = 0).
Наприклад:
Правила Доповнення логічного відношення
Наприклад:
Логічний вираз (складна умова) - послідовний запис логічних відношень, об'єднаних знаками логічних операцій: конъюнкція(/\), диз'юнкція(\/), інверсія(). Результат виконання логічних операцій наведений у таблицях істинності.
F=a F=a /\ b F=a \/ b
a |
F |
|
a |
b |
F |
|
a |
b |
F |
0 |
1 |
|
0 |
0 |
0 |
|
0 |
0 |
0 |
1 |
0 |
|
0 |
1 |
0 |
|
0 |
1 |
1 |
|
|
|
1 |
0 |
0 |
|
1 |
0 |
1 |
|
|
|
1 |
1 |
1 |
|
1 |
1 |
1 |
Правила Доповнення логічного виразу
Варіанти запису схеми для логічного виразу 0<X<2:
Варіанти запису схеми для логічного виразу 0<X або X > 6:
Порядок логічних операцій1: 1) інверсія(); 2) конъюнкція(/\); 3) диз'юнкція(\/);
Наприклад, логічний вираз a /\ b V (c) /\ a V b /\ (a) /\ (b)=1 якщо a=0; b=1; c=0:
Якщо a=0; b=1; c=0 то 0 /\ 1 V (0) /\ 0 V 1 /\ (0) /\ (1)
1)проведемо операції інверсії() 0 /\ 1 V (0) /\ 0 V 1 /\ (0) /\ (1)
1 1 1 0
отримаємо 1 /\ 1 V 1 /\ 0 V 1 /\ 1 /\ 0
2)проведемо операції конъюнкції(/\) 1 /\ 1 V 1 /\ 0 V 1 /\ 1 /\ 0
1 0 1 /\ 0
0
отримаємо 1 V 0 V 0
3)проведемо операції диз'юнкція(\/) 1 V 0 V 0
1 V 0
1
отримаємо 1
ІІІ етап – програмування.
Одним із програмних засобів запису керуючої частини є оператор ІF...THEN...ELSE. Виконуються відповідно схеми алгоритму.
а) лінійна форма оператора IF – використовується якщо перевіряється одна-дві умови.
Формат оператора IF: |
ІF<умова>THEN<оператори_так>[ELSE<оператори_ні>] |
де <умова> - логічний вираз, що набуває значення ХИБНІСТЬ (0) або ІСТИНА (1). |
оператори_так – виконуються, якщо результат перевірки умови - ІСТИНА . оператори_ні - виконуються, якщо результат перевірки умови - ХИБНІСТЬ. |
Наприклад:
б) блокова форма оператора IF – використовується якщо керуюча частина складна.
Формат оператора IF: |
ІF <умова1> THEN [ блок_операторів-1 ]
[ ELSEІF < умова 2> THEN [ блок_ операторів-2 ] ]. ... [ ELSE [ блок операторів-n ] ] END ІF |
|
Наприклад (див. також далі тестову задачу №2):
Результат
виконання 3 етапу вирішення тестової
задачі№1.
введення
початкових даних
INPUT
х
керуюча
частина
IF
x<0 THEN y=2*x+3 ELSE y=4*x-7 END
IF
розрахункова
частина
виведення
результатів PRINT
y
ІV етап – тестування.
V етап – аналіз результатів.
І етап – формалізація задачі.