Компонентный Паскаль/Отбор данных: различия между версиями
Содержимое удалено Содержимое добавлено
Fantom78 (обсуждение | вклад) |
Fantom78 (обсуждение | вклад) |
||
Строка 113:
<source lang="oberon2">
MODULE TestHello9;
(* это программа на языке
Компонетный Паскаль. Она показывает
как можно вводить данные и обрабатывать их*)
IMPORT Log, Math, In;▼
CONST▼
sig_max = 256; ▼
VAR▼
p1 : SHORTINT;▼
p2 : SHORTINT; ▼
sig : ARRAY sig_max OF SHORTINT;▼
i: INTEGER;▼
tmp : INTEGER;▼
▲ CONST
PROCEDURE GetSignal;▼
BEGIN▼
▲ VAR
FOR i:=0 TO (sig_max-1) DO ▼
sig[i]:=0▼
END;▼
In.Open; ▼
WHILE (In.Done) & (i<sig_max) DO▼
In.Int(tmp);▼
sig[i]:=SHORT(tmp);▼
INC(i)▼
END;▼
PROCEDURE
BEGIN
i := 0;
ELSIF sig[i]>1000 THEN▼
sig[i]:=600▼
END;▼
END
PROCEDURE
▲ BEGIN
CONST▼
p = "."; (* пауза в передаче сигнала *)▼
IF sig[i] < 50 THEN
s = "#"; (* полезный сигнал *)▼
m = "^"; (* молния? *)▼
BEGIN▼
Log.String('[Начало приёма]'); Log.Ln;▼
ELSE
FOR i:=0 TO sig_max-1 DO▼
Log.String(p)▼
ELSIF sig[i]=500 THEN▼
Log.String(s)▼
Log.String(m)▼
END;
END LimitSig;
Log.Ln; Log.String('[Конец приёма]');Log.Ln▼
END OutSig;▼
PROCEDURE OutSig;
▲ CONST
▲ BEGIN
IF sig[i] = 0 THEN
ELSE
END;
▲ Log.Ln; Log.String('[Конец приёма]'); Log.Ln
▲ END OutSig;
PROCEDURE Start*;
BEGIN
GetSignal;
|