Файловый ввод-вывод данных в Pascalе Средства обработки файлов 11 класс
Описание Файл – это область памяти на внешнем носителе, в которой хранится некоторая информация.
Типы файлов Турбо Паскаль Турбо Паскаль поддерживает три типа файлов: текстовые файлы; типизированные файлы; нетипизированные файлы. Файл, в описании которого указывается тип элементов, называется типизированным. Все элементы файла пронумерованы начиная с нуля.(базы данных) Текстовый файл представляет собой последовательность символов разбитую на строки. Каждая строка заканчивается маркером конца строки. Нетипизированные файлы рассматриваются как совокупность символов и байтов, не имеют определенного типа.
Средства обработки файлов установить связь программы с файлом; "открыть" файл для чтения или записи; считать из файла или записать в файл; закрыть файл.
Установка связи программы с файлом
Открытие файла для чтения или записи Для чтения из файла необходимо открыть файл для чтения с помощью процедуры RESET(<имя файловой переменной>); Например: Reset (f); Для записи в файл открываем файл для записи с помощью процедуры REWRITE(<имя файловой переменной>); Например: Rewrite (g);
Чтение из файла. Запись в файл. Чтение данных из файла выполняется процедурой READ (<имя файловой переменной>,’<имя переменной>); Например: Read (f,a,b); Запись данных в файл выполняется процедурой WRITE(<имя файловой переменной>, <значение>); Например: Writeln(g,c);
Закрытие файлов После того как данные из файла прочитаны, его необходимо закрыть посредством процедуры CLOSE (<имя файловой переменной>); Например: Close (f);
Примеры программ Program geron; var a,b,c:integer; s,p:real; f,g:text; begin assign(f,'input.txt'); reset(f); readln(f,a,b,c); close(f); assign(g,'output.txt'); rewrite(g); if(a+b>c)and (a+c>b)and(b+c>a) and (a>0)and(b>0)and(c>0) then begin p:=(a+b+c)/2; s:=sqrt(p*(p-a)* (p-b)* (p-c)); writeln (g,s:12:6); end else writeln(g,-1); close(g); end.
Примеры программ Program F; var rArg, rF: Array[1..200] of Real; inf: Text; outf: Text; n, l: Integer; begin Assign(inf,'ID.txt'); Assign(outf,'RD.txt’); Reset(inf); Rewrite(outf); n:=0; while not EOF(inf) do begin n:=n+1; ReadLn(inf,rArg[n],rF[n]) end; for l:=1 to n do begin WriteLn(l:2,rArg[l]:8:2,rF[l]:8:2); Write(outf,rArg[l], rF[l]); end; close(outf); end.
Закрепление Задача №2 из «Задачника по PascalABC.NET» Адаптировать к файловому вводу-выводу данных.
Использованные источники: Turbo Pascal, В.Б.Попов,Москва, 2002г. «Программирование на языке Паскаль», А.И.Епанешников, 2009г.