Professional Documents
Culture Documents
Лабораторна робота 1
Лабораторна робота 1
Теоретична частина
Алгоритм - це заздалегідь визначена точна послідовність дій, яка задає
дискретний (покроковий) процес, що починається певним чином й приводить
до отримання результату за кінцеве число кроків. Також, алгоритм може бути
визначеним, як задана послідовність кроків, виконання якої гарантовано
призведе до отримання очікуваного результату.
Найбільш поширеним способом представлення алгоритму є графічний.
У графічному поданні алгоритми зображуються у вигляді схеми, доповненої
елементами словесного або математичного запису.
Схема алгоритму включає геометричні фігури (блокові символи),
з'єднані між собою стрілками (лініями), що вказують порядок виконання
операцій.
Блокові символи стандартизовані і визначені в ГОСТ 19.701-90
«СХЕМИ АЛГОРИТМІВ, ПРОГРАМ, ДАНИХ І СИСТЕМ. УМОВНІ
ПОЗНАЧЕННЯ І ПРАВИЛА ВИКОНАННЯ ».
Єдине обмеження накладається на послідовність записів - вони повинні
читатися зліва направо і зверху вниз незалежно від напрямку потоків
інформації.
Логіка алгоритму повинна спиратися на мінімальне число досить
простих керуючих базових структур. При розробці схем алгоритмів необхідно
дотримуватися деякі вимог:
▪ У схемі алгоритму всі лінії від блоку «початок» до блоку «кінець» не
повинні мати розривів, які не помічені з'єднаннями. Всі лінії, що вказують
послідовність виконання дій, повинні бути замкненими.
▪ У схемі повинні чітко простежуватися потоки інформації. Блоки слід
розміщувати таким чином, щоб уникати перетину ліній. При передачі
управління в схемі «знизу-вгору» або «справа-наліво» лінії обов'язково
позначають стрілками.
▪ Не допускається передача управління в нікуди. «Джерело» передачі
управління і «одержувач» повинні бути чітко позначені.
Таблиця 1 - Види і значення основних алгоритмічних блоків
№
п/п Зображення Значення
Блок обчислень
3
Логічний блок
Ні Так
4
Блок модифікації
(початок циклу)
5
Блок підпрограми
6
Внутрішні сторінкові
сполучні блоки
7
9 Блок коментарів
Види структур алгоритмів
За структурою алгоритми поділяють на лінійні алгоритми, алгоритми, що
розгалужуються (алгоритми з розгалуженням) і циклічні алгоритми.
Лінійні алгоритми
Лінійними називають алгоритми, в яких операції виконуються
послідовно одна за одною, в природному і єдиному порядку проходження. У
таких алгоритмах усі блоки мають послідовне з'єднання логічним зв'язком
передачі інформаційних потоків. У них можуть використовуватися усі блоки,
за винятком блоків перевірки умови і модифікації. Лінійні алгоритми, як
правило, є складовою частиною будь-якого алгоритмічного процесу.
Для представлення такого алгоритму використовується алгоритмічна
конструкція слідування (послідовне виконання), яка передбачає послідовне
виконання дій в тому порядку, в якому вони записані в тексті програми.
Представлення цієї конструкції у блок-схемах здійснюється послідовністю
блоків “процес”:
Оператор
Ввести
x, y
Обчислити
А = х2 + y2
Обчислити
z = sin2(A)+ cos3(A)
Вивести z
Кінець
Алгоритми з розгалуженням
При складанні схем алгоритмів часто виникає необхідність проведення
аналізу вихідних даних або проміжних результатів обчислень і визначення
подальшого порядку виконання обчислювального процесу в залежності від
результатів цього аналізу. Алгоритми, в яких в залежності від виконання
деякого логічного умови відбувається розгалуження обчислень по одному з
декількох можливих напрямків, називають алгоритми, що розгалужуються,
або алгоритми з розгалуженням. Подібні алгоритми передбачають вибір
одного з альтернативних шляхів продовження обчислень. Кожний можливий
напрямок обчислень називається гілкою. Логічну умову називають простою,
якщо процес, що розгалужується, має дві гілки, і складною, якщо процес
розгалужується на три і більше гілки.
Структура розгалуження існує в чотирьох основних варіантах:
− «якщо-то-інакше» (повне розгалуження);
− «якщо-то» (неповне розгалуження);
− «вибір-інакше» (повний багатоваріантний вибір);
− «вибір» (неповний багатоваріантний вибір).
Повне розгалуження. Дана алгоритмічна структура передбачає
виконання певних дій як у разі виконання, так і у разі невиконання заданої
умови. Графічне представленням такої структури у блок-схемах має
наступний вид:
так ні
умова
Оператор 1 Оператор 2
При цьому умова формулюється таким чином, щоб відповідь перевірки була
лише «так» чи «ні» (рис. 2 а, б). Наприклад,
а) б)
Так Ні
Перевірка Дія 1‘
умови
Так Ні
Перевірка
Дія 1 Дія 1‘ результату
Дія 2 Дія 2‘
Дія N Дія N‘
Дія N Дія N‘
оператор oператор
Так Ні
Перевірка
умови 1
Так Ні
Дія 1 Перевірка
умови 2
Дія 2 Дія 3
k = a1
Дія 1 k = a1
Дія 1
k = a2
Дія 2 k = a2
Дія 2
k = an
Дія n k = an
Дія n
В інших випадках
Дія n+1
ініціалізація
параметра циклу
умова ні
повтору
так
тІло циклу
зміна параметра
циклу
Введення
x1, x2, d
Ініціалізація х
значенням x1
ні
Повідомлення про
2х3-1 ≥ 0
помилку
так
Обчислення у
Виведення
x, y
х=x+d
так
х ≤ x2
ні
Кінець
а) б)
умова ні
повтору
тІло циклу
так
ні
Введення
x,
Ініціалізація k
(k = 0)
Ініціалізація s I p
значенням 1
Обчислення d
Обчислення p k = k+1
так
p> Обчислення s
ні
Обчислення y
Виведення
y
Кінець
Рис. 9.
Завдання 2. Розробити алгоритми для вирішення наступних завдань:
ні так
ні так
2) Складіть за шаблоном схему рішення задачі. Задані три числа - а, в, с.
Відомо, що два з них рівні між собою, а третє відмінно від них. Знайдіть, яке
з чисел відмінно від двох інших.
так ні
так ні
Додаткові завдання
Рис. 11.