Ремонт Дизайн Меблі

Що таке алгоритм алгоритму. Алгоритми, властивості алгоритмів, способи опису алгоритмів. Сервіси для розробки блок-схем

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

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

Які бувають алгоритми

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

Розгалужуваний алгоритм

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

Циклічний алгоритм
У циклічному алгоритмі деякі дії повторюються кілька разів (в інформатиці говорять, що виконується цикл). Існують два види циклічних алгоритмів. В одному з них ми знаємо заздалегідь, скільки разів треба зробити ці дії, в іншому ми маємо зупинитися лише тоді, коли виконаємо роботу, тобто наші дії припиняються при виконанні якоїсь умови.
Прикладом циклу першого типу є наше життя у робочі дні (від понеділка до суботи) – ми виконуємо 6 разів майже ті самі дії.
Приклад циклу другого типу – алгоритм розпилювання колоди: ми не можемо заздалегідь сказати, скільки разів нам треба провести пилкою від себе та на себе – це залежить від щільності дерева, якості пилки та наших зусиль. Однак ми достеменно знаємо, що треба закінчити роботу, коли чергове відпиляне поліно впаде на землю.

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

Виділяють три найбільш поширені на практиці способи запису алгоритмів:

  • словесний(Запис природною мовою);
  • графічний(Запис із використанням графічних символів);
  • програмний(Тексти мовами програмування).

Словесний спосіб запису алгоритмів

Словесний спосіб – спосіб запису алгоритму природною мовою. Цей спосіб дуже зручний, якщо потрібно приблизно описати суть алгоритму. Проте за словесному описі який завжди вдається ясно і точно висловити логіку дій.

Як приклад словесного способу запису алгоритму розглянемо алгоритм знаходження площі прямокутника

де S – площа прямокутника; а, b - Довжини його сторін.

Очевидно, що a, b мають бути задані заздалегідь, інакше завдання вирішити неможливо.

Словесний спосіб запису алгоритму виглядає так:

  • Початок алгоритму.
  • Встановити чисельне значення сторони a.
  • Встановити чисельне значення сторони b.
  • Обчислити площу S прямокутника за формулою S=a*b.
  • Вивести результат обчислень.
  • Кінець алгоритму.

Графічний спосіб опису алгоритмів

Для наочного уявлення алгоритму використовується графічний метод. Існує кілька способів графічного опису алгоритмів. Найбільш широко використовуваним практично графічним описом алгоритмів є використання блок-схем. Безперечна перевага блок схем – наочність і простота запису алгоритму.

Кожній дії алгоритму відповідає геометрична фігура (блоковий символ). Список найчастіше вживаних знаків наведено в таблиці нижче.

Так як в лінійному алгоритмі команди виконуються послідовно, то блок-схема матиме вигляд:

Так як в розгалужуваному алгоритмі порядок прямування команд може бути різний в залежності від того, яка навколишня обстановка, то блок-схема набуде вигляду:

У циклічному алгоритмі деякі дії повторюються кілька разів і для нього блок-схема набуде вигляду:

Програмний спосіб запису алгоритмів

А, щоб алгоритм зрозумілий роботу, комп'ютера чи іншій машині, недостатньо лише написати команди, треба ще й оформити алгоритм у вигляді, у якому розуміє машина (написати програму), тобто. записати його з використанням команд зі СКІ, дотримуючись правил оформлення.

Правила оформлення програми:

  1. будь-який алгоритм має назву;
  2. алгоритм починається з відкриває фігурної дужки "(" і закінчується закриває фігурної дужкою ")"; команди, розташовані між цими дужками, називають тілом алгоритму;
  3. до алгоритму можуть входити тільки ті команди, які є в СКІ виконавця;
  4. кожна команда закінчується знаком “;”, що означає кінець команди;
  5. для того, щоб нам було легше розумітися на програмах, використовують коментарі - текстові пояснення, які починаються знаками “/*” та закінчуються знаками “*/”; Виконавець не звертає уваги на коментарі в алгоритмі.

Практичні завдання:

  1. Скласти блок-схему знаходження периметра квадрата.
  2. Скласти блок схему для заварювання чаю.
  3. Скласти блок-схему переходу перехрестя зі світлофором.

