Азбука Морзе - при нажатии на клавишу выдать соответствующий сигнал - 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д