АЛГОРИТМИ Алгоритм не розкіш, а засіб досягнення мети. Протягом всього життя кожна людина постійно користується АЛГОРИТМАМИ – ПРАВИЛАМИ – ІНСТРУКЦІЯМИРЕЦЕПТАМИ, які закладені в нього природою, навчанням, вихованням.

Download Report

Transcript АЛГОРИТМИ Алгоритм не розкіш, а засіб досягнення мети. Протягом всього життя кожна людина постійно користується АЛГОРИТМАМИ – ПРАВИЛАМИ – ІНСТРУКЦІЯМИРЕЦЕПТАМИ, які закладені в нього природою, навчанням, вихованням.

Slide 1

АЛГОРИТМИ
Алгоритм не розкіш, а
засіб досягнення мети.


Slide 2

Протягом всього життя кожна
людина постійно користується
АЛГОРИТМАМИ –
ПРАВИЛАМИ –
ІНСТРУКЦІЯМИРЕЦЕПТАМИ, які закладені в
нього природою, навчанням,
вихованням.


Slide 3

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

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


Slide 4

Приклади алгоритмів:
Інструкція користування ліфтом,
телефоном;
Правила переходу вулиці;
Розпорядок дня;
Правила обчислень, методи
розв’язування задач.
тощо


Slide 5

"ALGORITHMI" -

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

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


Slide 6

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

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


Slide 7

Тому алгоритми повинні мати такі
властивості:
ЗРОЗУМІЛІСТЬ. Щоб виконавець міг
досягнути поставленої перед ним
мети,
використовуючи
даний
алгоритм,
виконавцю
необхідно
вміти виконувати кожну вказівку
цього алгоритму, розуміти будь-яку з
команд, які входять в алгоритм.


Slide 8

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


Slide 9

РЕЗУЛЬТАТИВНІСТЬ.
•Алгоритм повинен приводити до певного
результату через кінцеве число кроків.

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


Slide 10

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


Slide 11

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


Slide 12

Дискретність
Це розбиття алгоритму на окремі
елементарні дії (команди), які легко
виконати даному виконавцю.


Slide 13

МАСОВІСТЬ.
можливіть використання цього алгоритму для
розв’язання більшої кількості однотипних задач.
Дуже важливо, щоб складений алгоритм
забезпечував розв’язання не однієї окремої задачі,
а виконував розв’язання широкого класу задач
даного типу.
Наприклад, алгоритм покупки товару в магазині
буде завжди однаковий, незалежно від товару,
який купляється. Або алгоритм прання не
залежить від білизни, і т.д.


Slide 14

ФОРМАЛЬНІСТЬ.
Виконавець
може
не
завмислюватись над тим, що він
робить, але й разом з тим, отримає
потрібний результат.
Виконавець алгоритму не потребує
міркувань, пов’язаних з задачею, та
може виконати його формально.


Slide 15

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


Slide 16

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


Slide 17

Наприклад, алгоритм знаходження модуля
числа можна записати наступним чином.

1. Початок.
2. Ввести числове значення величини
х.
3. Якщо х більше або рівне 0, то у
присвоїти значення х, інакше у
присвоїти значення мінус х.
4. Вивести значення у.
5. Кінець.


Slide 18

Ця форма запису містить
суттєві недоліки:
Недостатньо наочна
Словесний запис важко перекласти
на мову програмування.
Словесний
запис
застосовують
на початковому
етапі вивчення
алгоритмів.


Slide 19

Більш наочною формою запису
алгоритмів є мова блок-схем.
початок

Наприклад,
блок-схема
знахождення
модулю
числа буде
виглядати
наступним
чином.

Ввести х
так

х>0

ні

Y:=-х

Y:=х

Вивід y
кінець


Slide 20

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

Алгоритми не є програмами для розв’язання
задач на комп’ютері.
Метод запису алгоритмів за допомогою блок-схеми був
запропонований в інформатиці для наочності
представлення алгоритму за допомогою набору
спеціальних блоків.


Slide 21

Кожний блок відповідає
певній дії:
Запис алгоритму починається та
закінчується наступними блоками
початок
кінець

Стрілки позначають напрямлення виконання алгоритму.


Slide 22

Блок вводу-виводу

для команди введення - виведення значень.

Введення х

Виведення у

Операторні блоки
(вирази, що виконуються над величинами).

y:=a+b


Slide 23

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

Введення х

у:=х*х
Виведення у
кінець


Slide 24

Умовний блок
так

умова

Серія команд 1

ні

Серія команд 2

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


Slide 25

Наприклад, алгоритм обчислення модулю
числа
початок

а
ні

так

A>0

Y:=-a

Y:=a

y
кінець


Slide 26

Цикл

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


Slide 27

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

умова

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

ні

Серія команд

так

Серія команд

Цикл з параметром

так

ні

умова

Х=хн, хк, h
Тіло циклу


Slide 28

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


Slide 29

Приклад. В школу привезли вантажну машину меблів: столи, стільці та
крісла. Розвантажити машину: стільці до актової зали, столи у ідальню,
крісла у викладацьку.

ні

так

машина
не пуста

Кінець
розвантаження

Взяти предмет
ні

так

ні

стілец
ь

Нести до актової
зали

стіл
так

Нести у ідальню

Нести у
викладацьку