Поняття алгоритму. Властивості алгоритмів. Способи подання алгоритмів. Виконавець алгоритмів. Приклади.

Алгоритм — це чітко визначена для конкретного виконавця послідовність дій, які спрямовані на досягнення поставленої мети або розв'язування задачі певного типу. Сам термін «алгоритм» утворився в результаті перекладу на європейські мови імені арабського математика IX століття Аль-Хорезмі, який описав правила (алгоритми) виконання основних арифметичних операцій в десятковій системі числення.

У своїй практичній діяльності люди постійно мають справу з алгоритмами (послідовностями вказівок, інструкціями, правилами тощо). Для прикладу можна назвати приготування кулінарної страви згідно з рецептом, користування міжміським телефоном-автоматом, пошук слова у словнику, розв'язування квадратного рівняння.

Властивості алгоритмів:

1. Скінченність. Виконання кожного алгоритму повинно завершуватись за скінченне число кроків.

2. Результативність. Виконання алгоритму завжди повинно приводити до певного результату (можливо, негативного). Воно не може закінчуватись невизначеною ситуацією або ж не закінчуватись взагалі.

3. Формальність. Виконавець відповідно до атгоріпму повинен одержати результат, не вникаючи в його суть. Ця властивість має особливе значення для автоматизації виконання алгоритмів. Очевидно, що комп'ютери не можуть розуміти суть завдань і окремих вказівок алгоритмів.

4. Визначеність. Будь-який алгоритм повинен бути описаний так, щоб при його розшифровуванні у виконавця не виникло двозначних вказівок. Тобто різні виконавці згідно з алгоритмом повинні діяти однаково та прийти до одного й того ж результату.

5. Масовість. За допомогою складеного алгоритму повинен розв'язуватись цілий клас задач.

6. Зрозумілість. В алгоритмі повинні бути лише операції, які знайомі виконавцеві. При цьому виконавцем алгоритму може бути: людина, комп'ютер, робот тощо.

Використовують такі способи подання (опису) алгоритмів:

• словесно-формульний (опис здійснюється в словесній формі з використанням математичних чи інших формул);

• графічний (за допомогою блок-схем або структурограм (діаграм) Нессі-Шнейдермана);

• з використанням спеціальних алгоритмічних мов (таких як навчальна алгоритмічна мова);

• у вигляді програм, написаних певною мовою програмування.

Для прикладу розглянемо словесний опис алгоритму знаходження коренів квадратного рівняння ах2 + Ьх + с = 0.

1. Задати значення а, Ь, с.

2. Обчислити D : = b 2-4ас.

3. Якщо D <0, то продовжити з кроку 7, інакше — продовжити з кроку 4.

4. Обчислити Х1=(-b+ √D)/(2а), X2=(-b -√D )/(2а).

5. Надрукувати значення X1, X2.

6. Перейти на крок 8.

7. Надрукувати повідомлення про те, що рівняння коренів немає.

8. Процес розв'язування завершити.

У блок-схемах окремі дії зображаються геометричними символами — фігурами, що мають стандартне призначення та вигляд. Найбільш використовувані блоки подано в таблиці.

Блоки

Назва та призначення

Початок або кінець алгоритму

Блок введення даних

Блок виведення даних на друк

Арифметичний блок — використовується при обчисленні виразів

Логічний блок — використовується для перевірки умов

Блок модифікації — використовується для зміни значень змінних в залежності від попередніх значень

 

Блок звертання до підпрограми

Блоки у блок-схемі з'єднані лініями потоків. У кожен блок може входити не менше однієї лінії, з блоку ж може виходити лише одна лінія потоку. З логічного блоку завжди виходять дві лінії потоку: одна у випадку виконання умови, інша — при її невиконанні.

При використанні діаграм Нессі-Шнейдермана алгоритми подаються у вигляді прямокутників, які примикають один до одного (команди, які в них вказуються, виконуються послідовно) або входять в середину інших (вкладені конструкції). Для прикладу опишемо алгоритм Ейлера знаходження найбільшого спільного дільника.

Виконавцями алгоритмів можуть бути: люди, комп'ютери, роботи тощо.

Вчинки людей підпорядковані досягненню конкретної мети. Часто люди не замислюються над тим, що їхні дії є прикладами виконання алгоритмів. Обдумуючи плани на день, ми фактично складаємо алгоритми розв'язування побутових задач чи задач, пов'язаних з професійною діяльністю. Отже, люди є виконавцями алгоритмів.

Для полегшення фізичної та інтелектуальної праці люди створили різні технічні пристрої: машини, автомати, роботи, комп'ютери. Прикладами механічних виконавців алгоритмів можуть бути: телефонний автомат, автомати, що продають воду чи морозиво, роботи-маніпулятори. Робот замінює людину біля конвеєра: малює кузов автомобіля чи закручує гайки. Комп'ютер використовується для опрацювання великих обсягів інформації. Виконуючи команди користувача чи деякої програми, він допомагає розв'язати не лише складні інженерні задачі, але й може визначити діагноз і порекомендувати ліки хворому, подати довідку з енциклопедичного словника, виправити граматичні помилки в тексті чи перекласти текст, відтворити музику чи відеозображення, переслати повідомлення тощо.

Кожний виконавець алгоритму може виконати певну кількість команд, які називаються допустимими командами виконавця. Для людини кількість команд, які вона може виконати, практично необмежена. Тому на дії людей розумні обмеження накладаються законами, мораллю й сумлінням. Кількість команд для механічних виконавців є значно меншою. Наприклад, робот не виконує таких команд, як їсти чи пити, а комп'ютер не перемішується у просторі. Команди, які не може виконати виконавець, називаються недопустимими.

 


Репетитор в місті Рівне та Рівненському районі.

Поліграфічні послуги та фотодрук
Тел.: +38 (093) 515-57-24, +38 (098) 050-8649
м. Рівне, вул. Дубенська (Район Боярка)

Написати електронного листа репетитору

 

Реклама:

Пропонуємо фотодрук та Поліграфічні послуги.