Використаний матеріал із книг:

  1. "Сучасні інформаційні технології", автори викладачі центру "Турбо"
  2. "Алгоритми та виконавці", автор Поляков До.

Сьогодні ми дамо відповідь на питання про те, що таке алгоритм.

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

Що називається алгоритмом

Поняття алгоритму є досить давнім і належить до однієї з головних, і навіть базових понять у математиці. Термін походить від латинського написання імені відомого східного математика 787-850 років Мухаммеда аль-Хорезмі – Algorithmi. Цей вчений був першим, хто сформулював точні правила для запису натуральних чисел, а також правила підведення відліків у стовпчик. Досить цікавим фактом є і те, що, незважаючи на стародавнє коріння, саме поняття було точно сформульовано лише на початку ХХ століття. Нині алгоритм є основною складовою сучасного бізнесу, будь-якого навчального процесу чи дослідження. Саме тому кожній сучасній людині просто необхідно точно знати, що означає алгоритм.

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

Що таке властивості алгоритмів

Але варто пам'ятати, що кожну послідовність дій можна назвати алгоритмом. Послідовність є алгоритмом, тільки якщо вона має певні властивості. Перерахуємо їх:

  1. Однією з найважливіших властивостей є дискретність. Її ми розглянемо трохи нижче.
  2. Не менш важливим є визначеність. Відповідно до цієї властивості кожна команда має бути однозначною і наводити виконавця на конкретну дію.
  3. Варто пам'ятати і про зрозумілість алгоритму. В алгоритмі повинні використовуватися лише необхідні команди, які належать до поставленого завдання.
  4. Важливою властивістю є результативність (також часто називають кінцівкою) алгоритму. Властивість «результативність» вказує на те, що в алгоритмі є певна, раніше вказана кількість кроків, виконання яких призведе до виконання поставленого завдання.
  5. Також будь-який алгоритм повинен обов'язково мати і таку властивість, як масовість. Якщо алгоритм забезпечує виконання всіх завдань певного типу, то він має властивість масовості.

Що таке алгоритм в інформатиці

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

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

Як створити алгоритм

Для того, щоб створити ефективний і якісний алгоритм, слід дотримуватися кількох правил:

  1. Алгоритм обов'язково повинен писатися формальною та ясною мовою. Неоднозначність або неясність вказівок неприпустима.
  2. При складанні алгоритму необхідно обов'язково врахувати і те, для кого він складається. Виконавець повинен розуміти всі пункти алгоритму і мати можливість втілити їх у життя.
  3. Бажано робити алгоритм коротким, точним та ясним.

Що таке лінійний алгоритм

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

У інформатиці мову програмування, з допомогою якого описується алгоритм, називається оператором. Виділяють прості та структурні оператори. Прості оператори описують лише одну дію.

Саме прості оператори найчастіше використовують у лінійних алгоритмах.

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

Раніше ми згадували, що будь-який алгоритм має таку властивість, як дискретність. Тепер давайте розглянемо поняття дискретності докладніше.

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

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

Слово "Алгоритм" походить від algorithmi - латинського написання імені аль-Хорезмі, під яким у середньовічній Європі знали найбільшого математика з Хорезма (місто в сучасному Узбекистані) Мухаммеда бен Мусу, який жив у 783-850 рр. У своїй книзі "Про індійський рахунок" він сформулював правила запису натуральних чисел за допомогою арабських цифр та правила дій над ними стовпчиком. Надалі алгоритмом стали називати точне розпорядження, що визначає послідовність дій, що забезпечує отримання необхідного результату вихідних даних. Алгоритм може бути призначений для виконання людиною або автоматичним пристроєм. Створення алгоритму, навіть найпростішого, - процес творчий. Він доступний виключно живим істотам, а довгий час вважалося лише людині. Інша справа - реалізація вже існуючого алгоритму. Її можна доручити суб'єкту чи об'єкту, який зобов'язаний вникати у суть справи, і, можливо, і здатний його зрозуміти. Такий суб'єкт чи об'єкт прийнято називати формальним виконавцем.Прикладом формального виконавця може бути пральна машина-автомат, яка неухильно виконує запропоновані їй дії, навіть якщо ви забули покласти до неї порошок. Людина теж може у ролі формального виконавця, але насамперед формальними виконавцями є різні автоматичні устрою, і комп'ютер зокрема. Кожен алгоритм створюється для цілком конкретного виконавця.Ті дії, які може виконувати виконавець, називаються його його допустимими діями. Сукупність допустимих процесів утворює систему команд виконавця.Алгоритм повинен містити ті дії, які допустимі для даного виконавця.

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

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

