Зворотний зв'язок

Обробка текстів

begin

while eoln(f) and not eof(f) do

begin nlin:=nlin+1; readln(f) end;

read(f, ch);

end;

{eof(f) or isletter(ch)}

if isletter(ch) then

begin

getlex1:=true; lex:=lex+ch; isl:=true;

while not eof(f) and isl do

begin

if eoln(f) then exit;

read(f,ch);

if isletter(ch) then lex:=lex+ch

else isl:=false

end;

{eof(f) or not isl}

end;

end;

Написання повної програми також залишаємо вправою.

Приклад 8. Коментар – це послідовність символів, що починається символами '(*', закінчується символами '*)' і не містить '*)' усередині. Написати програму читання та копіювання тексту з вилученням коментарів.

У попередніх прикладах ми вже бачили, що обробка прочитаного символу залежить від його місця в тексті. Наприклад, у функції getlex порожні символи просто читалися, а символи слова дописувалися до рядка. Аналогічно й тут: символи зовні коментаря повинні копіюватися в інший текст, а символи самого коментаря – ні. Але коли прочитано дужку '(', то невідомо, чи є вона початком коментаря, чи ні. Якщо наступний за нею символ відмінний від '*', то дужку треба копіювати, а якщо це '*' – ні. Крім того, дужка всередині коментаря не копіюється. Так само, якщо читаються символи коментаря, то обробка закриваючої дужки ')' залежить від того, чи був попередній символ '*', чи ні.

Придивившися уважніше до текстів із коментарями, можна зрозуміти, що можливі чотири випадки, у кожному з яких останній прочитаний символ обробляється по-своєму.


Реферати!

У нас ви зможете знайти і ознайомитися з рефератами на будь-яку тему.







Не знайшли потрібний реферат ?

Замовте написання реферату на потрібну Вам тему

Замовити реферат