Форум программистов, компьютерный форум, киберфорум
Наши страницы

Pascal (Паскаль)

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
DanpiL
4 / 4 / 1
Регистрация: 25.05.2010
Сообщений: 29
#1

Программа телеграф. - Pascal

27.05.2010, 16:29. Просмотров 1473. Ответов 6
Метки нет (Все метки)

Помогите решить задачку...
Написать программу телеграф, которая принимает от пользователя сообщение и выводит на экран в виде последовательности точек и тире. их можно сопроводить звуковым сигналом.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2010, 16:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программа телеграф. (Pascal):

Программа подсчета числа неуспевающих и программа поиска владельца автомобиля... - Pascal
Помогите пожалуйста решить 2 задачи: Составьте программу подсчета числа неуспевающих по информатике школьников в классе, и выводящую...

Программа циков с неизвестным число повторений и программа с внутренним ветвлением - Pascal
1.Дано натуральное число n. Получить наименьшее натуральное число вида m в степени 2, превосходящее n. 2.Дан числовой массив А, состоящий...

Программа с метками и оператором перехода GOTO. Программа с циклом полусловия - Pascal
Задача №9. Прошу вас, помогите. Не знаю как решать вообще.

Программа для трёх маршрутов. Правильно ли написана программа? - PascalABC.NET
Всем здрасьте! Программа для трёх маршрутов. Кому не сложно подскажите правильно ли я написал?var a, b, c, d, e, f, g : boolean; s...

