Подпрограммы работы с файлами
ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ Часть 2
Лабораторный практикум для студентов специальности 1-45 01 02 Инфокоммуникационные системы
Минск УДК 004.65 БББ 32.973 Б17
Рекомендовано к изданию кафедрой программного обеспечения сетей телекоммуникаций 03.03.2015 г., протокол № 6
Составители О. П. Рябычина, старший преподаватель кафедры программного обеспечения сетей телекоммуникаций А. Ю. Булычева, ассистент кафедры программного обеспечения сетей телекоммуникаций
Рецензент В. Ф. Бондаренко, кандидат физико-математических наук, доцент кафедры программного обеспечения сетей телекоммуникаций
ISBN 978-985-7002-80-1 ©Учреждение образования «Высший государственный колледж связи», 2015
ВВЕДЕНИЕ Лабораторный практикум разработан по дисциплине «Основы алгоритмизации и программирования». Целью преподавания данной дисциплины является подготовка специалиста, владеющего фундаментальными знаниями и практическими навыками в области основ алгоритмизации и программирования. В результате изучения дисциплины студенты должны: знать: - основы алгоритмизации; - основы структурного программирования программ; - способы представления алгоритмов; - объектно-ориентированный язык программирования Object Pascal (среду программирования Delphi). уметь: - выполнять алгоритмизацию инженерных задач; - программировать на объектно-ориентированном языке программирования; - отлаживать и тестировать программы; - анализировать исходные и выходные данные решаемых задач и формы их представления. Для выполнения лабораторных работ необходимо использовать интегрированную среду разработки Borland Delphi 7. При выполнении каждой лабораторной работы необходимо составить электронный вариант отчета с результатами выполнения индивидуального задания. В отчете отразить: 1. Тему лабораторной работы; 2. ФИО студента, выполнившего лабораторную работу; 3. Цель лабораторной работы; 4. Индивидуальное задание; 5. Алгоритм решения задачи; 6. Скриншот программы; 7. Листинг программы; 8. Ответы на контрольные вопросы; 9. Выводы по работе.
ЛАБОРАТОРНАЯ РАБОТА №10 РАЗРАБОТКА, ОТЛАДКА И ВЫПОЛНЕНИЕ ПРОГРАММЫ С ИСПОЛЬЗОВАНИЕМ ЗАПИСЕЙ И ФАЙЛОВ Цель работы: Получение практических навыков разработки, отладки и выполнения программ с использованием записей и файлов.
Краткие теоретические сведения Работа с файлами Файл - это именованная область данных на внешнем физическом носителе. В Object Pascal различают три вида файлов в зависимости от способа их организации и доступа к элементам: текстовые, типизированные и нетипизированные. Текстовой файл - это файл, состоящий из строк. Примером текстового файла может служить файл исходного текста программы в DELPHI (расширение *.pas). Для работы с текстовым файлом должна быть описана соответствующая файловая переменная: Var F: TextFile; Типизированные файлы имеют строго заданную их описанием структуру, когда все элементы имеют фиксированный и одинаковый размер. Это свойство типизированных файлов позволяет получить доступ к любому компоненту файла по его порядковому номеру. Элементами такого файла являются, как правило, записи. В описании файловой переменной указывается ее тип: Var F: file of TStudent; где TStudent-новый тип данных: TStudent = record Fio: string[20]; {Поле ф.и.о.} Group: Integer; {Поле номера группы} Осn: аrrау[1..3] of integer; {Поле массива оценок} end: Var Stud: TStudent; {Объявление переменной типа запись} F:file of TStudent; {Объявление файловой переменной для типизированного файла, состоящего из записей типа TStudent } Нетипизированный файл - это файл, в котором данные не имеют определенного типа и рассматриваются как последовательность байт. Файловая переменная объявляется: Var F: File; Порядок работы с файлами следующий: AssignFile(F, 'Filename.txt'); //Связывание файловой переменной F с именем дискового файла Filename.txt" Rewrite(F); // Создание нового или открытие (Reset(F)) уже существующего файла Read(F, Stud); // Чтение данных из файла или запись (Write(F, Stud)) в файл CloseFile(F); //Закрытие файла Подпрограммы работы с файлами AssignFile (var F; FileName: string) - связывает файловую переменную F и файл с именем FileName. Reset (var F[: File; RecSize: word]) - открывает существующий файл. При открытии нетипизированного файла RecSize задает размер элемента файла. Rewrite(var F[: File; RecSize: word]) - создает и открывает новый файл. Append(var F: TextFile) - открывает текстовой файл для дописывания текста в конец файла. Read(F,v1[v2,...vn]) - чтение значений переменных начиная с текущей позиции для типизированных файлов и строк для текстовых. Write(F,v1[,v2,...vn]) - запись значений переменных начиная с текущей позиции для типизированных файлов и строк для текстовых. CloseFile(F) - закрывает ранее открытый файл. Rename(var F; NewName: string) - переименовывает неоткрытый файл любого типа. Erase(var F) - удаляет неоткрытый файл любого типа. Seek(var F; NumRec: Longint) - для нетекстового файла устанавливает указатель на элемент с номером NumRec. SetTextBuf(var F: TextFile; var Buf[;Size: word])- для текстового файла устанавливает новый буфер ввода-вывода объема Size. Flush(var F: TextFile) - немедленная запись в файл содержимого буфера ввода-вывода. Truncate(var F) - урезает файл, начиная с текущей позиции. LoResult: integer - код результата последней операции ввода-вывода. FilePos(varF): longint - для нетекстовых файлов возвращает номер текущей позиции. Отсчет ведется от нуля. FileSize(var F): longint - для нетекстовых файлов возвращает количество компонентов в файле. Eoln(var F: TextFile): boolean - возвращает True, если достигнут конец строки. Eof(varF): boolean - возвращает True, если достигнут конец файла. SeekEoln(var F: TextFile): boolean - возвращает True, если пройден последний значимый символ в строке или файле, отличный от пробела или знака табуляции. SeekEof(var F: TextFile): boolean - то же, что и SeekEoln, но для всего файла. BlockRead(var F: File; var Buf; Count: word[; Result: word]), BlockWrite(var F: File; var Buf; Count: word[;Result: word]) - соответственно процедуры чтения и записи переменной Buf количеством Count блоков.
Популярное: Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе... Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы... Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (396)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |