Program primer;
Var f1,f2:text;
I,n: integer;
S: string;
Begin
{формируем первый файл}
Assign(f1, ‘file1.txt’); {устанавливаем связь файловой переменной с физическим файлом на диске}
Rewrite(f1); {открываем файл для записи}
Readln(n) {определим количество вводимых строк}
for i:=1 to n do
begin
readln(s); {вводим с клавиатуры строки}
writeln(f1,s); {записываем последовательно строки в файл}
end;
close(f1); {заканчиваем работу с первым файлом, теперь на диске существует файл с именем file1.txt, содержащий введенные нами строки. На этом программу можно закончить, работу с файлом можно продолжить в другой программе, в другое время, но мы продолжим}
{часть вторая: чтение из первого файла и формирование второго}
Reset(f1); {открываем первый файл для чтения}
Assign(f2, ‘file2.txt’); {устанавливаем связь второй файловой переменной с физическим файлом}
Rewrite(f2); {открываем второй файл для записи}
{Дальше необходимо последовательно считывать строки из первого файла, проверять выполнение условия и записывать нужные строки во второй файл. Для чтения из текстового файла рекомендуется использовать цикл по условию «пока не конец файла»}
While not eof(f1) do
Begin
Readln(f1,s);{считываем очередную строку из первого файла}
If (s[1]=’A’) or (s[1]=’a’) then
Writeln(f2,s); {записываем во второй файл строки, удовлетворяющие условию}
End;
Close(f1,f2); {заканчиваем работу с файлами}
{часть третья: выводим на экран второй файл}
Writeln;
Writeln(‘Второй файл содержит строки:’);
Reset(f2); {открываем второй файл для чтения}
While not eof(f2) do {пока не конец второго файла}
Begin
Readln(f2,s);{считываем очередную строку из второго файла}
Writeln(s); {выводим строку на экран}
End;
End.