Телеграф - исправить ошибку в коде - Turbo Pascal
Program_telegraph; Uses Crt Const Morse: array of = ( '.-` , `-...' , '.---` , `--/.` , {А, Б, В, Г} '-.. ` , `. `, '...-' ,...

Азбука Морзе, программа-телеграф - C++
программа-телеграф, которая принимает от пользователя сообщение и выводит его на экран в виде последова-тельности точек и тире. Вывод точек...

6
c00le®
138 / 138 / 12
Регистрация: 20.03.2009
Сообщений: 235
27.05.2010, 16:33 #2
Вам сюда http://www.cyberforum.ru/order-program/
0
DanpiL
4 / 4 / 1
Регистрация: 25.05.2010
Сообщений: 29
29.05.2010, 21:02  [ТС] #3
В чем ошибка??
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Uses Crt;
Var morze:array[1..32] of string[32]:=('.-','-...','.---','---','-..','.','...-','--..','..','.---','-.-','.-..','--','-.','---','.--.','.-.','...','-','..-','..-.','....','-.-.','---.','--.-','----','-..-','-.--','-..-','..-.','..--','.-.-'); 
bykv:array[1..32] of char:=('А','Б','В','Г','Д','Е','Ж','З','И','Й','К','Л','М','Н','О','П','Р','С','Т','У','Ф','Х','Ц','Ч','Щ','Ш','Ъ','Ы','Ь','Э','Ю','Я');
tekst:string; k,i,j:integer;
begin clrScr;
readln(tekst);
 for i:=0 to length(tekst) do begin
  for j:=0 to 31 do begin
   if (ORD(tekst[i]))=(ORD(bykv[j])) then 
repeat Writeln(morze[j]:3);
  if (morze[j]= '-' ) or (morze[j]= '.' ) then begin  Sound(440);
    case morze[j] of
         '.': Delay (50);
         '-': Delay (100);
     end;
     Nosound; end;
until (morze[j]=' ' );
   Delay (100); 
end; end; end.
0
DanpiL
4 / 4 / 1
Регистрация: 25.05.2010
Сообщений: 29
02.06.2010, 10:23  [ТС] #4
Может можно с помощью множества решить??
0
Страдалецъ
Тимуровец
444 / 287 / 14
Регистрация: 10.09.2009
Сообщений: 963
02.06.2010, 10:38 #5
У вас там много ошибок.
1. Описание константы избыточное и присвоение неверное.
2. Выход за границы диапазона в цикле
3. Отсутстствие цикла на проход по знаку морзе.
0
DanpiL
4 / 4 / 1
Регистрация: 25.05.2010
Сообщений: 29
02.06.2010, 11:20  [ТС] #6
Можешь помочь с этой задачкой??
0
Страдалецъ
Тимуровец
444 / 287 / 14
Регистрация: 10.09.2009
Сообщений: 963
02.06.2010, 12:22 #7
Паскаля у меня нет сейчас, потому полноценно проверяйте сами, но вот попробуйте так:
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
Type
    TMorze = record
     Alpha: Char;
     Code: String;
    End;
 
Const
    Morze: Array[1..32] of TMorze =((Alpha:'А';Code:'.-'),(Alpha:'Б';Code:'-...'),(Alpha:'В';Code:'.---'),
                                  (Alpha:'Г';Code:'---'),(Alpha:'Д';Code:'-..'),(Alpha:'Е';Code:'.'),
                                  (Alpha:'Ж';Code:'...-'),(Alpha:'З';Code:'--..'),(Alpha:'И';Code:'..'),
                                  (Alpha:'Й';Code:'.---'),(Alpha:'К';Code:'-.-'),(Alpha:'Л';Code:'.-..'),
                                  (Alpha:'М';Code:'--'),(Alpha:'Н';Code:'-.'),(Alpha:'О';Code:'---'),
                                  (Alpha:'П';Code:'.--.'),(Alpha:'Р';Code:'.-.'),(Alpha:'С';Code:'...'),
                                  (Alpha:'Т';Code:'-'),(Alpha:'У';Code:'..-'),(Alpha:'Ф';Code:'..-.'),
                                  (Alpha:'Х';Code:'....'),(Alpha:'Ц';Code:'-.-.'),(Alpha:'Ч';Code:'---.'),
                                  (Alpha:'Ш';Code:'--.-'),(Alpha:'Щ';Code:'----'),(Alpha:'Ъ';Code:'-..-'),
                                  (Alpha:'Ы';Code:'-.--'),(Alpha:'Ь';Code:'-..-'),(Alpha:'Э';Code:'..-.'),
                                  (Alpha:'Ю';Code:'..--'),(Alpha:'Я';Code:'.-.-'));
 
Var
 T: String;
 i,j,k: Integer;
begin
 ReadLn(T);
 for i := 1 to Length(T)
 do if T[i] = ' '
    then begin
         NoSound;
         Delay(100);
         WriteLn;
         end
    else for j := 1 to 32
         do if T[i] = Morze[j].Alpha
            then begin
                 Writeln(Morze[j].Code);
                 for k := 1 to Length(Morze[j].Code)
                 do begin
                    Sound(440);
                    case Morze[j].Code[k]
                    of '.': Delay(50);
                       '-': Delay(100);
                    end;
                    NoSound;
                    end;
                 Break;
                 end;
end.
Добавлено через 1 минуту
Не забывайте, что ввод предполагается большими русскими буквами.
1
02.06.2010, 12:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.06.2010, 12:22
Привет! Вот еще темы с ответами:

старый телеграф - C (СИ)
пожалуйста помогите написать прогу на языке си в ворланде си ++ фо дос Старый телеграф. Читать посимвольно исходный файл, переписывая...

Напишите программу-телеграф с выводом тире и точек, а также звуковым сопровождением - C#
Напишите программу-телеграф, которая принимает от пользователя сообщение и выводит его на экран в виде последовательности точек и тире....

Программа не может быть запущена, т.к. на Вашем компьютере установлена программа-эмулятор - Игры
При запуске лицензионной детской игровой программы выскакивает сообщение: Программа не может быть запущена, т.к. на Вашем компьютере...

Квин-программа, или программа, печатающая свой исходный текст - Visual Basic
Задаю этот вопрос под влиянием этой темы и предлагаю решение: Sub Kvin() Dim A(1 To 13) As String X = Chr$(65) + Chr$(40) ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.