Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Посібник_Лутай АП

.pdf
Скачиваний:
45
Добавлен:
22.02.2016
Размер:
41 Мб
Скачать
☆

This document is created with trial version of Document2PDF Pilot 2.16.100.

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

Графічне Призначення Виконувана дія зображення

 

 

Початок

 

 

 

Пуск

Початок алгоритму

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Останов

Закінчення алгоритму

 

 

 

 

Кінець

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Уведення/

Уведення або виведення д

а-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

виведення

них

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Процес

Виконання обчислень або

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

присвоєння значень

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Перевірка у мови. Якщо ум о-

 

 

 

 

 

 

 

 

 

 

 

 

ва справедлива (набуває зн а-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Розв’язок

чення ИСТИНА), виконуєт ь-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Истина

 

 

 

 

 

 

 

 

 

ся перехід по лінії Так, а я

к-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

що не справедлива (наб

уває

 

 

 

 

Ложь

 

 

 

 

значення ЛОЖЬ), то викон

у-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ється перехід на насту

пний

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

блок по лінії Ні

 

 

 

 

 

 

 

 

 

 

 

 

 

Визначений процес

Виклик раніше створених а л-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

горитмів (модулів)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Модификація

Найчастіше використовується

 

 

 

 

 

 

 

 

 

 

 

 

при присвоєнні нових зн

 

а-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

чень старим, тобто тим, що

 

 

 

 

 

 

 

 

 

 

 

 

 

вже були раніше описані

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Коментар

Короткі пояснення до пок

а-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

заного блоку

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Поєднувач

Поєднання одного блоку з

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

іншим

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

Розгалужена структура передбачає вибір виконання дії залежновід виконання певної умови, при цьому де які дії можуть не вико нуватися взагалі (пропускатися). Умова може бути простою і складною.

251

This document is created with trial version of Document2PDF Pilot 2.16.100.

Проста умова містить два вирази (значення), поєднані знаком операції ві д- ношення:

> більше за…

<менше за…

³ більше або дорівнює… £ менше або дорівнює …

¹не дорівнює…

Результатом перевірки умови є логічний вираз ИСТИНА, якщо умова виконується, або ЛОЖЬ, якщо умова не виконується.

Складна умова містить дві або більше простих умов, поєднаних знаками логічних операцій:

И — усі вказані умови мають виконуватися одночасно, тобт о результатом усіх включених простих умов має бути ИСТИНА. При цьому операція И дасть результат ИСТИНА, а якщо хоча б одна з перелічених умов має р езультат ЛОЖЬ, операція И дасть результат ЛОЖЬ.

ИЛИ — деякі з указаних умов можуть виконуватися, а деякі — ні. Якщо жодна з перелічених умов не виконується, то результатом операції ИЛИ буде ЛОЖЬ, у всіх інших випадках — результат ИСТИНА.

НЕ — заперечення для умови.

Нижче показані результати перевірки складних умов, які містять по дві прості умови: таблиця 5.2.3.1

Таблиця 5.2.3.1 - Результати перевірки складних умов

Умова 1

Умова 2

И (Ум-

ИЛИ (Умо-

НЕ (Умова1)

ва1;Умова2)

ва1;Умова2)

 

 

 

 

 

 

 

 

ИСТИНА

ИСТИНА

ИСТИНА

ИСТИНА

ЛОЖЬ

ЛОЖЬ

ИСТИНА

ЛОЖЬ

ИСТИНА

ИСТИНА

ИСТИНА

ЛОЖЬ

ЛОЖЬ

ИСТИНА

 

ЛОЖЬ

ЛОЖЬ

ЛОЖЬ

ЛОЖЬ

 

Циклічна структура використовується за необхідності повторень деяких дій (блоків). Перед кожним повторенням (ци клом) змінюється значення одного або кількох даних.

Комбінуючи базові структури між собою, можна відтворювати алгоритм, що реалізує складний обчислювальний процес.

Структурна побудова алгоритму включає:

·використання методу покрокової деталізації;

·

використання на кожному із зазначених кроків трьох перелічених баз о-

вих структур;

·

аналіз створеного алгоритму — метод ручної «прокрутки» — перевірка

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

252

This document is created with trial version of Document2PDF Pilot 2.16.100.

5.3.Приклади алгоритмів

5.3.1.Лінійна структура алгоритму

Знайти значення виразу:

Y = ( x 2 + c )− sin(ax − c )

для заданих вхідних значень a, c і x = cos(a2c2).

При формалізації поставленого завдання використовується метод покрок о- вої деталізації і з’ясовується, що процес визначення Y розбивається на такі етапи:

1.Визначення вхідних значень змінних a, c.

2.Обчислення виразу x = cos(a2c2).

3. Обчислення виразу Y = ( x 2 + c ) − sin(ax − c ) .

4. Виведення отриманих вихідних значень x та Y. Створення алгоритму полягає у використанні таких блоків:

∙ При уведенні та виведенні даних використовується блок Уведе н- ня/Виведення:

а,с x,Y

∙ Алгоритм починається блоком Пуск:

