0 / 0 / 0
Регистрация: 19.10.2010
Сообщений: 9
1

Азбука Морзе

28.12.2010, 22:04. Показов 8732. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно создать программу, которая при вводе кодировке азбукой Морзе переводит точки и тире в нормальные буквы.
Мой код:

Код
program Katia11;
uses crt;
var s,s2:string;
    i,j,j2,l,r:integer;
begin
     clrscr;
     writeln('Введите кодировку: ');
     readln(s);
     l:=0;
     r:=0;
     for i:=1 to length(s) do
         begin
             if (s[i]=' ')or(i=length(s)) then
                 begin
                      r:=i;
                      s2:=copy(s,l+1,r-l);
                      if s2='.-'   then s2:='А';
                      if s2='-...' then s2:='Б';
                      if s2='.--'  then s2:='В';
                      if s2='--.'  then s2:='Г';
                      if s2='-..'  then s2:='Д';
                      if s2='.'    then s2:='Е';
                      if s2='...-' then s2:='Ж';  (и так далее буквы)
                      if s2='--..' then s2:='ç';
                      if s2='..'   then s2:='ê';
                      if s2='.---' then s2:='ë';
                      if s2='-.-'  then s2:='è';
                      if s2='.-..' then s2:='ï';
                      if s2='--'   then s2:='î';
                      if s2='-.'   then s2:='ì';
                      if s2='---'  then s2:='Ä';
                      if s2='.--.' then s2:='Å';
                      if s2='.-.'  then s2:='É';
                      if s2='...'  then s2:='æ';
                      if s2='-'    then s2:='Æ';
                      if s2='..-'  then s2:='ô';
                      if s2='..-.' then s2:='ö';
                      if s2='....' then s2:='ò';
                      if s2='-.-.' then s2:='û';
                      if s2='---.' then s2:='ù';
                      if s2='----' then s2:='ÿ';
                      if s2='--.-' then s2:='Ö';
                      if s2='-..-' then s2:='Ü';
                      if s2='-.--' then s2:='¢';
                      if s2='-..-' then s2:='£';
                      if s2='..-.' then s2:='¥';
                      if s2='..--' then s2:='₧';
                      if s2='.-.-' then s2:='ƒ';
                      write(s2);
                      l:=i;
                 end;
         end;
     readln;
end.
Но переводит последний элемент кода, т.е. последнюю букву слова. Помогите найти ошибку.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.12.2010, 22:04
Ответы с готовыми решениями:

Азбука Морзе
Здрасти) вот такая вот задачка.... дан файл записанный азбукой Морзе (между буквами слова стоит 1...

Таблица шифрования Азбука Морзе
Собственно нужна данная таблица шифрования.. Желательно, конечно со звуками, но можно и без них....

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

Текстовые файлы. Перевод теста в азбуку МОРЗЕ
Вводимый из файла текст перевести в последовательность точек и тире с помощью азбуки Морзе! Нужно...

1
267 / 258 / 47
Регистрация: 08.10.2009
Сообщений: 554
28.12.2010, 22:38 2
Лучший ответ Сообщение было отмечено Intersap как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
program Katia11;
uses crt;
var s,s2:string;
    i,j,j2,l,r:integer;
begin
     clrscr;
     writeln('Введите кодировку: ');
     readln(s);
     l:=0;
     r:=0;
     for i:=1 to length(s)+1 do {вот тут +1}
         begin
             if (s[i]=' ')or(i=length(s)+1) then {вот тут +1}
                 begin
                      r:=i;
                      s2:=copy(s,l+1,r-l-1); {вот тут -1}
                      if s2='.-'   then s2:='А';
                      if s2='-...' then s2:='Б';
                      if s2='.--'  then s2:='В';
                      if s2='--.'  then s2:='Г';
                      if s2='-..'  then s2:='Д';
                      if s2='.'    then s2:='Е';
                      if s2='...-' then s2:='Ж';  (и так далее буквы)
                      if s2='--..' then s2:='з';
                      if s2='..'   then s2:='к';
                      if s2='.---' then s2:='л';
                      if s2='-.-'  then s2:='и';
                      if s2='.-..' then s2:='п';
                      if s2='--'   then s2:='о';
                      if s2='-.'   then s2:='м';
                      if s2='---'  then s2:='Д';
                      if s2='.--.' then s2:='Е';
                      if s2='.-.'  then s2:='Й';
                      if s2='...'  then s2:='ж';
                      if s2='-'    then s2:='Ж';
                      if s2='..-'  then s2:='ф';
                      if s2='..-.' then s2:='ц';
                      if s2='....' then s2:='т';
                      if s2='-.-.' then s2:='ы';
                      if s2='---.' then s2:='щ';
                      if s2='----' then s2:='я';
                      if s2='--.-' then s2:='Ц';
                      if s2='-..-' then s2:='Ь';
                      if s2='-.--' then s2:='ў';
                      if s2='-..-' then s2:='Ј';
                      if s2='..-.' then s2:='Ґ';
                      if s2='..--' then s2:='₧';
                      if s2='.-.-' then s2:='ƒ';
                      write(s2);
                      l:=i;
                 end;
         end;
     readln;
end.
0
28.12.2010, 22:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.12.2010, 22:38
Помогаю со студенческими работами здесь

Программа перевода слов с русского на азбуку Морзе
Помогите разобраться как происходит перевод слов с русского на азбуку Морзе в этой программе...

Символьная информация (азбука Морзе)
Помогите пожалуйста написать программу по этому условию: С клавиатуры или как константа вводится...

Морзе. Заменить цифры на код морзе.
ПОМОГИТЕ!!! Люди вот пишу программу. Задание: необходимо в текстовом файле заменить цифры на код...

Программа декодирование азбуки Морзе
Помогите пожалуйста написать программу на паскале для декодирования азбуки Морзе !!! Условие:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru