ЯКІ Основні властивості алгоритму

I. Дискретність

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

II. визначеність

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

Наприклад, в одному з кулінарних рецептів сказано:

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

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

III. результативність

Третя властивість - результативність алгоритму. Це властивість має на увазі, що кожен крок (і алгоритм в цілому) після свого завершення дає середу, в якій всі наявні об'єкти однозначно визначені. Якщо це по яких - небудь причин неможливо, то алгоритм повинен повідомляти, що рішення задачі не існує.

Наприклад, в інструкції із застосування ліків від кашлю сказано:

Якщо лікар не прописав, то приймати 3-4 рази на день по 15-20 крапель, найкраще в гарячій солодкій воді.

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

IV. зрозумілість

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

V. Масовість

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

АЛГОРИТМИ: властивості алгоритму

ПОНЯТТЯ АЛГОРИТМУ. Властивості алгоритму. ВИДИ алгоритмів. СПОСОБИ ОПИСУ АЛГОРИТМІВ

Алгоритмом називається точний і зрозуміле предпісаніe виконавцю здійснити послідовність дій, спрямованих на вирішення поставленого завдання. Слово «алгоритм» походить від імені математика Аль Хорезмі, який сформулював правила виконання арифметичних дій. Спочатку під алгоритмом розуміли тільки правила виконання чотирьох арифметичних дій над числами. Надалі це поняття стали використовувати взагалі для позначення послідовності дій, що призводять до вирішення всіх поставлених завдань. Говорячи про алгоритм обчислювального процесу, необхідно розуміти, що об'єктами, до яких застосовувався алгоритм, є дані. Алгоритм рішення обчислювальної задачі являє собою сукупність правил перетворення вихідних даних в результатні.

