Пусть даны координаты трех вершин прямоугольника. Определите координаты четвертой вершины - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Пусть даны координаты трех вершин прямоугольника. Определите координаты четвертой вершины. Сделайте рисунок. Помогите пожайлуста написать программу. Очень прошу ,желательно сегодня . Нужно уже завтра показать.Заранее спасибо огромное.

Решение задачи: «Пусть даны координаты трех вершин прямоугольника. Определите координаты четвертой вершины»

textual
Листинг программы
uses crt,graphABC;
var x1,y1,x2,y2,x3,y3,x4,y4,k:integer;
    x11,y11,x12,y12,x13,y13:integer;//для построения прямоугольника
    s1,s2:string;
begin
clrscr;
repeat
writeln('Введите координаты 3х вершин прямоугольника от 100 до 450:');
readln(x1,y1,x2,y2,x3,y3); //чтобы 4-я вершина вошла на экран
until(x1>=100)and(x1<=400)and(y1>=100)and(y1<=400)
and (x2>=100)and(x2<=400)and(y2>=100)and(y2<=400)
and(x3>=100)and(x3<=400)and(y3>=100)and(y3<=400);
k:=0;
//если первая точка вершина прямого угла
if (x2-x1)*(x3-x1)+(y2-y1)*(y3-y1)=0 then
 begin
  x4:=x3+x2-x1; y4:=y3+y2-y1;//координаты 4 точки
  x11:=x1; y11:=y1;//координаты 3-х вершин прямоугольника
  x12:=x2; y12:=y2;
  x13:=x3;y13:=y3;
 end
//если вторая
else if (x1-x2)*(x3-x2)+(y1-y2)*(y3-y2)=0 then
 begin
  x4:=x3+x1-x2; y4:=y3+y1-y2;
  x11:=x2; y11:=y2;
  x12:=x1; y12:=y1;
  x13:=x3;y13:=y3;
 end
//если третья
else if (x1-x3)*(x2-x3)+(y1-y3)*(y2-y3)=0 then
 begin
  x4:=x2+x1-x3;  y4:=y2+y1-y3;
  x11:=x3; y11:=y3;
  x12:=x2; y12:=y2;
  x13:=x1;y13:=y1;
 end
//если нет прямого угла
else k:=1;
hidecursor;
setwindowsize(500,500);
clearwindow;
//рисуем 3 вершины
setbrushcolor(clBlue);
circle(x1,y1,3);
circle(x2,y2,3);
circle(x3,y3,3);
//выводим координаты
setbrushstyle(bsClear);
setfontcolor(clBlue);
str(x1,s1);
str(y1,s2);
textout(x1+10,y1,'1-('+s1+','+s2+')');
str(x2,s1);
str(y2,s2);
textout(x2+10,y2,'2-('+s1+','+s2+')');
str(x3,s1);
str(y3,s2);
textout(x3+10,y3,'3-('+s1+','+s2+')');
if k=1 then //если не прямоугольник
 begin
  setbrushstyle(bsClear); //выводим сообщение
  setfontcolor(clBlack);
  textout(0,0,'Данные точки не вершины прямоугольника');
 end
else //прямоугольник
 begin
  setbrushcolor(clRed); //4 точка
  circle(x4,y4,3);
  str(x4,s1);
  str(y4,s2);
  setbrushstyle(bsClear);
  setfontcolor(clRed);
  textout(x4+10,y4,'4-('+s1+','+s2+')');//координаты
  setpencolor(clBlue);
  moveto(x11,y11);
  lineto(x12,y12);
  lineto(x4,y4);
  lineto(x13,y13);
  lineto(x11,y11);
  setfontcolor(clBlack);//сообщение
  textout(100,10,'Координаты четвертой вершины '+s1+'  '+s2)
 end;
 
end.

Объяснение кода листинга программы

  1. Ввод координат трех вершин прямоугольника с помощью функции readln().
  2. Проверка, является ли прямоугольник прямоугольным треугольником с помощью формулы Герона.
  3. Если прямоугольник не является прямоугольным треугольником, выводится сообщение об ошибке.
  4. Если прямоугольник является прямоугольным треугольником, вычисляются координаты четвертой вершины с помощью формулы.
  5. Рисуется прямоугольник с помощью функций circle() и textout().
  6. Выводятся координаты четвертой вершины с помощью функции textout().

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.538 из 5
Похожие ответы