Тема: складання та виконання алгоритмів опрацювання величин за допомогою методу розбиття задачі на підзадачі в навчальному середовищі програмування Free Pascal.
Мета уроку: навчитися користуватися методом розбиття задачі на підзадачі у процесі побудови алгоритмів у навчальному середовищі програмування Free Pascal. Після виконання роботи учень
складати алгоритми опрацювання величин числового, символьного типу;
складати, редагувати, налагоджувати та виконувати програми опрацювання числових величин у навчальному середовищі програмування Free Pascal;
аналізувати результати виконання програм опрацювання величин числового типу;
налагоджувати програму та виконувати її у покроковому режимі в навчальному середовищі програмування Free Pascal.
використовувати метод розбиття задачі на підзадачі у процесі побудови алгоритмів;
Обладнання: комп'ютери зі встановаленими ОС і FreePascal, конспект уроку.
Структура уроку
Хід уроку
1. Організаційний момент
Вітання з класом. Перевірка присутності і готовності учнів до уроку. Перевірка виконання домашнього завдання.
2. Актуалізація опорних знань
3. Вивчення нового матеріалу
Метод розбиття задачі на підзадачі використовують для вирішення складних задач. Наприклад, при проектуванні літака, головний конструктор розробляє літак в цілому, одні конструктори проектують двигун, другі — фюзеляж, треті — крило, четверті — шасі, п’яті — прилади тощо. Таким чином, завдання проектування літака розбивають на підзадачі — проектування окремих частин літака.
У програмуванні метод розбиття задачі на підзадачі виправдовує себе:
кожну підзадачу можна доручити створювати окремому виконавцю, що прискорює створення задачі в цілому.
полегшено тестування алгоритму, бо є можливість тестування кожної підзадачі окремо.
При виконанні завдань уроку потрібно буде використати такі знання.
Оператор надання значення призначено для надання змінній значення виразу. Оператор позначають двома символами «:=», ліворуч від них вказують назву змінної, а праворуч — обчислюваний вираз. Вираз може містити числа, знаки арифметичних дій, круглі дужки, назви функцій, змінних і сталих. Обов'язкова умова — узгодженність типів даних.
Оператори введення (з клавіатури) мають такий синтаксис:
Read(<список введення>);
ReadLn(<список введення>);
Тут <список введення> — це послідовність назв змінних можливо різного типу, розділених комами. У дужках вказують імена змінних, яким буде надано введені значення. При введенні декількох значень за допомогою одного оператора їх розділяють пробілом при наборі. Виконнання оператора ReadLn призводить до переходу на інший рядок, а виконанння Read — ні.
Оператори виведення (на екран) мають такий синтаксис:
Write(<список введення>);
WriteLn(<список введення>);
з такою самою різницею між Write і WriteLn, як між Read і ReadLn. Оператор WriteLn можна використовувати без будь-яких параметрів, що призведе лише до переходу на початок нового рядка.
Cкладний оператор — це послідовність операторів, відділених один від одного крапкою з комою, що починається зі службового слова begin і закінчується службовим словом end:
Begin оператор_1; оператор_2;… оператор_n; End;
Компілятор сприйме складений оператор як один оператор.
Умовний оператор призначено для того, щоб задати вибір тієї чи іншої дії залежно від справдження певної умови. Цей оператор має такий синтаксис:
if < умова> then <оператор_1> else < оператор_2>;
Як умову використовують значення логічного виразу, як оператори — довільний простий або складений оператор, у тому числі і сам умовний оператор. Якщо значення логічного виразу true, то буде виконано оператор_1, якщо false, то буде виконано оператор_2.
І по гілці then, і по гілці else буде виконано лише один оператор. Якщо згідно з алгоритмом потрібно виконати декілька операторів, тоді потрібно використовувати складений оператор.
Умовний оператор Case (оператор варіанту) використовують у тих випадках, коли залежно від значень якої-небудь змінної треба виконати ті чи інші оператори. Він має такий синтаксис:
case <вираз> of
<значення_1> : <оператор_1>;
<значення_2> : <оператор_2>;
…
else <оператор_n>
end;
Тут оператор_n буде виконано лише у тому випадку, коли значення виразу не збігається ні з одним зі значень_j. При використанні оператора Case необхідно пам'ятати про те , що значення виразу і значення_1, значення_2, …, значення_n мають бути одного типу з кількістю значень до 256.
4. Інструктаж з ТБ
5. Закріплення вивченого матеріалу
Контрольні питання
Завдання 1. Скласти програму 1.pas для підрахунку комунальних платежів, яка складається з підзадач обчислення вартості сплати за споживання:
утримання будинку — добуток тарифу на суму загальної площі й площі балкону;
oпалення — добуток тарифу на загальну площу;
холодне водопостачання — добуток тарифу і різниці поточного показника лічильника і попереднього показника лічильника;
гаряче водопостачання — як для холодної води;
газу — як для холодної води;
електроенергії — як для холодної води з можливістю урахуванням використання пільгового тарифу (50%) за перші 120 КВт;
загальні витрати — сума всіх обчислених
Передбачити можливість використання або невикористання пільгового тарифу (50%) на всі види виплат. Значення всіх величин задавати у коді програми.
Завдання 2. Скласти програму 2.pas для обчислення таких величин (через тире вказано формули для розрахунків):
Значення всіх величин задавати з клавіатури.
Файли програм 1.pas і 2.pas записати у теку, вказану вчителем.
6. Підбиття підсумків уроку
Виставлення оцінок.
7. Домашнє завдання
Порівняти Ваші програми з демонстраційними розв'язаннями 1.pas й 2.pas щодо довжини коду, доступності сприйняття й легкості перевірки. Для завдання 1 передбачити можливість використання знижок за своєчасну сплату комунальних платежів. Для завдання 2 долучити по одній підзадачі до Математичного й Фізичного калькуляторів.
Список використаної літератури
Абрамов В. Г. Введение в язык программирования Паскаль [Текст]: учеб. пособие / В. Г. Абрамов, Г. Н. Трифонова, Н. П. Трифонов. – М.: Наука. Гл. ред. Физ.-мат. лит. 1988. – 320 с.
Алексеев Е. Р. Турбо Паскаль 7.0. [Текст] / Е. Р. Алексеев, О. В. Чесноков. – М.: НТ Пресс, 2004. – 320 с.: ил. – (Шаг за шагом).
Голицина О. Л. Основы алгоритмизации и программирования [Текст]: учеб. пособие. / О. Л. Голицина, И. И. Попов. – М.: ФОРУМ: ИНФРА-М, 2002. - 432 с.
Епанешников, А. М. Программирование в среде TURBO PASCAL 7.0.[Текст]: Учебно-справочное пособие. / А.М. Епанешников, В.А. Епанешников. – М.: ДИАЛОГ-МИФИ, 1995 г. – 288 с.
Текст упорядкував Самовський Леопольд Давидович, викладач інформатики гімназії – інтернату № 299 Оболонського району м. Києва, під час виконання випускної роботи на курсах підвищення кваліфікації з 14.10.2013 по 27.12.2013 року.