Основними властивостями алгоритму є:

  1. детермінованість (визначеність). Призів будуть однозначного результату обчислювального процecca при заданих вихідних даних. Завдяки цій властивості процес виконання алгоритму носить механічний характер;
  2. результативність. Вказує на наявність таких вихідних даних, для яких реалізується за заданим алгоритмом обчислювальний процес повинен через кінцеве число кроків зупинитися і видати шуканий результат;
  3. масовість. Це властивість передбачає, що алгоритм повинен бути придатний для вирішення всіх завдань даного типу;
  4. дискретність. Чи означає розчленованість визначається алгоритмом обчислювального процесу на окремі етапи, можливість виконання яких виконавцем (комп'ютером) не викликає сумнівів.

Алгоритм повинен бути формалізований за деякими правилами за допомогою конкретних образотворчих засобів. До них належать такі способи запису алгоритмів: словесний, формульно-словесний, графічний, мова операторних схем, алгоритмічний мову.

Найбільшого поширення завдяки своїй наочності отримав графічний (блок-схемний) спосіб запису алгоритмів.

Блок-схемою називається графічне зображення логічної структури алгоритму, в якому кожен етап процесу обробки інформації представляється у вигляді геометричних символів (блоків), що мають певну конфігурацію в залежності від характеру виконуваних операцій. Перелік символів, їх найменування, які відображаються ними функції, форма і розміри визначаються ГОСТами.

При всьому різноманітті алгоритмів розв'язання задач в них можна виділити три основні види обчислювальних процесів:

  • лінійний;
  • розгалужених;
  • циклічний.

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

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

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

властивості алгоритму

google_iframe_start_time = new Date (). getTime (); google_async_iframe_id = "aswift_1"; window.google_process_slots = function () {window.google_sa_impl ({iframeWin: window, pubWin: window.parent, vars: window.parent [ 'google_sv_map'] [ 'aswift_1']});}; (Adsbygoogle = window.adsbygoogle || []). Push ({});

4. Властивості алгоритму

Опис основних властивостей допомагає поглибити саме поняття алгоритму. Отже, алгоритм повинен мати наступні властивості:

  • Детермінованість ( визначеність, точність, однозначність ). Це властивість полягає в тому, що при завданні одних і тих самих вихідних даних кілька разів алгоритм буде виконуватися абсолютно однаково і завжди буде отримано один і той же результат. Властивість детермінованості проявляється також і в тому, що на кожному кроці виконання алгоритму завжди точно відомо, що робити далі, а кожна дія однозначно зрозуміло виконавцю і не може бути витлумачено невизначено. Завдяки цій властивості виконання алгоритму носить механічний характер.
  • Масовість - виражається в тому, що за допомогою алгоритму можна вирішувати не одну конкретну задачу, а будь-яке завдання з деякого класу однотипних задач при всіх допустимих значеннях вихідних даних.
  • Результативність ( спрямованість ) - означає, що виконання алгоритму обов'язково повинно привести до вирішення поставленого завдання, або до повідомлення про те, що при заданих вихідних величинах завдання вирішити неможливо. Алгоритмічний процес не може обриватися безрезультатно.
  • Дискретність - означає, що алгоритм складається з послідовності окремих кроків - елементарних дій, виконання яких не представляє складності. Саме завдяки цій властивості алгоритм може бути реалізований на ЕОМ.
  • Кінцівка ( фінітних ) - полягає в тому, що послідовність елементарних дій алгоритму не може бути нескінченною, необмеженої, хоча може бути дуже великий (якщо потрібно, наприклад, велика точність обчислень).
  • Коректність - означає, що якщо алгоритм створений для вирішення певної задачі, то для всіх вихідних даних він повинен завжди давати правильний результат і ні для яких вихідних даних не буде отриманий неправильний результат. Якщо хоча б один з отриманих результатів суперечить хоча б одному з раніше встановлених і отримали визнання фактів, алгоритм можна визнати коректним.

Якщо розроблена Вами послідовність дій не володіє хоча б одним з перерахованих вище властивостей, то вона не може вважатися алгоритмом

Властивості алгоритму ДИСКРЕТНІСТЬ ВИЗНАЧЕНІСТЬ ...

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

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

У цій ситуації ми бачимо 2 об'єкти: керуючий (що дає команди) і керований (виконуючий команди). В даному прикладі виконавцем є машина.

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

У цій ситуації ми також бачимо 2 об'єкти: керуючий (що дає команди) і керований (виконуючий команди). Але в даному випадку виконавець людина.

«... Прийшов дід до берега синього моря і закинув невід. Зловив дід рибку, та не просту, а золоту. І виконувала рибка все його бажання ... »

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

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

Отже, алгоритм - послідовність команд управління будь-яким об'єктом. Очевидно, що виконавцем алгоритму може бути як жива істота, так і машина.

АЛГОРИТМ - зрозуміле і точне розпорядження виконавцю виконати кінцеву послідовність команд, що приводить від вихідних даних до шуканого результату.

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

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

2. Зрозумілість. Алгоритм повинен бути зрозумілий виконавцю, і виконавець повинен бути в змозі виконати його команди. Отже, алгоритм потрібно розробляти з орієнтацією на певного виконавця, тобто в алгоритм можна включати команди тільки з системи команд даного виконавця.

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

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

5. Масовість. Розробка алгоритмів - процес цікавий, творчий, але непростий, що вимагає багатьох, часто колективних, розумових зусиль і витрат часу. Тому переважно розробляти алгоритми »забезпечують вирішення всього класу задач даного типу. Наприклад, якщо складається алгоритм вирішення квадратного рівняння ах 2 + bx + з = 0, він повинен бути варіативний, тобто забезпечувати можливість вирішення для будь-яких допустимих вихідних значень коефіцієнтів: а, b, с. Про такий алгоритм кажуть, він задовольняє вимогу масовості.

Форми запису алгоритмів

Складання будь-якого алгоритму має на меті рішення деякого класу задач.

Існує безліч способів формального запису алгоритмів:

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

2) Не менш часто в школах використовуються блок-схеми - графічний спосіб, що сполучає простоту і наочність.

3) Запис алгоритму на одній з мов програмування

Завдання 1. Скласти словесний алгоритм «Заварка чаю»

Типи алгоритмів:

- лінійний

- умовний (розгалужується)

- циклічний

Увага! Тип алгоритму визначається характером розв'язуваної відповідно до його командами завдання.

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

РЕЦЕПТ: Горіхи потовкти у дерев'яній ступці, розчинити в гарячому молоці. Потім варити 10 хвилин на слабкому вогні.

Подавати охолодженим.

Продукти: 250 г очищених волоських горіхів, 0.8 л молока, 120 г цукру.

ЯКІ Основні властивості алгоритмів (наведіть приклади ...

Характеризує його структуру. Будь алгоритм складається з окремих операцій (етапів, дій), які виконуються дискретно (по кроках). Це означає, що алгоритм має властивість дискретності.

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

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

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

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


Вам також може сподобатися

Про автора Crypto

Just do it!

Додати коментар

Ваш e-mail не буде опублікований. Обов'язкові поля позначені *