Файлове введення-виведення даних у Pascal
Мета уроку:
- Освітні: ознайомити з поняттям файл, текстовим типом даних, сформувати вміння користуватися засобами обробки файлів, сформувати вміння розв'язувати задачі з використанням файлового введення-виведення даних.
- Розвиваючі: розвивати пізнавальний інтерес, творчу активність учнів; розвивати логічне мислення.
- Виховні: виховувати інтерес до предмета, акуратність, уважність, дисциплінованість.
Тип уроку: урок удосконалення знань.
Клас: 11
Устаткування: ПК, програмне забезпечення – середовище програмування PascalABC, проектор, дошка, презентація «Файлове введення-виведення даних»
Види роботи: бесіда, робота з опорним конспектом, робота за ПК.
Етапи уроку:
- Організаційний момент.
- Фронтальне опитування.
- Перевірка домашнього завдання
- Постановка мети уроку.
- Вивчення нового матеріалу.
- Первинне закріплення вивченого.
- Практична робота на ПК
- Підбиття підсумків уроку.
- Постановка домашнього завдання.
Фронтальне опитування
- З яких частин складається програма?
- Що включає в себе розділ опису?
- У розділі опису змінних, які типи даних ми описуємо?
- З яких службових слів починається виконувана частина?
- Як здійснюється введення-виведення даних?
- Як працює команда присвоєння?
- навіщо призначений умовний оператор?
- Які оператори використовують у умовному операторі?
- Якими логічними зв'язками можуть бути пов'язані прості умови?
Перевірка домашнього завдання: На дошці записати домашнізавдання – 2 особи, на комп'ютері перевірити складені програми – 2 особи. Інші картки.
Постановка теми, цілей та завдань уроку
До сьогоднішнього моменту ми з вами використовуючи процедури введення-виведення вводили дані з клавіатури. Звичайно, програми, які ми зараз складаємо дуже прості, ми поки що вивчили лише кілька операторів, команд, але якщо виникне потреба ввести велику кількість вихідних даних?, якщо з'явиться необхідність вивести та зберегти дані для іншої програми?, а якщо буде потрібно пройти автоматизовано не три тести, як ми проходимо в нашому електронному задачнику, а більше? Як же вчинити у цьому випадку? Ось сьогодні ми з вами познайомимося з новим типом даних і з новими процедурами роботи з файлами. ОТЖЕ:
Вивчення нового матеріалу
Тема уроку: Файлове введення-виведення даних. СЛАЙД 1
З поняттям файлу Ви знайомі з молодших класів: Файл- це область зовнішньої пам'яті, призначена зберігання даних. Будь-який файл у Паскалі має три характерні особливості: СЛАЙД 2 А) файл є ім'я, що дає можливість програмі працювати відразу з декількома файлами. Б) файл містить компоненти одного типу (файл рядків, файл записів) В) обсяг файлу не обговорюється в програмі, значить обсяг файлу залежить тільки від зовнішнього пристрою зберігання цього файлу
У Паскалі за способом організації розрізняють три типи файлів: СЛАЙД 3
- Текстові файли
- Типізовані файли
- Нетипізовані файли
Типізовані файли найчастіше використовують для створення великих баз даних, оскільки в цих файлах використовують чітку структуру запису і обробка даних може відбуватися з будь-якого місця запису в цьому файлі. Такий доступ до елементів файлу називається прямим доступом. Сьогодні ми більш докладно розглядатимемо текстові файли, оскільки в основному автоматизована перевірка роботи програми здійснюється введенням та виведенням даних саме з текстових файлів. Текстовий файл є послідовністю символів розбиту на рядки. Кожен рядок закінчується маркером кінця рядка або як ми звикли натисканням кнопки Enter. Текстові файли є файлами послідовного доступу , оскільки як розпочати обробку з потрібного елемента треба послідовно пройти всі раніше записані елементи. Для того щоб ми могли працювати з файлом: рахувати з нього дані, змінити дані, записати результат ми повинні зробити такий алгоритм: СЛАЙД 4
встановити зв'язок програми із файлом; "відкрити" файл для читання або запису; рахувати з файлу або записати у файл; закрити файл.
У програмі на Паскалі текстовий файл представлений файловою змінною типу TEXT. СЛАЙД 5 Var: text; Зв'язок файлової змінної з ім'ям файлу на диску здійснюється за допомогою оператора Assign (ім'я файлової змінної, ім'я файлу на диску); Ім'я файлу на диску має містити повний шлях для пошуку файлу. Якщо повний шлях не вказано, програма буде шукати файл у каталозі, де зберігається програма. Відкриття файлу для читання виконується процедурою Reset (ім'я файлової змінної), якщо на диску не буде файлу з даним ім'ям, то виконання програми перерветься; СЛАЙД 6 Відкриття файлу для запису здійснюється процедурою Rewrite (ім'я файлової змінної), якщо на диску немає такого файлу, він буде створений. Після відкриття файлів, ми можемо зчитувати дані та здійснювати виведення даних вже відомими нами процедурами Read та Write. СЛАЙД 7 І після того, що ми повинні зробити - це закрити і файл для читаннята файл для запису процедурою Close. СЛАЙД 8
Первинне закріплення вивченого
Закріпимо вивчений матеріал упорядкуванням програма. Із задачника розв'язуємо задачу 1 з нової теми.
1. Дано три цілих числа. Визначити, чи є серед них хоча б одна пара рівних між собою чисел. Формат вхідних даних Вхідний файл містить три цілих числа через пропуск. Формат вихідних даних Виведіть 'YES' якщо це так, і 'NO' в іншому випадку.
Вхід 544 935 911 Вихід NO
1. Program vetvlenie; Var a,b,c:integer; f, g: text;
begin assign (f, 'input.txt'); reset (f); readln (f, a, b, c); close (f);
assign (g, 'output.txt'); rewrite (g); if (a=b) або (b=c) або (c=a) then writeln (g,'YES') else writeln (g,'NO'); close(g);
Практична робота на ПК
Зберігаємо файл у папці 11 клас/Програмування під ім'ям Demofile.pas Створюємо в папці вхідний файл - input.txt Вихідний файл - output.txt Самостійно: Завдання №2, змінюємо заздалегідь створену програму під файлове введення-виведення.
2. Program geron; var a,b,c:integer; s,p:real; f,g:text;
begin assign(f,'input.txt'); reset(f); readln(f,a,b,c); close(f); assign(g,'output.txt'); rewrite (g); if(a+b>c)and (a+c>b)and(b+c>a) and (a>0)and(b>0)and(c>0) then begin p:=(a+b+c)/2; s:=sqrt(p*(p-a)* (p-b)* (p-c)); writeln (g,s:12:6); end else writeln(g,-1); close(g); end.
Підсумки уроку та домашнє завдання
- Що нового ви дізналися? – Які знання допомогли вам засвоїти матеріал уроку? - Що на ваш погляд вам вдалося освоїти краще, а що ні? - Над чим вам необхіднопопрацювати?
Домашнє завдання: вивчати конспект. Завдання №3 із задачника.
Використовувана література:
- Л.А.Татарнікова. Основи алгоритмізації та програмування мовою Pascal, Томськ – 2007
- Інформатики. Основний курс. 7-9 класи / І.Г.Семакін, Л.А.Залогова, С.В.Русаков, Л.В.Шестакова. - М.: БІНОМ. Лабораторія знань, 2004
- Інформатики. Задачник-практикум у 2т/За ред. І.Г.Семакіна, Е.К.Хеннера. - М.: БІНОМ. Лабораторія знань, 2004.
- CD-диск. Обчислювальна математика та програмування, 10-11 клас. Навчальний посібник/Фальков А.І., Молодцова М.Г., Юсупова І.С. ГУ РЦ ЕМТО, 2004.