Правила опису алгоритму Нам
1. Кожен алгоритм має ім'я (заголовок), щоб можна було відрізнити його від інших. Наприклад: алг квадратне рівняння
2. За ім'ям алгоритму записують (у круглих дужках) змінні, вказуючи тип та ім'я кожної з них. Наприклад:
алг квадратне рівняння (дійсн a, d, c, x1, x2)
3. За словом арг записують імена змінних, які є вхідними даними, а за службовим словом рез — імена змінних, які є результатами.
4. Після службового слова поч записують проміжні змінні (які не належать ні до аргументів, ні до результатів), вказуючи тип та ім'я кожної змінної. Наприклад: поч ціл k, дійсн S.
5. Між службовими словами поч і кін записується тіло алгоритму: вказівка або серія вказівок, при цьому вказівки, записані в одному рядку, відокремлюються розділовим знаком «;».
Базові структури алгоритмів (керуючи структури) – це способи керування процесом обробки даних.
Існує три базові структури алгоритмічної конструкції:
лінійні алгоритми (слідування)
умова (розгалуженя)
цикли (повторення)
Лінійна структура передбачає, що тіло алгоритму являє собою послідовність команд, виконуваних одна за одною.
Умова (розгалуження) – це керуюча структура, що передбачає можливість вибору з кількох варіантів, для кожного з яких, залежно від умови виконується різна послідовність команд.
Цикл – це керуюча структура, що дозволяє багаторазово повторювати задану послідовність команд.
Цикл з передумовою
Цикл з післяумовою
Цикл із параметром
Способи опису алгоритмів:
Словесний
Формульний
Графічний
Алгоритмічною мовою
Задача: знайти корені квадратного рівняння ах2+bх+с=0
Словесний:
Розпочати процес обчислень
Визначити a,b,c
Обчислити D =b2+ac
Якщо D >0, то перейти на крок 8 інакше на крок 5
Обчислити
Вивести на екран X 1 X2
Перейти на крок 9
Вивести повідомлення про те, що коренів немає.
Завершити процес обчислень.
Формульний
Графічний
Блок – схема – графічне зображення алгоритмів за допомогою окремих блоків.
Початок або кінець Блок перевірки умови
алгоритму
Блок введення,
Виведення даних Блок виклику підпрограм
Блок обчислень Виведення документу
1
Початок
2
a,b,c
3
D =b2+ac
4 5
D
>0 так
8 ні
Рішень немає 6
7
Вивести х1 х2
9
Кінець
Лінійна структура передбачає, що тіло алгоритму являє собою послідовність команд, виконуваних одна за одною.
Виконати
дію А
Виконати
дію В
Виконати
дію N
.....
У
мова(розвилка,
розгалуження) –
означає перевірку значення логічного
виразу(ЛВ)
та вибір одного з двох варіантів дій,
залежно від значення ЛВ. В ЛВ можуть
використовуватися логічні операції
«НЕ» «І» «АБО». ЛВ може набувати одного
з двох значень
– істина
чи хиба.
Наприклад: алгоритм обчислення значень функції
можна представити в такому вигляді:
х<>0
так ні
y = 0
Можливо , що при одному зі значень ЛВ на потрібно виконувати жодних дій. В такому випадку існує коротка форма розгалуження:
x>0
Ні
Так
Виконати дію
Цикл означає повторення виконання тієї самої дії, або блока дії, що звуться тілом циклу, доти, поки певний ЛВ лишатиметься істинним.
«
цикл – поки», або цикл з передумовою,
(умова перевіряється перед виконанням циклу).
На першому кроці перевіряється значення ЛВ. І< n
Якщо воно є істинним – виконується тіло циклу.
Потім на другому кроці знову перевіряється значення ЛВ s=s+a1
і якщо воно істинне знову виконується тіло циклу.
Цикл завершується, коли значення ЛВ стає помилковим. I=i+1
В тілі циклу повинні бути команди, які змінюють
значення величини, яка входить в ЛВ.В циклі
використовують лічильник циклів, який рахує кроки циклу.
На початку алгоритму значення лічильника дорівнює 0.
2
.
« цикл – до», або цикл з післяумовою,
(умова перевіряється після виконанням циклу). s=s +a1
Це означає, що тіло циклу – добуде виконано .
принаймні один раз. « цикл – до» повторюється
доти, поки значення ЛВ є помилковим, і I = i + 1
завершується коли воно стає істинним.
I > n
С
труктурний
підхід передбачає використання тільки
декількох основних структур, комбінація
яких дає все різноманіття алгоритмів
і програм.
Послідовне розміщення блоків і груп блоків.
У програмі реалізується послідовним розміщенням операторів
Розгалуження
Це алгоритмічна альтернатива. За цією командою виконавець вибирає один із шляхів виконання алгоритму з неодмінним виходом на загальне продовження. Вибір відбувається по якомусь умові і може в свою чергу містити кілька етапів.
На природній мові розгалуження відповідає послідовність операторів:
Якщо <Умова> «Виконується або ІСТИНА» тоді <Дію 1> інакше <Дію 2>
Кінець розгалуження
Розглянутий варіант команди розгалуження називається повним розгалуженням.
Якщо ж на гілки «НЕТ » відсутня послідовність команд, то таке розгалуження називається неповним чи обхід
М н о ж е с т в е н н и й
в и б о р .
Є узагальненням розгалуження, коли в залежності від значення змінної (I) виконується одна з декількох дій. При I = 1 виконується дія S1, при I = 2 - дія S2 і т.д.
Якщо на гілках розвилки в свою чергу знаходяться розгалуження, то говорять, що такий алгоритм має структуру Вкладених розгалужень
У мовах програмування високого рівня розгалуження реалізується за допомогою умовного оператора.
Цикл
Способи вирішення багатьох складних завдань часто засновані на повторенні одних і тих же дій аж до досягнення певної мети. Організація повторень в алгоритмах називається циклом.
Проте організація циклів, ніколи не приводять до зупинки у виконанні алгоритму, є порушенням вимоги його результативності. Розглянемо графічне представлення циклічного алгоритму. В нього входять як базових елементів наступні структури: логічний елемент з перевіркою умови і блок, званий тілом циклу. Розглянемо основні різновиди циклічних алгоритмів
Технологія побудови з гори в низ
