23
Міністерство освіти і науки України обласний інститут післядипломної педагогічної освіти “Основи алгоритмізації та програмування”

основи алгоритмізації

Embed Size (px)

Citation preview

Page 1: основи алгоритмізації

Міністерство освіти і науки України

обласний інститут післядипломної педагогічної освіти

“Основи алгоритмізації

та програмування”

Page 2: основи алгоритмізації

Є лише один спосіб Є лише один спосіб заставити людину заставити людину щось зробити – це щось зробити – це зробити так, щоб зробити так, щоб вона захотіла це вона захотіла це

зробити.зробити.

Карнегі ДейлКарнегі Дейл

Page 3: основи алгоритмізації

ПЛАНВСТУП

Система уроків з теми “Основи алгоритмізації та програмування”

Алгоритм та його властивості (“Броунівський рух”)Структура програми на мові програмування

Паскаль. Оператор присвоєння. Процедури введення та виведення даних (“Ажурна пилка”)

ВИСНОВКИ

ВИКОРИСТАНІ ДЖЕРЕЛА

Page 4: основи алгоритмізації

ВСТУП

Існує досить велика кількість різновидів інтерактивних вправ. На уроках інформатики найбільш придатними до застосування інтерактивними вправа ми можуть бути: «Ажурна пилка», «Мозковий штурм», «Посиденьки», «Броунівський рух», «Рольова гра», «Робота в малих групах».

Я пропоную цикл уроків з програмування, розроблених за інтерак тивною технологією навчання та з власного досвіду стверджую, що застосування інтерактивних технологій навчання підвищує ефективність уроку та зацікавлює учнів до вивчення розділу «Основи алгоритмізації та програ мування».

Page 5: основи алгоритмізації

І. Мотивація навчальної діяльності учнівПропоную учням сформулювати критерії, за якими можна ви значити, чи є людина

певної професії висококваліфікованим спеціалістом, наприклад, до якого лікаря-хірурга учні звернулися б за допомогою. Підво джу учнів до думки, що висококласний фахівець – це людина, котра доско нало володіє алгоритмом (порядком, переліком) дій для розв'язання різних виробничих питань. Отже, вміння правильно будувати алгоритм своїх дій, враховувати в ньому всі умови та планувати шляхи вирішення різних ситуацій – ось що відрізняє фахівця свої справи від дилетанта. Саме тому в розділ шкільного курсу інформатики введено тему "Основи алгоритмізації та про грамування", метою якої є розвиток в учнів алгоритмічного стилю мислення, тобто вироблення вміння створювати різноманітні алгоритми. Таким чином, цей розділ інформатики допоможе учням стати у майбутньому – гарними спеці алістами улюбленої справи. Оскільки одним з основних виконавців алгоритмів є комп'ютер, то учні будуть вчитися створювати алгоритми для цієї обчислю вальної машини.

II. Оголошення, представлення теми та очікуваних навчаль них результатівПісля цього уроку учні зможуть:пояснювати поняття "алгоритм";пояснювати, які властивості повинні мати алгоритми;записувати алгоритми у різних формах подання; набути навичок роботи в групі.III. Надання необхідної інформації

Page 6: основи алгоритмізації

IV. Інтерактивні вправиВправа "Броунівський рух" та робота в малих групах.Для проведення вправи "Броунівський рух" учні отримують картки: 7 учнів отримують жовті картки з текстом (продовження теоретичного мате ріалу теми), інші 7 учнів отримують блакитні картки з таким самим текстом. Пропоную учням прочитати інформацію, написану на картці. Запитую, чи розуміють учні прочитане. Пропоную учням з жовтими картками ходити по класу і знайомити зі своєю інформацією учнів з блакит ними картками і, навпаки, учні з блакитними картками знайомлять зі своєю інформацією учнів з жовтими картками. Учень може одночасно говорити тільки з однією особою.

Зміст карток

1. Однозначність алгоритму – це точний опис дій та послідовності їх виконання, відсутність їх неоднозначного тлумачення.

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

Page 7: основи алгоритмізації

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

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

