© М.Е.Макарова. ОПРЕДЕЛЕНИЕ ПОНЯТИЙ Физический Файл – это поименованная область на диске, содержащая какую-либо информацию. Логический файл – это одна.

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



Advertisements
Похожие презентации
Файловый тип данных Файл – это область памяти на внешнем носителе, в которой хранится некоторая информация. В языке Паскаль файл представляет собой последовательность.
Advertisements

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

© М.Е.Макарова

ОПРЕДЕЛЕНИЕ ПОНЯТИЙ Физический Файл – это поименованная область на диске, содержащая какую-либо информацию. Логический файл – это одна из структур данных, используемых в программировании.

И другие байт... байт Eof СТРУКТУРА ЛОГИЧЕСКОГО ФАЙЛА Это способ восприятия файла в программе, т.е. «шаблон», через который мы смотрим на физическую структуру файла на диске. В ЯП таким шаблонам соответствуют типы данных, допустимые в качестве компонент файлов. File of byte: код символа... код символа Eof целое со знаком... целое со знаком Eof File of char: File of integer:

У массива количество элементов фиксировано, а у файлов количество элементов может изменяться в процессе работы.(Количество в каждый момент времени неизвестно, но в конце файла стоит символ Eof) Массив целиком располагается в ОП, а файл находится на диске. Нумерация элементов массива выполняется соответственно значений нижней и верхней границ, указанных при его объявлении. Нумерация элементов файла выполняется слева направо, начиная с нуля Логическая структура файла в принципе очень похожа на структуру массива. Различия:

Классификация Файлов в ПАСКАЛЕ

РАБОТА С ТЕКСТОВЫМИ ФАЙЛАМИ var список имен файлов : text; Текстовый файл может состоять из любых символов (в том числе и цифр) Для работы с каким-либо физическим файлом (тем, который существует на диске) его необходимо связать с файловой переменной Assign (имя файла, путь к файлу); ИСПОЛЬЗОВАНИЕ Файлы используются для хранения данных. Из них можно считывать начальные данные, записывать результаты, изменять информацию в файле.

НАПРИМЕР: На диске есть файл: D:\MyFile.dat Или: Var f : text; Name: string;... Begin... Name : = D:\MyFile.dat ; Assign ( f, name);... Var f : text;... Begin... Assign (f; D:\MyFile.dat );

ПРИНЦИПЫ РАБОТЫ С ФАЙЛАМИ 1. Открытие 2. Чтение из файла или запись в файл 3. Закрытие RESET (название файла) – открытие файла для чтения из него информации в ОП REWRITE (название файла) – открытие файла для записи данных в файл APPEND (название файла) – открытие с целью дополнения данных CLOSE (название файла) – закрытие файла

ИСПОЛЬЗОВАНИЕ ДАННЫХ ИЗ ФАЙЛА Для считывания данных из файла в ОП используют read и readln. Read ( название файла, список переменных ) Readln ( название файла, список переменных ) Если в списке переменных есть переменная типа char или string [10], то из строки в файле считывается 1 или 10 символов ( вместе с пробелами ) и присваиваются этой переменной. Запись в файл осуществляется процедурами write и writeln Write ( имя файла, список выражений ); Writeln ( имя файла, список выражений ).

Если в списке переменных есть числовая переменная (integer или real), то считываются символы, которые трактуются как цифры до ближайшего пробела. Т. О. особенностью текстового файла является то, что происходит автоматическое преобразование числовых данных в цепочку символов при записи в файл и обратное преобразование символов в цифры при чтении из файла.

Функции и директивы для работы с файлами Функция Eof (имя файла) – true, если достигнут конец файла и False – иначе. {$ I - }, { $ I + } – директивы компилятору Pascal – отключают и включают контроль ошибок ввода-вывода. Если этого не сделать, то отсутствие файла приведет к аварийному завершению программы. Функция IOResult (имя файла) определяет наличие файла на диске ( 0 – есть, 1 – нет).

ПРИМЕРЫ ПРОГРАММ Задача 1 Пусть на диске (в текущем каталоге) есть файл myfile.dat, который состоит из некоторого числа целых чисел, разделенных пробелами. Написать программу, вычисляющую сумму этих элементов.

Program Files; uses Crt; var f :text; x: integer; Summa:longint; begin clrscr; {$I-} assign(f, 'myfile.txt'); reset(f); {$I+} if IOresult<>0 then writeln('ошибка открытия файла') else begin Summa:=0; while not Eof(f) do begin read(f,x); Summa:=Summa+x end; Writeln('Summa= ', Summa:8); end; Close(f); readln; end.

СОЗДАНИЕ ФАЙЛОВ 1 способ – с помощью текстового редактора, например Блокнот или Pascal. 2 способ – программными средствами. Открыть файл процедурой Rewrite ( f ) Процедурой REWRITE нельзя открыть запись информации в уже существующий файл. При выполнении этой процедуры старый файл с таким же именем уничтожается и никаких сообщений в программу не передается.

Задача 2 Написать программу, в которой в текстовый файл записываются данные про 10 учеников: имя, вес и рост. Перед созданием файла программа должна проверять наличие файла с таким именем на диске и спрашивать, что ей делать в случае обнаружения такого файла – прекратить работу или перезаписать файл.

Program Zapfile; Uses Crt; var f : text; name : string [ 10 ] ; ves : real; ROST : real; Otvet : char; Begin Clrscr; Assign ( f, deti. txt ) ; { $ | - } { проверяем, существует ли такой файл } Reset ( f ) ; If IOResult = 0 then Begin writeln ( файл deti. txt существует. Заменить его? ( y /n ) ) ; Readln ( otvet ) ; if otvet = n then halt ; End; Else begin Close ( f ) ; Rewrite ( f ) ; For i : = 1 to 10 do Begin Writeln ( введите имя, вес и рост ); Readln ( name, ves, rost ); Writeln ( f, name : 10, ves : 4, rost : 5:2 ); End; Close ( f ); End.

Задача 3 Написать программу, которая считывает слова из одного текстового файла и записывает их в столбик в другой текстовый файл. Пояснение: слова разделяются символом пробел. Поэтому мы будем считывать символы из первого файла и «складывать» их в слово до тех пор, пока не встретиться пробел. Потом это слово запишем во второй файл и опять начнем формировать следующее слово. И так до тех пор, пока не достигнем конца первого файла.

Program slovo; {Запись слов из файла f в столбик в файл h} uses Crt; var f,h:text; bukva:char; clovo:string; begin clrscr; assign(f,'f.pas'); assign(h,'h.pas'); reset(f); rewrite(h); clovo:=' '; while not eof(f) do begin read(f, bukva); if bukva<>' ' then begin clovo:=clovo+bukva; end else begin writeln(h,clovo); writeln(clovo); clovo:=' '; End ; end; readln; Close (f); Close (h); end.

Выучить