Подсчет количества символов, строк и слов в текстовом файле

Задача: 

Посчитать сколько содержится в файле символов, строк и слов.
Разделителями слов считать пробелы и перенос строки.

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

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

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

var
    f: file of char;
    fname: string;
    ch: char;
    n, line, w: word;
    flag: boolean;
 
begin
    write('File address&name: ');
    readln(fname);
    assign(f, fname);
    reset(f);
 
    n := 0;
    line := 0;
    w := 0;
    flag := false;
    while not EOF(f) do begin
        read(f, ch);
        if ord(ch) = 13 then begin
            read(f, ch);
            line := line + 1;
            flag := false;
        end
        else begin
            n := n + 1;
            if ch = ' ' then flag := false
            else
                if flag = false then begin
                    w := w+1;
                    flag := true;
                end;
        end;
    end;
    if n <> 0 then line := line + 1;
 
    writeln(n);
    writeln(line);
    writeln(w);
 
readln;
end.

Комментарии

Анаграмма

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

Сказано, что в текстовом

Сказано, что в текстовом файле, тогда почему f:file of char?

Ну, все верно,

Ну, все верно, char-символьный тип, а текстовый файл состоит из символов!