Файловая переменная. Файл – совокупность данных, записанная во внешней памяти под определенным именем. Любой файл имеет три характерные особенности: уникальное.

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



Advertisements
Похожие презентации
Файловый тип данных Turbo Pascal Операции для работы с файлами 11 класс.
Advertisements

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

Файловая переменная

Файл – совокупность данных, записанная во внешней памяти под определенным именем. Любой файл имеет три характерные особенности: уникальное имя, что дает возможность программе работать одновременно с несколькими файлами; он содержит компоненты одного типа, кроме файлового; длина вновь создаваемого файла никак не оговаривается при его объявлении и ограничивается только ёмкостью устройств внешней памяти.

Файл в Турбо - Паскале представляет собой последовательность элементов одного типа. В отличие от массива длина файла (кол - во элементов) не задается, место элемента не задается индексом и каждый элемент становится доступным после перебора всех предыдущих элементов (последовательный доступ ).

Файлы и файловые переменные Для доступа к файлу описывается специальная файловая переменная, которая считается представителем файлов в паскаль-программе. Входной файл (например, vhod.pas) Выходной файл (например, vihod.pas) Программа

Описание файлового типа Файлы Type = ; Var : file of ; Текстовый файл можно рассматривать как последовательность символов, разбитую на строки длиной от 0 до 256 символов Var F : text; Типизированные файлы файлы определенного типа. Чаще всего это файлы, состоящие из записей. Они используются для создания различных баз данных Type FileRec=record … end; Var F:file of FileRec; Нетипизированные файлы не имеют строго определенного типа, рассматривается в Паскале как совокупность символов или байтов. Var F : file;

Связь файла с файловой переменной ASSIGN(, ); Const name=c:\dir\subdir\out.txt; Var f:text; Begin … assign(f,name);

Инициация файла Инициировать файл - указать для него направление передачи данных. Файл можно инициировать для чтения, записи, дозаписи. Инициация файла для чтения - RESET( ); Инициация файла для записи - WRITE(, ); REWRITE( ); Инициация файла для дозаписи - APPEND( ); - только текстовый файл!

Проверка связи с файлом Для того, чтобы проверить, установлена ли связь файла с файловой переменной, необходимо использовать специальную функцию IOResult. Пример: Var f :text; St:String; BEGIN Write(Введите имя файла: ); Readln(St); Assign(f,St); {$I-} {Отключить контроль ввода-вывода} Reset(f); {Открыть файл} {$I+} {Включить контроль ввода-вывода }

If IOResult = 0 then begin Writeln(Файл существует и нормально открыт); Close(f); end Else Writeln(Файла с именем+St+ на диске нет); END. После корректного выполнения операции ввода- вывода функция IOResult возвращает значение, равное нулю, в остальных случаях функция возвращает соответствующий код ошибки.

Закрытие файла процедура Close ( );

Текстовый файл Текст делится на строки. При определении длины строки необходимо учитывать формат листа или размер монитора; Текст может содержать много строк; Каждая строка заканчивается символами: #13 –возврат каретки, #10 – перевод строки.

Процедуры и функции для текстовых файлов

Создание текстового файла Задача. Дан текстовый файл f. Используя файловую переменную, записать содержимое этого файла в другой файл. Решение: program tekct; uses crt; var i:integer; st: string[20]; g,f:text;

