Файловый ввод-вывод данных в Pascal е
Средства обработки файлов
11 класс
Нурмырзаев Ерболат Жандарбекович
Учитель Информатики
Школы-лицей №15 имени Д.И.Менделеева г.Шымкент
Описание
Файл – это область памяти на внешнем носителе, в которой хранится некоторая информация.
Особенности:
а) файл имеет имя;
б) файл содержит компоненты одного типа (файл строк, файл записей)
в)объем файла не оговаривается в программе ;
Типы файлов Турбо Паскаль
Турбо Паскаль поддерживает три типа файлов:
- текстовые файлы;
- типизированные файлы;
- нетипизированные файлы.
Файл, в описании которого указывается тип элементов, называется типизированным . Все элементы файла пронумерованы начиная с нуля.(базы данных)
Текстовый файл представляет собой последовательность символов разбитую на строки. Каждая строка заканчивается маркером конца строки. Нетипизированные файлы рассматриваются как совокупность символов и байтов, не имеют определенного типа.
Открытие файла для записи
Открытие файла для чтения
В программе на Паскале текстовый файл представлен файловой переменной типа TEXT.
Var : text;
Связь файловой переменной с именем файла на диске осуществляется с помощью оператора
Reset (имя файловой переменной);
Rewrite (имя файловой переменной);
Assign (имя файловой переменной, имя файла на диске);
Средства обработки файлов
- установить связь программы с файлом;
- "открыть" файл для чтения или записи;
- считать из файла или записать в файл;
- закрыть файл.
: text ; Например: Var f,g:text; Для установления связи переменной и файла служит процедура Assign ( , ’’); Например: Assign (f,‘input.txt’); Assign (g,’output.txt’); “ Эсайгн ” " width="640"
Установка связи программы с файлом
Описание файловой переменной
Var
имя файловой переменной : text ;
Например:
Var
f,g:text;
Для установления связи переменной и файла
служит процедура
Assign ( , ’’);
Например: Assign (f,‘input.txt’);
Assign (g,’output.txt’);
“ Эсайгн ”
Открытие файла для чтения или записи
- Для чтения из файла необходимо открыть файл для чтения с помощью процедуры RESET ();
Например: Reset (f);
- Для записи в файл открываем файл для записи с помощью процедуры
REWRITE ();
Например: Rewrite (g);
Чтение из файла . Запись в файл.
- Чтение данных из файла выполняется процедурой
READ ( , ’);
Например: Read (f,a,b);
- Запись данных в файл выполняется процедурой
WRITE (, );
Например: Writeln(g,c);
Закрытие файлов
После того как данные из файла прочитаны, его необходимо закрыть посредством процедуры
CLOSE ();
Например: Close (f);
После того как данные в файл записаны его необходимо закрыть посредством процедуры
CLOSE ();
Например: Close (g);
c)and (a+cb)and(b+ca) and ( a0)and(b0)and(c0) 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. " width="640"
Примеры программ
- 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+bc)and (a+cb)and(b+ca) and ( a0)and(b0)and(c0) 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.
Составить программу, которая читает файл, значения аргумента и функции записывает в одномерные массивы, подсчитывает их количество, выводит на экран дисплея и записывает в файл .
1. Program vetvlenie; Var a,b,c:integer; 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) or (b=c) or (c=a) then writeln (g,'YES') else writeln (g,'NO'); close(g);
end.
1. Даны три целых числа.
Определить, имеется ли среди них хотя бы
одна пара равных между собой чисел.
Формат входных данных
Входной файл содержит три целых числа через пробел.
Формат выходных данных
Выведите 'YES' если это так, и 'NO' в противном случае.
Примеры:
Вход
544 935 911
Выход
NO
Задача №2 из «Задачника по PascalABC.NET »
Адаптировать к файловому вводу-выводу данных.
Использованные источники
- Turbo Pascal , В.Б.Попов,Москва, 2002г.
- «Программирование на языке Паскаль», А.И.Епанешников, 2009г.