Программирование на языке Паскаль Файлы комбинированного типа (записей)

Презентация:



Advertisements
Похожие презентации
1 Записи 2 Запись – это тип данных, который может включать в себя несколько полей – элементов разных типов (в том числе и другие структуры). Свойства:
Advertisements

Структуры (записи) Программирование на языке Паскаль.
Указатели Динамические структуры данных. 2 Статические данные переменная (массив) имеет имя, по которому к ней можно обращаться размер заранее известен.
Множества значений или переменных с одним общим именем называются структурированными типами. По способу организации и типу компонентов выделяют: 1. Массивы.
Пусть нам необходимо сформировать текстовый файл с помощью Паскаля, а затем переписать из данного файла во второй только те строки, которые начинаются.
Файловый тип данных Turbo Pascal Операции для работы с файлами 11 класс.
Файловый тип данных Файл – это область памяти на внешнем носителе, в которой хранится некоторая информация. В языке Паскаль файл представляет собой последовательность.
Чтобы переваривать знания, Нужно поглощать их с аппетитом. А. Франс.
Program wr_text; var f: text; st: integer; i:integer; begin assign(f,'l1.TXT'); rewrite(f); write('вводите поочередно числа, после ввода очередного числа.
Программирование типовых алгоритмов вычислений Информатика.
1 Программирование на языке Паскаль Тема: Файлы. Integer, Real, Boolean, Character, String, Text.
Статичні структури даних.. 2 Статические данные переменная (массив) имеет имя, по которому к ней можно обращаться размер заранее известен (задается при.
ТЕКСТОВЫЕ ФАЙЛЫ Turbo Pascal 7.0. Операции с текстовыми файлами Выделение буфера обмена Установка связи Открытие файла Чтение из файла Запись в файл Закрытие.
Нетипизированный файл рассматривается в Паскале как совокупность символов или байтов. Выбор char или byte не играет никакой роли, важен лишь объем занимаемых.
Файловый ввод- вывод данных в Pascalе Средства обработки файлов 11 класс Дугина Ирина Радиковна, учитель информатики и ИКТ, МБОУ СОШ с.Камышки Александрово-Гайского.
Работа с файлами.. Процедура Assign(var f; name : String); Связывает внешний файл с именем name и переменную файлового типа f. Все дальнейшие операции.
Работа с файлами PASCAL. Понятие файл Физический файл – это именованная область внешней памяти, содержащая информацию. Логический файл – это структура.
1 Программирование на языке Паскаль Файлы с последовательным доступом. Кулебякин В.В.
Структурные типы данных 1.Массивы 2.Строки 3.Записи 4.Множества 5.Файлы.
Программирование - это вторая грамотность. представляет собой последовательность элементов одного типа. Длина файла не задается, место элемента не определяется.
Транксрипт:

Программирование на языке Паскаль Файлы комбинированного типа (записей)

2 Структуры (в Паскале – записи) Структура (запись) – это тип данных, который может включать в себя несколько полей – элементов разных типов (в том числе и другие структуры). Свойства: автор (строка) название (строка) год издания (целое число) количество страниц (целое число) Задача: объединить эти данные в единое целое Размещение в памяти авторназвание год издания количество страниц 40 символов80 символовцелое

3 Новый тип данных – запись const N = 10; var Book: TBook; // одна запись aBooks: array[1..N] of TBook; // массив const N = 10; var Book: TBook; // одна запись aBooks: array[1..N] of TBook; // массив Объявление типа: type TBook = record author: string[40]; // автор, строка title: string[80]; // название, строка year: integer;// год издания, целое pages : integer; // кол-во страниц, целое end; type TBook = record author: string[40]; // автор, строка title: string[80]; // название, строка year: integer;// год издания, целое pages : integer; // кол-во страниц, целое end; Память не выделяется! ! ! Объявление переменных и массивов: TBook – Type Book («тип книга») – удобно!

4 Файлы записей Объявление файла: var F: file of TBook; Book: TBook; // одна запись aBooks: array[1..100] of TBook; // массив var F: file of TBook; Book: TBook; // одна запись aBooks: array[1..100] of TBook; // массив Assign(F, 'books.dat'); { связать с файлом} Rewrite(F); { открыть файл для записи } write (F, Book); { запись в файл} for i:=1 to 5 do write(F, aBook[i]); { запись в файл} Close(F); { закрыть файл } Assign(F, 'books.dat'); { связать с файлом} Rewrite(F); { открыть файл для записи } write (F, Book); { запись в файл} for i:=1 to 5 do write(F, aBook[i]); { запись в файл} Close(F); { закрыть файл } Запись в файл:

5 Чтение из файла Известное число записей: Assign(F, 'books.dat'); { связать с файлом} Reset(F); { открыть для чтения } Read(F, Book); { чтение } for i:=1 to 5 do Read(F, aBook[i]); { чтение } Close(F); { закрыть файл } Assign(F, 'books.dat'); { связать с файлом} Reset(F); { открыть для чтения } Read(F, Book); { чтение } for i:=1 to 5 do Read(F, aBook[i]); { чтение } Close(F); { закрыть файл } «Пока не кончатся»: count := 0; while not eof(F) do begin count := count + 1; { счетчик } Read(F, aBook[count]); { чтение } end; count := 0; while not eof(F) do begin count := count + 1; { счетчик } Read(F, aBook[count]); { чтение } end; В чем может быть проблема! ? ? пока не дошли до конца файла F EOF = end of file пока не дошли до конца файла F EOF = end of file

6 Пример программы Задача: в файле books.dat записаны данные о книгах в виде массива структур типа TBook (не более 100). Установить для всех 2008 год издания и записать обратно в тот же файл. type Tbook … ; const MAX = 100; var aBooks: array[1..MAX] of TBook; i, N: integer; F: file of TBook; begin { прочитать записи из файла, N - количество } for i:=1 to N do aBooks[i].year := 2008; { сохранить в файле } end. type Tbook … ; const MAX = 100; var aBooks: array[1..MAX] of TBook; i, N: integer; F: file of TBook; begin { прочитать записи из файла, N - количество } for i:=1 to N do aBooks[i].year := 2008; { сохранить в файле } end. type TBook … ; полное описание структуры

7 Пример программы Чтение «пока не кончатся»: Assign(f, 'books.dat'); Reset(f); N := 0; while not eof(F) and (N < MAX) do begin N := N + 1; read(F, aBooks[N]); end; Сlose(f); Assign(f, 'books.dat'); Reset(f); N := 0; while not eof(F) and (N < MAX) do begin N := N + 1; read(F, aBooks[N]); end; Сlose(f); Assign(f, 'books.dat'); { можно без этого } Rewrite(f); for i:=1 to N do write(F, aBooks[i]); Close(f); Assign(f, 'books.dat'); { можно без этого } Rewrite(f); for i:=1 to N do write(F, aBooks[i]); Close(f); Сохранение: чтобы не выйти за пределы массива