Такими властивостями є:

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

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

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

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

На підставі цих властивостей іноді дається визначення алгоритму, наприклад: "Алгоритм - це послідовність математичних, логічних або разом узятих операцій, що відрізняються детерменованістю, масовістю, спрямованістю і що призводить до вирішення всіх завдань даного класу за кінцеве число кроків." Таке трактування поняття “алгоритм” є неповним та неточним. По-перше, неправильно пов'язувати алгоритм із розв'язанням будь-якої задачі. Алгоритм взагалі може вирішувати жодного завдання. По-друге, поняття “масовість” відноситься не до алгоритмів як до таких, а до математичних методів загалом. Рішення поставлених практикою завдань математичними методами полягає в абстрагуванні – ми виділяємо ряд істотних ознак, притаманних деякого кола явищ, і будуємо виходячи з цих ознак математичну модель, відкидаючи несуттєві ознаки кожного конкретного явища. У цьому сенсі будь-яка математична модель має властивість масовості. Якщо у межах побудованої моделі ми вирішуємо завдання й рішення у вигляді алгоритму, то рішення буде “масовим” завдяки природі математичних методів, а чи не завдяки “масовості” алгоритму.

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

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

Сам вираз “властивості алгоритму” некоректний. Властивості мають об'єктивно існуючі реальності. Можна говорити, наприклад, про властивості будь-якої речовини. Алгоритм – штучна конструкція, яку ми споруджуємо задля досягнення своїх цілей. Щоб алгоритм виконав своє призначення, його потрібно будувати за певними правилами. Тому треба говорити не про властивості алгоритму, а про правила побудови алгоритму, або про вимоги до алгоритму.

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

Це дозволяє відразу відокремити алгоритми від “методів” і “способов”. Поки ми маємо формалізованих вхідних даних, ми можемо побудувати алгоритм.

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

У шкільній “теорії алгоритмів” ці два правила не розглядаються. У той самий час практична робота з алгоритмами (програмування) починається саме з цих правил. У мовах програмування розподіл пам'яті здійснюється декларативними операторами (операторами опису змінних). У мові Бейсик в повному обсязі змінні описуються, зазвичай описуються лише масиви. Але при запуску програми транслятор мови аналізує всі ідентифікатори в тексті програми і відводить пам'ять під відповідні змінні.

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

Четверте правило- Детерменованість. Після кожного кроку необхідно вказувати, який крок виконується наступним, або надавати команду зупинки.

П'яте правило- Збіжність (результативність). Алгоритм повинен завершувати роботу після кінцевого числа кроків. У цьому слід зазначити, що вважати результатом роботи алгоритму.

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

Будь-яка робота на комп'ютері – це обробка інформації. Роботу комп'ютера можна схематично зобразити так:

"Інформація" зліва та "інформація" справа - це різні інформації. Комп'ютер сприймає інформацію ззовні і як результат своєї роботи видає нову інформацію. Інформація, з якою працює комп'ютер, має назву “дані”.

Комп'ютер перетворює інформацію за певними правилами. Ці правила (операції, команди) заздалегідь занесені на згадку комп'ютера. Спільно ці правила перетворення інформації називаються алгоритмом. Дані, що надходять до комп'ютера, називаються вхідними даними. Результат роботи комп'ютера – вихідні дані. Таким чином, алгоритм перетворює вхідні дані у вихідні:


Тепер можна порушити питання: а чи може людина обробляти інформацію? Звісно, ​​може. Як приклад можна навести звичайний шкільний урок: вчитель ставить питання (вхідні дані), учень відповідає (вихідні дані). Найпростіший приклад: вчитель дає завдання – помножити 6 на 3 і написати результат на дошці. Тут числа 6 та 3 – вхідні дані, операція множення – алгоритм, результат множення – вихідні дані:


Висновок: розв'язання математичних завдань – окремий випадок перетворення інформації. Комп'ютер (англійською мовою означає обчислювач, російською – ЕОМ, електронна обчислювальна машина) був створений саме для виконання математичних розрахунків.

