Тема. Поняття алгоритму. Властивості алгоритмів. Форми подання алгоритму. Виконавець алгоритму
Мета: сформувати поняття алгоритму та його властивостей, поняття виконавця, мови програмування, середовища розробки програм, компілятора; домогтися засвоєння способу графічного подання алгоритмів;
сформувати поняття:
- алгоритму;
- форм подання алгоритму;
- виконавця алгоритму;
сформувати уявлення про:
- різні види алгоритмів та їх виконання;
- різні методи подання алгоритмів;
- загальні основи термінології алгоритмізації;
формувати вміння використовувати:
- графічні схеми базових структур алгоритмів для опису алгоритмів;
- різні засоби подання алгоритмів;
виховувати уважність, дисциплінованість під час роботи за ПК.
Типу року: засвоєння нових знань, формування вмінь.
Обладнання та наочність: дошка, комп'ютер, інструкції з ТБ в комп'ютерному кабінеті.
Базові поняття й терміни: алгоритм, виконавець, базові структури алгоритмів,
слідування, розгалуження, повторення.
ХІД УРОКУ
- I. ОРГАНІЗАЦІЙНИЙ ЕТАП
Привітання. Підготовка класу до занять.
- II. ПЕРЕВІРКА ДОМАШНЬОГО ЗАВДАННЯ
- III. АКТУАЛІЗАЦІЯ ОПОРНИХ ЗНАНЬ
►► Фронтальне опитування
- Що називають моделлю?
- Що таке моделювання?
- На які типи можна поділити всі моделі?
- Що таке інформаційна модель?
- Схарактеризуйте можливі стани об’єкта
Об'єкт
|
Стан об'єкта
|
Телефонна лінія
|
Вільна/зайнята
|
Телевізор
|
Вимкнено/ввімкнено
|
Програма
|
Працює/не працює
|
- МОТИВАЦІЯ НАВЧАЛЬНОЇ ДІЯЛЬНОСТІ
Обговорення повідомлення
Ім'я аль-Хорезмі ми згадуємо під час вивчення математики у зв'язку з поняттям алгоритму. Як вважають, слово «алгоритм» походить від імені відомого середньоазіатського вченого Мухаммеда аль-Хорезмі. Близько 825 року аль-Хорезмі написав твір, у якому вперше виклав теорію десяткової системи числення, започаткованої в Індії. На жаль, арабський оригінал книги не зберігся, тож нам невідома її первісна назва.
Аль-Хорезмі сформулював правила обчислення в новій системі і, можливо, вперше використав цифру 0 для позначення пропущеної позиції в запису числа (індійську її назву араби переклали як аs-sift або просто sift, звідси такі слова, як «цифра» і «шифр»). Відтоді індійські цифри почали
9
використовувати й інші арабські вчені. У першій половині XII ст. книга аль-Хорезмі в латинському перекладі дійшла до Європи.
Учитель. Розв'язування будь-яких задач зводиться до виконання певних дій, команд згідно з деякою схемою. В інформатиці таку послідовність команд називають алгоритмом. Які бувають алгоритми? Як їх записують? У чому відмінність математичних алгоритмів від інформаційних? На ці та інші запитання ми спробуємо дати відповіді на уроці.
- V. ЗАСВОЄННЯ НОВИХ ЗНАНЬ
Алгоритм
Учитель. Алгоритм— це точний і зрозумілий опис послідовності дій над заданими об'єктами, що дозволяє одержати кінцевий результат.
Алгоритм —організована послідовність дій, зрозуміла виконавцеві; кінцевий набір правил, послідовне застосування яких до оброблюваних даних за скінчену кількість кроків дасть змогу отримати результати обробки; зрозумілий та точний наказ виконавцеві зробити у певній послідовності дії над заданими об'єктами, що приводять виконавця після скінченої кількості кроків до досягнення зазначеної мети (вирішення поставленої задачі).
Залежно від цілей, початкових умов задачі, шляхів її вирішення алгоритми поділяються на:
Механічні — задають певні дії, позначаючи їх у єдиній послідовності, забезпечуючи тим самим однозначний результат.
Імовірнісні — дають програму вирішення задачі кількома шляхами, що приводить до ймовірнісного досягнення результату.
Евристичні — досягнення кінцевого результату програми дій однозначно не визначено, використовуються універсальні логічні способи прийняття рішень, засновані на аналогіях, асоціаціях і минулому досвіді розв'язання схожих задач.
Ви вже не раз зустрічалися з алгоритмами в інших шкільних предметах. Наприклад, у хімії отримання тієї чи іншої сполуки можна описати за допомогою алгоритму. Але найбільше прикладів алгоритмів у математиці — науці, у якій власне й зародилося це поняття. По суті, математика вивчає різні алгоритми і створює нові. До алгоритмів зі шкільного курсу математики належать правила виконання арифметичних дій, правила знаходження розв'язків рівнянь тощо. У вигляді алгоритмів можна сформулювати правила побудови різних геометричних фігур (згадайте задачу на побудову), а також рекомендації щодо розв'язування типових задач.
До слова «алгоритм» близькі за значенням слова: спосіб, рецепт. Однак алгоритми в інформатиці — це не тільки рецепти розв'язування задач. Алгоритми розробляють, насамперед, із метою автоматизації дій виконавця.
Складання алгоритму починається з розбивання описуваного процесу на послідовність окремих кроків. Властивість розбивання алгоритму па окремі кроки називають дискретністю алгоритму. Кожний крок алгоритму формулюється у вигляді інструкцій (команд), тобто визначених розпоряджень виконавцю.
Виконавець і властивості алгоритму
Алгоритм розв'язування однієї й тієї самої задачі можна подати по-різному. Якщо ви навчаєте чогось собаку, ви будете давати усні команди зрозумілою для неї мовою. Якщо ж ви навчаєте свого приятеля їздити на велосипеді, то система команд, які він може виконати, буде, звичайно, ширшою. Алгоритм їзди ви можете описати усно або на папері.
Алгоритми складаються з орієнтацією на певного виконавця алгоритму: дресированої тварини, людини, автоматичного пристрою, комп'ютера. До складу алгоритму мають належати команди, які виконавець розуміє та може виконати.
Алгоритми складаються з урахуванням можливостей виконавця.
Виконавець алгоритму — об'єкт (людина, комп'ютер), що здатний правильно зрозуміти й точно виконати всі дії алгоритму.
Розбіжності між виконавцями алгоритмів: якщо люди роблять багато справ, навіть не усвідомлюючи, що при цьому вони використовують якісь алгоритми, то комп'ютери не можуть функціонувати без програм, накази яких вони точно виконують.
Механічний (машинний) алгоритм — алгоритм, для якого виконавцем є ЕОМ. Такий алгоритм повинен відповідати низці вимог.
Властивості алгоритмів
- Зрозумілість — алгоритм повинен бути заданий за допомогою таких вказівок, які входять у систему команд виконавця.
- Результативність — досягнення виконавцем результату
після проходження скінченної кількості кроків. - Визначеність — точні відомості про те, яку наступну команду виконувати виконавцеві після завершення поточної команди.
- Дискретність — послідовність команд, кожна з яких
приводить до виконання одного кроку виконавцем. - Масовість — можливість за допомогою одного алгоритму
розв'язання цілого класу однотипних задач.
s З'ясуйте, яку властивість алгоритму описано.
- Алгоритм повинен розв'язувати будь-яку задачу певного типу бути застосовним до допустимих вхідних даних.(Масовість)
- Процес виконання алгоритму повинен складатися з окремих завершених операцій, які виконуються послідовно і за скінченний час. (Дискретність)
- Виконання послідовності операцій алгоритму повинно приводити до конкретного результату. (Результативність)
- Будь-який виконавець, здатний сприймати і виконувати вказівки алгоритму (навіть не розуміючи їх змісту), діючи за алгоритмом, може виконати поставлене завдання.(Формальність)
СПОСОБИ ТА ФОРМИ ОПИСУ АЛГОРИТМІВ
- Словесні
- Словесно-формульні
- Графічні (схеми)
- Однією з мов програмування
Алгоритм може бути виражений в усній словесно-формульній формі, записаний у вигляді тексту (існує спеціальна навчальна алгоритмічна мова, що дає змогу записати алгоритм із використанням розмовних слів для більш зрозумілого відображення) або зображений у вигляді схеми.
Словесний опис алгоритму використовується для формулювання правила чи плану, а словесно-формульний передбачає застосування певних співвідношень або обчислень.
Схема — це графічне зображення алгоритму за допомогою геометричних блоків, які позначають ту або іншу команду. Графічне зображення алгоритму дає змогу наочно простежити й осмислити процес виконання алгоритму. Використовувані геометричні фігури відповідають одному кроку алгоритму й мають стандартний зміст.
Схема складається з елементів двох типів:
- 1-й тип — графічні фігури, кожна з яких відображає один
з етапів процесу рішення задачі та містить у собі текст відповідної команди; - 2-й тип — лінії зі стрілками, які вказують послідовність (порядок) виконання етапів. У цілому такий спосіб запису алгоритмів можна розглядати як своєрідну алгоритмічну мову — систему позначень і правил для однотипного запису алгоритмів та їх виконання.
Блок-схема алгоритмів — графічне зображення логічної структури алгоритму. Кожний етап представляється у вигляді геометричної фігури (блоку), яка має певну форму залежно від характеру операції. Блоки на схемі з'єднуються стрілками (лініями зв'язку), які визначають послідовність виконання операцій і утворюють логічну структуру алгоритму.
У процесі розробки алгоритмів використовується три основні структури: слідування, розгалуження, повторення.
Команда — записаний в алгоритмі наказ виконавцеві викопати менпу закінчену дію.
Блок-схема — це наочне графічне зображення алгоритму, коли окремі його дії (етапи) зображуються за допомогою різних геометричних фігур (блоків), а зв'язки між етапами вказуються за допомогою стрілок, що з'єднують ці фігури.
План складання алгоритму
- Уважно прочитати умову задачі.
- Визначити:
а) що дано (аргументи);
б) що потрібно знайти (результати);
в) у якому вигляді (тип аргументів і результатів).
- Записати заголовок алгоритму.
- Визначити шляхи вирішення задачі та виявити необхідні
проміжні величини.
5. Записати алгоритм алгоритмічною мовою. .
6. Перевірити правильність складання алгоритму при конкретних значеннях аргументів
№ з/п
|
Найменування
|
Позначення
|
Пояснення
|
1
|
Початок
Кінець
|
Початок/кінець алгоритму, переривання процесу обробки даних (для початку — тільки вихід, для кінця — тільки вхід)
| |
2
|
Введення - виведення
|
Уведення й виведення значень (один вхід, один вихід)
| |
3
|
Процес
|
Виконання операції або групи операцій, у результаті яких змінюється значення, форма подання або розташування даних (один вхід, один вихід)
| |
4
|
Розгалуження
|
Вибір напрямку виконання алгоритму залежно від деяких змінних умов (один вхід та тільки два виходи — так і ні)
| |
5
|
Визначений процес
|
Програма,
стандартна підпрограма
| |
6
|
З’єднувачі
|
Вказівка зв'язку між перерваними лініями, що з'єднують блоки
| |
7
|
Міжсторінковий з’єднувач
|
Вказівка зв'язку між перерваними лініями, що з'єднують блоки, розміщені на різних сторінках
|
План складання алгоритму
- Уважно прочитати умову задачі.
- Визначити:
а) що дано (аргументи);
б) що потрібно знайти (результати);
в) у якому вигляді (тип аргументів і результатів).
- Записати заголовок алгоритму.
- Визначити шляхи вирішення задачі та виявити необхідні
проміжні величини.
5. Записати алгоритм алгоритмічною мовою. .
6. Перевірити правильність складання алгоритму при конкретних значеннях аргументів.
Приклад різних форм подання алгоритму
Наприклад, скласти алгоритм, який перевіряє, чи може існувати трикутник із кутами А, В, С.
Словесний запис алгоритму
- Задаємо конкретні числові значення кутів А, В, С.
- Якщо сума кутів дорівнює 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.
VI ФОРМУВАННЯ ВМІНЬ ТА НАВИЧОК
Виконання практичних завдань
Учні викопують комплекс вправ для зняття зорової втоми.
Алгоритми в житті людини (деталізація алгоритму довільна)
- Як перейти через вулицю?
- Я хочу чаю.
- Я їду на море.
- Мені потрібно на 10-й поверх.
- Шукаємо інформацію.
Роботу бажано організувати за схемою:
- Визначити очікуваний результат.
- Записати послідовність дій, виконання яких приведе до очікуваного результату.
- Перевірити працездатність створеного алгоритму.
Учні виконують комплекс вправ для зняття м'язового напруження.
Запис алгоритмів у вигляді блок-схеми
Запишіть алгоритми у вигляді блок-схеми. Обчисліть значення виразу:
а) у = 2х + 1;
Розв'язання
Дивись блок-схему
б)
Врахувати, що для деяких значень обчислення неможливі.
- VII. УЗАГАЛЬНЕННЯ ТА ОСМИСЛЕННЯ НАБУТИХ ЗНАНЬ
►► Бесіда за питаннями
- Що нового ви дізнались на уроці?
- Як ці знання можна застосувати на практиці?
- Чи престижна професія програміста?
- Що б ви хотіли дізнатись на наступному уроці?
►► Усне опитування
- Що таке алгоритм? Дайте означення цього поняття.
- Хто може бути виконавцем алгоритму? Наведіть приклади.
- Назвіть відомі вам властивості алгоритмів.
- Чи буде вважатися алгоритмом послідовність дій, що закінчується невизначеною ситуацією?
- Наведіть приклади властивості масовості алгоритму.
- Назвіть відомі вам способи зображення алгоритмів.
- Які переваги графічного зображення алгоритмів перед словесним записом?
- Назвіть компоненти блок-схем алгоритмів.
- VIII. ПІДБИТТЯ ПІДСУМКІВ УРОКУ
Учитель оцінює роботу учнів на уроці. - ДОМАШНЄ ЗАВДАННЯ
- Опрацювати конспект уроку та відповідний параграф підручника.
- Записати алгоритм обчислення значення виразу у вигляді блок-схеми.
Обчислити значення виразу:
а) у = -2х-3;
б) у =