Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LR_02_ALG_01.doc
Скачиваний:
9
Добавлен:
10.04.2015
Размер:
427.01 Кб
Скачать

Лабораторна робота №2. Розгалужені структури. Мета: вивчення основ побудови алгоритмів та основних операторів, які використовуються для вирішення задач, що мають розгалужену структуру

Порядок виконання лабораторної роботи:

1 – провести лабораторне дослідження на тестовому прикладі;

2 – виконати індивідуальні завдання;

3 – оформити результати досліджень в журналі.

ТЕОРЕТИЧНИЙ МАТЕРІАЛ

Frame1

І етапформалізація задачі.

Frame2

ІІ етапалгоритмізація.

Розгалуження - алгоритмічна конструкція, в якій вибір дії залежить від виконання певних умов, значень вхідних даних або проміжних результатів.

Технологія проектування розгалужених алгоритмів включає:

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

Frame7

ІІІ етаппрограмування.

Одним із програмних засобів запису керуючої частини є оператор І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 етапаналіз результатів.

Frame16

І етапформалізація задачі.

Frame17

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]