Файловый ввод-вывод данных в Pascalе
Средства обработки файлов
11 класс
Учитель информатики: Гусейнова А.М.
Описание
Файл – это область памяти на внешнем носителе, в которой хранится некоторая информация.
Особенности:
а) файл имеет имя;
б) файл содержит компоненты одного типа (файл строк, файл записей)
в)объем файла не оговаривается в программе ;
учитель информатики и ИКТ Гусейнова А.М..
Типы файлов Турбо Паскаль
Турбо Паскаль поддерживает три типа файлов:
- текстовые файлы;
- типизированные файлы;
- нетипизированные файлы.
Файл, в описании которого указывается тип элементов, называется типизированным . Все элементы файла пронумерованы начиная с нуля.(базы данных)
Текстовый файл представляет собой последовательность символов разбитую на строки.. Нетипизированные файлы рассматриваются как совокупность символов и байтов, не имеют определенного типа.
учитель информатики и ИКТ Гусейнова А.М.
Если на диске нет файла с данным именем, то выполнение программы прервется. Открытие файла для записи осуществляется оператором
Имя файла на диске больше нигде в программе не появляется. должно содержать полный путь для поиска данного файла. Если полный путь к файлу не указан, то файл будет искаться в каталоге, где находится исходный текст программы.
Открытие файла для чтения выполняется оператором
В программе на Паскале текстовый файл представлен файловой переменной типа TEXT.
Var : text;
Связь файловой переменной с именем файла на диске осуществляется с помощью оператора
Если на диске нет файла с данным именем, то файл будет создан.
Rewrite (имя файловой переменной);
Reset (имя файловой переменной);
Assign (имя файловой переменной, имя файла на диске);
Средства обработки файлов
- установить связь программы с файлом;
- "открыть" файл для чтения или записи;
- считать из файла или записать в файл;
- закрыть файл.
учитель информатики и ИКТ Гусейнова А.М.
Установка связи программы с файлом
Описание файловой переменной
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г.
учитель информатики и ИКТ Гусейнова А.М.