Частина тексту файла (без зображень, графіків і формул):
Лабораторна робота № 4
Тема: мови і граматики.
Мета: ознайомитись з методами алгоритмізації задач по складанню автоматів.
Program PKM;
uses Crt;
label l0,l1,l2,l3,l4,l5,l6,l7;
var
strr: String[60];
i: Integer;
begin
clrscr;
WriteLn('lja-lja:');
ReadLn(strr);
i:=1;
if (strr[1]='a') and (strr[2]='b') and (length(strr)=2) then
begin
WriteLn('Ne mo*luvo vuznachutu movu(~A~B)');
repeat until keypressed;
halt;
end;
L0: if strr[i]='a'then
begin
i:=i+1;
goto L1;
end;
if strr[i]='b' then
begin
i:=i+1;
goto L5;
end;
WriteLn('Pomulka vvodu');
halt;
L1: if strr[i]='a'then
begin
i:=i+1;
goto L2;
end;
if strr[i]='b' then
begin
i:=i+1;
goto L3;
end;
WriteLn('Pomulka vvodu');
halt;
L2: if strr[i]='a'then
begin
i:=i+1;
goto L2;
end;
if strr[i]='b' then
begin
i:=i+1;
goto L4;
end;
WriteLn('Pomulka vvodu');
halt;
L3: if length(strr)=i-1 then
begin
WriteLn('mova - b');
repeat until keyPressed;
halt;
end;
if strr[i]='a'then
begin
WriteLn('Pomulka vvodu');
end;
if strr[i]='b' then
begin
i:=i+1;
goto L3;
end;
WriteLn('Pomulka vvodu');
halt;
L4: if length(strr)=i-1 then
begin
WriteLn('mova - a');
repeat until keyPressed;
halt;
end;
if strr[i]='a'then
begin
WriteLn('Evvov');
end;
if strr[i]='b' then
begin
WriteLn('Pomulka vvodu');
end;
WriteLn('Pomulka vvodu');
halt;
L5: if length(strr)=i-1 then
begin
WriteLn('mova - a');
repeat until keyPressed;
halt;
end;
if strr[i]='a'then
begin
i:=i+1;
goto L6;
end;
if strr[i]='b' then
begin
i:=i+1;
goto L7;
end;
WriteLn('Pomulka vvodu');
halt;
L6: if strr[i]='a'then
begin
i:=i+1;
goto L6;
end;
if strr[i]='b' then
begin
i:=i+1;
goto L7;
end;
WriteLn('Pomulka vvodu');
halt;
L7: if length(strr)=i-1 then
begin
WriteLn('mova - c');
repeat until keyPressed;
halt;
end;
if strr[i]='a'then
begin
WriteLn('Pomulka vvodu');
end;
if strr[i]='b' then
begin
WriteLn('Pomulka vvodu');
end;
WriteLn('Pomulka vvodu');
REPEAT UNTIL kEYpRESSED;
end.
Висновок: На даній лабораторній роботі я ознайомився з побудовою автоматів.
Мал.1 Виконання програми