Форум программистов, компьютерный форум CyberForum.ru
CyberForum.ru - форум программистов и сисадминов > >
Восстановить пароль Регистрация
 
Бандит86
Новичок
0 / 0 / 0
Регистрация: 17.04.2012
Сообщений: 8
17.04.2012, 18:23     Нарисовать трапецию. Вокруг этой трапеции описать окружность   #1
Ребята помогите пожалуйста написать код программы в паскале...
нужно нарисовать трапецию, длины большего и меньшего основания а также угол при основании запросить у пользователя . Вокруг этой трапеции описать окружность..
AdAgent
Объявления
17.04.2012, 18:23    Нарисовать трапецию. Вокруг этой трапеции описать окружность
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.04.2012, 18:23    Нарисовать трапецию. Вокруг этой трапеции описать окружность

Посмотрите здесь:

Free Pascal Нарисовать расширяющуюся окружность.

PascalABC.NET Нарисовать окружность, состоящую из секторов

Turbo Pascal Вычислить длину стороны a и площадь S квадрата, который или вписан в окружность с радиусом R, или описан вокруг нее.

Turbo Pascal Вычислить длину стороны a и площадь S десятиугольника, который или вписан в окружность с радиусом R, или описан вокруг нее

Turbo Pascal Нарисовать окружность, не пользуясь circle

Turbo Pascal Нарисовать рамку вокруг текста

Puporev
Модератор
43053 / 31424 / 2092
Регистрация: 18.05.2008
Сообщений: 67,248
18.04.2012, 14:33     Нарисовать трапецию. Вокруг этой трапеции описать окружность   #2
Код 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
uses crt,graph;
type point=record
           x,y:longint;
           end;
procedure Okr(a,b,c:Point;var o:Point;r:integer);
var ab,ac:Point;
    a1,b1,a2,b2,c1,c2:real;
begin
{середины сторон}
ab.x:=(a.x+b.x) div 2;
ab.y:=(a.y+b.y) div 2;
ac.x:=(a.x+c.x) div 2;
ac.y:=(a.y+c.y) div 2;
{координаты центра через уравнения прямых}
a1:=b.x-a.x;
b1:=b.y-a.y;
c1:=ab.x*(b.x-a.x)+ab.y*(b.y-a.y);
a2:=c.x-a.x;
b2:=c.y-a.y;
c2:=ac.x*(c.x-a.x)+ac.y*(c.y-a.y);
o.x:=round((c1*b2-c2*b1)/(a1*b2-a2*b1));
o.y:=round((a1*c2-a2*c1)/(a1*b2-a2*b1));
r:=round(sqrt(sqr(a.x-o.x)+sqr(a.y-o.y)));{радиус}
{рисуем окружность}
setcolor(12);
circle(o.x,o.y,r);
end;
var d,m,a,b,u:integer;{длины оснований и угол}
    t1,t2,t3,t4,o:point;
    xc,yc,r:integer;
begin
clrscr;
repeat
write('Bolshee osnovanie ot 100 do 200 a=');
readln(a);
until a in [100..200];
repeat
write('Menshee osnovanie ot 10 do ',a-20,' b=');
readln(b);
until b in [10..a-20];
repeat
write('Udol pri osnovanii ot 10 do 80 gradusov u=');
readln(u);
until u in [10..80];
initgraph(d,m,'');
xc:=getmaxX div 2;
yc:=getmaxY div 2;
{трапеция}
t1.x:=xc-a div 2;t1.y:=yc;
t4.x:=xc+a div 2;t4.y:=yc;
t2.x:=xc-b div 2;t2.y:=yc-round((a-b)*sin(u*pi/180)/(2*cos(u*pi/180)));
t3.x:=xc+b div 2;t3.y:=t2.y;
line(t1.x,t1.y,t2.x,t2.y);
line(t2.x,t2.y,t3.x,t3.y);
line(t3.x,t3.y,t4.x,t4.y);
line(t1.x,t1.y,t4.x,t4.y);
Okr(t1,t2,t3,o,r);{окружность}
readln
end.
Бандит86
Новичок
0 / 0 / 0
Регистрация: 17.04.2012
Сообщений: 8
18.04.2012, 15:39  [ТС]     Нарисовать трапецию. Вокруг этой трапеции описать окружность   #3
СПАСИБО ВАМ ОГРОМНОЕ)) а вы не можете еще расписать пошагово действия что зачем следует, объяснить?)
Puporev
Модератор
43053 / 31424 / 2092
Регистрация: 18.05.2008
Сообщений: 67,248
18.04.2012, 15:44     Нарисовать трапецию. Вокруг этой трапеции описать окружность   #4
Основное я написал, а описывать каждую строку, это увольте.

