Чтобы переваривать знания,
Нужно поглощать их с аппетитом.
А. Франс
Работа с текстовыми файлами
Предмет: Основы алгоритмизации и программирования.
Группа: 103к.
Специальность: Техник-программист.
Дата проведения: 28 марта 2012 г.
Цель урока:
- Познакомить учащихся с приемами работы с двумя текстовыми файлами,
- Научить учащихся считывать данные, выводить на экран данные из файлов, выполнять действия над данными,
- Развить навыки организации ввода и вывода данных, обработки данных различного типа, решения задач с помощью ЭВМ, реализации информационных процессов посредством ПК,
- Воспитать последовательность и поэтапность действий, логическое мышление, компьютерную грамотность учащихся.
ТСО: ПК, планшетные компьютеры, принтер, интерактивная доска, мультимедийный проектор.
ПО: Microsoft Word, Microsoft Excel, PascalABC, ActivStudio, Asist2, Microsoft PowerPoint.
Наглядность: презентация “Работа с текстовыми файлами”, электронный журнал группы, электронная игра Домино, электронный учебник “Строки и символы”.
План урока
- Организационный момент 3 мин.
- Повторение
a. основных операторов языка Паскаль – Домино 8 мин.
b. операторов цикла – Карточка 10 мин.
c. строковых операций – Тест 5 мин.
d. темы “Строковый тип данных” – Эл.учебник 15 мин. - Объяснение новой темы “Работа с текстовыми файлами” 15 мин.
- Закрепление новой темы 15 мин.
- Домашнее задание 2 мин.
- Подведение итогов урока 7 мин.
Ход урока
I. Организационный момент 3 мин.
Приветствие гостям. Оглашение списка группы. Ознакомление гостей с местом сегодняшней темы по тематическому плану предмета. Ознакомление с целью урока.
II. Повторение
a) основных операторов языка Паскаль – Домино 8 мин.
На экран проецируется игра Домино, состоящая из 10 костей. К доске выходит 1 учащийся, выбирает кость, переносит на игровую площадку, объясняя надписи на кости и причину выбора данной кости.
Домино
END | FOR | ‘+’, ‘$’, ‘H’, ‘&’ | CASE | |
TO | STRING | OF | REAL | |
‘OTVET-’ | IF | 12.9 | REPEAT | |
THEN | D[I,J] | UNTIL | WHILE | |
ARRAY | CHAR | DO | BEGIN |
b) строковых операций 10 мин.
Каждому учащемуся раздаются планшетные компьютеры с тестовой программой. Учащийся выбирает из списка свою фамилию и отвечает на вопросы теста в течении 10 мин. По окончании теста программа выставляет оценку, которую учащийся показывает преподавателю. Преподаватель заносит оценки теста в электронный журнал.
Тест.
1. Какая функция возвращает код символа?
+ ord(x)
– chr(k)
– length(s)
– pos(x,s)
– copy(s,n,k)
2. Какая функция возвращает символ по его коду?
– ord(x)
+ chr(k)
– length(s)
– pos(x,s)
– copy(s,n,k)
3.Какая функция определяет длину строки?
– ord(x)
– chr(k)
+ length(s)
– pos(x,s)
– copy(s,n,k)
4. Какая функция определяет первое вхождение строки
х в строку s?
– ord(x)
– chr(k)
– length(s)
+ pos(x,s)
– copy(s,n,k)
5. Какая функция копирует k символов из строки s,
начиная с n-ного символа?
– ord(x)
– chr(k)
– length(s)
– pos(x,s)
+ copy(s,n,k)
6. Какая процедура удаляет символы из заданной
строки?
+ delete(s,n,k)
– insert(x,s,n)
– length(s)
– pos(x,s)
– copy(s,n,k)
7. Какая процедура вставляет подстроку х в строку s,
начиная с символа n?
– delete(s,n,k)
+ insert(x,s,n)
– length(s)
– pos(x,s)
– copy(s,n,k)
8. Как заменить символ "+" на символ "-"?
+ if s[i]='+' then s[i]:='-';
– if s[i]='+' then pos(x,s);
– if s[i]='+' then copy(s,i,k);
– if s[i]='+' then insert(x,s,i);
– if s[i]='+' then delete(s,i,1);
9. Как подсчитать количество символов 'a'?
+ if s[i]='a' then k:=k+1;
– if s[i]='a' then pos(x,s);
– if s[i]='a' then copy(s,i,k);
– if s[i]='a' then insert(x,s,i);
– if s[i]='a' then delete(s,i,1);
10. Что называют строкой?
+ набор символов, заключенных в апострофы
– символ,
– буква,
– цифра,
– число.
c) операторов цикла – Карточка 5 мин.
Учащимся на экране на выбор задаю задачи на цикл с параметром. Каждый учащийся выбирает задачу на выбор вслух, чтобы избежать повторения. На компьютеры загружен текстовый документ-карточка, в котором дается шаблон программы и блок-схемы к задаче. Учащийся заполняет необходимые поля карточки и отправляет документ на печать. Преподаватель получает карточки, проверяет и выставляет оценки в электронный журнал.
Задачи на выбор.
Среди трехзначных чисел найти числа, у которых все цифры равны | If (a=b) and (b=c) and (a=c) | 111, 222, …999 | |
Среди трехзначных чисел найти числа, у которых крайние цифры равны | If a=c | 121, 131, …989 | |
Среди трехзначных чисел найти числа, у которых сумма цифр равна 10 | If a+b+c=10 | 109, 118, …910 | |
Среди трехзначных чисел найти числа, у которых сумма цифр делится на 11 | If (a+b+c) mod 11=0 | 119, 128, …994 | |
Среди трехзначных чисел найти числа, у которых сумма цифр равна их произведению | If a+b+c=a*b*c | 123, 132, 213, 231, 312, 321… | |
Среди трехзначных чисел найти числа, у которых произведение цифр равно 15 | If a*b*c=15 | 135, 153, …531 | |
Среди трехзначных чисел найти числа, у которых произведение цифр равно 12 | If a*b*c=12 | 126, 134, …621 | |
Среди трехзначных чисел найти числа, у которых сумма первой и третьей цифр равна второй цифре | If a+c=b | 132, 143, …891 | |
Среди трехзначных чисел найти числа, у которых вторая цифра равна 0 | If b=0 | 101, 102, …909 | |
Среди трехзначных чисел найти числа, у которых вторая и последняя цифра равна 0 | If (b=0) and (c=0) | 100, 200, …900 |
Цикл ___________________
Задача №___ |
d) темы “Строковый тип данных” – Эл. учебник 15 мин.
Учащимся на интерактивной доске предоставляются упражнения электронного учебника по информатике “Строки и символы”.
III. Объяснение новой темы 15 мин.
Работа с текстовыми файлами.
На экран проецируется презентация с объяснением новой темы. Сначала приводятся примеры из жизни на выполнение различных видов статистического учета, сортировки данных по различным условиям на примере простейшего коллектива – группы студентов. Все виды вычислений можно выполнить в табличном редакторе Excel. А как это запрограммировано? Этот вопрос мы рассматриваем на данном уроке.
Задача 1.
Даны 2 файла с фамилиями студентов и их оценками. Вывести список студентов с оценками в убывающем порядке:
Структура программы
Название программы | program Kurator; |
Раздел описания | uses crt; const n=5; var x,y:text; i,b,k,d:integer; a,p:string; f:array [1..n] of string; g:array [1..n] of integer; |
Объявление начала программы | begin clrscr; |
Объявление и открытие файлов с данными | assign(x,'C:\1.txt'); assign(y,'C:\2.txt'); reset(x); reset(y); |
Чтение данных из файлов Вывод их на экран Запись данных в массивы |
for i:=1 to n do begin writeln; write(i,' студент – ');readln(x,a);write(a);f[i]:=a; writeln; write('оценка – ':11);read(y,b); write(b);g[i]:=b; writeln; end; writeln; |
Сортировка элементов двух массивов | for k:=1 to n do for i:=1 to n do if g[i]<g[k] then begin d:=g[k]; g[k]:=g[i]; g[i]:=d; p:=f[k]; f[k]:=f[i]; f[i]:=p; end; |
Вывод элементов двух массивов по убыванию оценок | for i:=1 to n do begin write(i, ' студент – ',f[i]:5,' '); writeln(g[i]); end; |
Конец программы | end. |
IV. Закрепление новой темы 15 мин.
Задания для самостоятельной работы/
№ | Работа с 2 файлами | № | Работа с 1 файлом |
1 | Сортировка по возрасту | 6 | Количество 16-летних |
2 | Сортировка по годам | 7 | Количество 17-летних |
3 | Сортировка по полу | 8 | Количество отличников |
4 | Список отличников | 9 | Количество бюджетников |
5 | Список ударников | 10 | Количество девочек |
V. Домашнее задание 2 мин.
Решить данную задачу, изменив количество файлов.
VI. Подведение итогов урока 7 мин.
Вопросы на закрепление темы:
- Как объявляется текстовый файл?
- Как связать переменную с файловой переменной?
- Как открыть файл для чтения данных?
- Как открыть новый файл для записи данных?
- Как открыть файл для добавления данных?
- Как считывать данные из файла?
- Как создать текстовый файл с данными?
- Как записать данные в текстовый файл?
- Как записать данные различного типа в текстовый файл?
- Как закрыть текстовый файл?
Журнал группы 103 | |||||||
Домино | Тест | Шаблон | Строки и символы | Практика | Итоговая оценка | ||
1 | Арықбаев Берик | 1 | 1 | 1 | 1 | 0,5 | 4,5 |
2 | Джамалов Сардор | 1 | 1 | 1 | 1 | 1 | 5 |
3 | Ким Александра | 1 | 1 | 1 | 1 | 0,5 | 4,5 |
4 | Кислов Алексей | 1 | 1 | 1 | 1 | 1 | 5 |
5 | Назир Исмаилбек | 1 | 1 | 1 | 1 | 1 | 5 |
6 | Нұрбекова Балжан | 1 | 1 | 1 | 1 | 1 | 5 |
7 | Пустовой Владислав | 1 | 1 | 1 | 1 | 1 | 5 |
8 | Раушанов Артур | 1 | 1 | 1 | 1 | 1 | 5 |
9 | Сатаев Рустам | 1 | 1 | 1 | 1 | 1 | 5 |
10 | Сатаев Расул | 1 | 1 | 1 | 1 | 1 | 5 |
Приложение 1. Презентация.
Приложение 2. Символы и строки.
Приложение 3. Тест.
Приложение 4. Звуковой файл.
Приложение 5. Домино.
Приложение 6. Журнал.
Приложение 7. Программа.