Фильтрация данных

Задача: 

Скопировать из одного файла в другой только определенные символы (например, ряд гласных) и посчитать их общее количество.

Алгоритм решения задачи: 

Первый файл открывается на чтение, второй – на запись.

Первый цикл while читает поэлементно исходный файл. Если текущий символ является одним из ‘a’, ‘e’ или ‘u’, то он записывается во второй файл. Также переменная-счетчик (k) увеличивает свое значение на единицу.

После окончания чтения первого файла, оба закрываются. Далее второй файл открывается на чтение, и из него считываются и выводятся на экран данные. Их общее количество хранится в переменной k, значение которой также выводится на экран.

Программа на языке Паскаль: 

var
    f1, f2: file of char;
    c: char;
    k: integer;
 
begin
    assign (f1, 'c:\file1.txt');
    reset (f1);
 
    assign (f2, 'c:\file2.txt');
    rewrite (f2);
 
    k := 0;
 
    while not eof (f1) do begin
        read (f1, c);
        if (c = 'a') or (c = 'e') or (c = 'u') then begin
            write (f2, c);
            k := k + 1
        end
    end;
 
    close (f1);
    close (f2);
 
    reset (f2);
 
    while not eof (f2) do begin
        read (f2, c);
        write (c:2)
    end;
 
    writeln;
    writeln (k);
 
readln
end.

Комментарии

а зачем еще раз readln в

а зачем еще раз readln в конце?

readln в конце

чтобы программа не закрылась сразу, а только после нажатия на enter