3. Будь-який алгоритм має бути розбитий на послідовність окремих кроків, мати властивість дискретності.

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

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

4. Універсальність (масовість) алгоритму – це можливість викорис товувати його для розв'язування подібних задач. Алгоритм є масовий, якщо він придатний для розв'язування не однієї задачі, а задач певного класу. Наприклад, якщо в алгоритмі розв'язування квадратного рівняння передбачені дії, що їх треба виконати для різного за знаком значення дискримінанту, то такий алгоритм буде масовим, тобто може бути засто сований для різних значень коефіцієнтів квадратного рівняння а, b, с.

Page 8: основи алгоритмізації

5.Алгоритм має бути правильним і результативним. Алгоритм ре зультативний, якщо він дає результати, які можуть бути і неправильними. Алгоритм результативний, якщо його виконання дає правильні резуль тати розв'язування задачі, тобто забезпечує досягнення мети. Якщо алго ритм розв'язування квадратного рівняння правильно обчислює корені квадратного рівняння або правильно робить висновок, що коренів немає, то такий алгоритм правильний.

6. Алгоритм містить помилки, якщо при виконанні він не завершить ся взагалі або отримані результати виявляться неправильними. Помилки в алгоритмах поділяють на синтаксичні та логічні. Синтаксичні помилки – це порушення правил запису алгоритму: пропущені дужки, коми, помил ки у написанні команд тощо. Відсутність синтаксичних помилок не гарантує правильної роботи алгоритму. Логічні помилки - це порушення в логіці алгоритму: помилки у виборі формул, неправильно вказані умови в розгалуженнях тощо. Деякі логічні помилки, наприклад, спробу ділення на нуль або обчислення квадратного кореня з від'ємного числа комп'ю тер може знайти, проте далеко не всі. Знаходити і виправляти логічні помилки - завдання людини.

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

Page 9: основи алгоритмізації

Пам'ятка 4. Навчаючи - учусь ("Броунівський рух")Такий вид навчальної діяльності надає вам можливість взяти активну

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

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

- Якщо вам щось незрозуміле, запитайте про це та перевірте у вчителя, чи правильно ви розумієте інформацію.

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

- Ви маєте право говорити лише з однією особою. Ваше завдання поля гає в тому, щоб поділитися своєю інформацією з іншими учнями та самому дізнатися про певну інформацію від них.

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

- Коли всі поділилися та отримали інформацію, розкажіть у класі, про що ви дізналися від інших.

Page 10: основи алгоритмізації

Для закріплення теоретичного матеріалу, з яким учні ознайомилися щой но, пропоную учням об'єднатися в малі групи по 4 чол., обрати спіке ра, секретаря, посередника, доповідача. Групи отримують картки з однакови ми завданнями:

Зміст карткиДано алгоритм знаходження гіпотенузи та площі прямокутного три кутника,

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

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

"масовість", "результативність", "зрозумілість", "правильність", "одно значність".

Після роботи над картками збираю результати за методом "Коло ідей".

Page 11: основи алгоритмізації

V. Підбиття підсумків, оцінювання результатів уроку1.Пропоную учням відповісти на питання:2.Що таке алгоритм?3.Які властивості алгоритму ви можете назвати?4.Хто чи що може бути виконавцем алгоритму?5.Чому до алгоритмів висувають певні вимоги?6.Чи досягли мету, яку поставили перед собою на початку

уроку?7.Які емоції ви переживали під час інтерактивних вправ?8.Які у вас виникали труднощі під час уроку?9.Що найбільше запам'яталося на сьогоднішньому уроці?

VI. Повідомлення домашнього завдання Опрацювати матеріал (конспект). Словесне описати

алгоритм, що є розв'язком такої задачі: У нас є два пісочних годинники на 3 хвилини і на 8 хвилин. Як за допомогою цих двох годинників відміряти час 7 хвилин?

Page 12: основи алгоритмізації

