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

Обробка текстів
Тип документу: Реферат
Сторінок: 14
Предмет: Комп`ютерні науки
Автор: Олексій
Розмір: 30.9
Скачувань: 944
out: case ch of

'(': q:=bgn

else write(g, ch)

end;

bgn: case ch of

'(': write(g, '(');

'*': q:=incm

else

begin

write(g, '(', ch); q:=out

end;

end;

incm: case ch of

'*': q:=bgend

end;

bgend: case ch of

'*': ;

')': q:=out

else q:=incm

end;

end; {case q of}

end; {while not eof(f) }

Як бачимо, виконання наведеного циклу відповідає описаній вище імітації діаграми. Оформлення програми залишаємо вправою.\xF0E7

7. Використання рядків для виведення в текст

Приклад 9. Редактор Word символом chr(13) задає розбиття текстів не на рядки, а на абзаци. З точки зору редактора ДОС або Турбо Паскаль такий абзац є рядком, причому, як правило, дуже довгим, і читати його незручно. Напишемо програму копіювання тексту з довгими рядками в текст із рядками довжини не більше ніж, наприклад, 80.

Уточнення. Пропуски, кінці рядків і символи табуляції будемо називати пропусками. Можна вважати, що послідовності символів, відмінних від пропусків, у тексті, тобто слова, мають довжину не більше 80. Слова в тексті відокремлюються пропусками в довільній кількості. У новому тексті між словами рядка повинен бути один пропуск, тобто текст має ущільнюватися.

У загальному вигляді розв’ язання задачі полягає в тім, що з тексту по одному "витягуються слова" й записуються в новий текст.

Якщо читання слова задати функцією getlex, яка повертає ознаку наявності слова, а запис слова – процедурою putlex, то головним у програмі буде цикл вигляду

while getlex do putlex.

Отже, прочитане слово треба записати в новий текст. Але замість цього запишемо його в допоміжний рядок довжини 80, який назвемо "рядок слів".

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