- •Поняття алгоритму, його властивості, класифікація
- •Особливості алгоритму:
- •Основи алгоритмізації обчислювальних процесів Етапи вирішення задач на еом
- •Обчислення нсд методом послідовного перебору
- •Обчислення нсд методом розкладу пари чисел на прості множники
- •Структурограма:
- •Синтаксична діаграма:
- •Графічна мова:
- •Класифікація алгоритмів
- •Намалюємо блок-схему АлгоритмуЕвкліда:
- •In, ik, di
- •Найбільш поширені типи задач
- •Чисельні задачі
Структурограма:
Синтаксичні діаграми
Синтаксична діаграма:
Графічний (мова блок-схем) оснований на візуальному представленні алгоритму у вигляді послідовності блоків.
Графічна мова:
Складання алгоритмів графічним способом регламентується двома ДСТУ:
ГОСТ 19.002-80, відповідає міжнародному стандартові ІСО 2636-73. Регламентує правила складання блок-схем.
ГОСТ 19.003-80, відповідає міжнародному стандартові ІСО 1028-73. Регламентує використання графічних примітивів.
Назва |
Символ (рисунок) |
Виконувана функція (пояснення) |
1.Блок обчислень |
Виконує обчислювальну дію чи групу дій | |
2.Логічний блок |
Вибір напряму виконання алгоритму в залежності від умови | |
3.Блоки введення/виведення |
Введення або виведення даних незалежно від фізичного носія | |
Друк даних на папір | ||
4.Початок/кінець (вхід/вихід) |
Початок або кінець програми, вхід або вихід у підпрограму | |
5.Визначений процес |
Обчислення по стандартній або користувальницькій підпрограмі | |
6.Блок модифікації цикл. |
Виконання дій, що змінюють пункти алгоритму (організація циклу) | |
7.З'єднувач |
Вказівка зв'язку між перерваними лініями в межах однієї сторінки | |
8.Міжсторінковий з'єднувач |
Указівка зв'язку між частинами схеми, розташованої на різних сторінках |
Правила побудови блок-схем:
Блок-схема вибудовується в одному напрямку або зверху вниз, або зліва направо.
Усі повороти з’єднувальних ліній виконуються під кутом 90 градусів.
Стрілки (лінії) не повинні перетинати одна одну. В разі необхідності застосовують з’єднувачі.
Класифікація алгоритмів
По способу організації порядку виконання дій конструкції алгоритмів поділяють на три базові групи:
лінійні;
гілкування (розгалуження).
циклічні (ітераційні алгоритми).
Лінійний алгоритм не має логічних умов і має одну гілку обчислень:
i:=i+1
- + + -
дія 1
дія 2
Приклад.
Обчислити S=x3tg2(x+b)2+a,
a=16,5
b=3,4
x=0,61
Намалюємо блок-схему алгоритму.
a:=16,5;
b:=3,4;
x:=0,61
Z1:=sqr(x+b) Z2:=tg(Z1)
S:=x*x*x*sqr(Z2)+a
Алгоритмічна конструкція гілкування (розгалуження)
Гілкування - керуюча структура, що організує виконання лише однієї з двох зазначених дій у залежності від справедливості деякої умови. Умова - питання, що має два варіанти відповіді: так чи ні. Запис розгалуження виконується в двох формах: повної і неповної.
Повна форма:
або
Неповна форма:
або
Приклад: знайти найменше з трьох чисел.
1 варіант рішення:
2 варіант рішення:
Намалюємо блок-схему АлгоритмуЕвкліда:
початок
m,
n
-
n<>0
m
+
r:=m
mod n m:=n
n:=r
кінець
Алгоритми циклічної структури
По способу визначення числа повторів цикли поділяють на 2 групи:
з явно заданим числом повторів
ітераційні (число повторів попередньо не відоме).
Ітераційним називають процес, в якому для обчислення наступного значення змінної використовується її попереднє значення по визначеній рекурентній формулі до досягнення заданої точності. Послідовність дій, що повторюються в циклі, називаються тілом циклу.
дія 1
цикл
дія
або
дія 2
Існує кілька типів алгоритмів циклічної структури:
алгоритм циклічної структури з передумовою
Особливості: умова передує циклові, тому цикл може ні разу не виконатися; перевіряється умова продовження циклу.
тіло циклу
алгоритм циклічної структури з постумовою:
Умова після циклу, цикл виконується хоча б один раз; перевіряється умова виходу із циклу.
тіло циклу
алгоритм циклічної структури без умови: зручно використовувати, коли зазделегідь відомо, скільки разів буде виконуватися цикл.