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

Написать программу используя функцию ReadKey

07.12.2015, 18:08. Показов 1449. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Пoместить в цeнтpe cимвoл. Пpи нажaтии нa cтpeлку ввepx, cимвол дoлжен перeмeститься нa двe пoзиции вepх, eсли нaжать стрeлку впрaво, тo нa двe пoзиции впрaво. Дeйствия oбoзнaчить рaзными звукaми.

Добавлено через 9 минут
Вот мой наработок, только он неправильно немного работает, и клавиши действия у меня w и d, как на стрелки их назначить?
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
program lab_14;
uses crt;
var a,b:char;
begin
  textbackground(1);
  clrscr;
  textcolor(15);
    gotoxy(40,10);
      writeln('$');
  repeat
  a:=readkey;
    case a of
     #119: begin gotoxy(40,8); writeln('$'); end;
     #100: begin gotoxy(42,8); writeln('$'); end;
    end;
  until (a=#100);
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.12.2015, 18:08
Ответы с готовыми решениями:

Для заданных N и X1,X2,.Xn написать программу, используя подходящую функцию
пожалуйста помогите решить r=\frac{x_k}{k!}-\frac{x_n}{N!}\ \ \ npu\ \ \ x_k=\max...

Для заданных N и X1,X2,.Xn написать программу, используя подходящую функцию
помогите решить,чем проще тем тем лучше s=\frac{x_k-x_n}{(n-k)\cdot n!} где xk = min(x1, x2,...

Используя рекурсию, написать функцию для вычисления функции. F(1)=0, F(n)=3+F(n-1)
Составить программу вычиляющее данную функцию с любым аргументом. var i,a:integer; function...

Не получается составить программу используя процедуру или функцию.
Очень нужна помощь старших в решении задачи. Вот изображение вопроса:

8
Почетный модератор
64299 / 47594 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
07.12.2015, 18:10 2
Паскаль какой?
0
0 / 0 / 3
Регистрация: 24.08.2012
Сообщений: 76
07.12.2015, 18:11  [ТС] 3
Цитата Сообщение от Puporev Посмотреть сообщение
Паскаль какой?
ABC
0
257 / 143 / 85
Регистрация: 13.10.2011
Сообщений: 454
07.12.2015, 18:42 4
Лучший ответ Сообщение было отмечено -LEX- как решение

Решение

Добавил движение во все стороны, но не писал условие когда символ касается края экрана.
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
uses crt;
var x,y,w:integer;k:char;
begin
 clrscr;
 x:=45;y:=12;
 gotoxy(x,y);
 write('*');
 repeat
  gotoxy(1,1);
  textcolor(white);
  write('Dlya vihoda - ESC');
  gotoxy(x,y);
  write('*');
  k:=readkey;
  case k of
   #72:begin y:=y-2; w:=100; end;
   #80:begin y:=y+2; w:=200; end;
   #75:begin x:=x-2; w:=300; end;
   #77:begin x:=x+2; w:=400; end;
  end;
  sound(w);
  delay(200);
  textcolor(black);
  gotoxy(x,y);
  write('*');
  clrscr;
 until k=#27;
 nosound;
end.
Сори, это для турбопаскаля...
1
Почетный модератор
64299 / 47594 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
07.12.2015, 18:45 5
sound, nosound в Паскаль АВС не работают, оставлены для совместимости, для получения звуков нужно использовать модуль Sounds.
0
257 / 143 / 85
Регистрация: 13.10.2011
Сообщений: 454
07.12.2015, 18:51 6
и в моей версии PascalABC написано что sound не работает - оставлено для совместимости - т.е. звука не будет. И процедура textcolor не нужна.
0
0 / 0 / 3
Регистрация: 24.08.2012
Сообщений: 76
07.12.2015, 18:53  [ТС] 7
Цитата Сообщение от chealbert Посмотреть сообщение
и в моей версии PascalABC написано что sound не работает - оставлено для совместимости - т.е. звука не будет. И процедура textcolor не нужна.
в турбо паскале все хорошо работает, в ABC не двигается символ когда стрелки нажимаешь, почему так происходит?
0
Почетный модератор
64299 / 47594 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
07.12.2015, 18:56 8
Лучший ответ Сообщение было отмечено -LEX- как решение

Решение

Цитата Сообщение от -LEX- Посмотреть сообщение
в ABC не двигается
Все двигается, напишите так
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
uses crt;
var a:char;
    x,y:byte;
begin
textbackground(1);
clrscr;
textcolor(15);
hidecursor;
x:=40;
y:=13;
gotoxy(x,y);
write('$');
repeat
a:=readkey;
if a=#0 then a:=readkey;
case a of
#72: begin
     clrscr;
     if y>2 then y:=y-2;
     gotoxy(x,y);
     write('$');
     sound(1000);//3 строки для турбо
     delay(1000);
     nosound;
     end;
#75: begin//вообще здесь нужно #77, но у меня почему-то сено-солома...
     clrscr;
     if x<78 then x:=x+2;
     gotoxy(x,y);
     write('$');
     sound(600);
     delay(1000);
     nosound;
     end;
    end;
until not(a in [#72,#75]);
end.
1
257 / 143 / 85
Регистрация: 13.10.2011
Сообщений: 454
07.12.2015, 19:20 9
Заработало в PascalABC, только в текущем каталоге или Media\Sounds\ должны быть соответствующие wav-файлы

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
uses crt,sounds;
var x,y,n:integer;k:char;  s:sound;
begin
 clrscr;
 x:=45;y:=12;
 gotoxy(x,y);
 write('*');
 repeat
  gotoxy(1,1);
  write('Dlya vihoda - ESC  ');
  gotoxy(x,y);
  write('*');
  k:=readkey;
  case k of
   #72:begin y:=y-2; s:=Sound.Create('pos.wav'); s.Play; Sleep(s.Length); s.Destroy; end;
   #80:begin y:=y+2; s:=Sound.Create('kuku.wav'); s.Play; Sleep(s.Length); s.Destroy;end;
   #75:begin x:=x+2; s:=Sound.Create('Neg.wav'); s.Play; Sleep(s.Length); s.Destroy; end;
   #77:begin x:=x-2; s:=Sound.Create('Boing.wav');  s.Play; Sleep(s.Length); s.Destroy;end;
  end;
  gotoxy(x,y);
  write('*');
  clrscr;
 until k=#27;
end.
0
07.12.2015, 19:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.12.2015, 19:20
Помогаю со студенческими работами здесь

Рекурсия: Написать функцию сложения двух чисел, используя только прибавление единицы
народ помогите решить задачу. Написать функцию сложения двух чисел, используя только прибавление...

Написать программу используя цикл for
Написать программу, которая выводит таблицу значений функции у =|х + 2|. Диапазон изменения...

Пересортировать массив используя подпрограммы и Написать подпрограмму функцию определяющую число элементов массива.
Здравствуйте. Если это возможно,хотелось бы попросить помощи в рещении нескольких задач. 1)...

Написать программу, используя рекурсивные вызовы
Написать программу, используя рекурсивные вызовы. Из данной числовой последовательности A...


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

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

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