Инструменты пользователя

Инструменты сайта


bb:redbook:202

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
Следующая версия Следующая версия справа и слева
bb:redbook:202 [2017/08/30 16:59]
prospero78 [2.5 Общий вид программы]
bb:redbook:202 [2017/08/30 17:01]
prospero78 [2.5 Общий вид программы]
Строка 94: Строка 94:
 Часть символов ("#" и ".") уже представлено по условию задачи, и они обозначают "есть сигнал" и "нет сигнала" соответственно. Но у нас появился ещё один сигнал, значение которого равно "600". И его надо как-то тоже обозначать. Поскольку он превышает нормальный уровень нужно визуально указать на этот факт. Очень удобно будет использовать символ "^". Ниже примерный вид процедуры, который мог бы это сделать: Часть символов ("#" и ".") уже представлено по условию задачи, и они обозначают "есть сигнал" и "нет сигнала" соответственно. Но у нас появился ещё один сигнал, значение которого равно "600". И его надо как-то тоже обозначать. Поскольку он превышает нормальный уровень нужно визуально указать на этот факт. Очень удобно будет использовать символ "^". Ниже примерный вид процедуры, который мог бы это сделать:
 <code oberon2> <code oberon2>
-PROCEDURE Сиг_Вывести;+PROCEDURE Сигнал_Печать;
  CONST  CONST
  _п = " "; (* пауза в передаче сигнала *)  _п = " "; (* пауза в передаче сигнала *)
Строка 111: Строка 111:
  END;  END;
  мЛог.Ln; мЛог.String('[Конец приёма]'); мЛог.Ln  мЛог.Ln; мЛог.String('[Конец приёма]'); мЛог.Ln
-END Сиг_Вывести;+END Сигнал_Печать;
 </code> </code>
  
Строка 125: Строка 125:
  как можно вводить данные и обрабатывать их*)  как можно вводить данные и обрабатывать их*)
  
- IMPORT In, Log, Math;+ IMPORT мВв := In,  
 + мЛог := Log, 
 + Math;
  
  CONST  CONST
Строка 143: Строка 145:
  END;  END;
  цИтер := 0;  цИтер := 0;
- In.Open; + мВв.Open; 
- WHILE (In.Done) & (цИтер < _разм) DO + WHILE (мВв.Done) & (цИтер < _разм) DO 
- In.Int(цВрем);+ мВв.Int(цВрем);
  мцСигнал[цИтер] := SHORT(цВрем);  мцСигнал[цИтер] := SHORT(цВрем);
  INC(цИтер)  INC(цИтер)
Строка 172: Строка 174:
  _м = "^"; (* молния? *)  _м = "^"; (* молния? *)
  BEGIN  BEGIN
- Log.String('[Начало приёма]'); Log.Ln;+ мЛог.String('[Начало приёма]'); мЛог.Ln;
  FOR цИтер := 0 TO _разм - 1 DO  FOR цИтер := 0 TO _разм - 1 DO
  IF мцСигнал[цИтер] = 0 THEN  IF мцСигнал[цИтер] = 0 THEN
- Log.String(_п)+ мЛог.String(_п)
  ELSIF мцСигнал[цИтер] = 500 THEN  ELSIF мцСигнал[цИтер] = 500 THEN
- Log.String(_s)+ мЛог.String(_s)
  ELSE  ELSE
- Log.String(_м)+ мЛог.String(_м)
  END;  END;
  END;  END;
- Log.Ln; Log.String('[Конец приёма]'); Log.Ln+ мЛог.Ln; мЛог.String('[Конец приёма]'); мЛог.Ln
  END Сигнал_Печать;  END Сигнал_Печать;
  
Строка 194: Строка 196:
  
 BEGIN BEGIN
-END КнигаПривет9.</code>+END КнигаПривет9. 
 +</code>
   
 В процедуре ''Старт'' определены последовательные вызовы для обработки цифрового сигнала. Код разбит на довольно мелкие процедуры, что вполне позволяет оценить, что делает каждая из них даже без комментариев. В процедуре ''Старт'' определены последовательные вызовы для обработки цифрового сигнала. Код разбит на довольно мелкие процедуры, что вполне позволяет оценить, что делает каждая из них даже без комментариев.
bb/redbook/202.txt · Последнее изменение: 2020/10/29 07:08 (внешнее изменение)