Розглянемо таке завдання.

Довжина класу 7 метрів, ширина – 5 метрів, висота – 3 метри. У класі 25 учнів. Скільки кв. м площі та скільки куб. м повітря посідає одного учня?

Рішення завдання:

1. Обчислити площу класу:

2. Обчислити обсяг класу:

3. Обчислити, скільки квадратних метрів площі посідає одного учня:

4. Обчислити, скільки куб. метрів повітря припадає на одного учня:

105: 25 = 4,2
Відповідь: одного учня припадає 1,4 кв. метрів площі та 4,2 куб. метрів повітря.

Якщо тепер прибрати обчислення та залишити лише “дії”, то отримаємо алгоритм – перелік операцій, які необхідно виконати, щоб вирішити це завдання.

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

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

1. Обчислити площу класу та записати в змінну S.

2. Обчислити обсяг класу та записати у змінну V.

3. Обчислити скільки квадратних метрів площі припадає на одного учня і записати в змінну S1.

4. Обчислити, скільки куб. метрів повітря припадає на одного учня та записати в змінну V1.

5. Вивести на екран значення змінних S1 та V1.

Тепер залишається тільки перевести команди алгоритму з російської мови на мову, зрозумілу комп'ютеру, і вийде програма. Програмування – це переклад алгоритму з “людської” мови на “комп'ютерну” мову.

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

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

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

    Механічні алгоритми, або інакше детерміновані, жорсткі (наприклад, алгоритм роботи машини, двигуна тощо);

    Гнучкі алгоритми, Наприклад стохастичні, тобто. імовірнісні та евристичні.

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

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

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

    Лінійний алгоритм- Набір команд (вказівок), що виконуються послідовно в часі один за одним.

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

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

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

На малюнку показано в умовних позначеннях схеми основних конструкцій алгоритмів:

а). лінійного алгоритму;

б,в,г). алгоритмів, що розгалужуються (б-відгалуження, в-роздвоєння, г-перемикання);

д, е, ж). циклічних алгоритмів (д,ж-перевірка на початку циклу, е-перевірка наприкінці циклу).

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

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

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

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

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

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

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

При розв'язанні задач на комп'ютері необхідно не так вміння складати алгоритми, як знання методів розв'язання задач (як і взагалі в математиці). Тому потрібно вивчати не програмування як таке (і не алгоритмізацію), а методи вирішення математичних завдань на комп'ютері. Завдання слід класифікувати за типами даних, як це зазвичай робиться (завдання на масиви, на символьні змінні тощо. буд.), а, по розділу “Потрібно”.

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

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

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

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

Дуже яскраво ця особливість людської психології – неалгоритмічність мислення – виявилася у методичному посібнику А. Г. Гейна та В. Ф. Шолоховича. У посібнику викладаються розв'язання завдань із відомого підручника. Розв'язання задач мають бути представлені у вигляді алгоритмів. Однак автори посібника розуміють, що якщо просто написати алгоритм розв'язання задачі, то розібратися у самому рішенні буде важко. Тому спочатку наводять “нечітке виклад алгоритму” (тобто. пояснюють рішення завдання), та був пишуть сам алгоритм.



Л І Т Е Р А Т У Р А

1. Нестеренко А. В. ЕОМ та професія програміста.

М., Просвітництво, 1990.

2. Брудно А. Л., Каплан Л. І. Московські олімпіади з програмування.

М., Наука, 1990.

3. Кузнєцов О. П., Адельсон-Вельський Г. М. Дискретна математика для інженера.

М., Вища школа, 1988.

4. Гейн А.Г. та ін. Основи інформатики та обчислювальної техніки.

М., Просвітництво, 1994.

5. Інформатика. Щотижневий додаток до газети "Перше вересня". 1998 № 1.

6. Радченко Н. П. Відповіді на питання випускних іспитів. – Інфоматика та

освіта, 1997 №4.

7. Касаткін В.М. Інформація, алгоритми, ЕОМ. М., Просвітництво, 1991.

8. Канігін Ю. М., Зотов Б. І. Що таке інформатика?

М., Дитяча література, 1989.

