Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
16
Добавлен:
28.06.2014
Размер:
7 Кб
Скачать
☆
{‘Ё­в ЄбЁзҐбЄЁ©  ­ «Ё§ в®а Є®­бвагЄжЁЁ <Ѓ‹ЋЉ>}
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