Real MaxSignals Name "Верхняя граница интервала приемлемых сигналов";
Real Unknown Name"Значение сигнала, если значение входного признака не определено";
Logic Type Name "Тип предобработки бинарного признака";
Begin
If TLong(Data[1]) = UnknownLong Then Signals[1] = Unknown
Else Begin
If Type Then Begin
If TLong(Data[1]) = 1 Then Signals[1] = 0 Else Begin
If MaxSignals =0 Then Signals[1] = MinSignals
Else Signals[1] = MaxSignals
End
Else Begin
If TLong(Data[1]) = 1 Then Signals[1] = MinSignals
Else Signals[1] = MaxSignals
End
End
End
{Предобработка упорядоченного качественного признака}
Prep UnOrdered1(Num : Long)
Static
Real MinSignals Name "Нижняя граница интервала приемлемых сигналов";
Real MaxSignals Name "Верхняя граница интервала приемлемых сигналов";
Real Unknown Name"Значение сигнала, если значение входного признака не определено";
Var
Integer I;
Begin
If TLong(Data[1]) = UnknownLong Then Begin
For I = 1 To Num Do
Signals[I] = Unknown
End Else Begin
For I = 1 To Num Do
Signals[I] = MinSignals
Signals[TLong(Data[1])] = MaxSignals
End
End
Prep Ordered1(Num : Long) {Предобработка упорядоченного качественного признака}
Static
Real MinSignals Name "Нижняя граница интервала приемлемых сигналов";
Real MaxSignals Name "Верхняя граница интервала приемлемых сигналов";
Real Unknown Name"Значение сигнала, если значение входного признака не определено";
Var
Integer I;
Begin
If TLong(Data[1]) = UnknownLong Then Begin
For I = 1 To Num Do
Signals[I] = Unknown
End Else Begin
For I = 1 To TLong(Data[1]) Do
Signals[I] = MaxSignals
For I = TLong(Data[1])+1 To Num Do
Signals[I] = MinSignals
End
End
Prep EmptyPrep1 {Предобработчик, осуществляющий масштабирование и сдвиг сигнала}
Static
Real MinSignals Name "Нижняя граница интервала приемлемых сигналов";
Real MaxSignals Name "Верхняя граница интервала приемлемых сигналов";
Real Unknown Name"Значение сигнала, если значение входного признака не определено";
Real MinData Name"Значения нижней границы интервала изменения входных данных";
Real MaxData Name"Значения верхней границы интервала изменения входных данных";
Begin
If Data[1] = UnknownReal Then Signals[1] = Unknown
Else Signals[1] = (Data[1] – MinData) * (MaxSignals – MinSignals) / (MaxData – MinData) + MinSignals
End
Prep ModPrep1(Num : Long) {Модулярный предобработчик}
Static
Real MinSignals Name "Нижняя граница интервала приемлемых сигналов";
Real MaxSignals Name "Верхняя граница интервала приемлемых сигналов";
Real Unknown Name "Значение сигнала, если значение входного признака не определено";
RealArray[Num] Y Name "Массив величин, используемых для предобработки"
Var
Integer I;
Begin
If Data[1] = UnknownReal Then Begin