очень прошу помочь написать прогу на паскале...условие таково:
надо писать программу -телеграф, которая преобразует введенные буквы в точки и тире... Затем это все выводится на экран и каждая точка и тире сопровождается звучанием определенной длительности
[Ответ]
а что искал-то? ))) А то говоришь помочь, а в чем помочь- ни слова...
[Ответ]
bart2k 00:01 06.03.2005
Могу помочь написать первую строчку проги. Будет выглядеть примерно воттак:
Program telegraf; [Ответ]
Грешник 07:09 06.03.2005
вообще то в начале написана даже сама задача...вот нашелся бы такой нормальный человек куоторый помог бы мне её написать
[Ответ]
Eg0_Bra1n 07:36 06.03.2005
BART2000 Шутник великий, эту строку можно вообще не писать.
[Ответ]
Арсений 12:39 06.03.2005
Угу, программа-то сама элементарна, а вот коды морзянки - в студию... [Ответ]
Грешник 07:45 07.03.2005
Арсений вобщем то коды этой морзянки не обязательно должны совпадать с оригиналом, но раз просишь то вот они
А.- Б-... В.--- Г--. Д-.. Е-.. Ж...- З--.. И.. Й.--- К-.- Л.-.. М-- Н-. О--- П.--. Р.-.
С... Т- У..- Ф..-. Х.... Ц-.-. Ч---. Ш---- Щ--.- Ъ-..- Ы-.-- Ь. Э..-. Ю..-- Я.-.-
[Ответ]
Грешник 07:46 07.03.2005
Арсений раз уж говоришь что прога эелементарная, может поможешь мне её написать??
[Ответ]
Арсений 09:36 07.03.2005
А чего помогать-то?.. Организуй массив-алфавит из строк вот как раз типа -.-, а потом напиши функцию-пищалку, которой в качестве аргумента будешь передавать морзевое представление буковки. Если память мне не изменяет, есть в паЦкале функция 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;
Соответственно, твоя прога получает строку буковок, по соответствию в массиве превращает их в коды, а потом кидаешь эту строчку на экран - для показа, и в функцию - для писку. Но это при условии, что память мне не изменяет Давненько я не был в паЦкале...
[Ответ]
Necromant 00:46 08.03.2005
Во-во. 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.
А вообще - эта задача по классификации Кнута потянет баллов на 45 (тема докторской), а то и на все 50 (современной наукой не решена).
[Ответ]
Грешник 06:44 08.03.2005
Necromant ну хоть кто-то оценил сложность этой задачи...спасибо те
[Ответ]
кадет 07:03 08.03.2005
Грешник Как скомплемируешь задачу ... Кинь сюда))
[Ответ]
Грешник 07:46 08.03.2005
вроде чтото началось получаться но пока ещё не готово
[Ответ]
Грешник 01:06 09.03.2005
бляяя... почему мне звук не удается вставить??? вроде символы выводит а звук не хочет
[Ответ]
Грешник 01:30 09.03.2005
дима вот то что ты просил
тепреь в исправленном варианте....
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.
[Ответ]
кадет 05:56 09.03.2005
Не её б ещё скомплимировать) ну тоесть *учу файл зделать нужно)) у меня просто паскалянету)
[Ответ]
а со звуком проблемы.... а фиг знаю куда его вставить
[Ответ]
DimmaN 12:29 09.03.2005
Сообщение от :
Грешник
сударь, вам некромант весьма подробно написАл куда "вставить" звук.
[Ответ]
Necromant 23:04 09.03.2005
Ничего, начинать всегда сложно. Я тоже так тупил... лет десять назад, у Spectrum'а. Кстати, этот серыя ящик пикал как раз по Beep(...). Ностальгия прямо...
[Ответ]
Грешник 06:55 10.03.2005
ВСЕ МУЖИКИ...ТЕМУ МОЖНО ЗАКРЫВАТЬ..Я НАПИСАЛ ПРГУ И БЕЗ ВСЯКИХ ВАШИХ БИПОВ...
Изображения