Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 23.10.2012
Сообщений: 10

Нарисовать треугольник на экране,около которого описывается окружность

08.12.2013, 00:22. Показов 3459. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написать программу, в которой на экране рисуется треугольник предварительно заданным координатам вершин
(-100<x1,y1,x2,y2,x3,y3<100).Затем около треугольника описывается окружность.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.12.2013, 00:22
Ответы с готовыми решениями:

Нарисовать окружность, описанную около треугольника
Нарисовать окружность,описанную около треугольника. Есть определенная формула,или методом подбора можно нарисовать? С помощью...

Нарисовать окружность, треугольник и касательные
Из вершины С треугольника ABС, как из центра, описаны концентрические окружности, к которым из точек A и B проведены касательные....

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

1
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
08.12.2013, 10:24
Лучший ответ Сообщение было отмечено Людда как решение

Решение

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
uses crt,graphABC;
var x0,y0:integer;{Центр экранных координат}
    x1,y1,x2,y2,x3,y3:integer;{координаты вершин треугольника}
    x4,y4,x5,y5:integer;{координаты середин двух сторон }
    a1,b1,c1,a2,b2,c2:real;{коэффициенты двух уравнений прямых}
    xo,yo,r:integer;{координаты центра и радиус окружности}
    i:integer;{счетчик цикла}
    p:integer;{площадь треугольника при проверке ввода}
    ms:real;{масштаб при переводе реальных координат в экранные}
    s:string;{строка для вывода чисел}
begin
repeat
writeln('Координаты вершин [-100..100]:');
repeat
readln(x1,y1,x2,y2,x3,y3);
until(x1>=-100)and(x1<=100)and(y1>=-100)and(y1<=100)
and(x2>=-100)and(x2<=100)and(y2>=-100)and(y2<=100)
and(x3>=-100)and(x3<=100)and(y3>=-100)and(y3<=100);
p:=(x1-x3)*(y2-y3)-(x2-x3)*(y1-y3);
if p=0 then writeln('Точки на 1 прямой, повторите ввод');
until p<>0;
clearwindow;
hidecursor;
x0:=windowwidth div 2;
y0:=windowheight div 2;
ms:=(y0-20)/100;
line(x0-round(100*ms)-10,y0,x0+round(100*ms)+10,y0);{оси}
line(x0,10,x0,2*y0-10);
for i:=1 to 10 do{максимальное количество засечек в одну сторону}
 begin
  line(x0-3,y0-round(i*ms*10),x0+3,y0-round(i*ms*10));{засечки на оси У}
  line(x0-3,y0+round(i*ms*10),x0+3,y0+round(i*ms*10));
  {подпись оси У}
  str(i*10,s);
  textout(x0-35,y0-round(i*ms*10),s);{соответственно засечкам}
  textout(x0-40,y0+round(i*ms*10),'-'+s);
  line(x0+round(i*ms*10),y0-3,x0+round(i*ms*10),y0+3); {засечки на оси Х}
  line(x0-round(i*ms*10),y0-3,x0-round(i*ms*10),y0+3);
  {подпись оси Х}
  if i mod 2=0 then
   begin
    textout(x0+round(i*ms*10)+5,y0+10,s);
    textout(x0-round(i*ms*10)+5,y0+10,'-'+s);
   end\
 end;
{центр}
textout(x0-15,y0+10,'0');
{подписи концов осей}
textout(x0+round(100*ms),y0-20,'X');
textout(x0+5,10, 'Y');
{serediny storon}
x4:=(x1+x2) div 2;
y4:=(y1+y2) div 2;
x5:=(x1+x3) div 2;
y5:=(y1+y3) div 2;
{koord. centra}
a1:=x2-x1;
b1:=y2-y1;
c1:=x4*(x2-x1)+y4*(y2-y1);
a2:=x3-x1;
b2:=y3-y1;
c2:=x5*(x3-x1)+y5*(y3-y1);
xo:=round((c1*b2-c2*b1)/(a1*b2-a2*b1));
yo:=round((a1*c2-a2*c1)/(a1*b2-a2*b1));
r:=round(sqrt(sqr(x1-xo)+sqr(y1-yo)));
setpencolor(clBlue);
line(x0+round(x1*ms),y0-round(y1*ms),x0+round(x2*ms),y0-round(y2*ms));
line(x0+round(x2*ms),y0-round(y2*ms),x0+round(x3*ms),y0-round(y3*ms));
line(x0+round(x1*ms),y0-round(y1*ms),x0+round(x3*ms),y0-round(y3*ms));
delay(1000);
setpencolor(clRed);
setbrushstyle(bsClear);
circle(x0+round(xo*ms),y0-round(yo*ms),round(r*ms)+1);
end.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.12.2013, 10:24
Помогаю со студенческими работами здесь

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

Нарисовать на экране окружность в случайном месте и случайным цветом
Составить прогрмамму рисующую на экране окружность в случайном месте,случайным цветом

Рисование с помощью мыши. Нарисовать окружность вписанную в треугольник
Нужно нарисовать окружность вписанную в треугольник , а именно- зажимаем кнопку мыши и двигаем-рисуется линия, отпускаем-не рисуется.Это...

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

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru