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

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

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

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

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

textual
Листинг программы
  1. uses
  2.   crt;
  3.  
  4. procedure point;
  5. begin
  6.   Sound(1000);
  7.   Delay(200);
  8.   NoSound;
  9.   Delay(200)
  10. end;
  11.  
  12. procedure dash;
  13. begin
  14.   Sound(1000);
  15.   Delay(600);
  16.   NoSound;
  17.   Delay(200)
  18. end;
  19.  
  20. var
  21.   c: char;
  22.  
  23. begin
  24.   repeat
  25.   c := ReadKey;
  26.   case c of
  27.     'а': begin point; dash end;
  28.     'б': begin dash; point; point; point end;
  29.     'в': begin point; dash; dash end;
  30.     'г': begin dash; dash; point end;
  31.     'д': begin dash; point; point end;
  32.     'e': begin point end;
  33.     'ж': begin point; point; point; dash end;
  34.     'з': begin dash; dash; point; point end;
  35.     'и': begin point; point end;
  36.     'й': begin point; dash; dash; dash end;
  37.     'к': begin dash; point; dash end;
  38.     'л': begin point; dash; point; point end;
  39.     'м': begin dash; dash end;
  40.     'н': begin dash; point end;
  41.     'о': begin dash; dash; dash end;
  42.     'п': begin point; dash; dash; point end;
  43.     'р': begin point; dash; point end;
  44.     'c': begin point; point; point end;
  45.     'т': begin dash end;
  46.     'у': begin point; point; dash end;
  47.     'ф': begin point; point; dash; point end;
  48.     'х': begin point; point; point; point end;
  49.     'ц': begin dash; point; dash; point end;
  50.     'ч': begin dash; dash; dash; point end;
  51.     'ш': begin dash; dash; dash; dash end;
  52.     'щ': begin dash; dash; point; dash end;
  53.     'ъ': begin dash; point; point; dash end;
  54.     'ы': begin dash; point; dash; dash end;
  55.     'ь': begin dash; point; point; dash end;
  56.     'э': begin point; point; dash; point end;
  57.     'ю': begin point; point; dash; dash end;
  58.     'я': begin point; dash; point; dash end;
  59.   end;
  60.   until c=#27;
  61. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы