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

Обробка текстів
Тип документу: Реферат
Сторінок: 14
Предмет: Комп`ютерні науки
Автор: Олексій
Розмір: 30.9
Скачувань: 960
Для визначення, чи є символ латинською літерою, скористаємося функцією isletter:

function isletter(c : char) : boolean;

begin

isletter := ('a'
end;

Запишемо функцію getlex. Коли під час її виклику завершується виконання першого циклу, можуть бути істинними обидві умови, eof(f) та isletter(ch). Це можливо, якщо останній символ тексту є водночас першою літерою слова. У цьому разі символ дописується до порожнього слова.

function getlex(var f : text; var lex : string) : boolean;

var ch : char; isl : boolean;

begin

ch:=' '; lex:=''; getlex:=false;

while not eof(f) and not isletter(ch) do

read(f, ch);

{eof(f) or isletter(ch)}

if isletter(ch) then

begin {створення рядка-лексеми}

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

while not eof(f) and isl do

begin

read(f,ch);

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

else isl:=false

end;

{eof(f) or not isl}

end;

end;

Тіло складеного оператора, що задає створення рядка-лексеми й виконується після того, як умова isletter(ch) стає істинною, можна записати за допомогою оператора repeat-until:

getlex:=true; isl:=true;

repeat

lex:=lex+ch;

if not eof(f) then

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