
| Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел. |
![]() |
||
ПОМОГИТЕ НАПИСАТЬ ПРОГУ
|
||
| Философия, технологии, алгоритмы! |
![]() |
|
|
Опции темы |
|
|
#1 |
|
Чертяра
Сообщений: 384
Регистрация: 29.01.2005
Возраст: 37
|
ПОМОГИТЕ НАПИСАТЬ ПРОГУ
очень прошу помочь написать прогу на паскале...условие таково:
надо писать программу -телеграф, которая преобразует введенные буквы в точки и тире... Затем это все выводится на экран и каждая точка и тире сопровождается звучанием определенной длительности |
|
|
|
|
#13 |
|
Чертяра
Сообщений: 384
Регистрация: 29.01.2005
Возраст: 37
|
Арсений вобщем то коды этой морзянки не обязательно должны совпадать с оригиналом, но раз просишь то вот они
А.- Б-... В.--- Г--. Д-.. Е-.. Ж...- З--.. И.. Й.--- К-.- Л.-.. М-- Н-. О--- П.--. Р.-. С... Т- У..- Ф..-. Х.... Ц-.-. Ч---. Ш---- Щ--.- Ъ-..- Ы-.-- Ь. Э..-. Ю..-- Я.-.- |
|
|
|
|
#15 |
|
Форумец
Сообщений: 15
Регистрация: 11.02.2003
Возраст: 43
|
А чего помогать-то?.. Организуй массив-алфавит из строк вот как раз типа -.-, а потом напиши функцию-пищалку, которой в качестве аргумента будешь передавать морзевое представление буковки. Если память мне не изменяет, есть в паЦкале функция Beep(x), где x - некоторое целое число, характеризующее этот самый бип - уж не помню, то ли частота звука, то ль еще что - поэкспериментируешь. Ну и что-нить типа:
Function MakeBeep(str:string):byte; var i:integer; begin for i:=1 to length(str) do if str[i]='.' then Beep(200) else Beep(400); Result:=1; end; Соответственно, твоя прога получает строку буковок, по соответствию в массиве превращает их в коды, а потом кидаешь эту строчку на экран - для показа, и в функцию - для писку. Но это при условии, что память мне не изменяет Давненько я не был в паЦкале...
|
|
|
|
|
#16 |
|
Форумец
Сообщений: 19
Регистрация: 20.02.2005
Возраст: 43
|
Во-во. Sound(freq);delay(timepoints);nosound; а сверху - uses crt;
uses crt; type mas=array['a'..'я'] of string; var arr:mas; SourceString,DestinationString:string; begin arr['a']:='.-.---.---.-'; arr['б']:='-.-.-.-.-'; .................... arr['я']:='-.-.-.-.-.-'; readln(SourceString); for i:=1 to length(SourceString) do begin writeln(arr[SourceString[i]]); MakeBeep(arr[SourceString[i]]); end; end. примерно так. |
|
|
|
|
#22 |
|
Чертяра
Сообщений: 384
Регистрация: 29.01.2005
Возраст: 37
|
дима вот то что ты просил
тепреь в исправленном варианте.... Program telegraf; Uses Crt; Const p = 10000; l = 60000; Var arr : array['а'..'я'] of string; i : integer; s : string; Procedure Play(s : string); Var i : integer; Begin for i:=1 to Length(s) do begin if s[i] = '.' then begin Sound(2000); Delay(p); end; if s[i] = '-' then begin Sound(2000); Delay(l); end; NoSound; Delay(20000); end; end; begin arr['а']:='.-'; arr['б']:='-...'; arr['в']:='.---'; arr['г']:='--.'; arr['д']:='-..'; arr['е']:='.'; arr['ж']:='...-'; arr['з']:='--..'; arr['и']:='..'; arr['й']:='.---'; arr['к']:='-.-'; arr['л']:='.-..'; arr['м']:='--'; arr['н']:='-.'; arr['о']:='---'; arr['п']:='.--.'; arr['р']:='.-.'; arr['с']:='...'; arr['т']:='-'; arr['у']:='..-'; arr['ф']:='..-.'; arr['х']:='....'; arr['ц']:='-.-.'; arr['ч']:='---.'; arr['ш']:='----'; arr['щ']:='--.-'; arr['ъ']:='-..-'; arr['ы']:='-.--'; arr['ь']:='-..-'; arr['э']:='..-..'; arr['ю']:='..--'; arr['я']:='.-.-'; TextBackGround(white); ClrScr; TextColor(blue); writeln('ВАС ПРИВЕТСТВУЕТ ПРОГРАММА ТЕЛЕГРАФ'); TextColor(black); writeln('введите сообщение!!!'); TextColor(red); writeln('ВНИМАНИЕ!!!!!вводите ТОЛЬКО буквы РУССКОГО АЛФАВИТА!!!сообщение НЕ ДОЛЖНО содержать заглавных букв'); readln(s); begin for i:=1 to Length(s) do begin if s[i] <> ' ' then begin Write(arr[s[i]],' '); Play(arr[s[i]]); end; end; readln; end; TextColor(black); Writeln('ваше сообщение было успешно закодировано'); Writeln('нажмите ENTER, чтобы выйти из программы'); Readln; End. |
|
|