Определим в качестве слова последовательность символов, ограниченную пробелами либо признаками конца строки, конца файла.
Определим в качестве строки последовательность символов, имеющую в крайнем справа символ, совпадающий с признаком конца строки.
Определим в качестве файла последовательность символов, оканчивающуюся символом, совпадающим с признаком конца файла.
Алгоритм:
1. Определяем необходимые переменные.
2. Ассоциируем файловую переменную с именем файла командой assign(f, patch), где patch - путь к файлу.
3. Открываем файл по чтению командой reset(f).
4. В цикле считываем символы из файла до признака конца файла EOF(f) и анализируем каждый символ.
4.1. Если встретился признак конца строки либо перенос строки (код #13), увеличиваем счетчик строк на 1.
4.2. Если встретился символ пробела либо конец файла - увеличиваем счетчик слов на 1.
4.3. Счетчик длины слова увеличиваем на 1 до тех пор, пока не встретился пробел либо конец файла, при наступлении события - определяем длину слова командой Length(s), прибавляем ее к сумматору длин слов и обнуляем счетчик длины слова.
5. По выходу из цикла вычисляем среднюю длину слова, разделив значение сумматора длин слов на счетчик слов.
6. Выводим результаты.
Реализовать этот алгоритм не труднее, чем его понять. Дерзайте!
