Одним из трудных для учащихся и преподавателей разделов программирования является программирование обработки файлов. В Хабаровском межшкольном учебном комбинате №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 переписать данную матрицу и добавить в каждую строку слово "сумма=" и результат вычисления суммы чисел в данной строке.
Рефераты по информатикеОдним из трудных для учащихся и преподавателей разделов программирования является программирование обработки файлов. В Хабаровском межшкольном
Оценок: 446 (Средняя 5 из 5)
Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.