Азбука Морзе - при нажатии на клавишу выдать соответствующий сигнал - 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.
Объяснение кода листинга программы
- В начале программы подключается библиотека crt, которая предоставляет функции для работы с звуком и задержкой.
- В процедуре point происходит следующее: после звукового сигнала длительностью 1000 мс (миллисекунд) происходит задержка в 200 мс, а затем отключается звук.
- В процедуре dash происходит следующее: после звукового сигнала длительностью 600 мс происходит задержка в 200 мс, а затем отключается звук.
- Переменная c предназначена для чтения символа, нажатого клавишей.
- В цикле while считывается символ до тех пор, пока не будет нажата клавиша с кодом #27 (по сути, это символ конца строки).
- После каждого считанного символа выполняется проверка в соответствии с таблицей соответствия символов и процедур, которые должны быть выполнены в зависимости от символа.
- Переменные point и dash используются для создания последовательности сигналов при нажатии соответствующих клавиш.
- Переменные delay и sound используются для задержки и звукового сигнала соответственно.
- Переменная c используется для хранения значения символа, нажатого клавишей.
- В конце программы подключается символ конца строки #27, который должен быть нажат для завершения цикла while.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д