русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Визначення та властивості алгоритму


Дата додавання: 2014-11-28; переглядів: 1397.


Структурну схему понять, які розглядаються у темі, зображено на рис. 1.1.

Поняття алгоритму є одним із основних понять сучасної математики. Щодо методів обчислювальної математики, які


 

Рис. 1.1. Структурний взаємозв’язок основних понять та елементів, що становлять суть алгоритму

 
 

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

Студенти повинні зрозуміти, що поки вони не побудують в уяві або на папері чітку послідовність своїх дій у процесі розв’язання будь-якої задачі, вони не зможуть описати цей процес на мові програмування, тобто написати вірогідну програму для виконання її на ЕОМ. Значення цього ствердження зростає разом із підвищенням складності задач.

Визначення алгоритму теж змінювалося у часі залежно від того, за допомогою яких понять формулюється це визначення. Тому використовується значна кількість визначень алгоритму. Наведемо одне з них.

Під алгоритмом розуміють скінченну сукупність правил дій, які виконуються у певному порядку для розв’язання всіх задач даного класу.

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

Для багатьох задач можна побудувати послідовність операцій їх розв’язання. Якщо цю послідовність можна використати для розв’язання подібних задач, то вона наближається до алгоритму. Щоб вона ним стала, необхідно, щоб вона набула властивостей алгоритму:

— дискретність, тобто розчленованість алгоритму на окремі операції;

— детермінованість, тобто однозначна визначеність результату кожної операції, не залежна від виконавця;

— масовість — можливість застосування до будь-яких вхідних даних задач виділеного класу;

— результативність — скінченність процесу перетворення інформації.

Щоб побудувати алгоритм, необхідно дотримуватись певних умов:

— вхідні та вихідні дані задаються у вигляді послідовності слів;

— процес розв’язання задачі це є процес перетворення вхідних даних у вихідні;

— процес перетворення складається із сукупності елементарних припустимих операцій формального характеру;

— припустима елементарна операція — це проста, чисто механічна дія, результат якої не залежить від виконавця (машини чи людини);

— послідовність припустимих операцій не залежить від конкретних вхідних даних;

— порядок виконання припустимих операцій визначений однозначно;

сукупність припустимих операцій визначається класом задач та типом даних.

Отже, кожна елементарна операція для будь-якої вхідної інформації визначає вихідну інформацію за певними правилами. Для того, щоб будувати алгоритми, застосовувати їх, робити їх порівняння, оцінювати і вибирати найбільш прийнятний у кожному окремому випадку, необхідно мати якісь загальні засоби представлення алгоритмів. Для цього вводяться деякі поняття. І, перш за все, — засоби для представлення інформації. Послідовності слів на вході та виході алгоритму складаються з символів. Які символи для цього використовуються? Залежно від того, які символи ми обираємо, інформацію буде неоднаково представлено і операції перетворення інформації будуть різними. Введемо поняття алфавіту.


<== попередня лекція | наступна лекція ==>
Частина І | Абстрактним алфавітом називають будь-яку скінченну сукупність об’єктів, які називають символами (літерами) цього алфавіту.


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн