'єктами.
алгоритму розв'язання задачі називається шлях вирішення задачі, певна послідовність дій, яку необхідно виконати для досягнення результату.
Алгоритм - це точно певне опис способу розв'язання задачі у вигляді кінцевої послідовності дію.
Основні властивості алгоритмів наступні:
1. Результативність. Алгоритм має деяке число вхідних величин - аргументів. Мета виконання алгоритму - отримання конкретного результату, що має цілком визначене ставлення до вихідних даних.
2. Визначеність. Кожні крок алгоритму для вирішення має бути чітко і недвозначно визначено, не повинен допускати довільного трактування.
. Масовість. Можна застосовувати один і той же алгоритм для вирішення безлічі однотипних завдань, що розрізняються даними.
. Дискретність. Алгоритм представлений у вигляді кінцевої послідовності кроків: вирішення завдання алгоритм зводить до вирішення окремих, простіших завдань.
. Ефективність. Алгоритм може бути виконаний не просто за кінцеве, а за розумно кінцевий час.
. Кінцівку. Дію відповідно до алгоритму, за кінцеве число кроків обов'язково виходить рішення задачі.
. Компактність. Ця властивість припускає лаконічність викладу алгоритму.
1.4 Графічне представлення алгоритмів
Алгоритм можна представити різними способами: за допомогою графічного або словесного опису, у вигляді таблиці, послідовністю формул, записаним на алгоритмічній мові (мові програмування). Графічне опис алгоритму (блок - схема) має ряд переваг завдяки наочності, що забезпечує високу «читаність» алгоритму і явне відображення управління в ньому.
При складанні блок - схем використовуються наступні графічні записи:
- початок і кінець блок - схеми;
- блок введення і виведення інформації;
- блок обчислення арифметичних виразів;
- блок перевірки умов;
- блок звернення до процедури;
- посилання (перенесення блок - схеми на іншу сторінку).
Блок - схема - це орієнтований граф, вказуючий порядок виконання команд алгоритму. Вершини такого графа можуть бути одного з трьох типів (рис. 1.1):
a б в
Рис. 1.1 Три типи вершин графа: а - функціональна; б - предикатна; в - об'єднуюча
Функціональна вершина (F) має один вхід і один вихід. Предикатна вершина (P) має один вхід і два виходи, в цьому випадку функція P передає керування по одній з гілок в залежності від значення P (t означає «істина», f «брехня»). Об'єднуюча вершина («злиття») (U), забезпечує передачу управління від одного з двох входів до виходу. З даних елементарних блок - схем можна побудувати чотири блок - схеми (рис.1.2):
а) композиція, або проходження;
б) альтернатива, або розгалуження;
в) ітерація, або цикл, з передумовою;
г) ітерація, або цикл, з постусловіем.
Рис. 1.2 Основні алгоритмічні структури: а; б; в; г
Блок - схема альтернатива може мати і скорочену форму, в якій відсутній гілка F2 (рис. 1.3, а). Розвитком блок - схеми типу альтернатива є блок - схема вибір (рис. 1.3, б).
Рис. 1.3 Розвинені структури типу альтернатива: а; б
. 5 Принципи структурної алгоритмізації
В основі технологічних принципів структурного програмування лежить твердження про те, що логічна структура програми може бути виражена комбінацією трьох базових структур: слідування, розгалуження і циклу (ітерації). Використовуючи ці структури, можна повністю виключити використання будь - яких ще операторів умовного та безумовного переходу.
Уміння утворювати з базових структур їх суперпозиції відповідно до вказівок конкретного завдання - одне з найважливіших у програмуванні. На рис. 1.4 наведено найпростіші приклад структурної реалізації алгоритмів роботи з величинами.
Приклад. Знаходження суми 10 чисел. Треба ввести в пам'ять комп'ютера 10 чисел і знайти суму всіх елементів. (Мал. 1.4 а, б).
Рис. 1.4 Знаходження суми 10 чисел: а; б.
Припустимо, треба ввести в пам'ять комп'ютера 10 чисел і підсумовувати ті з них, які позитивні. Ясно, що введення - операція циклічна, а всередині цього циклу знаходиться розвилка, в якій перевіряється знак числа і виробляється підсумовування. Схематично відповідна суперпозиція зображена на рис. 1.5. Так як вираз, керуюче цик...