Предыдущая версия справа и слева
Предыдущая версия
Следующая версия
|
Предыдущая версия
Следующая версия
Следующая версия справа и слева
|
bb:redbook:202 [2017/08/30 16:46] prospero78 [2. Пороговый отбор чисел] |
bb:redbook:202 [2017/08/30 16:50] prospero78 [2.4 Вывод данных на экран] |
В целом представленная процедура имеет общепринятое название в радиотехнике "восстановление формы цифрового сигнала". | В целом представленная процедура имеет общепринятое название в радиотехнике "восстановление формы цифрового сигнала". |
| |
Также обратите внимание на то, что переменные ''цШум_Низ'' и ''цШум_верх'' на самом деле не изменяются и их можно было определить как константы. Это будет несколько лучше, так как константы нельзя изменять (по ошибке вы можете попытаться это сделать). Кроме того, устанавливаемые уровни сигналов -- по сути, тоже константы. И чтобы не искать их по всему коду -- можно тоже вынести в одно место. | Также обратите внимание на то, что переменные ''цШум Низ'' и ''цШум верх'' на самом деле не изменяются и их можно было определить как константы. Это будет несколько лучше, так как константы нельзя изменять (по ошибке вы можете попытаться это сделать). Кроме того, устанавливаемые уровни сигналов -- по сути, тоже константы. И чтобы не искать их по всему коду -- можно тоже вынести в одно место. |
| |
| |
Часть символов ("#" и ".") уже представлено по условию задачи, и они обозначают "есть сигнал" и "нет сигнала" соответственно. Но у нас появился ещё один сигнал, значение которого равно "600". И его надо как-то тоже обозначать. Поскольку он превышает нормальный уровень нужно визуально указать на этот факт. Очень удобно будет использовать символ "^". Ниже примерный вид процедуры, который мог бы это сделать: | Часть символов ("#" и ".") уже представлено по условию задачи, и они обозначают "есть сигнал" и "нет сигнала" соответственно. Но у нас появился ещё один сигнал, значение которого равно "600". И его надо как-то тоже обозначать. Поскольку он превышает нормальный уровень нужно визуально указать на этот факт. Очень удобно будет использовать символ "^". Ниже примерный вид процедуры, который мог бы это сделать: |
<code oberon2> | <code oberon2> |
PROCEDURE OutSig; | PROCEDURE Сиг_Вывести; |
CONST | CONST |
_p = " "; (* пауза в передаче сигнала *) | _п = " "; (* пауза в передаче сигнала *) |
_s = "#"; (* полезный сигнал *) | _s = "#"; (* полезный сигнал *) |
_m = "^"; (* молния? *) | _м = "^"; (* молния? *) |
BEGIN | BEGIN |
Log.String('[Начало приёма]'); Log.Ln; | мЛог.String('[Начало приёма]'); мЛог.Ln; |
FOR i := 0 TO _sig_max - 1 DO | FOR цИтер := 0 TO _разм - 1 DO |
IF sig[i] = 0 THEN | IF мцСигнал[i] = 0 THEN |
Log.String(_p) | мЛог.String(_п) |
ELSIF sig[i] = 500 THEN | ELSIF мцСиг[i] = 500 THEN |
Log.String(_s) | мЛог.String(_s) |
ELSE | ELSE |
Log.String(_m) | мЛог.String(_м) |
END; | END; |
END; | END; |
Log.Ln; Log.String('[Конец приёма]'); Log.Ln | мЛог.Ln; мЛог.String('[Конец приёма]'); мЛог.Ln |
END OutSig; | END Сиг_Вывести; |
</code> | </code> |
| |