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

Паскаль: обробка текстів
Тип документу: Реферат
Сторінок: 17
Предмет: Комп`ютерні науки
Автор: Олексій
Розмір: 0
Скачувань: 919
б) readln(f, a, b); read(f, c, d),

в) readln(f, a, b); readln(f, c); readln(f, d),

якщо з доступного символу в тексті починається послідовність

1[13][10] -2.9 +13[13][10]2000 777[13][10][26]

4.* Написати програму підрахунку кількості рядків у тексті.

5.* Результат лижника в перегонах задається трійкою цілих у одному рядку тексту: його стартовим номером та кількістю хвилин і секунд. Кількість рядків із результатами необмежена. Після кожного результату треба вивести на екран поточну десятку найкращих (якщо результатів менше, то подати наявні).

6. Є два тексти, у кожному рядку яких записано натуральне число, і послідовності цих чисел неспадні. Записати в третій текст неспадну послідовність чисел, що є результатом злиття двох заданих. Числа у вихідному тексті вивести по 10 на рядок (останній рядок може бути неповним). Наприклад, за заданих послідовностей (2, 2, 4, 6), (1, 3, 6, 7) у текстах створюється послідовність (1, 2, 2, 3, 4, 6, 6, 7).

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

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

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

program eofad;

const eo=chr(26);

var f : text; ch : char;

begin

assign(f, 'eofad.dat'); rewrite(f);

writeln(f, 'abc', eo, 'qq'); {запис 6 символів у файл}

close(f);

reset(f);

while not eof(f) do {у тексті є доступний символ, і він не є chr(26)}

begin

read(f, ch); {доступний символ файла читається в змінну ch}

write(ch)

end;

close(f);

readln;

end.

За її виконання на екрані буде надруковано лише abc. Справа в тім, що після того, як прочитано символ c, доступним стає chr(26). Далі виконується виклик eof(f), з нього повертається значення true, і виконання циклу закінчується.\xF0E7

Якщо X рядкового типу, то при виконанні виклику read(f, X) символи до найближчого eol читаються та присвоюються елементам X; доступним стає eol, тобто chr(13) в системі Турбо Паскаль. Якщо символів тексту до eol більше, ніж уміщається в X, то X заповнюється до кінця, і доступним стає перший символ за тими, що прочитано в X.

Якщо перед читанням рядка X доступний eol, то він залишається доступним, а значенням X стає порожній рядок. Ось чому ми рекомендуємо не застосовувати процедуру read при читанні рядків.

Особливо небезпечним є застосування read при введенні рядків у циклі. Якщо після введення рядка доступним символом стане eol, то за подальших уведень рядків вони одержуватимуть значення '' (порожній рядок), eol залишиться доступним і виконання програми може "зациклитися". Наприклад, при виконанні циклу вигляду

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