I. Мотивація навчальної діяльності учнівПропоную учням пригадати, що таке програма. Звертаю ува гу учнів, що зазвичай комп’ютерна програма виконує обробку якихось да них, які під час виконання програми зберігаються в оперативній пам'яті. Пропоную учням відповісти на питання: як ви гадаєте, яким чином мож на занести дані в пам'ять комп'ютера? Підводжу учнів до думки, що мають існувати спеціальні засоби (команди), які дозволяють занести дані в пам’ять комп’ютера.II. Оголошення, представлення теми та очікуваних навчаль них результатівПісля цього уроку учні зможуть:пояснювати призначення основних розділів програми на мові Пас каль;пояснювати формат запису та суть роботи процедур введення та виведення даних;пояснювати призначення та суть оператора присвоєння;набути навичок роботи у групі.III. Надання необхідної інформації

Page 13: основи алгоритмізації

IV. Інтерактивні вправи1) Інструктування: розповідаю учням про мету вправи за методом "Ажурна пилка", правила, послідовність дій і кількість часу на виконання завдання.2) Учні отримують картку одного з кольорів (синього, червоного, жовтого або білого) з номером на ній (від 1 до 4). Сформувалося чотири "домашніх" (кольорові) групи по 4 чол. у кожній. Учням пропонується об'єднатися в групи відповідно до кольору картки, яку вони отримали ("домашні" групи). У "домашніх" групах учні знайомляться зі змістом карток, обмінюються думками, користуючись текстом на картках, роблять в зошитах конспекти теоретичного матеріалу. Завдання для груп: ознайомитися з наведеними теоретичним відомостями, звернути увагу на зауваження, розібрати наведені приклади.

Page 14: основи алгоритмізації

Зміст картокСині

Процедури введення даних – read, readlnНадавати значення змінним можна двома способами: за допомогою оператора присвоєння,

наприклад х:=5, або процедури введення даних з клавіатури. Другий спосіб робить програму більш універсальною, оскільки дає змогу розв'язувати задачі для різних значень змінних.Процедура read має виглядread (<змінна 1> , ..., <змінна n>);Дія процедури. Виконання програми зупиняється. Система переходить у режим очікування

введення даних (екран темний, миготить курсор). Значення цих даних користувач набирає на клавіатурі через пропуск або натискає після кожного даного на клавішу Еnter. У результаті вико нання цієї процедури відповідним змінним будуть присвоєні конкретні значення.Процедура readln має виглядreadln (<змінна 1>, ..., <змінна n>);Вона діє як процедура read з тією відмінністю, що зайві дані у рядку введення ігноруються.

Наступна команда вводу читатиме дані з нового рядка. Цю команду застосовують під час роботи з текстовими файлами.Зауваження. Процедуру readln, яку записують перед кінцем програ ми, використовують для

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

можна.Приклад. Якщо в програмі зустрічається процедура readln (a,b,c); виконання програми

припиняється і комп'ютер чекає введення з кла віатури трьох величин (дані вводяться або через проміжок, або через клавішу Епter). Після останнього даного треба натиснути Еnter і вказані в процедурі змінні а, b та с відповідно набудуть значень введених величин.

Page 15: основи алгоритмізації

ЧервоніПроцедури виведення даних – write, writelnДля виведення на екран повідомлень та результатів обчислень вико ристовують команди write та

writeln:writeln (<вираз 1>, < вираз 2>, ..., <вираз n>) ;У списку виведення можуть бути сталі, змінні або вирази.Дія команди. Сталі, значення змінних та виразів виводяться на екран у вікно виведення, яке можна

переглянути за допомогою комбінації клавіш Аlt+F5.Процедураwriteln (<вираз 1>, ..., <вираз n>);діє майже так само, як і процедура write; відмінність така: наступна після неї команда write чи writeln

буде виводити значення на екран у новому рядку.Для переходу на новий рядок екрана чи для пропуску рядка використовують процедуру writeln без

параметрів.Форматний вивід. Процедури write та writeln можуть здійснювати форматний вивід даних.

Форматування – це подання результатів у напе ред заданому користувачем вигляді. Для цього після виразу (або після імені змінної) через двокрапку записують число (:п) – кількість позицій на екрані, які треба надати для виведення значення цього виразу. Фор мат .n застосовують для даних цілого та рядкового типів. Під час виве дення даного дійсного типу зазначають загальну кількість позицій для всіх символів (п) та кількість позицій для дробової частини (т), тобто формат має вигляд :п:т.

