Обчислення иразів у програмуванні, Детальна інформація
Обчислення иразів у програмуванні
var buf : Str;
bufl, bufp : integer;
f : text; nam : Str;
procedure bufinit;
begin
buf := ''; {спочатку буфер – порожній рядок}
bufl := 0; bufp := 0;
tempc := ' '; {штучний пропуск перед початком першого рядка}
writeln('Уведіть ім''я текстового файла з виразом'); readln(nam);
assign(f, nam); reset(f)
end;
function newln : char; … end;
function getc; … end;
Begin
bufinit
End.
Наведемо, нарешті, функції getc і newln.
function getc : char;
begin
bufp := bufp + 1;
if bufp <= bufl then tempc := buf[bufp]
else { рядок вичерпано } tempc := newln;
getc := tempc
end;
При виконанні функції newln у разі наявності наступного рядка повертається пропуск. Він штучно додається перед першим символом рядка, аби той не продовжував лексему в попередньому рядку. У разі кінця файла повертається finch – ознака закінчення виразу:
function newln : char;
begin
if eof(f) then tempc := finch
else
begin
bufl, bufp : integer;
f : text; nam : Str;
procedure bufinit;
begin
buf := ''; {спочатку буфер – порожній рядок}
bufl := 0; bufp := 0;
tempc := ' '; {штучний пропуск перед початком першого рядка}
writeln('Уведіть ім''я текстового файла з виразом'); readln(nam);
assign(f, nam); reset(f)
end;
function newln : char; … end;
function getc; … end;
Begin
bufinit
End.
Наведемо, нарешті, функції getc і newln.
function getc : char;
begin
bufp := bufp + 1;
if bufp <= bufl then tempc := buf[bufp]
else { рядок вичерпано } tempc := newln;
getc := tempc
end;
При виконанні функції newln у разі наявності наступного рядка повертається пропуск. Він штучно додається перед першим символом рядка, аби той не продовжував лексему в попередньому рядку. У разі кінця файла повертається finch – ознака закінчення виразу:
function newln : char;
begin
if eof(f) then tempc := finch
else
begin
The online video editor trusted by teams to make professional video in
minutes
© Referats, Inc · All rights reserved 2021