Кодирование заданного слова азбукой Морзе - PascalABC.NET
Формулировка задачи:
Напишите программу, кодирующую слово введенное пользователем азбукой морзе
Решение задачи: «Кодирование заданного слова азбукой Морзе»
textual
Листинг программы
const
mrz:array[1..32] of string=
('.-','-...','.--','--.','-..','.','...-','--..',
'..','.---','-.-','.-..','--','-.','---','.--.',
'.-.','...','-','..-','..-.','....','-.-.','---.',
'----','--.-','-..-','-.--','-..-','..-.','..--','.-.-');
bk:string='АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ';
var s,s1:string;
i:byte;
begin
writeln('Введите слово русскими буквами');
readln(s);
s:=Uppercase(s);
s1:='';
for i:=1 to length(s) do
s1:=s1+mrz[pos(s[i],bk)];
write(s1);
end.
Объяснение кода листинга программы
- В начале кода объявлены две константы: массив
mrzи строкаbk. - Массив
mrzсодержит 32 строки, каждая из которых представляет собой кодировку одного символа азбуки Морзе. - Строка
bkсодержит алфавит русского языка в порядке, соответствующем кодировке азбуки Морзе в массивеmrz. - Затем объявлены две переменные:
sиs1, типаstring, и переменнаяiтипаbyte. - Пользователю предлагается ввести слово русскими буквами.
- Введенное слово записывается в переменную
sв верхнем регистре с помощью функцииUppercase(). - Переменная
s1инициализируется пустой строкой. - В цикле по символам входного слова выполняется поиск каждого символа в строке
bkс помощью функцииpos(). - Если символ найден, его кодировка в формате азбуки Морзе добавляется к переменной
s1. - Результат выводится на экран с помощью функции
write().