BigEdu.ru
» » » Обработка последовательных файлов в программе
Вернуться назад

Обработка последовательных файлов в программе

Одним из трудных для учащихся и преподавателей разделов программирования является программирование обработки файлов. В Хабаровском межшкольном учебном комбинате №2 накоплен определенный опыт по обучению школьников приемам программирования, в том числе, при работе с файлами. Предлагаем вниманию читателей материал на эту тему, подготовленный В.С. Кузнецовой.
В разделе алгоритмизация и программирование мы работаем в основном с простыми типами данных и только одним из сложных (структурных) типов данных – массивами, при этом опускается работа с файлами данных. Это связано с тем, что в учебном плане мало учебных часов отводится на данный раздел. Несмотря на нехватку времени, желательно в конце раздела рассмотреть тему "Обработка последовательных файлов в программе". Учащиеся уже должны знать, что такое файл. Поэтому занятие необходимо начать с восстановления опорных знаний:
Что такое файл?
Какими способами можно создать файл?
Каким способом вводили данные в программу?
Каким способом выводили данные из программы?
Какие операторы при этом использовали?
К данным, записанным на диске можно обратиться прямым методом доступа или последовательным методом доступа. При последовательном доступе данные должны читаться из файла в том порядке, в каком они были записаны. Прямой доступ к файлу позволяет читать и обновлять записи независимо от их положения в файле, без перебора.
Последовательные файлы следует рассматривать как альтернативу экрана и клавиатуры. Все, что выводилось на экран, в таком виде и по таким же правилам выводится в последовательный файл, а все, что вводилось с клавиатуры, вводится из последовательного файла.
Пусть данные записаны на диске в файле File1.dat. Как к ним обратиться из программы? Для этого необходимо в программе предусмотреть:
Связь имени файла с каналом ввода – вывода и объявить его открытым.
Объявить способ доступа к файлу (последовательный или прямой).
Переслать данные.
Закрыть канал ввода – вывода, связанный с файлом.
Рассмотрим операторы, с помощью которых осуществляется эта работа на языках программирования Бейсик и Паскаль.
На языке программирования Бейсик.
Оператор OPEN "открывает" файл, т.е. делает файл на диске известным программе, связывает имя файла на диске с номером канала ввода – вывода в программе и указывает режим работы с файлом.
Формат:
Open "имя файла" [for режим] as # номер канала [len=размер записи]
Режимы для последовательных файлов:
INPUT - для чтения
OUTPUT - для записи
APPEND - для добавления данных в файл.
Пример:
Open "File1.dat" for input as #1
Оператор PRINT # предназначен для вывода данных в файл.
Формат: PRINT #номер канала, имя переменной
Пример:
Print #1, fam$(i), sum(i)
Оператор INPUT # предназначен для ввода переменных из файла (так же как это делает оператор INPUT при их вводе с клавиатуры).
Формат: INPUT #номер канала, список переменных
Пример:
Input #1, fam$(i), kol(i)
Функция EOF позволяет определить конец файла.
Формат: EOF(номер канала)
Оператор CLOSE # "закрывает" файл, т.е. отсоединяет его от программы и освобождает в ней канал ввода - вывода.
Формат: CLOSE #номер канала
Задача: Рассчитать зарплату на каждого члена бригады и записать в файл File2.dat данные фамилию члена бригады и его зарплату с учетом подоходного налога. Данные по каждому члену бригады (фамилия и количество сделанных изделий) содержатся в файле File1.dat. Примечание: количество членов бригады, стоимость изделия и процент на зарплату от прибыли ввести с клавиатуры.
Input " количество членов бригады ";n
Input " стоимость изделия";r
Input " процент на зарплату от прибыли ";p
p = p/100
Dim fam(n), kol(n), sum(n)
Open "File1.dat" for input as #1
for i = 1 to n
Input #1, fam$(i), kol(i)
sum(i) = kol(i)*r*p*0.13
next i
Close #1
Open "File2.dat" for output as #1
for i = 1 to n
Print #1, fam$(i), sum(i)
next i :Close #1
На языке программирования Паскаль.
В Турбо Паскале различают текстовые файлы, типизированные файлы и нетипизированные файлы. При работе с файлами ключевым понятием является понятие переменной файлового типа или файловой переменной и описывается она в разделе переменных в зависимости от класса файла. Для текстовых файлов файловая переменная принадлежит стандартному типу Text. Файловая переменная (ф.п.) связывается с именем файла с помощью оператора ASSIGN.
Формат:
Assign (,'\ ');
Он должен быть первым среди операторов, работающих с файлом. Прежде, чем начать работать с файлом его нужно "открыть". Оператор RESET открывает уже существующий файл, а оператор REWRITE открывает новый файл или файл, содержимое которого полностью заменяется.
Форматы:
Reset ();
Rewrite ();
Для чтения данных из файла используются процедуры READLN, READ, BLOCKREAD.
Формат:
Readln (, );
Для записи данных в файл используются процедуры WRITELN, WRITE, BLOCKWRITE.
Формат:
Writeln (, );
После завершения работы с файлом , его необходимо "закрыть" оператором Close.
Формат: Close ();
Уничтожить ненужный файл оператором Erase (), а переименовать файл – оператором Rename (,), где строка представляет новое имя файла.
Текстовый файл трактуется в Турбо Паскале как совокупность строк переменной длины. Доступ к каждой строке последовательный, начиная с первой. В конце каждой строки ставится маркер EOLN (End Of Line - конец строки) , а в конце всего файла маркер EOF (End Of File – конец файла).
Рассмотрим работу с файлами на примерах.
Пример 1.
На диске а: записан файл posl.txt, в каждой строке которого записана пословица. Определить сколько букв в каждой пословице и вывести результат вычисления на экран.
program texst;
var f: text; {* файловая переменная *}
s: integer; {* число букв *}
sim: char; {* символ *}
begin
Assign (f, 'a:\posl.txt');
reset (f); {* открытие файла *}
while not eof (f) do {* проверка конца файла *}
begin
s:=0;
while not eoln (f) do {* проверка конца строки *}
begin
read(f, sim);
if (sim<>' ') or (sim<>',') then s:=s+1;
end;
writeln('число букв в пословице ',s);
readln(f); {* переход на новую строку *}
end;
Close(f) {**}
end.
Пример 2.
В существующем файле dan1.dat записана матрица из целых чисел. В новый файл dan2.dat переписать данную матрицу и добавить в каждую строку слово "сумма=" и результат вычисления суммы чисел в данной строке.

Внимание, отключите Adblock

Вы посетили наш сайт со включенным блокировщиком рекламы!
Ссылка для скачивания станет доступной сразу после отключения Adblock!

Скачать полную версию
Рефераты по информатике Одним из трудных для учащихся и преподавателей разделов программирования является программирование обработки файлов. В Хабаровском межшкольном
Оценок: 446 (Средняя 5 из 5)

Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.

© 2016 - 2022 BigEdu.ru