Презентація з практичного курсу інформатики на тему: Алгоритм. Властивості алгоритмів. Форми подання алгоритму. Базові структури алгоритмів. Типи алгоритмів
“Алгоритми. Властивості алгоритмів. Форми подання алгоритму”
План: АлгоритмВластивості алгоритмів Форми подання алгоритмуБазові структури алгоритмівТипи алгоритмів
Процес купівлі хліба можна представити так:
Поняття алгоритмуСлово «алгоритм» походить від «algorithmi» — латинської форми написання імені великого математика Аль-Хорезмі, який сформулював правила виконання арифметичних дій. Тому спочатку під алгоритмом розуміли тільки правила виконання чотирьох арифметичних дій над багатоцифровими числами в десятковій системі числення. Зараз він є одним із фундаментальних понять інформатики. Алгоритмізація – процес розробки алгоритму (плану дій) для розв'язування задачіАлгоритм — це послідовність дій, спрямованих на розв’язання поставленої задачі.Алгоритм — це точні розпорядження (вказівки, команди) виконавцевівідносно здійснення послідовності дій, які спрямовані на розв'язання певної задачі.
Виконавець алгоритмуПід виконавцем алгоритму ми розуміємо будь-яку істоту (живу чи неживу), яка спроможна виконати алгоритм. Відмінність між виконавцями алгоритмів — людьми і комп'ютерами: якщо люди виконують багато дій, навіть не усвідомлюючи, що при цьому вони виконують якісь алгоритми, то комп'ютери не можуть функціонувати без програм, вказівок яких вони точно додержують.
Основні характеристики виконавця алгоритмуСередовище виконавця – умови, у яких може діяти виконавецьЕлементарні дії – найпростіші дії, які може виконати виконавецьСистема команд виконавця – сукупність допустимих команд виконавця.Допустимі команди – команди, які зрозумілі виконавцю і можуть бути ними виконані.Недопустимі команди – команди, які не можуть бути виконані виконавцем.
Залежно від цілей та шляхів її вирішення алгоритми поділяються на:Механічні — задають певні дії, позначаючи їх у єдиній послідовності, забезпечуючи тим самим однозначний результат.Імовірнісні — дають програму вирішення задачі кількома шляхами, що приводить до ймовірнісного досягнення результату.Евристичні — досягнення кінцевого результату програми дій однозначно не визначено, використовуються універсальні логічні способи прийняття рішень, засновані на аналогіях, асоціаціях і минулому досвіді розв'язання схожих задач.
Властивості алгоритмів
ДискретністьАлгоритм розв’язання задачі повинен складатися з послідовності окремих кроків — відокремлених одна від одної команд (указівок), кожна з яких виконується за кінцевий час. Тільки закінчивши виконання однієї команди, виконавець переходить до виконання іншої.ВизначеністьВизначеність (однозначність). Кожна команда алгоритму однозначно визначає дії виконавця і не припускає подвійного тлумачення. Суворо визначеним є й порядок виконання команд.Властивості алгоритмів
РезультативністьМасовістьВиконання алгоритму не може закінчуватися невизначеною ситуацією або зовсім не закінчуватися. Будь-який алгоритм передбачає, що його виконання при допустимих початкових даних за кінцеве число кроків приведе до очікуваного результату.Алгоритм має передбачати можливість зміни початкових (вхідних) даних у деяких допустимих межах і можливість використання його для розв’язання задач одного класу (універсальність алгоритму).Властивості алгоритмів
СкінченністьВиконання алгоритму повинно завершитися за скінченну кількість кроків. Виконання алгоритму не може закінчуватися невизначеною ситуацією або ж зовсім не закінчуватися.Зрозумілість Щоб виконавець міг досягти поставленої перед ним мети, використовуючи даний алгоритм, він повинен уміти виконувати кожну його вказівку, тобто розуміти кожну з команд, що входять до алгоритму. Властивості алгоритмів
Подання алгоритмівАлгоритми подаються за допомогою природних або штучних мов, схем, рисунків, знаків тощо
ПрикладСловесний запис алгоритмуАлгоритм кипіння води в чайникуНалити воду в чайникЗапалити сірникВідкрити газЗапалити газПоставити чайник на плитуЗачекати доки чайник закипитьЗадаємо конкретні числові значення кутів А, В, С.Якщо сума кутів дорівнює 180°, то трикутник існує, в іншому випадку не існує.
Словесно-формульний запис алгоритмуЗадаємо конкретні числові значення кутів А, В, С.Якщо А + В + С = 180° , то трикутник існує, в іншому випадку не існує.Приклад
Графічний запис алгоритму (блок-схема)Приклад
Реалізація алгоритму у вигляді програмиКод програми на мові ПаскальProgram Z1;var a, b, c: Real;begin write(‘ Введіть значення кутів трикутника ‘);readln(a, b, c);if a+b+c=180 then writeln(‘Існує’) else writeln(‘ Не існує’);end.Приклад
Типи алгоритмів: лінійні алгоритми; алгоритми з розгалуженнями; алгоритми з повтореннями.
Лінійні алгоритмиАлгоритм, у якому команди виконуються в порядку їх запису, тобто послідовно один за одним, називається лінійним.Наприклад, лінійним є наступний алгоритм посадки дерева:1) викопати в землі ямку;2) вилучити в ямку саджанець;3) засипати ямку із саджанцем землею;4) полити саджанець водою.
Алгоритми з розгалуженнямиФорма організації дій, при якій залежно від виконання деякої умови відбувається одна або інша послідовність кроків, називається розгалуженням.Логікові ухвалення рішення можна описати так: ЯКЩО ТО ІНАКШЕПриклади:• ЯКЩО прагнеш бути здоровий, ТО загартовуйся, ІНАКШЕ валяйся весь день на дивані;• ЯКЩО низько ластівки літають, ТО буде дощ, ІНАКШЕ дощу не буде;• ЯКЩО уроки виучені, ТО йди гуляти, ІНАКШЕ вчи уроки.У деяких випадках можуть бути відсутні: ЯКЩО ТОПриклад:• ЯКЩО назвався грибом, ТО лізь в кошик
Алгоритми з повтореннямиФорма організації дій, при якій виконання однієї й тієї ж послідовності команд повторюється, поки виконується деяке заздалегідь установлене умова, називається циклом (повторенням).Алгоритм, що містить цикли, називається циклічним алгоритмом або алгоритмом з повтореннями.ПрикладНатуральне число називають простим, якщо воно має тільки два дільники: одиницю й саме це число 2, 3, 5, 7 — прості числа; 4, 6, 8 — ні. 1) виписати всі натуральні числа від 1 до n;2) викреслити 1;3) підкреслити найменше з невідмічених чисел;4) викреслити всі числа, кратні підкресленому на попередньому кроці;5) якщо в списку є невідмічені числа, то перейти до кроку 3, а якщо ні, то всі підкреслені числа — прості.Це циклічний алгоритм. При його виконанні повторення кроків 3-5 відбувається, поки у вихідному списку залишаються невідмічені числа.
Що таке алгоритм? Які властивості алгоритмів ви знаєте? Які форми подання алгоритмів ви знаєте? Які ви знаєте типи алгоритмів?