Приклад. Результатом послідовного виконання процедурwrite (‘а=’, а+b);{переходу на наступний рядок не відбувається}writeln (‘с=’, с:4:1);{після виведення тексту ‘с=’ та значення змінної с відбувається перехід на наступний рядок}writeln (‘Виконав Юрченко Юрко’);за умови, що змінні мають значення а=5, b=3, с=8.21, буде такий текст, виведений на екран монітора: а=8 с=8.2 Виконав Юрченко Юрко

Page 16: основи алгоритмізації

ЖовтіРозділ uses складається із зарезервованого слова Uses і списку імен

стандартних бібліотечних модулів та бібліотечних модулів користувача.Формат опису:Uses <ім' я 1>, <ім' я 2>,...;Бібліотечні модулі створюються заздалегідь і містять часто використо вувані

програми. Вони можуть бути створені самим користувачем або кимсь іншим. У шкільному курсі ми використовуємо деякі зі стандартних модулів, що створені розробниками мови Паскаль: Crt і Graph:

Crt — містить засоби керування монітором у текстовому режимі, клавіатурою ПЕОМ, а також звукові ефекти;

Graph — містить пакет графічних засобів, що забезпечують ефектив ну роботу з екраном монітора у графічному режимі.

Як уже зазначалося, у розділі опису констант робиться присвоювання постійних значень ідентифікаторам констант. Розділ починається зарезер вованим словом Const, за яким записується ряд виразів, що надають ідентифікаторам постійні числові або рядкові значення. Вирази присвою вання відокремлюються один від одного крапкою з комою.

Формат опису:Соnst <ідентифікатор> = <значення>;Приклад:Const А=10.25; Мах=1000; V =‘Hello’;

Page 17: основи алгоритмізації

БіліКожна змінна, що зустрічається у програмі, повинна бути описана.Опис обов'язково передує використанню змінної. Формат опису:Var<ідентифікатор,... > : < тип >; Приклад:VаrА, 5: real; n: integer;У розділі опису процедур і функцій розміщуються тіла підпрограм (допоміжних програм).

Більш докладніше робота з підпрограмами буде розглянута пізніше. У програмі на мові Паскаль розділ операторів є ос новним. Він починається зарезервованим словом Веgin (початок), далі розміщуються оператори мови, відділені один від одного крапкою з комою. Завершує розділ зарезервоване слово Еnd (кінець) і крапка:

Веgin <серія операторів>; Еnd.У будь-якому місці програми можуть вживатися коментарі. Це текст, за допомогою якого

програміст занотовує деякі пояснення для користу вачів програми. Текст коментарю обмежується символами { } або (* *) і може містити комбінації латинських і російських літер, цифр і інших сим волів. В обмежувачах (* *) проміжки між дужкою і зірочкою заборонені і, крім того, у тексті не повинні знаходитися знаки обмежувачів, з яких коментар починається. Обмежень на довжину коментарю немає.

Приклад:. . .d:=b*b-4*а*с; (обчислення дискримінанта).. . .

Page 18: основи алгоритмізації

Пам'ятка 7. Ажурна пилкаТакий вид діяльності на уроці дає можливість вам працювати разом, щоб вивчити значну

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

Під час роботи за допомогою методу „Ажурна пилка" маєте бути гото вими працювати в різних групах.

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

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

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

котра ставить запитання, або перекона тися, що кожний (кожна) розуміє зміст матеріалу."Експертні" групи:1. Після того як учитель об'єднав вас у нові групи, ви стаєте "екс пертами" з тієї теми, що

вивчалась у вашій "домашній" групі.2. Почергово кожний або кожна мають за визначений учителем час якісно і в повному обсязі

донести інформацію до членів інших груп та сприйняти нову інформацію від представників інших груп.

"Домашні" групи:1. Ви повертаєтеся "додому", де маєте поділитися інформацією з членами своєї "домашньої"

