Ввод исходных данных из файла и вывод результатов в файл
Команды используемые для работы с файлами (язык программирования Паскаль)
Команда |
Действие команды |
assign (f,'in.txt') |
Файловая переменная f (f:text) связывается с файлом in.txt |
reset (f) |
Открыть файл, связанный с файловой переменной f, для чтения |
rewrite (f) |
Открыть файл, связанный с файловой переменной f, для записи |
readln (f,a,b) |
Читать данные из файла, связанного с файловой переменной f (в данном случае читаются два значения, первое присваивается переменной a, второе - переменной b) |
writeln (f,s) |
Записать данные в файл, связанный с файловой переменной f (в данном случае в файл сохраняется одно значение (значение переменной s) |
close (f) |
Закрыть файл, связанный с файловой переменной f |
Пример №1. Определить сумму и произведение двух чисел. (Исходные числа вводятся из файла (12.txt), результаты записываются в файл (rez.txt)
Текст программы на Паскале |
Файл (12.txt) |
uses crt;
var f:text; a,b,s,p:integer;
begin
clrscr;
assign (f,'12.txt');
reset (f);
readln (f,a,b);
close (f);
s:=a+b;
p:=a*b;
assign (f,'rez.txt');
rewrite (f);
writeln (f,s,' ',p);
close (f);
end. |
5 12 |
Файл (rez.txt) |
17 60 |
Пример №2. Из последовательности целых чисел выбрать числа кратные трем.
Текст программы на Паскале |
Комментарии к тексту программы |
uses crt;
var f,g:text; a,b,i,n:integer;
begin
|
|
write ('Введите количество чисел ');
readln (n);
assign(f,'chisla.txt');
rewrite(f);
for i:=1 to n do begin
b:=random(30)+5;
writeln(f,b);
end;
close (f);
|
В созданный и открытый для записи файл (chisla.txt) записывается n целых чисел. |
assign(f,'chisla.txt');
assign(g,'chisla-3.txt');
reset(f);
rewrite(g);
while not eof(f) do begin
readln(f,a);
if a mod 3 =0 then writeln(g,a);
end;
close (f);
close (g);
|
Числа считываются из файла chisla.txt, и числа кратные трем записываются в файл chisla-3.txt
while not eof(f) do - выполнение цикла while продолжается до тех пор пока не считаны все значения из файла chisla.txt
|
end. |
|
|