Азбука Морзе - при нажатии на клавишу выдать соответствующий сигнал - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Дайте пожалуйста код Азбуки Морзе с пищанием при переводе с русского на азбуку морзе. Вот задание от преподавателя:Программа- при нажатии на букву звучит азбука морзе этой буквы. Буду очень признателен так как pascal мне не дается.

Решение задачи: «Азбука Морзе - при нажатии на клавишу выдать соответствующий сигнал»

textual
Листинг программы
uses
  crt;
 
procedure point;
begin
  Sound(1000);
  Delay(200);
  NoSound;
  Delay(200)
end;
 
procedure dash;
begin
  Sound(1000);
  Delay(600);
  NoSound;
  Delay(200)
end;
 
var
  c: char;
 
begin
  repeat
  c := ReadKey;
  case c of
    'а': begin point; dash end;
    'б': begin dash; point; point; point end;
    'в': begin point; dash; dash end;
    'г': begin dash; dash; point end;
    'д': begin dash; point; point end;
    'e': begin point end;
    'ж': begin point; point; point; dash end;
    'з': begin dash; dash; point; point end;
    'и': begin point; point end;
    'й': begin point; dash; dash; dash end;
    'к': begin dash; point; dash end;
    'л': begin point; dash; point; point end;
    'м': begin dash; dash end;
    'н': begin dash; point end;
    'о': begin dash; dash; dash end;
    'п': begin point; dash; dash; point end;
    'р': begin point; dash; point end;
    'c': begin point; point; point end;
    'т': begin dash end;
    'у': begin point; point; dash end;
    'ф': begin point; point; dash; point end;
    'х': begin point; point; point; point end;
    'ц': begin dash; point; dash; point end;
    'ч': begin dash; dash; dash; point end;
    'ш': begin dash; dash; dash; dash end;
    'щ': begin dash; dash; point; dash end;
    'ъ': begin dash; point; point; dash end;
    'ы': begin dash; point; dash; dash end;
    'ь': begin dash; point; point; dash end;
    'э': begin point; point; dash; point end;
    'ю': begin point; point; dash; dash end;
    'я': begin point; dash; point; dash end;
  end;
  until c=#27;
end.

Объяснение кода листинга программы

  1. В начале программы подключается библиотека crt, которая предоставляет функции для работы с звуком и задержкой.
  2. В процедуре point происходит следующее: после звукового сигнала длительностью 1000 мс (миллисекунд) происходит задержка в 200 мс, а затем отключается звук.
  3. В процедуре dash происходит следующее: после звукового сигнала длительностью 600 мс происходит задержка в 200 мс, а затем отключается звук.
  4. Переменная c предназначена для чтения символа, нажатого клавишей.
  5. В цикле while считывается символ до тех пор, пока не будет нажата клавиша с кодом #27 (по сути, это символ конца строки).
  6. После каждого считанного символа выполняется проверка в соответствии с таблицей соответствия символов и процедур, которые должны быть выполнены в зависимости от символа.
  7. Переменные point и dash используются для создания последовательности сигналов при нажатии соответствующих клавиш.
  8. Переменные delay и sound используются для задержки и звукового сигнала соответственно.
  9. Переменная c используется для хранения значения символа, нажатого клавишей.
  10. В конце программы подключается символ конца строки #27, который должен быть нажат для завершения цикла while.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.364 из 5
Похожие ответы