Алгоритм і його властивості
Рішення задач на комп'ютері засноване на понятті алгоритму. Алгоритм - це точне розпорядження, що визначає обчислювальний процес, що веде від варійованих початкових даних до вихідного результату.
Алгоритм означає точний опис деякого процесу, інструкцію з його виконання. Розробка алгоритму є складним і трудомістким процесом. Алгоритмізація - це техніка розробки (складання) алгоритму для вирішення завдань на ЕОМ.
Образотворчі засоби для опису (Подання) алгоритму
Для запису алгоритму розв'язання задачі застосовуються наступні образотворчі способи їх подання:
Словесно-формульне опис
Блок-схема (схема графічних символів)
Алгоритмічні мови
Операторні схеми
Псевдокод
Для запису алгоритму існує загальна методика:
Кожен алгоритм повинен мати ім'я, яке розкриває його зміст.
Необхідно позначити початок і кінець алгоритму.
Описати вхідні та вихідні дані.
Вказати команди, які дозволяють виконувати певні дії над виділеними даними
Загальний вигляд алгоритму
Алгоритм:
Назва алгоритму
Опис даних
Початок
Команди
Кінець
формульний-словесний спосіб запису алгоритму характеризується тим, що опис здійснюється за допомогою слів і формул. Зміст послідовності етапів виконання алгоритмів записується на природному професійній мові предметної області у довільній формі.
Графічний спосіб опису алгоритму (блок - схема) отримав саме широке поширення. Для графічного опису алгоритмів використовуються схеми алгоритмів або блокові символи (блоки), які з'єднуються між собою лініями зв'язку.
Кожен етап обчислювального процесу представляється геометричними фігурами (блоками). Вони діляться на арифметичні або обчислювальні (прямокутник), логічні (ромб) і блоки введення-виведення даних (паралелограм).
Схеми алгоритмів:
В
Порядок виконання етапів вказується стрілками, що з'єднують блоки. Геометричні фігури розміщуються зверху вниз і зліва на право. Нумерація блоків виробляється в порядку їх розміщення в схемі.
Алгоритмічні мови - це спеціальний засіб, призначений для запису алгоритмів у аналітичному вигляді. Алгоритмічні мови близькі до математичних виразів і до природних мов. Кожен алгоритмічний мова має свій словник. Алгоритм, записаний на алгоритмічній мові, виконується за суворими правилами цього конкретного мови.
Операторні схеми алгоритмів. Суть цього способу опису алгоритму полягає в тому, що кожен оператор позначається буквою (наприклад, А - арифметичний оператор, Р - логічний оператор і т.д.).
Оператори записуються зліва направо в послідовності їх виконання, причому, кожен оператор має індекс, що вказує порядковий номер оператора. Алгоритм записується в один рядок у вигляді послідовності операторів.
Псевдокод - Система команд абстрактної машини. Цей спосіб запису алгоритму за допомогою операторів близьких до алгоритмічних мов.
Принципи розробки алгоритмів і програм
Типи алгоритмічних процесів
За структурі виконання алгоритми і програми діляться на три види:
Лінійні
Розгалужені
Циклічні
Лінійний алгоритм (лінійна структура) - це такий алгоритм, в якому всі дії виконуються послідовно один за одним і тільки один раз. Схема являє собою послідовність блоків, які розташовуються зверху вниз в порядку їх виконання. Первинні та проміжні дані не роблять впливу на напрям процесу обчислення.
Алгоритми розгалужується структури
На практиці часто зустрічаються задачі, в яких залежно від початкових умов або проміжних результатів необхідно виконати обчислення за одним або іншим формулами.
Такі завдання можна описати за допомогою алгоритмів розгалужується структури. У таких алгоритмах вибір напрямку продовження обчислення здійснюється за підсумками перевірки заданої умови. Розгалужені процеси описуються оператором IF (Умова). br/>В
Циклічні обчислювальні процеси
Для вирішення багатьох завдань характерно багаторазове повторення окремих ділянок обчислень. Для вирішення таких завдань застосовуються алгоритми циклічної структури (Циклічні алгоритми). Цикл - послідовність команд, яка повторюється до тих пір, поки не буде виконано задана умова. Циклічне опис багаторазово повторюваних процесів значно знижує трудомісткість написання програм.
Існують дві схеми циклічних обчислювальних процесів.
В
Особливістю першої схеми є те, що перевірка умови виходу з циклу проводиться до виконання тіла циклу. У тому випадку, якщо умова виходу з циклу виконується, то тіло циклу не виконується жодного разу.
Особливістю другої схеми є те, що цикл виконується хоти б один раз, так як перша перевірка умови виходу з циклу здійснюється після того, як тіло циклу вико...