9. Гейн А. Г., Шолохович В.Ф. Викладання курсу "Основи інформатики та обчислювальної техніки" у середній школі. Посібник для вчителя.

Єкатеринбург, 1992.

10. Візників В.А. Інформатика у поняттях та термінах.

11. Газета «Інформатика», №35, 1997р.

12. Л.З. Шауцуков Основи інформатики у питаннях та відповідях.


Автор: Богашова Тетяна, Донець Сергій (КПІ, ФАКС) м.Київ, 1999р.
Оцінка: відл.
Здавався: ПТУ №34
E-Mail: [email protected]





















Назад вперед

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

Мета уроку:Формування в учнів правильного розуміння алгоритмів, їх властивостей, видів та практичних навичок складання алгоритмів.

Завдання уроку:

Дидактичні: Забезпечити умови:

  • для вивчення та закріплення основних поняття по темі;
  • для засвоєння, закріплення теми.

Виховні: Забезпечити умови:

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

Розвиваючі: Забезпечити умови:

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

Демонстраційний матеріал до уроку:

  1. Мультимедійна презентація
  2. Портрет Мухаммеда Бен Муси аль-Хорезмі.

Хід уроку

  1. Організаційний момент. (2 хв.)
  2. Актуалізація знань. Постановка навчальної задачі. (3 хв.)
  3. Викладення нового матеріалу. ( 30 хв.)
  4. Закріплення нового матеріалу (10 хв.)

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

Поява алгоритмів пов'язують із зародженням математики.

Більше 1000 років тому (825 р.) вчений з міста Хорезма Абдулла (або Абу Ждафар) Мухаммед бен Мусса аль-Хорезмі створив книгу з математики, в якому описав способи виконання арифметичних дій над багатозначними числами.

Алгоритм – опис послідовності дій, виконання яких призводить до розв'язання поставленої задачі за кінцеве число кроків.

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

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

  1. Дискретність
  2. Детермінованість
  3. Масовість
  4. Результативність
  5. Кінцівка
  6. Дискретність (від лат.Discretus -Розділений, переривчастий) - це властивість передбачає, що будь-який алгоритм повинен складатися з послідовності кроків, що йдуть один за одним.
  7. Детермінованість (Від латів. Determinate - визначеність, точність) - це властивість показує, що будь-яка дія в алгоритмі має бути строго і недвозначно визначено і описано для кожного випадку.
  8. Масовість – це властивість передбачає, що і той ж алгоритм може застосовуватися на вирішення цілого класу завдань, відмінних вихідними даними.
  9. Результативність (кінцевість)алгоритму- Виконання алгоритму має закінчитися за кінцеве число кроків.

Словесний спосібзапису алгоритмів є опис послідовних етапів обробки даних. Алгоритм задається у довільному викладі природною мовою.

Приклад: Алгоритм "Зарядка"

  1. Потягніться, лежачи в ліжку.
  2. Сядьте на ліжку, поставивши ноги на підлогу.
  3. Нагніть вперед, намагаючись дістати руками пальці ніг.
  4. Вигніть спину дугою.
  5. Порахуйте до 10.
  6. Поверніться у вихідне положення.

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

Нехай, наприклад, необхідно знайти значення наступного виразу:

Словесно-формульним способом алгоритм вирішення цього завдання може бути записаний у такому вигляді:

  1. Ввести значення а та х.
  2. Скласти х та 6.
  3. Помножити на 2.
  4. Відняти з 2а суму (х+6).
  5. Вивести в результаті обчислення висловлювання.

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

Види алгоритму

Лінійний алгоритм – це такий, у якому всі операції виконуються

послідовно одна за одною.

Приклад: Алгоритм посадки дерева.

  1. Викопати у землі ямку;
  2. Опустити в ямку саджанець;
  3. Засипати ямку із саджанцем землею;
  4. Полити саджанець водою.

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

Повна форма

Якщо<условие>, то<действие 1>інакше<действие 2>

Неповна форма

Якщо <условие>, то<действия>

Приклад: Якщо на вулиці дощ, то залишимося вдома, а якщо ні, то йдемо гуляти.

Циклічний алгоритм– дії повторюються доти, доки виконується задана умова.

Цикл із відомим числом повторень

Цикл із відомим числом повторень часто називають «циклом ДЛЯ»

