Пусть даны координаты трех вершин прямоугольника. Определите координаты четвертой вершины - 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.
Объяснение кода листинга программы
- Ввод координат трех вершин прямоугольника с помощью функции readln().
- Проверка, является ли прямоугольник прямоугольным треугольником с помощью формулы Герона.
- Если прямоугольник не является прямоугольным треугольником, выводится сообщение об ошибке.
- Если прямоугольник является прямоугольным треугольником, вычисляются координаты четвертой вершины с помощью формулы.
- Рисуется прямоугольник с помощью функций circle() и textout().
- Выводятся координаты четвертой вершины с помощью функции textout().
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д