Обробка текстів, Детальна інформація

Обробка текстів
Тип документу: Реферат
Сторінок: 14
Предмет: Комп`ютерні науки
Автор: Олексій
Розмір: 30.9
Скачувань: 987
while not eof(f) do

begin

read(f, v);

обробка значення змінної v

end.

З виклику eof(f) повертається значення true, якщо доступним є кінець файла. За такої організації читання слід забезпечити, щоб між останньою числовою сталою та кінцем файла не було порожніх символів. Якщо цього не зробити, то в системі Турбо Паскаль буде прочитано зайве нульове значення.

Якщо файл порожній, то перше ж виконання виклику eof(f) породжує true, і тіло циклу не виконується жодного разу. Змінна v залишається зі старим значенням. А якщо значення їй не було присвоєно, то можливі непередбачувані помилки.

Звернімо увагу, що читання в циклі відбувається після того, як із виклику функції eof повернулося значення false, тобто кожному читанню передує перевірка, чи не є файл прочитаним. Ми радимо завжди записувати програми так, що при їх виконанні спочатку перевіряється, що з файла можна читати, і лише тоді читається.

Приклад 3. У тексті записано дійсні числа, розділені порожніми символами. Обчислити їх середнє арифметичне.

Кількість чисел нічим не обмежена, тому скористаємося циклом із перевіркою ознаки кінця тексту. За порожнього тексту друкується 0:

n:=0; A:=0;

while not eof(f) do

begin

read(f, x); n:=n+1;

A:=A+x; {}

end;

if n>0 then A:=A/n;

writeln(A).

Зауважимо, що сума чисел у тексті може бути непредставною навіть у типі real, хоча їх середнє не більше максимального з них. Середнє арифметичне варто обчислювати інакше. Помітимо, що



Отже, замість оператора A:=A+x у циклі напишемо оператор

A:=(n-1)/n*A+x/n,

що виконується за n>0, і вилучимо оператор if n>0 then A:=A/n.\xF0E7

4. Особливості читання символів і рядків із тексту

При виконанні виклику read(f, X) за змінної X типу char їй присвоюється доступний символ тексту, яким би він не був, а доступним стає наступний за ним. Виключенням є випадок, коли доступний кінець файла: значенням X стає символ chr(26), і він же залишається доступним. Отже, при читанні символів пропуски, табуляції та кінці рядків обробляються так само, як і всі інші символи.

Приклад. Розглянемо виконання такої програми:

program eofad;

const eo=chr(26);

var f : text; ch : char;

begin

The online video editor trusted by teams to make professional video in minutes