Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

TP / 7 / 7-4

.PAS
Скачиваний:
31
Добавлен:
10.12.2013
Размер:
2 Кб
Скачать
☆
{***************************************************
‡ ¤ ­ЁҐ:
1. ‚ б«®ўҐ, б®Ј« б­ле Ў®«миҐ зҐ¬ Ј« б­ле
   Ў®«ҐҐ 祬 ў 5 а §;
2. „«Ё­  ўбҐе б«®ў ў бв®«ЎжҐ Єа в­  3.
 ***************************************************}
Uses Crt;
Const K=2; L=7; M=20; N=10;
      {–ўҐв д®­  Ё бЁ¬ў®«®ў}
      TBG=0; TC=7;
      TCCondition=14;
      TBGline=1; TCline=15;
      {‘®Ј« б­лҐ}
      Sogl: Set of Char = ['Ѓ','‚','ѓ','„','†','‡','Љ','‹','Њ','Ќ'
      ,'Џ','ђ','‘','’','”','•','–','—','','™'];
      {ѓ« б­лҐ}
      Gl: Set of Char = ['Ђ','…','€','Ћ','“','›','ќ','ћ','џ'];
Procedure PrintBegin;
Begin
TextBackground(TBG);
TextColor(TC);
ClrScr;
GotoXY(30,1); WriteLn('‹ Ў®а в®а­ п 7');
WriteLn;
End;
Procedure PrintEnd(s:string; t:Byte);
Begin
GotoXY(1,25);
TextBackground(TBGline);
TextColor(TCline);
ClrEol;
Write(s,' гб«®ўЁо 㤮ў«Ґвў®апҐв: ',t,' б«®ў');
End;

Var One,Two:Boolean; {‚лЇ®«­Ґ­­®бвм 1 Ё 2 гб«®ўЁ©}
    i,j,h,LW,s1,s2,t:Byte;
    a:array[1..M,1..N,1..L] of Char;
Procedure ArrayBegin;
Begin
{ЋзЁбвЄ  ¬ ббЁў }
For i:=1 to M Do
  For j:=1 to N Do
    For h:=1 to L Do
      a[i,j,h]:=' ';
{‡ Ї®«­Ґ­ЁҐ ¬ ббЁў }
For i:=1 to M Do
  For j:=1 to N Do
    Begin
    LW:= Random(L-K+1)+K;
    For h:=1 to LW Do
      a[i,j,h]:= Chr(Random(32)+128);
    End;
End;
Procedure PrintWord(Cond:Boolean);
Begin
GotoXY((j-1)*8+1,i+2);
If Cond then
        Begin
        t:= t+1;
        TextColor(TCCondition);
        Write(a[i,j]:8);
        TextColor(TC);
        End Else Write(a[i,j]:8);
End;
Begin
Randomize;
{‡ жЁЄ«Ёў ­ЁҐ Ї® ­ ¦ вЁо Enter}
Repeat
  {Џа®ўҐаЄ  гб«®ўЁ© Ё Ї®¤бзҐв б«®ў}
  {1 “б«®ўЁҐ}
  ArrayBegin;
  PrintBegin;
  t:=0;
  For j:=1 to N Do
    For i:=1 to M Do
      Begin
      s1:=0;
      s2:=0;
      For h:=1 to l Do
        Begin
        if a[i,j,h] in Sogl then s1:=s1+1;
        if a[i,j,h] in Gl then s2:=s2+1;
        End;
      if s2>0 then One:= s1 div s2 >= 5
        Else One:=True;
      {‚лў®¤ ­  нЄа ­}
      PrintWord(One);
      End;
  PrintEnd('ЏҐаў®¬г',t);
  if ReadKey<>#13 then Break;
  {2 “б«®ўЁҐ}
  ArrayBegin;
  PrintBegin;
  t:=0;
  For j:=1 to N Do
    Begin
    s1:=0;
    For i:=1 to M Do
      Begin
      h:=1;
      While (a[i,j,h]<>' ') and (h<=L) Do
        h:=h+1;
      s1:= s1+h-1;
      End;
    Two:= s1 mod 3 = 0;
    {‚лў®¤ ­  нЄа ­}
    For i:=1 to M Do
      PrintWord(Two);
    End;
  PrintEnd('‚в®а¬г',t);
Until ReadKey<>#13;
End.
Соседние файлы в папке 7