Составим программу, которая кодировала бы текст, передаваемый русскими буквами, посредством азбуки Морзе. Между соседними символами азбуки Морзе надо оставлять по одному пробелу, а между соседними словами - дополнительно столько пробелов, сколько их было в переданном тексте.
Program morze;
var c: char;
begin
while not eof do
begin
read(c);
if c in ['А'..'Я'] then
case c of
'А':write('.-'); 'Б':write('-..');
'В':write('.--'); 'Г':write('--.');
'Д':write('--..'); 'Е':write('.');
'Ж':write('...-'); 'З':write('--..');
'И':write('..'); 'Й':write('.---');
'К':write('-.-'); 'Л':write('.-..');
'М':write('--'); 'Н':write('-.');
'О':write('---'); 'П':write('.--.');
'Р':write('.-.'); 'С':write('...');
'Т':write('-'); 'У':write('..-');
'Ф':write('..-.'); 'Х':write('....');
'Ц':write('-.-.'); 'Ч':write('---.');
'Ш':write('----'); 'Щ':write('--.-');
'Ь', 'Ъ':write('-..-'); 'Ы':write('-.--');
'Э':write('..-..'); 'Ю':write('..--');
'Я':write('.-.-')
end
else if c=' ' then write(' ')
else {этого символа нет в русском алфавите}
write('-...-');
write(' ')
end
end.
2012-06-24 • Просмотров [ 6821 ]