Приклад: Алгоритм «Вправа для очей»

  1. Візьміть олівець.
  2. Встановіть його у вихідне положення біля кінчика носа
  3. Повторіть 10 разів, стежачи за рух олівця:
    • Перемістіть олівець на відстань витягнутої руки;
    • Поверніть олівець у вихідне положення
  4. Покладіть олівець
  5. Кінець алгоритму

Цикл із постумовою

Цикл з невідомим числом повторень, в другому вихід із циклу здійснюється при виконанні умови, прийнято називати «циклом з постумовою» або «циклом ПРІ»

Алгоритм "Пульс"

  1. Зручно покладіть ліву руку долонею догори.
  2. Два пальці правої руки покладіть на зап'ястя лівої руки.
  3. Зауважте положення секундної стрілки
  4. Порахуйте черговий удар
  5. Подивіться на годинник
  6. Якщо секундна стрілка пройшла повне коло, то закінчіть дії, інакше перейдіть до п.4

Кінець алгоритму

Цикл із передумовою

Цикл з відомим числом повторень, в якому цикл триває, доки виконується умова, прийнято називати «циклом із передумовою»або «циклом ПОКИ»

Алгоритм «Бочка»

  1. Підійдіть до бочки
  2. Якщо бочка неповна (є місце для води), то перейдіть до п.3, інакше кінець алгоритму.
  3. Наберіть відро води
  4. Вилийте цебро в бочку
  5. Перейдіть до п.2.

Кінець алгоритму

Завдання для закріплення матеріалу

  1. Послідовність дій учня 6 класу Васі: «Якщо Павлик удома, вирішуватимемо завдання з математики. Інакше слід зателефонувати до Марини і разом готувати доповідь з біології. Якщо ж Марини немає вдома, то треба сісти за твір.
  2. Скласти блок-схему дій школяра, якому перед вечірньою прогулянкою слід виконати домашнє завдання з математики.

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

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

Як утворюються алгоритми дій?

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

Або ще приклад: щоб скопіювати картинку або текст, натискаємо правою кнопкою миші на картинку, потім вибираємо "Копіювати", поміщаємо в потрібне місце, натискаємо правою кнопкою "Вставити", і результат досягнуто.

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

Опишіть послідовність дій – це запам'ятовується

Створити алгоритм дійможна, описавши або зобразивши його послідовність. Чи знають усе, що треба зробити, щоб посадити дерево? Можливо, основні кроки зрозумілі всім, але коли деревце поливати, перед посадкою або після, пам'ятає не кожен. Створений алгоритм дозволить усі дії виконати у правильній послідовності.

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

Алгоритм дій у графіку – це блок-схема

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

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

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

Блок-схеми застосовуються у продажах

У продажах таке навчання за допомогою розробки алгоритмів та зображення їх у вигляді блок-схем має велике поширення. Найчастіше їх використовують у телефонних сценаріях розмов у call-центрах та для «холодних» дзвінків. Корпоративна культура набирає обертів, тому багато компаній вже не дозволяють співробітникам нести «відсеб'ятину», навіть талановиту, а пропонують діяти їм за заздалегідь розробленим сценарієм, представляючи «обличчя фірми» на різних етапах. Ефект з'являється буквально після кількох днів дій «папірець». Згодом багато з описаних алгоритмів запам'ятовується співробітником, і надалі він вільно може спілкуватися, не побоюючись того, в який бік може піти розмова.

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

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

Сервіси для розробки блок-схем

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

- Гарний настрій вам забезпечено. На початковому етапі можна скористатися можливостями безкоштовного облікового запису, а надалі за доступ потрібно буде платити. Звичайно, безкоштовний доступ має обмеження в порівнянні з платними. Але для вивчення і перших кроків функціоналу цілком достатньо.

Розробивши алгоритми дій і перетворивши їх на блок-схемиза допомогою Cacoo, ви зможете надовго створити гарний настрій не тільки собі, але й іншим людям, які осягають ази.

Створюйте ігрові блок-схеми для своїх дітей

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

Моя блок-схема

Ось яка блок-схема в мене вийшла вперше. Щоб збільшити зображення, натисніть на нього. Після переходу на Cacoo під записом «перегляд фігури» натискайте на картинку. Вона відкриється у великому вікні. Успіхів!