Тема: «Поняття алгоритму. Властивості алгоритмів.Форми подання алгоритмів. Базові структури алгоритмів»

Викладач: Йосипенко Р.П.:

ПЛАН УРОКУ З ІНФОРМАТИКИ

 

Тема: «Поняття алгоритму. Властивості алгоритмів.Форми подання алгоритмів. Базові структури алгоритмів»

“Не бійся, що не знаєш, бійся, що не навчишся”Китайська мудрість.

План уроку

Предмет Інформатика

Група ОКН-11

Професія Оператор комп’ютерного нобору

Дата 26.12.2011 року

Тема уроку Поняття алгоритму. Властивості алгоритмів. Форми поданняалгоритмів. Базові структури алгоритмів.

Мета уроку Навчальна:

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

Розвиваюча: Розвивати логічне мислення, розумову активність учнів,цілеспрямованість, пам’ять.

Виховна: Виховувати вміння самостійно приймати рішення. Обладнання Комп’ютери класу об’єднані в локальну компютерну мережу, мультимедійний проектор. Тип уроку Урок засвоєння нових знань

Хід уроку:

І. Організаційний момент (2 хв.)

ІІ. Мотивація навчальної діяльності учнів. (5 хв.)Вступне слово викладача інформатики;

Повідомлення теми та мети уроку, його ролі в даній темі, курсі інформатики в цілому та у професійній орієнтації.

ІІІ. Актуалізація теми уроку. (5 хв.)

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

Що таке мови і для чого вони існуюсь?

Чи потрібні якісь загальні правила при записуванні алгоритмів?

Чому?

ІV. Вивчення нового матеріалу. (20 хв.)

Кожна людина щодня зустрічається з безліччю задач від найпростіших і добре відомих до дуже складних. Для багатьох задач існують визначені правила (інструкції, команди), що пояснюють виконавцю, як розв'язувати дану проблему. Ці правила людина може вивчити чи заздалегідь сформулювати сама в процесі розв'язування задачі. Чим точніше описані правила, тим швидше людина опанує ними і буде ефективніше їх застосовувати.У нашому житті ми постійно складаємо опис деякої послідовності дій для досягнення бажаного результату, тому поняття алгоритму не є для нас чимось новим і незвичайним. Так, ранком мама перед твоїм виходом до школи, дає вказівку: "Коли прийдеш зі школи, відразу пообідай і вимий посуд. Після цього підмети підлогу, сходи в магазин і можеш трохи погуляти. Гуляти дозволяю не більше години, а потім відразу за уроки".Ця інструкція складається з послідовності окремих вказівок, що і визначають твою поведінку після повернення зі школи. Це і є алгоритм.Кожний з нас використовує сотні різних алгоритмів. Спробуйте згадати деякі з них (алгоритми виконання арифметичних дій, розв'язування задач, прибирання квартири, миття посуду, готування їжі - рецепти тощо).Отже, після обговорення кількох прикладів алгоритмів, давайте спробуємо сформулювати визначення, що ж таке алгоритм.Алгоритм — це послідовність дій, спрямованих на розв’язання поставленої задачі.Алгоритмом називається зрозуміле і точне розпорядження виконавцю виконати послідовність дій, спрямованих на досягнення зазначеної мети чи на розв'язання поставленої задачі.В цьому означенні використовується поняття "виконавець". Що це означає? Під виконавцем алгоритму ми розуміємо будь-яку істоту (живу чи неживу), яка спроможна виконати алгоритм. Все залежить від того, якої мети ми намагаємося досягнути. Наприклад: риття ями (виконавці - людина або екскаватор), покупка деяких товарів (один із членів родини), розв'язування математичної задачі (учень або комп'ютер) тощо.Будь-який виконавець (і комп'ютер зокрема) може виконувати тільки обмежений набір операцій (екскаватор копає яму, вчитель вчить, комп'ютер виконує арифметичні дії).Тому алгоритми повинні мати наступні властивості:Зрозумілість.Щоб виконавець міг досягти поставленої перед ним мети, використовуючи даний алгоритм, він повинен уміти виконувати кожну його вказівку, тобто розуміти кожну з команд, що входять до алгоритму.

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

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

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

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

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

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

Третій спосіб - запис алгоритмів за допомогою блок-схеми. Цей метод був запропонований в інформатиці для наочності представлення алгоритму за допомогою набору спеціальних блоків. Основні з цих блоків наступні:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

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

Означення. Основні алгоритмічні структури (базові, керуючи структури алгоритмів) – це способи керування процесами обробки даних. Комбінуючи керуючі структури, можна складати програми для розв’язання різноманітних задач.Виділяють три базові алгоритмічні структури (конструкції):1. Лінійні алгоритми (послідовне виконання).2.Умова (розгалуження).Алгоритми найпростішого виду - лінійні. Це такі алгоритми, в яких дії виконуються послідовно, одна за одною. Кожна дія лінійного алгоритму обов’язкого виконується, і виконується тільки один раз.Алгоритм, в якому та чи інша серія команд реалізується в залежності від виконання заданої умови, називається алгоритмом з розгалудженням. Розрізняють повну і коротку форму розгалудження. В короткій формі при невиконанні умови ніякі дії не передбачаються. Повну форму розгалудження можна прочитати так:

"Якщо умова виконується, то виконати дію 1,інакше виконати дію 2". А коротку - так: "Якщо умова виконується, то виконати дію".Третій вид алгоритмів - такі, котрі передбачають неодноразове (але скінченне) виконання певної дії (або кількох дій). Це циклічні алгоритми. Дії, які мають повторюватись, називаються тілом циклу. Умова, яка визначає кількість повторень циклу, називається умовою циклу. Зазначена команда/команди виконується Доки наведений логічний вираз справджується.

V. Закріплення вивченого. (4 хв.)Повторення з учнями основних моментів нової теми.Що таке алгоритм?Які приклади алгоритмів ви можете навести?Які властивості алгоритмів ви знаєте?Які способи подання алгоритмів ми розглянули?

VI. Аналіз та підсумки уроку. (2 хв)Підводяться підсумки та робиться аналіз вивченого матеріалу.

VІI. Домашнє завдання. (2 хв.)Конспект. Підготувати доповідь з теми «Блок-схема алгоритму»