Добавил:
Tushkan
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторные работы_2 / LAB3 / LAB3
.PAS {‘Ёв ЄбЁзҐбЄЁ© «Ё§ в®а Є®бвагЄжЁЁ <Ѓ‹ЋЉ>}
program Lab3_Zaharov;
uses crt;
var
c, ch, ch1 : char;
fin : text;
st : string [40];
num : string [2];
fl,fl1,fl2 : boolean;
i : byte;
{Џа®жҐ¤га ўлў®¤ б®®ЎйҐЁп ®Ў ®¬ «ЁЁ}
procedure Anomaliya (i : byte); {i - ®¬Ґа ®иЁЎЄЁ}
begin
clrscr;
writeln; writeln; writeln; writeln; writeln; writeln; writeln; writeln; writeln; writeln; writeln;
textcolor (244);
case i of
1 : begin textcolor (green);
writeln (' ЋиЁЎ®Є Ґв! '); end;
2 : begin
writeln (' ЋиЁЎЄ ў Ї®б«Ґ¤®ў ⥫м®бвЁ ®ЇҐа в®а®ў!!! ');
writeln (' ЋвбгвбвўЁҐ Їа®ЎҐ« Ї®б«Ґ "begin" '); end;
3 : begin
writeln (' ЋиЁЎЄ ў Ї®б«Ґ¤®ў ⥫м®бвЁ ®ЇҐа в®а®ў!!! ');
writeln (' ЋвбгвбвўЁҐ б«®ў "begin" '); end;
4 : begin
writeln (' ЋиЁЎЄ ў Ё¬ҐЁ ЇҐаҐ¬Ґ®©!!! ');
writeln (' €¬п зЁ Ґвбп Ґ б ЎгЄўл '); end;
5: begin
writeln (' ЋиЁЎЄ ў Ё¬ҐЁ ЇҐаҐ¬Ґ®©!!! ');
writeln (' €¬п б®бв®Ёв Ґ в®«мЄ® Ё§ ЎгЄў Ё жЁда '); end;
6 : writeln (' ЋиЁЎЄ ў ®ЇҐа в®аҐ ЇаЁбў вў Ёп!!! ');
7 : begin
writeln (' ЋиЁЎЄ ў ўҐйҐб⢥®¬ зЁб«Ґ!!! ');
writeln (' ЋвбгвбвўЁҐ жЁдал Ї®б«Ґ "в®зЄЁ" '); end;
8 : begin
writeln (' ЋиЁЎЄ ў ўҐйҐб⢥®¬ зЁб«Ґ!!! ');
writeln (' ‚ҐйҐб⢥®Ґ зЁб«® б®бв®Ёв Ґ в®«мЄ® Ё§ жЁда '); end;
9 : begin
writeln (' ЋиЁЎЄ ў ўҐйҐб⢥®¬ зЁб«Ґ!!! ');
writeln (' ЋвбгвбвўЁҐ "в®зЄЁ" ў ўҐйҐб⢥®¬ зЁб«Ґ '); end;
10 : begin
writeln (' ЋиЁЎЄ ў ўҐйҐб⢥®¬ зЁб«Ґ!!! ');
writeln (' "в®зЄ " бв®Ёв ба §г Ї®б«Ґ § Є "-" '); end;
11 : begin
writeln (' ЋиЁЎЄ ў Ї®б«Ґ¤®ў ⥫м®бвЁ ®ЇҐа в®а®ў!!! ');
writeln (' ЋвбгвбвўЁҐ ";" а §¤Ґ«по饩 ®ЇҐа в®ал ЇаЁбў Ёў Ёп '); end;
12 : begin
writeln (' ЋиЁЎЄ ў Ї®б«Ґ¤®ў ⥫м®бвЁ ®ЇҐа в®а®ў!!! ');
writeln (' ЋвбгвбвўЁҐ б«®ў "end" '); end;
13 : begin
writeln (' ЋиЁЎЄ ў Ї®б«Ґ¤®ў ⥫м®бвЁ ®ЇҐа в®а®ў!!! ');
writeln (' ЋвбгвбвўЁҐ ";" Ї®б«Ґ б«®ў "end" '); end;
end;
if fl2=true then begin readln; fl2:=false; end;
textcolor (lightgray);
end;
{Џа®жҐ¤га «Ё§ Є®бвагЄжЁЁ Ѓ‹ЋЉ}
procedure Block;
var
str5 : string[5];
str3 : string[3];
{Џа®жҐ¤га «Ё§ ®ЇҐа в®а ў Ї®б«Ґ¤®ў ⥫м®бвЁ ®ЇҐа в®а®ў}
procedure Operator;
{Џа®жҐ¤га «Ё§ Ё¬ҐЁ ЇҐаҐ¬Ґ®©}
procedure Scan1;
begin
read (fin,ch);
if ch in ['A'..'z','0'..'9']
then
Scan1;
end;
{Џа®жҐ¤га «Ё§ ўҐйҐб⢥®Ј® зЁб« }
procedure Scan2;
begin
read (fin,ch);
if ch='.' then fl1:=true;
if fl=true
then
if ch in ['-','0'..'9']
then
begin
ch1:=ch;
fl:=false;
Scan2;
end
else
Anomaliya (8)
else
if ch in ['.','0'..'9']
then
if (ch='.') and (ch1='-')
then
Anomaliya (10)
else
begin
ch1:=ch;
Scan2;
end
else
if ch1='.' then Anomaliya (7);
end;
begin
read (fin,ch);
fl:=true;
if ((ch in ['A'..'z','0'..'9']) and (fl=false)) or ((ch in ['A'..'z']) and (fl=true))
then
begin
fl:=false;
Scan1;
if (ch<>':') and (ch<>'=')
then
Anomaliya (5)
else
if ch='='
then
Anomaliya (6)
else
begin
read (fin,ch);
if ch='='
then
begin
fl:=true;
fl1:=false;
Scan2;
if (ch<>';') and (ch<>' ')
then
Anomaliya (11)
else
begin
if (not eof(fin)) and (ch<>' ')
then
if fl1=false
then Anomaliya(9)
else Operator;
end;
end
else
Anomaliya (6);
end;
end
else
Anomaliya (4);
end;
begin
read (fin,str5);
if str5='begin'
then
begin
read (fin,ch);
if ch=' '
then
Operator
else
Anomaliya (2);
if ch=' '
then
begin
read (fin,str3);
if str3<>'end'
then
Anomaliya (12)
else
read (fin,ch);
end;
end
else
begin
Anomaliya(3);
ch:=str5[5];
end;
end;
{ѓ‹Ђ‚ЌЂџ ЏђЋѓђЂЊЊЂ}
begin
TextBackground (black);
repeat
clrscr;
textcolor (lightgray);
writeln;
writeln (' ‹ Ў®а в®а п а Ў®в # 3');
writeln (' ‘Ёв ЄбЁзҐбЄЁ© «Ё§ в®а.');
writeln;
write ('‚ўҐ¤ЁвҐ ®¬Ґа д ©« > ');
readln (num);
assign (fin,'E:\LAB3\LAB3IN'+num+'.txt');
reset (fin);
fl2:=true;
Block;
if ch=';'
then Anomaliya (1)
else Anomaliya (13);
close (fin);
clrscr;
writeln; writeln; writeln; writeln; writeln; writeln; writeln; writeln; writeln; writeln; writeln;
textcolor (red);
writeln (' Џ®ўв®аЁвм Їа®Ја ¬¬г? (¤ - «оЎ п Є« ўЁи , Ґв - n/N)');
c:=readkey;
textcolor (lightgray);
until (c='n') or (c='N');
end.
program Lab3_Zaharov;
uses crt;
var
c, ch, ch1 : char;
fin : text;
st : string [40];
num : string [2];
fl,fl1,fl2 : boolean;
i : byte;
{Џа®жҐ¤га ўлў®¤ б®®ЎйҐЁп ®Ў ®¬ «ЁЁ}
procedure Anomaliya (i : byte); {i - ®¬Ґа ®иЁЎЄЁ}
begin
clrscr;
writeln; writeln; writeln; writeln; writeln; writeln; writeln; writeln; writeln; writeln; writeln;
textcolor (244);
case i of
1 : begin textcolor (green);
writeln (' ЋиЁЎ®Є Ґв! '); end;
2 : begin
writeln (' ЋиЁЎЄ ў Ї®б«Ґ¤®ў ⥫м®бвЁ ®ЇҐа в®а®ў!!! ');
writeln (' ЋвбгвбвўЁҐ Їа®ЎҐ« Ї®б«Ґ "begin" '); end;
3 : begin
writeln (' ЋиЁЎЄ ў Ї®б«Ґ¤®ў ⥫м®бвЁ ®ЇҐа в®а®ў!!! ');
writeln (' ЋвбгвбвўЁҐ б«®ў "begin" '); end;
4 : begin
writeln (' ЋиЁЎЄ ў Ё¬ҐЁ ЇҐаҐ¬Ґ®©!!! ');
writeln (' €¬п зЁ Ґвбп Ґ б ЎгЄўл '); end;
5: begin
writeln (' ЋиЁЎЄ ў Ё¬ҐЁ ЇҐаҐ¬Ґ®©!!! ');
writeln (' €¬п б®бв®Ёв Ґ в®«мЄ® Ё§ ЎгЄў Ё жЁда '); end;
6 : writeln (' ЋиЁЎЄ ў ®ЇҐа в®аҐ ЇаЁбў вў Ёп!!! ');
7 : begin
writeln (' ЋиЁЎЄ ў ўҐйҐб⢥®¬ зЁб«Ґ!!! ');
writeln (' ЋвбгвбвўЁҐ жЁдал Ї®б«Ґ "в®зЄЁ" '); end;
8 : begin
writeln (' ЋиЁЎЄ ў ўҐйҐб⢥®¬ зЁб«Ґ!!! ');
writeln (' ‚ҐйҐб⢥®Ґ зЁб«® б®бв®Ёв Ґ в®«мЄ® Ё§ жЁда '); end;
9 : begin
writeln (' ЋиЁЎЄ ў ўҐйҐб⢥®¬ зЁб«Ґ!!! ');
writeln (' ЋвбгвбвўЁҐ "в®зЄЁ" ў ўҐйҐб⢥®¬ зЁб«Ґ '); end;
10 : begin
writeln (' ЋиЁЎЄ ў ўҐйҐб⢥®¬ зЁб«Ґ!!! ');
writeln (' "в®зЄ " бв®Ёв ба §г Ї®б«Ґ § Є "-" '); end;
11 : begin
writeln (' ЋиЁЎЄ ў Ї®б«Ґ¤®ў ⥫м®бвЁ ®ЇҐа в®а®ў!!! ');
writeln (' ЋвбгвбвўЁҐ ";" а §¤Ґ«по饩 ®ЇҐа в®ал ЇаЁбў Ёў Ёп '); end;
12 : begin
writeln (' ЋиЁЎЄ ў Ї®б«Ґ¤®ў ⥫м®бвЁ ®ЇҐа в®а®ў!!! ');
writeln (' ЋвбгвбвўЁҐ б«®ў "end" '); end;
13 : begin
writeln (' ЋиЁЎЄ ў Ї®б«Ґ¤®ў ⥫м®бвЁ ®ЇҐа в®а®ў!!! ');
writeln (' ЋвбгвбвўЁҐ ";" Ї®б«Ґ б«®ў "end" '); end;
end;
if fl2=true then begin readln; fl2:=false; end;
textcolor (lightgray);
end;
{Џа®жҐ¤га «Ё§ Є®бвагЄжЁЁ Ѓ‹ЋЉ}
procedure Block;
var
str5 : string[5];
str3 : string[3];
{Џа®жҐ¤га «Ё§ ®ЇҐа в®а ў Ї®б«Ґ¤®ў ⥫м®бвЁ ®ЇҐа в®а®ў}
procedure Operator;
{Џа®жҐ¤га «Ё§ Ё¬ҐЁ ЇҐаҐ¬Ґ®©}
procedure Scan1;
begin
read (fin,ch);
if ch in ['A'..'z','0'..'9']
then
Scan1;
end;
{Џа®жҐ¤га «Ё§ ўҐйҐб⢥®Ј® зЁб« }
procedure Scan2;
begin
read (fin,ch);
if ch='.' then fl1:=true;
if fl=true
then
if ch in ['-','0'..'9']
then
begin
ch1:=ch;
fl:=false;
Scan2;
end
else
Anomaliya (8)
else
if ch in ['.','0'..'9']
then
if (ch='.') and (ch1='-')
then
Anomaliya (10)
else
begin
ch1:=ch;
Scan2;
end
else
if ch1='.' then Anomaliya (7);
end;
begin
read (fin,ch);
fl:=true;
if ((ch in ['A'..'z','0'..'9']) and (fl=false)) or ((ch in ['A'..'z']) and (fl=true))
then
begin
fl:=false;
Scan1;
if (ch<>':') and (ch<>'=')
then
Anomaliya (5)
else
if ch='='
then
Anomaliya (6)
else
begin
read (fin,ch);
if ch='='
then
begin
fl:=true;
fl1:=false;
Scan2;
if (ch<>';') and (ch<>' ')
then
Anomaliya (11)
else
begin
if (not eof(fin)) and (ch<>' ')
then
if fl1=false
then Anomaliya(9)
else Operator;
end;
end
else
Anomaliya (6);
end;
end
else
Anomaliya (4);
end;
begin
read (fin,str5);
if str5='begin'
then
begin
read (fin,ch);
if ch=' '
then
Operator
else
Anomaliya (2);
if ch=' '
then
begin
read (fin,str3);
if str3<>'end'
then
Anomaliya (12)
else
read (fin,ch);
end;
end
else
begin
Anomaliya(3);
ch:=str5[5];
end;
end;
{ѓ‹Ђ‚ЌЂџ ЏђЋѓђЂЊЊЂ}
begin
TextBackground (black);
repeat
clrscr;
textcolor (lightgray);
writeln;
writeln (' ‹ Ў®а в®а п а Ў®в # 3');
writeln (' ‘Ёв ЄбЁзҐбЄЁ© «Ё§ в®а.');
writeln;
write ('‚ўҐ¤ЁвҐ ®¬Ґа д ©« > ');
readln (num);
assign (fin,'E:\LAB3\LAB3IN'+num+'.txt');
reset (fin);
fl2:=true;
Block;
if ch=';'
then Anomaliya (1)
else Anomaliya (13);
close (fin);
clrscr;
writeln; writeln; writeln; writeln; writeln; writeln; writeln; writeln; writeln; writeln; writeln;
textcolor (red);
writeln (' Џ®ўв®аЁвм Їа®Ја ¬¬г? (¤ - «оЎ п Є« ўЁи , Ґв - n/N)');
c:=readkey;
textcolor (lightgray);
until (c='n') or (c='N');
end.
Соседние файлы в папке LAB3