|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.05.2010, 18:22 | #1 |
Регистрация: 29.03.2010
Сообщений: 9
|
нужно разобраться с программой
Помогите написать алгоритм реализации программы для курсовой очень надо. не могу описать как именно происходит перевод слов с русского на азбуку морзе
Program_Oksana; Uses Crt; Const Morse: array[128..159] of [4]= ( ‘.-‘ , ‘-…’ , ‘.---‘ , ‘--. ‘ , {А, Б, В, Г} ‘-.. ‘ , ‘. ‘,’…-‘ , ‘--..’ , {Д, Е, Ж, З} {И, Й, К, Л,} {М, Н, О, П} {Р, С, Т, У} {Ф, Х, Ц, Ч} {Ш, Щ, Ъ, Ы} {Ь, Э, Ю, Я} ); {Параметры передачи} TONE=100; {частота сигнала (Гц)} L1=50; {длительность (мс) «точки»} L2=100; {длительность (мс) «тире»} L3=50; {пауза (мс) между точками и тире одной буквы} L4=100; {пауза (мс) между буквами} L5=150; {пауза (мс) между словами} Var mes : string; {сообщение} sim : string[4]; {символ в кодировке Морзе – последовательность точек и тире} znak : string[1]; {“ передаваемый“ знак – тире или точка} I, j : integer; {номер символа и знака} begin clrscr; writeln (‘*** телеграф ***’); writeln (‘Введите сообщение, которое надо передать ‘); writeln (‘(используйте только большие русские буквы )‘); write (‘ -> ‘); readln (mes); for i=1 to Length (mes) do begin if (mes [i] > = ‘A’) and (mes[i] <= ’Я’) then begin {определим код очередной буквы (функция ord) сообщения и получим из таблицы кодировки соответствующий элемент массива – последовательность точек и тире} sim := morse [ord (mes[i])]; j :=1; repeat if (sim[j]= ‘-’ ) or (sim[j]= ‘.’ ) then begin write (sim [j]); sound (1000); case sim[j] of ‘.’: Delay (50); ‘_’: Delay (100); end; Nosound; Delay (50); end; j:=j+1; until ((sim[j]=’ ‘ ) or (j>4)); Delay (100); {пауза между буквами} end else if mes [i]= ‘ ‘ then {пробел между символами} begin write (‘ ‘); {пробел между словами сообщения} Delay (150); end; end; writeln writeln (‘ Сообщение передано! ‘); writeln (‘ Для завершения работы с программой нажмите ‘, ‘<Enter>’); readln; end. |
19.05.2010, 18:36 | #2 |
Форумчанин
Регистрация: 30.04.2010
Сообщений: 317
|
это происходит вот тут:
Код:
icq:627719[сто сорок четыре] - помогу с Pascal & Delphi!
Последний раз редактировалось DoDge_VipeR; 19.05.2010 в 18:44. |
19.05.2010, 18:38 | #3 |
Регистрация: 29.03.2010
Сообщений: 9
|
А можешь описать русскими обычными словами как оно происходит??
|
19.05.2010, 18:45 | #4 |
Форумчанин
Регистрация: 30.04.2010
Сообщений: 317
|
добавил комментарии)
icq:627719[сто сорок четыре] - помогу с Pascal & Delphi!
|
19.05.2010, 18:51 | #5 |
Регистрация: 29.03.2010
Сообщений: 9
|
for i=1 to Length (mes) do
begin if (mes [i] > = ‘A’) and (mes[i] <= ’Я’) then begin а что это значит? |
19.05.2010, 18:54 | #6 |
Форумчанин
Регистрация: 30.04.2010
Сообщений: 317
|
Код:
icq:627719[сто сорок четыре] - помогу с Pascal & Delphi!
|
19.05.2010, 19:17 | #7 |
Регистрация: 29.03.2010
Сообщений: 9
|
спасибо огромное
|
19.05.2010, 19:30 | #8 |
Регистрация: 29.03.2010
Сообщений: 9
|
sim := morse [ord (mes[i])];
а что значит строка |
20.05.2010, 04:29 | #9 | |
Форумчанин
Регистрация: 30.04.2010
Сообщений: 317
|
у тебя же написано
Цитата:
icq:627719[сто сорок четыре] - помогу с Pascal & Delphi!
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите разобраться с программой | Bercut48rus | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 11.12.2009 02:40 |
Помогите разобраться с программой | IrinaPetrova | Фриланс | 3 | 01.12.2009 13:03 |
Помогите разобраться с программой | Svetlyachok | Общие вопросы C/C++ | 7 | 06.06.2009 17:55 |
Помогите разобраться с программой | First90_19 | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 23.12.2008 01:58 |