BEGIN clrscr; assign(f,d:\k11a_2007\in1.txt'); assign(g,'d:\k11a_2007\out.txt'); {$I-} reset(f); rewrite (g){$I+} if ioresult0 then begin writeln('no file'); halt end; i:=1; repeat readln(f,st); writeln(i,' ',st); writeln(g,st); inc(i) until eof(f); close(f); close(g); End.

Задача. Дан текст. Напечатать номер строки с максимальным количеством символов. program tekct1; uses crt; var k,i,p,max:integer; st: string[20]; f:text; label 1; BEGIN clrscr; assign(f,'d:\classes\class11x\in1.txt');

{$I-} reset(f);{$I+} if ioresult0 then begin writeln('no file'); goto 1 end; i:=1; p:=0; repeat readln(f,st); writeln(i,' ',st); k:=ord(st[0]); if k>max then begin max:=k; p:=i end; inc(i) until eof(f) ; writeln('p=',p); close(f); 1:; end.

Стандартные файлы ввода/вывода В программах на языке Турбо Паскаль можно использовать стандартные обозначения файла ввода input и файла вывода output. Файловая переменная input связана с клавиатурой, а файловая переменная output – с экраном дисплея. Эти файлы всегда считаются открытыми.

{$I-} reset(f); {$I+} if ioresult0 then begin writeln('no file'); goto 1 end; i:=1; p:=0;max:=0; repeat readln(f,st); writeln(i,' ',st); k:=ord(st[0]); if k>max then begin max:=k; p:=i end; inc(i) until eof(f) ; writeln('p=',p); close(f); 1: end.

Текстовые файлы, содержащие числа Особенностью работы с текстовыми файлами является то, что параметры, значения которых вводятся и выводятся с помощью процедур READ или WRITE, могут быть не только типа CHAR или STRING, но и других простых типов: целых, вещественных типов при вводе; целых, вещественных и логических типов при выводе. Эти процедуры могут также работать и с ASCII-строками. Имеется две стандартные файловые переменные для текстовых файлов, которые автоматически открываются при запуске программы и автоматически закрываются после работы: INPUT – по умолчанию связанная с клавиатурой; OUTPUT - по умолчанию связанная с экраном дисплея.

ПРИМЕРЫ 1.Считать файл и найти сумму цифр, встречающихся в нём. Чтобы определить численное значение элемента текстового файла, т.е. значение цифры, можно воспользоваться тем, что символы являются упорядоченным типом. Коды ASCII-цифр следует читать один за другим, и значение любой цифры может быть получено как k:=ORD( c ) - ORD(0);

Стандартные файловые переменные: INPUT – для чтения данных с клавиатуры OUTPUT – для вывода данных на экран program my_file; Var F:text; Ch:char: begin assign(input,'d:\programs\in.pas'); {$I-}reset(input); {$I+} If Ioresult 0 then Begin write(нет файла); exit; while not eof do begin read(ch); Write(ch); end; close(input); end. Пример переопределения стандартного ввода с клавиатуры на ввод из файла на диске. Файловую переменную в этом случае можно не записывать в операторах READ и WRITE

program prim1; uses crt; Var I,k:integer; begin clrscr; assign(input,'d:\programs\in.p as'); reset(input); k:=0; while not eof do begin read(i); inc(k); end; close(input); write('k=',k); readkey end. Пример1. Дан текстовый файл, содержащий целые числа. Найти количество чисел в файле.

program prim2; uses crt; Var i,j,k:integer; begin clrscr; assign(input, 'd:\classes\in.pas'); reset(input); k:=0; repeat j:=0; repeat inc(k);inc(j); read(i);write(i,' '); until eoln; writeln('j=',j) until eof; close(input); write('k=',k); readkey end. Пример 2 Дан текстовый файл, содержащий целые числа. Найти количество чисел в файле и в каждой строке.

Program prim3; uses crt; Var p,k,i,mf,ms:integer; begin clrscr; assign(input,'ff1.txt'); reset(input); mf:=-32768;k:=0; repeat ms:=-32768; repeat read(i);write(i,' '); inc(k); if i>ms then ms:=i; if i>mf then begin mf:=i;p:=k end until eoln; writeln('ms=',ms); until eof; close(input); write('mf=',mf,'p=',p); readkey end. Пример 3 Дан текстовый файл, содержащий целые числа. Найти максимальный элемент в файле и его номер в файле, а также максимальный элемент в каждой строке.

Задача