Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 11.11.2009
Сообщений: 17
1

Нарисовать закрашенный квадрат вписанный в окружность.

20.12.2009, 12:39. Показов 3348. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нарисовать закрашенный квадрат вписанный в окружность, используя методы объектно-ориентированного проектирования.

Добавлено через 1 час 5 минут
Еще при нажатии клавиш перемещения курсора "вверх" и "вниз" квадрат вместе с окружностью должны перемещаться в соответствующем направлении,а при нажатии "вправо" или "влево"-менять цвет.
Вот пыталась сделать из примера,не получается вписать квадрат

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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
program lab;
uses graph,crt;
const
  sfs=1;
type
  krug=object
    a,b,r,da,db,c:integer;
    constructor init(x,y,l:integer);
    procedure napr(dx,dy:integer);
    procedure show; virtual;
    procedure hide; virtual;
    procedure rozm(dl:integer);
    procedure move;
    destructor done; virtual;
  end;
  kvadr=object(krug)
    constructor init(x,y,l{,s}:integer);
    procedure show; virtual;
    procedure hide; virtual;
    destructor done; virtual;
  end;
var
  grdriver,grmode:integer;
  kr:krug;
  kv:kvadr;
  ch:char;
  mmm:integer;
constructor krug.init;
begin
  a:=x;
  b:=y;
  da:=0;
  db:=0;
  r:=l;
  c:=2;
end;
procedure krug.napr;
begin
  if dx<>0 then da:=da+dx;
  if dy<>0 then db:=db+dy;
end;
procedure krug.rozm;
begin
  hide;
  r:=r+dl;
  if r<1 then r:=1;
  show;
end;
procedure krug.show;
begin
  if c=getbkcolor then c:=c+1;
  setcolor(c);
   circle(a,b,r);
floodfill(a,b,c);
  delay(10000);
end;
procedure krug.hide;
begin
  setcolor(black);
  setfillstyle(solidfill,black);
  circle(a,b,r);
  circle(a,b,r div 2);
  floodfill(a,b,black);
end;
procedure krug.move;
begin
  hide;
  if a>=getmaxx-r
    then
      begin
        da:=-da;
        a:=getmaxx-r;
        c:=random(15)
      end;
  if a<=r
    then
      begin
        da:=-da;
        a:=r;
        c:=random(15)
      end;
  if b>=getmaxy-r
    then
      begin
        db:=-db;
        b:=getmaxy-r;
        c:=random(15)
      end;
  if b<=r+50
    then
      begin
        db:=-db;
        b:=r+50;
        c:=random(15)
      end;
  a:=a+da;
  b:=b+db;
  show;
end;
destructor krug.done;
begin
  hide;
end;
constructor kvadr.init;
begin
  a:=x;
  b:=y;
  da:=0;
  db:=0;
  r:=l;
 { c:=2; }
  c:=round((sqrt(2))*r);
end;
procedure kvadr.show;
begin
  if c=getbkcolor then c:=c+1;
  setcolor(c);
  rectangle(a-r,b-r,a+r,b+r);
  rectangle(a-r div 2,b-r div 2,a+r div 2,b+r div 2);
  floodfill(a,b,c);
  delay(10000);
end;
procedure kvadr.hide;
begin
  setcolor(black);
  setfillstyle(solidfill,black);
  rectangle(a-r,b-r,a+r,b+r);
  rectangle(a-r div 2,b-r div 2,a+r div 2,b+r div 2);
  floodfill(a,b,black);
end;
destructor kvadr.done;
begin
  hide;
end;
 
begin
  mmm:=0;
  grdriver:=detect;
  initgraph(grdriver,grmode,'');
  kr.init(getmaxx div 2,getmaxy div 2,20);
  kv.init(getmaxx div 2,getmaxy div 2,20);
  outtextxy(10,10,'Hot keys: left,rigth,up,down');
  outtextxy(10,20,'          Page up,Page down');
  outtextxy(10,30,'          Tab,Esc');
  kr.show;
  mmm:=1;
  while keypressed do ch:=readkey;
  repeat
    if mmm=1 then kr.move else kv.move;
    if keypressed then
      begin
        ch:=readkey;
 
        if (ch=#0) and (mmm=1) then
          case readkey of
            chr(73):kr.rozm(1);
            chr(81):kr.rozm(-1);
            chr(75):kr.napr(-1,0);
            chr(77):kr.napr(1,0);
            chr(72):kr.napr(0,-1);
            chr(80):kr.napr(0,1);
          end;
        if (ch=#0) and (mmm=-1) then
          case readkey of
            chr(73):kv.rozm(1);
            chr(81):kv.rozm(-1);
            chr(75):kv.napr(-1,0);
            chr(77):kv.napr(1,0);
            chr(72):kv.napr(0,-1);
            chr(80):kv.napr(0,1);
          end;
      end;
  until ch=#27;
  kr.done;
  kv.done;
  closegraph;
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.12.2009, 12:39
Ответы с готовыми решениями:

Нарисовать треугольник, вписанный в окружность
Вписать треугольник в окружность Есть только рисование треугольника Program FillTriagle; Uses...

Нарисовать правильный многоугольник, вписанный в окружность
Задание указано на скриншоте. P.S. Само задание для Turbo Pascal, но делал я на ABC uses...

Нарисовать круг вписанный в квадрат со стороной 100
Плиз составь мне программу в паскале:Нарисовать круг вписанный в квадрат со стороной 100.Изобразить...

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

0
20.12.2009, 12:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.12.2009, 12:39
Помогаю со студенческими работами здесь

Движение графа - квадрат вписанный в окружность
1. Задача в том чтоб нарисовать рисунок: квадрат вписанный в окружность, при этом весь рисунок...

Найти вероятность попадания точки в квадрат, вписанный в окружность, вписанную в равносторонний треугольник
Пытаюсь решить задачу по теории вероятностей, мое решение ниже. Условие: В равносторонний...

Нарисовать правильный пятиугольни вписанный в окружность и повернуть его
Помогите пожалуйста. Требуется Нарисовать правильный пятиугольни вписанный в окружность и...

Нарисовать правильный шестиугольник, вписанный в окружность, и заставить его крутиться по этой окружности
Здравствуйте форумчане! Помощь нужна, с помощью библиотеки &quot;graphics.h&quot; в Dev C++ мне нужно: 1)...

Нарисовать окружность, квадрат, треугольник
Есть задача в окружность внести квадрат, а в квадрат внести треугольник. Я могу внести в...

Нарисовать квадрат, внутри которого окружность
Здравствуйте, помогите найти ошибку в коде. Рисует слишком много лишнего. Изменяла центр...


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

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