Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Поняття алгоритму




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

 

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

Приклад 1. Обчислити значення по формулі

Y = (Ах + В)(Сх - Р), для будь-якого значення х.

 

Щоб|аби| вирішити цю задачу, досить виконати послідовність наступних|слідуючих| дій:

1) помножити А на х, результат позначити R1;

2) R1 скласти з В, результат позначити R2;

3) помножити С|із| на х, результат позначити Rз|;

4) від R3 відняти Р, результат позначити R4;

5) помножити R2 на R4, вважати результат за значення Y.

 

Ця послідовність є|з'являється| алгоритмом рішення поставленої задачі. Для людини, що виконує дії, вже необов'язково знати початкову|вихідну| формулу для обчислення|підрахунку| значення Y|біля|. Йому потрібно всього лише чітко слідувати|прямувати| вказаній послідовності|припису|, виконуючи її пункт за пунктом.

У приведеному прикладі|зразку| процес рішення задачі розбивається на елементарні операції, арифметичні дії, але|та| це розбиття може бути продовжене і далі.

Принцип розчленовування складного процесу рішення задачі на елементарні дії має важливе|поважне| значення для побудови|шикування| алгоритмів.

 

Приклад 2. Знайти найбільшого загального дільника двох натуральних чисел m і n.

Складемо алгоритм рішення цієї задачі, заснований на властивості, якщо m>n, то найбільший загальний дільник чисел m, n такий же, як і чисел m-n.

Алгоритм буде таким:

1) якщо числа рівні, то взяти будь-яке з них за відповідь, інакше продовжити виконання алгоритму;

2) визначити більше з|із| чисел;

3) замінити більше число різницею більшого і меншого чисел;

4) почати|розпочинати| алгоритм спочатку.

 

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

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

 

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

 

 

Мал. 1. Алгоритм побудови функції у = а|х|

Приклад 3. Побудувати графік функції = а| х | при а>0.

Алгоритм побудови|шикування| має наступний|слідуючий| вигляд|вид| (мал. 1):

1) накреслити графік функції = а х;

2) стерти частину|частку| графіка лівіше за вісь ординат;

3) симетрично відобразити|відбивати| частину|частку| графіка, що залишилася, щодо|відносно| осі ординат.

 

Приклади|зразки| алгоритмів показують, що запис алгоритму поділяється на окремі вказівки виконати деяку закінчену дію. Кожна така вказівка називається командою. Команди алгоритму виконуються одна за одною. На кожному кроці виконання алгоритму виконавцеві|виконувачеві| точно відомо, яка команда повинна виконуватися наступною|слідуючою|.

Почергове виконання команд алгоритму за кінцеве|скінченне| число кроків приводить|призводить| до рішення задачі (досягнення мети).

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

Сукупність команд, які можуть бути виконані виконавцем|виконувачем|, називається системою команд виконавця|виконувача|.

 

Приклад 4. Розглянемо поняття алгоритму: обчислення суми елементів вектора

 
 


а = (a1,a2..., аn). тобто S =

 

Для визначення суми застосуємо алгоритм її накопичення, використовуючи рекурентне співвідношення

Si: = Si-1 + ai; So = 0: i: = 1, 2.....n.

 

де Si| - поточне значення суми;

Si-1 - попереднє її значення;

S0 - початкове значення суми;

ai - значення поточного елементу вектора.

 

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

 

Алгоритм обчислення|підрахунку| суми запишемо у вигляді такої послідовності вказівок:

1. Привласнити S значення 0 і перейти до п. 2.

2. Привласнити i значення 1 та перейти до п. 3.

3. Обчислити|обчисляти| нове значення суми, додавши|добавляти| а, до її попереднього значення, тобто|цебто|,
S: = S + ai| і перейти до п. 4.

4. Збільшити значення i на 1, тобто|цебто| i=i+l|, та перейти до п. 5.

5. Порівняти значення i та n: якщо i <= n, то перейти до п. 3, інакше - до п. 6.

6.Вивести результат S, тобто|цебто| суму елементів вектора а.

 

Алгоритм має такі основні властивості:

· детермінованість (визначеність) - однозначність результату обчислювального процесу при заданих початкових даних;

· дискретність - розбиття обчислювального процесу на окремі елементарні кроки, можливість виконання яких не викликає сумніву;

· масовість - забезпечення рішення будь-якої задачі з класу однотипних;

· результативність - забезпечення отримання результату через кінцеве число кроків.

 




Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 543; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.014 сек.