Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1 Інформатика.doc
Скачиваний:
5
Добавлен:
16.09.2019
Размер:
359.42 Кб
Скачать

4. Опис алгоритмів

Алгоритмом називається строго певна послідовність дій, що однозначно приводить до рішення поставленої задачі.

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

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

Приклад 1. Записати алгоритм обчислення кореня квадратного рівняння

Алгоритм

1. Задати значення коефіцієнтів А, B, С .

2. Обчислити значення дискримінанта D = В2 — 4 АС .

3. Якщо дискримінант негативний, перейти до п. 9.

4. D:= .

5. 6.Обчислити

7. Вивести результат обчислення коріння Х1, Х2

8.Перейти до п. 10

9. Вивести повідомлення: «Дійсного кореня немає»

10. Закінчити роботу.

Псевдокод є частково формалізованою мовою, що є системою позначень і правил, призначеною для запису алгоритмів. Використовувані в псевдокоді конструктивні елементи зазвичай властиві мовам програмування, що спрощує перехід від алгоритму до комп'ютерної програми. Проте відсутність строгих правил запису команд, єдиного визначення псевдокоду допускають деяку довільність в описі алгоритмів.

Приклад 2. Записати алгоритм псевдокодом для умови прикладу 1.

Алгоритм

алгоритм корінь_рівняння

початок

ввід (А, В, С);

D:=B2-4AC

якщо D<0

то вихід ('дійсного кореня немає ')

інакше

початок

D:= ;

вивід (Х1, Х2)

кінець

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

Кожен символ дії є геометричною фігурою, в контур якої вписана відповідна дія або декілька дій. Перелік і найменування символів, їх форма і розміри, правила оформлення блок-схем алгоритмів регламентуються міжнародними стандартами ІСО 2636-73 і ІСО 1028-73. Деякі найбільш часто використовувані символи дій для опису алгоритмів приведені в таблиці.

Приклад 3. Записати алгоритм для умови прикладу 1 графічним способом (рис.1).

Рис. 1 Схема алгоритму обчислення кореня квадратного рівняння

5. Властивості алгоритму

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

• дискретність - можливість представлення алгоритму у вигляді послідовності окремих виконуваних, логічно завершених дій-кроків;

• зрозумілість - для виконавця алгоритму;

• точність - точно визначений порядок дотримання дій-кроків від початку до завершення виконання алгоритму;

• детермінована - однозначність результату при заданих вихідних даних;

• результативність - після виконання певного числа кроків алгоритму здобуття конкретного результату - або рішення задачі, або неможливість подальшого продовження алгоритму;

• масовість - можливість вирішення безлічі однотипних завдань шляхом варіювання вихідних даних в певних межах.

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

6 Структура алгоритму (лінійна або з розгалуженнями)

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

S

В хід Вихід

Рис. 2 Функціональний блок

В основу структурного програмування покладені принципи системного підходу при розробці, тестуванні, оформленні і експлуатації алгоритмів і програм. Суть структурного програмування в основному визначається теоремою про структуризацію. У ній стверджується, що, якої б складності не було завдання, алгоритм його вирішення завжди може бути представлений сукупністю базових функціональних блоків, кожен з яких визначає одну з трьох елементарних управляючих структур. До елементарних базових структур відносяться наступні структури: послідовна (лінійна), вибору (розгалуження) і повторення (циклічна).

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

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