∙ При обчисленні вир азів у блок -схемі ви користовується блок Процес, а при запису виразу викори с- товується знак := (знак присвоєння значень).

x: = cos(a2c2)

∙ а закінчується блоком Останов:

Початок

Кінець

 

Нижче показана блок -схема алгоритму вирішення поставленого завдання:

рисунок 5.3.1.1.

З прикладу видно, що кожен блок, що складає схему алгоритму, виконуєт ь- ся послідовно і не повторюється, тобто алгоритм справді має лінійну структуру.

5.3.2. Розгалужена структура алгоритму

Приклад 1: Обчислити значення коренів квадратного рівняння: ax2 + bx + c = 0.

При формалізації процес визначення коренів квадратного рівняння розбивається на такі етапи:

253

This document is created with trial version of Document2PDF Pilot 2.16.100.

Початок

а,с

x: = cos(a2c2)

Y := ( x 2 + c )− sin(ax − c )

x,Y

Кінець

Рисунок 5.3.2.1 - Блок-схема алгоритму вирішення поставленого завдання

1.Уведення вхідних значень коефіцієнтів a, b і вільного члена c.

2.Визначення значення дискримінанта.

D = b2 – 4ac.

3. Перевірка отриманого значення дискримінанта: якщо диск римінант ³ 0, то можна продовжувати обчислення і ви значати корені рівняння, в проти вному разі дійсних значень коренів немає.

4. Продовження обчислень — визначення коренів:

x 1

=

− b +

D

,

 

 

2a

 

 

 

 

 

 

− b −

 

 

.

x 2

=

 

D

 

 

2a

 

 

 

 

5.Виведення отриманих результатів: x1 та x2.

6.Виведення повідомлення

Дійсних коренів немає

у разі коли дискримінант < 0.

254

This document is created with trial version of Document2PDF Pilot 2.16.100.

Алгоритм може виконуватися у порядку 1, 2, 3, 4, 5 пунк - ти, якщо перевірка умови дає результат ИСТИНА, або у порядку 1, 2, 3, 6 пун к- ти, якщо перевірка умови дає р езультат ЛОЖЬ.

Нижче наведена блок-схема алгоритму: рисунок 5.3.2.2

1

Початок

2

а,b,с

3

D: = b2 – 4ac

ЛОЖЬ 4

ИСТИНА

 

5

+ b +

 

 

 

 

 

 

 

D>=0

 

 

 

 

x1 =

D

 

 

 

 

 

 

 

 

 

 

2a

 

 

 

 

 

 

 

6

− b +

 

 

 

 

D

8

x =

 

 

 

 

 

 

2a

2

 

 

 

 

 

 

 

Дійсних

 

 

 

 

 

 

 

 

 

 

 

 

коренів

 

 

 

 

 

 

 

7

 

 

 

 

 

 

 

 

 

 

 

x1, x2

9

Кінець

Рисунок 5.3.2.2 - Блок-схема алгоритму

255

This document is created with trial version of Document2PDF Pilot 2.16.100.

У блок-схемі алгоритму блок № 4 використовується для перевірки умови і реалізує розгалуження: якщо умова набуває результату істина, далі алгоритм продовжується по блоках 5, 6, 7, 9, а блок 8 зовсім не використовується. Н авпаки, коли умова набуває значення хиба, алгоритм продовжується по блоках 8, 9, при цьому блоки 5, 6, 7 не виконуються взагалі.

Приклад 2: Обчислити значення виразу:

ìabx

2

 

,

 

 

 

 

 

 

ï

 

 

 

 

 

 

 

 

 

x

= 2.

 

 

+ x

 

 

ïb

 

 

 

 

 

),

2 < x <= 8.

Y = ía

