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

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


bb:redbook:202

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
bb:redbook:202 [2017/08/30 16:59]
prospero78 [2.4 Вывод данных на экран]
bb:redbook:202 [2020/10/29 07:08] (текущий)
Строка 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>
   
 В процедуре ''Старт'' определены последовательные вызовы для обработки цифрового сигнала. Код разбит на довольно мелкие процедуры, что вполне позволяет оценить, что делает каждая из них даже без комментариев. В процедуре ''Старт'' определены последовательные вызовы для обработки цифрового сигнала. Код разбит на довольно мелкие процедуры, что вполне позволяет оценить, что делает каждая из них даже без комментариев.
Строка 213: Строка 216:
  
 В результате компиляции и выполнения программы будет выведена следующая информация: В результате компиляции и выполнения программы будет выведена следующая информация:
-<code> + 
-компилируется "TestHello9  588   524 +  компилируется "КнигаПривет9  588   524 
-старый модуль TestHello9 выгружен +  старый модуль КнигаПривет9 выгружен 
-[Начало приёма] +  [Начало приёма] 
-..#.#.#.###.#.#.#............#.#.^##.#.#.#......^^^........................................................ +  ..#.#.#.###.#.#.#............#.#.^##.#.#.#......^^^............................................................ 
-........................................................................................................... +  .............................................................................................................. 
-.......................................... +  ................................... 
-[Конец приёма] +  [Конец приёма] 
-</code>+
  
 Обратите внимание на размер всей программы: **588 байт**. Обратите внимание на размер всей программы: **588 байт**.
  
 Из выведенного сигнала видно, что была передана комбинация букв: "SOS SOS O". В первом случае сигнал был детектирован(выделен) точно. Во втором случае, в символ "О", видимо, вмешалась гроза, а в третьем случае сигнал трижды зашкаливал, и скорей всего, смысловой нагрузки не несёт. Вполне возможно, что в этот момент рядом работал мобильный телефон(( Сигнал **SOS** принят как международный, и буквально означает «спасите наши души». Существует целый стандарт, который описывает все параметры такого сигнала, и порядок действий при его приёме. Подробнее можно почитать в [[https://ru.wikipedia.org/wiki/SOS|Википедии]]. Возможно, кто-то из читающих эту главу таким образом в будущем спасёт не одну человеческую жизнь. )). Из выведенного сигнала видно, что была передана комбинация букв: "SOS SOS O". В первом случае сигнал был детектирован(выделен) точно. Во втором случае, в символ "О", видимо, вмешалась гроза, а в третьем случае сигнал трижды зашкаливал, и скорей всего, смысловой нагрузки не несёт. Вполне возможно, что в этот момент рядом работал мобильный телефон(( Сигнал **SOS** принят как международный, и буквально означает «спасите наши души». Существует целый стандарт, который описывает все параметры такого сигнала, и порядок действий при его приёме. Подробнее можно почитать в [[https://ru.wikipedia.org/wiki/SOS|Википедии]]. Возможно, кто-то из читающих эту главу таким образом в будущем спасёт не одну человеческую жизнь. )).
 +
 +==== Задание ====
 +   * Сделайте так, чтобы литера "О" не была бесполезным определением.
 +   * Доработайте так, чтобы вместо морзянки выводились литеры
 +   * Попробуйте сделать с помощью типа ''тСигнал'' с привязкой процедур.
bb/redbook/202.1504101576.txt.gz · Последнее изменение: 2020/10/29 07:08 (внешнее изменение)