русс | укр

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

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


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


Що таке алгоритм?


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


"Перш, ніж що-небудь зробити, треба скласти план», - говорила Аліса з казки Льюїса Керролла. І в житті ми весь час складаємо плани наших дій, наприклад, вранці більшість з нас діє за таким планом:

встати

одягнутись

вмитися

поснідати

вийти з дому

У такому ж вигляді можна записати план для того, щоб заварити чай, зробити бутерброд з ковбасою, купити собі морозиво, вимити брудні руки, ...

В інформатиці план дій називають алгоритмом. Алгоритм складається з окремих кроків - команд. Жодну з них не можна пропустити, найчастіше ніякі команди не можна поміняти місцями (що при цьому відбудеться? Спробувати міняти «поснідати» раніше «встати», «одягтися» після «вийти», «вийти» раніше ніж «встати»).

Назва "алгоритм" походить від латинської форми імені видатного середньоазіатського математика Мухаммеда ібн Муса ал-Хорезмі (Alhorithmi), який жив у 783-850 рр.. У своїй книзі "Про індійський рахунок" він виклав правила запису натуральних чисел за допомогою арабських цифр і правила дій над ними "стовпчиком", знайомі тепер кожному школяреві. У XII столітті ця книга була перекладена на латинь і набула широкого поширення в Європі.

Поняття алгоритму таке ж засадниче для інформатики, як і поняття інформації. Саме тому важливо в ньому розібратися. Людина щодня зустрічається з необхідністю слідувати тим чи іншим правилам, виконувати різні інструкції і вказівки.

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

Для кожного кроку цього алгоритму можна запропонувати більш докладний план. Наприклад, для дії "поснідати":

закип'ятити чайник

зробити бутерброд

з'їсти бутерброд з чаєм

вимити посуд

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

 

Виконавці

Що таке виконавець?

Виконавці часто зустрічаються в казках. В одній з них Іван-Царевич говорить хатинки-На-Курячих-ніжки: "Хатинка, хатинка! Встань до лісу задом, до мене передом! ". При цьому команда повинна бути задана дуже точно, щоб виконавець її зрозумів. У казці "Алі-Баба і сорок розбійників" чарівна двері відкривалися по команді "Сезам, відкрийся!". Жадібний Касим, таємно проник у печеру, забув цю фразу і не зміг вийти з печери.

І Хатинка-На-Курячих-ніжки, і чарівна двері мають багато спільного: вони вміють розуміти і виконувати деякі точно задані команди, тобто є виконавцями.

• Виконавець - це той, хто вміє розуміти і виконувати деякі команди.

Виконавця хаpактеpизующих:

• сpеда;

• cистема команд;

• відмови.

 

• Середа виконавця - це предмети, які оточують виконавця і з якими він працює.

• Список (або система) Команд Виконавця (СКІ) - набір команд, зрозумілих виконавцеві. Виконавець може виконати тільки ті команди, які входять в його СКІ.

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

дію.

Виконавцями можуть бути

• люди: учень, робітник, вчитель, бригада;

• тварини: дресирована собака (санітар, розшукова, мисливський), кішка;

• машини: верстати, роботи, комп'ютери;

Зазвичай виконавець нічого не знає про мету алгоpітма. Він виконує всі отримані

команди, не задаючи питань "чому" і "навіщо".

Людина як виконавець відрізняється від всіх інших виконавців кількома ознаками, наприклад:

Розуміє команди в різних варіантах (наприклад "Сядь!", "Сідай!", "Сядь!").

Виконуючи команди, «додумує» їх з урахуванням свого досвіду.

Може відмовитися виконувати команду, якщо вона йому не подобається ("Їж манну кашу!", "Постріл у вікно з рогатки!"). Тобто людина має волю і відповідає за свої дії.

В інформатиці універсальним виконавцем алгоритмів є комп'ютер.

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

Алгоритм - це точно визначений план дій виконавця, спрямований на вирішення якогось завдання. В алгоритм можна включати тільки ті команди, які є в СКІ виконавця.

 

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

Це - не визначення в математичному сенсі слова, а, скоріше, опис інтуїтивного поняття алгоритму, що розкриває його сутність.

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

 


<== попередня лекція | наступна лекція ==>
Історія | Що таке графічний спосіб запису алгоритмів?


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