+ sin(bx

ï

 

 

 

 

 

 

 

 

 

 

x

> 8.

 

 

ab

 

+ x

 

,

 

 

 

 

 

 

ï

 

 

 

 

 

 

 

 

 

 

 

 

î

 

 

 

 

 

 

 

 

 

 

 

 

При х > 12 та х = 4 функція не визначена. Етапи розв’язання задачі:

1.Уведення коефіціентів a, b.

2.Уведення вхідного значення аргументу x.

3.Перевірка значення аргументу x:

∙Якщо x = 2, то значення Y обчислюється за формулою

abx 2

b + x

∙Якщо x = 4, x < 2 або x > 12, то виводиться повідомлення, що функція не визначена.

∙Якщо x > 8, то значення Y обчислюється за формулою:

∙

 

 

ab + x

 

 

.

 

 

 

Якщо жодна з перерахованих вище умов не виконується, то значення Y

обчислюється за формулою:

 

a + sin(bx )

4.

Виведення значення Y.

На третьому етапі алгоритм має містити розгалуження, яке реалізовує пер е- вірку складної умови.

Так само для побудови блок -схеми використовуються стандартні блоки, що реалізують наведені вище етапи розв’язання зад ачі.

Нижче показана блок-схема створеного алгоритму: рисунок 5.3.2.3.

256

This document is created with trial version of Document2PDF Pilot 2.16.100.

Початок

а,b

x

 

 

x = 2

 

Истина

Y:=

abx 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b + x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ложь

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Истина

 

 

 

 

 

 

 

 

 

 

 

x = 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ложь

 

 

 

 

 

 

 

 

 

 

 

 

 

Истина

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x < 2

 

 

 

 

 

 

 

 

 

 

 

Ложь

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Истина

 

 

 

 

 

 

 

 

 

 

 

x > 12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ложь

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Истина

 

 

 

 

 

 

x > 8

 

 

 

 

 

Функція

Y:=

 

 

 

 

ab + x

 

 

не визначена

Ложь

Y: = a +sin(bx)

Y

Кінець

Рисунок 5.3.2.3 - Блок-схема створеного алгоритму

257

This document is created with trial version of Document2PDF Pilot 2.16.100.

5.3.3. Циклічна структура алгоритму

Циклом називають повторення послідовної кількості кроків алгоритму. Розрізняють такі основні види циклів:

∙цикл по лічильнику;

∙цикл по вхідному значенню;

∙цикл по вихідному значенню (ітераційний цикл);

∙цикл з накопиченням.

При кожному черговому виконанні циклу перевіряється умова напродовження роботи, і, якщо умова набуває результату ИСТИНА, цикл виконується, аякщо ж умова набуває результату ЛОЖЬ— цикл не виконується. Перевірка умови може бути організована на початку циклу, і такий цикл називається циклом з передумовою, або у кінці циклу— тоді такий цикл називається циклом з післяумовою.

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

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

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

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

Цикл з накопиченням характерний тим, що при черговому виконанні циклу нове значення вихідної змінної зал ежить від значення цієї ж змінної, визначеної

на попередньому витку циклу. Накопичуватися може або сума значень, або доб

у-

ток.

 

5.3.3.1. Цикл за лічильником

 

Знайти значення виразу

 

Y =

 

 

 

 

 

− sin(ax − c ),

 

(

 

x 2 + c

 

)

 

 

 

 

де задані значення аргументів х ={2; 7; –1; 3; 17; 22; 5; 8} та коефіцієнтів

а=3 і с=2.

 

Етапи розв’язання задачі:

Y

У даному випадку задані вісім значень аргументу, і процес визначення

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

Таким чином, початкове значення лічильника циклу має бути одиницею, к і- нцеве значення лічильника має дорівнювати восьми, після виконання циклу ліч и-

258

This document is created with trial version of Document2PDF Pilot 2.16.100.

льник збільшує своє значення на одиницю, і цикл має виконуватися, доки значе н- ня лічильника не перевищить вісім.

Нижче подана блок-схема алгоритму: рисунок 5.3.3.1.1

1

Початок

2

а, с

3

n: = 1

4

х

 

5

( x 2

 

) − sin (ax

− c )

Y

:=

+ c

6

Y

7

n: = n + 1

8

n ≤ 8

Истина

Ложь

9

Кінець

Рисунок 5.3.3.1.1 - блок-схема алгоритму

259

This document is created with trial version of Document2PDF Pilot 2.16.100.

Блок № 3 — задає початкове значення лічильника циклу, Блок № 4 — уводить чергове значення аргументу,

Блок № 5 — обчислює чергове значення функції для уведеного аргументу, Блок № 6 — виводить обчислене значення функції, Блок № 7 — збільшує значення лічильника циклу. Знак := використовуєть-

ся для того, щоб показати: обчислене значення виразу n +1 присвоюється як нове значення для n (лічильника циклу),

Блок № 8 — перевіряє нове значення лічильника (умову на продовження циклу). У зв’язку з тим, що умова перевіряється у кінці циклу — це цикл з післяумовою.

Блоки № 4—8 називаються тілом циклу. Якщо умова пе - ревірки набуває результату ИСТИНА, тіло циклу виконується ще раз, а якщо умова набуває результату ЛОЖЬ, цикл прип иняється.

Таким чином, у даному прикладі тіло циклу буде повторене 8 разів, доки значення лічильника не стане більшим за вісім.

5.3.3.2. Цикл за вхідним значенням

Обчислити вираз:

Y = a + sin(bx )

для заданих значень коефіцієнтів а і b та аргумента x, що змінюється від –4 до 6 з кроком 2.

Етапи розв’язання задачі:

1.

Уводяться коефіцієнти а і b.

 

2.

Уводиться початкове значення аргумента x (–4).

 

3.

Обчислюється значення функції Y для поточного аргу

-

менту.

4.Виводиться отримане значення функції.

5.Значення аргументу x збільшується на 2.

6.Перевіряється умова продовження циклу: якщо нове значення аргументу не перевищує заданого кінцевого значення (6), цикл (блоки 3 —6) виконується ще раз, у противному випадку робота завершується.

Цей цикл також є циклом з післяумовою, тому що перевірка умови пров о- диться у кінці циклу.

Нижче подана блок -схема а лгоритму для розв’язання задачі: рисунок

5.3.3.2.

260