Добавлено через 43 секунды
Да и смысла нет, если Вы не знаете геометрию и почитать не хотите.
Бандит86
Новичок
0 / 0 / 0
Регистрация: 17.04.2012
Сообщений: 8
18.04.2012, 16:45  [ТС]     Нарисовать трапецию. Вокруг этой трапеции описать окружность   #5
Ну так то да)) ну все равно Спасибо Вам)
AdAgent
Объявления
18.04.2012, 16:45    Нарисовать трапецию. Вокруг этой трапеции описать окружность
Бандит86
Новичок
0 / 0 / 0
Регистрация: 17.04.2012
Сообщений: 8
24.04.2012, 15:51  [ТС]     Нарисовать трапецию. Вокруг этой трапеции описать окружность   #6
а не могли бы вы пояснить что написано с 49 по 57 строку..а то все догнать не могу..и что значит запись например в 15 строке-одни символы черным а одни синим..
Puporev
Модератор
43053 / 31424 / 2092
Регистрация: 18.05.2008
Сообщений: 67,248
24.04.2012, 16:04     Нарисовать трапецию. Вокруг этой трапеции описать окружность   #7
Цитата Сообщение от Бандит86 Посмотреть сообщение
-одни символы черным а одни синим..
Это форматирование кода тегами PASCAL, это не я...

Добавлено через 10 минут
Цитата Сообщение от Бандит86 Посмотреть сообщение
что написано с 49 по 57 строку.
Так просто вычисляются координаты четырех вершин трапеции и соединяются линиями, пос этого рисуется окружность с вычисленным центром и радиусом, сплошная геометрия, а я не учитель этого предмета.
Бандит86
Новичок
0 / 0 / 0
Регистрация: 17.04.2012
Сообщений: 8
24.04.2012, 16:05  [ТС]     Нарисовать трапецию. Вокруг этой трапеции описать окружность   #8
а что значит вот это : a1:=b.x-a.x;...b точка x-это типо координата точки б по оси х?
Puporev
Модератор
43053 / 31424 / 2092
Регистрация: 18.05.2008
Сообщений: 67,248
24.04.2012, 16:08     Нарисовать трапецию. Вокруг этой трапеции описать окружность   #9
Код Pascal
1
2
3
a1:=b.x-a.x;
b1:=b.y-a.y;
c1:=ab.x*(b.x-a.x)+ab.y*(b.y-a.y);
Это такие формулы вычисления коэффициентов прямой вида ax+by+c=0 проведенной через 2 точки с координатами a.x,a,y,b.x,b.y
Бандит86
Новичок
0 / 0 / 0
Регистрация: 17.04.2012
Сообщений: 8
24.04.2012, 16:34  [ТС]     Нарисовать трапецию. Вокруг этой трапеции описать окружность   #10
а вот в 21 и 22 строке что там вычисляется?

Добавлено через 5 минут
а все понял)))
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.05.2012, 15:19    Нарисовать трапецию. Вокруг этой трапеции описать окружность

Еще ссылки по теме:

Turbo Pascal Треугольник и окружность. Нарисовать и определить длину радиуса окружности,чтобы треугольник был вписан в окружность

Pascal ABC Нарисовать трапецию, которая будет двигаться от стенки до стенки, длины сторон трапеции задаются пользователем

Pascal ABC Нарисовать трапецию и квадратик 50 на 50

Pascal ABC Нарисовать красную окружность в центре экрана

Бандит86
Новичок
0 / 0 / 0
Регистрация: 17.04.2012
Сообщений: 8
02.05.2012, 15:19  [ТС]     Нарисовать трапецию. Вокруг этой трапеции описать окружность   #11
а в виде блок схем не сможете помочь?
Yandex
Объявления
02.05.2012, 15:19    Нарисовать трапецию. Вокруг этой трапеции описать окружность
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать новую тему
Опции темы

Текущее время: 14:18. Часовой пояс GMT +4.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.7 PL3
Copyright ©2000 - 2014, vBulletin Solutions, Inc.