групи про нову інформацію, що її ви отримали від представників інших груп.2. Група виробляє спільні висновки та рішення.Таким чином, за допомогою методу "Ажурна пилка" за короткий про міжок часу можна

отримати велику кількість інформації.

Page 19: основи алгоритмізації

3) Пропоную учням об'єднатися в групи відповідно до своїх номерів ("експертні" групи). У кожну експертну групу потрапля ють представники з кожної "домашньої групи". Учні з різних "до машніх" груп, користуючись зробленим конспектом, повідомля ють однокласникам свою порцію інформації. Учням пропонується такий порядок повідомлень в "експертних" групах:

•Жовті – про призначення та формат розділів програми uses та const;•Білі – про призначення та формат розділів програми vаr та begin ....

end.;•Сині – про процедури введення даних; •Червоні – про процедури виведення даних.4) Пропоную учням об'єднатися в "домашні" групи, учас ники яких

обмінюються між собою інформацією, отриманою в "експертних" групах.

5) Пропоную учням написати програму реалізації такого алгоритму: Дано катети прямокутного трикутника. Обчислити гіпотенузу та площу цього трикутника.

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

Page 20: основи алгоритмізації

Пам'ятка 2. Коло ідейМетою технології є залучення всіх до обговорення

проблеми. Порядок проведення:•вчитель ставить питання та пропонує обговорити його в

малих групах;•після того як вичерпався час на обговорення, кожна

група представляє лише один аспект проблеми, яку ви обговорювали;

•групи висловлюються по черзі, поки не буде вичерпано всі відповіді:

•під час обговорення теми на дошці складається список зазначених ідей:

•коли всі ідеї з вирішення проблеми висловлені, можна звернутися до розгляду проблеми в цілому і підбити підсумки роботи.

Page 21: основи алгоритмізації

IV. Практична роботаУчні завантажують середовище програмування Турбо Паскаль та ви

конують на комп’ютері зазначену програму. Пропоную учням внести в програму коментар, включити в неї різні варіанти процедур введення-виведення даних.

V. Підбиття підсумків, оцінювання результатів урокуПропоную учням відповісти на питання. Запитання для бесіди:1. Яким чином можна надати значення змінній?2. Чи важливий порядок перерахування змінних у процедурі вве дення

даних з клавіатури – readln?3. Чим відрізняється робота процедури writeln від роботи про цедури

write?4. Які труднощі виникали у вас під час групової роботи? Як ви

вважаєте, чи досягай ми мети, поставленої на початку уроку? Пропоную учням виконати комп'ютерний тест.VI. Повідомлення домашнього завданняОпрацювати матеріал (конспект)

Page 22: основи алгоритмізації

ВИСНОВКИПідводячи підсумки, можна зробити висновок що,

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

1)80% того, що висловлювали самі; 2)90% того, що робили самі. Поліпшується не тільки запам‘ятовування матеріалу, але і

його ідентифікація, використання у повсякденному житті. Використання інтерактивних методів навчання сприяє

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

Page 23: основи алгоритмізації

ВИКОРИСТАНІ ДЖЕРЕЛА1. Баханов К. Інноваційні системи, технології та моделі

навчання історії в школі: Монографія. - Запоріжжя: Просвіта, 2000. - 160 с.

2. Глинський Я. Інформатика: 8-11 класи: Навчальний посібник для загальноосвітніх навчальних закладів: У 2-х кн. Алгоритмізація і програмування. - 3-тє вид. -Львів: Деол, СПД Глинський, 2003. -Кн. 1.-200с.

3. Пометун О., Пироженко Л. Інтерактивні технології навчання: те орія, практика, досвід. - Київ, 2002. - 135 с.

4. Сайт: Конспекти уроків „Вивчаємо Паскаль" http://distanse.edu.vn.ua/metodic/pascal.

5. Сучасний урок. Інтерактивні технології навчання: Наук.-метод, посібник/ О. І. Пометун, Л. В. Пироженко; За ред. О. І. Пометун. -Київ: А. С. К, 2004. -192с.: іл.