Форум программистов, компьютерный форум, киберфорум
Наши страницы

Pascal (Паскаль)

Войти
Регистрация
Восстановить пароль
 
nkSuefa
0 / 0 / 0
Регистрация: 18.01.2018
Сообщений: 26
#1

У квадрата ABCD на плоскости известны координаты двух противоположных вершин - точек A и C. Найти координаты точек B и - Pascal

18.01.2018, 10:42. Просмотров 239. Ответов 3
Метки нет (Все метки)

У квадрата ABCD на плоскости известны координаты двух противоположных вершин -
точек A и C. Найти координаты точек B и D. Расположение квадрату произвольное: его
стороны не обязательно параллельны координатным осям.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.01.2018, 10:42
Я подобрал для вас темы с готовыми решениями и ответами на вопрос У квадрата ABCD на плоскости известны координаты двух противоположных вершин - точек A и C. Найти координаты точек B и (Pascal):

Найти периметр четырехугольника ABCD, если известны координаты его вершин - Pascal
Найти периметр четырехугольника АВСD, если известны координаты его вершин(xa,ya,xb,yb,xc,yc). Координаты вводятся с клавиатуры

Координаты точек плоскости - Pascal
1. Даны две последовательности целых чисел а1, а2,..., аn и b1, b2,..., bn. Преобразовать последовательность b1, b2,..., bn по следующему...

В одномерном массиве с четным количеством элементов (2N) находятся координаты N точек плоскости - Pascal
В одномерном массиве с четным количеством элементов (2N) находятся координаты N точек плоскости. Они располагаются в следующем порядке: x1,...

В одномерных массивах Х и Y одинакового размера n хранятся координаты n точек плоскости. Определить, сколько треугольников с вершинами в данных точках - Pascal
В одномерных массивах Х и Y одинакового размера n хранятся координаты n точек плоскости. Определить, сколько треугольников с вершинами в...

Известны координаты вершин треугольника - Pascal
Известны координаты вершин треугольника ABC. Определить принадлежит ли вводимая точка данному треугольнику. (FreePascal)

Составить программу, которая рассматривает 6 чисел как координаты 3 точек на плоскости и выводит лежат ли они на одной прямой (времени мало!) - Pascal
UPD. Задача по сабжу была легкой, только было нудное условие одно. Осталась еще 1. Привет всем, срочно нужна помощь. Буквально год...

3
Puporev
Модератор
54037 / 41670 / 14750
Регистрация: 18.05.2008
Сообщений: 97,986
18.01.2018, 12:52 #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
var x1,y1,x2,y2,x3,y3,x4,y4,xc,yc,d,u:real;
begin
writeln('Введите координаты вершины А');
readln(x1,y1);
writeln('Введите координаты вершины C, противолежащей вершине А');
readln(x3,y3);
//координаты центра
xc:=(x1+x3)/2;
yc:=(y1+y3)/2;
//половина длины диагонали
d:=0.5*sqrt(sqr(x1-x3)+sqr(y1-y3));
if x1=x3 then
 begin
  x2:=xc-d;
  y2:=yc;
  x4:=xc+d;
  y4:=yc;
 end
else if y1=y3 then
 begin
  x2:=xc;
  y2:=yc-d;
  x4:=xc;
  y4:=yc+d;
 end
else
 begin
  u:=arctan(abs(y1-yc)/(xc-x1));
  x2:=xc+d*cos(u+pi/2);
  y2:=yc-d*sin(u+pi/2);
  x4:=xc+d*cos(u-pi/2);
  y4:=yc-d*sin(u-pi/2);
 end;
writeln('x2=',x2:0:1,' y2=',y2:0:1);
writeln('x4=',x4:0:1,' y4=',y4:0:1);
end.
0
Cyborg Drone
Модератор
5490 / 3099 / 1286
Регистрация: 17.08.2012
Сообщений: 10,017
18.01.2018, 19:40 #3
Можно проще. Если перенести начало координат в пересечение диагоналей квадрата, то закономерность координат вершин квадрата станет очевидной.
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
var
  xa, ya, xb, yb, xc, yc, xd, yd, x0, y0, xv, yv: real;
 
begin
  writeln('Введите координаты вершины А:');
  write('xa = ');
  readln(xa);
  write('ya = ');
  readln(ya);
  writeln('Введите координаты вершины C, противолежащей вершине А:');
  write('xc = ');
  readln(xc);
  write('yc = ');
  readln(yc);
  x0 := (xa + xc) / 2; //координаты пересечения диагоналей
  y0 := (ya + yc) / 2;
  xv := xa - x0; //вектор одной из вершин относительно пересечения диагоналей
  yv := ya - y0;
  xb := x0 - yv; //координаты вершин B и D
  yb := y0 + xv;
  xd := x0 + yv;
  yd := y0 - xv;
  writeln('xb = ', xb :0:5, ', yb = ', yb :0:5);
  writeln('xd = ', xd :0:5, ', yd = ', yd :0:5);
  readln
end.
0
Puporev
Модератор
54037 / 41670 / 14750
Регистрация: 18.05.2008
Сообщений: 97,986
18.01.2018, 19:46 #4
Вертелось в голове это решение, но что-то заклинило.

Не по теме:

и потом простые решения для средних умов.

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.01.2018, 19:46
Привет! Вот еще темы с ответами:

Даны координаты двух точек Определить какая из них находится дальше от начала координат - Pascal
Даны координаты двух точек Определить какая из них находится дальше от начала координат

Найти координаты точек пересечения прямой и окружности - Pascal
1) на цикл if Найти координаты точек пересечения прямой y=kx+b и окружности радиусом R и с центром в начале координат. В каких...

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

Найти целочисленные координаты точек, попадающих в круг радиуса R с центром в точке Q (A,B) - Pascal
найти целочисленные координаты точек, попадающих в круг радиуса R с центром в точке Q (A,B)


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru