Проектирование параллельных алгоритмов в задачах идентификации. Вашкевич Н.П - 42 стр.

UptoLike

42
while((ch=fgetc(fl))!=EOF){
for(i=0; i<256; i++) (i==ch)?(Z[ch]=TRUE):(Z[i]=FALSE);
//вычисление СКУ
Sprev[S0]=TRUE;
Snext[SK1]=Sprev[S1]&Z[1];
Snext[S1]=(Sprev[S2]&Z[2])|(Sprev[S1]&Z[2]);
Snext[S2]=Sprev[S0]&Z[1];
Snext[Sk2]= Sprev[S3]&Z[1];
Snext[S3]=Sprev[S4]&Z[2];
Snext[S4]=Sprev[S0]&Z[3];
Snext[Sk3]=Sprev[S5]&Z[1];
Snext[S5]=(Sprev[S0]&Z[3])|(Sprev[S6]&Z[3]);
Snext[S6]=Sprev[S5]&Z[2];
//проверка обнаружения цепочки-образа
if(Snext[SK1]|Snext[SK2]| Snext[SK3]){
printf("Найдена одна из цепочек \n");
flag=1; //флаг обнаружения установлен
}
else
//перепись S(t) в S(t-1)
for(i=0;i<NUM_OF_EVENTS;Sprev[i]=Snext[i],i++);
}
if(flag==0)
printf("Ни одна из цепочек не найдена \n");
i=getch();
}
----------------------------------------------------------------------------------------------
      while((ch=fgetc(fl))!=EOF){
         for(i=0; i<256; i++) (i==ch)?(Z[ch]=TRUE):(Z[i]=FALSE);
         //вычисление СКУ
         Sprev[S0]=TRUE;
         Snext[SK1]=Sprev[S1]&Z[1];
         Snext[S1]=(Sprev[S2]&Z[2])|(Sprev[S1]&Z[2]);
         Snext[S2]=Sprev[S0]&Z[1];
         Snext[Sk2]= Sprev[S3]&Z[1];
         Snext[S3]=Sprev[S4]&Z[2];
         Snext[S4]=Sprev[S0]&Z[3];
         Snext[Sk3]=Sprev[S5]&Z[1];
         Snext[S5]=(Sprev[S0]&Z[3])|(Sprev[S6]&Z[3]);
         Snext[S6]=Sprev[S5]&Z[2];
   //проверка обнаружения цепочки-образа
         if(Snext[SK1]|Snext[SK2]| Snext[SK3]){
            printf("Найдена одна из цепочек \n");
            flag=1; //флаг обнаружения установлен
         }
         else
                       //перепись S(t) в S(t-1)
            for(i=0;i