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