С Новым годом! Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/75: Рейтинг темы: голосов - 75, средняя оценка - 4.81
codofag

Определите что представляет из себя четырехугольник: ромб, прямоугольник, квадрат, трапеция

01.06.2012, 01:44. Показов 14582. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста,Даны координаты вершин четырехугольника Составить программу для определения вида Определите один из видов: ромб, прямоугольник, квадрат, трапеция .Заранее спасибо.
Вот эта программа не работает,точнее не всегда правильно определяет
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
program lab6_2;
uses crt;
     var x1,x2,x3,x4,y1,y2,y3,y4: integer;
         kvadr: boolean;
         l1,l2,l3,l4,l5,d,k1,k2,k3,k4: real;
BEGIN
 
     writeln('введите координаты первой вершины');
     readln(x1,y1);
     writeln('введите координаты второй вершины');
     readln(x2,y2);
     writeln('введите координаты третьей вершины');
     readln(x3,y3);
     writeln('введите координаты четвертой вершины');
     readln(x4,y4);
     l1:=sqrt(sqr(x1-x1)+sqr(y2-y1));
     l2:=sqrt(sqr(x3-x2)+sqr(y3-y2));
     l3:=sqrt(sqr(x3-x4)+sqr(y3-y4));
     l4:=sqrt(sqr(x4-x1)+sqr(y4-y1));
     l5:=sqrt(sqr(x2-x4)+sqr(y2-y4));
 
 
     d:=sqrt(sqr(x3-x1)+sqr(y3-y1));
     if (l1=l2) and (l2=l3) and (l3=l4) and (sqr(l5)+sqr(l4)=4*sqr(l1))then
 
 
        writeln('Четырехугольник является квадратом');
 
     if (l1=l2) and (l2=l3) and (l3=1) and (4*sqrt(2)<>d) then
        writeln('Четырехугольник является ромбом');
     if((l1<>l4) and (l3<>l4)) and ((x4-x1)*(y3-y2)=(x3-x2)*(y1-y4)) or ((x2-x1)*(y4-y3)=(x4-x3)*(y2-y4)) then
     writeln('Четырехугольник является трапецией');
END.
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.06.2012, 01:44
Ответы с готовыми решениями:

Объявить систему классов: Точка, Прямоугольник, Квадрат, Ромб, Трапеция, Треугольник, Четырехугольник
Необходимо создать систему классов: Точка, Прямоугольник, Квадрат, Ромб, Трапеция, Треугольник, Многоугольник. А также определить методы,...

Множественное наследование: прямоугольник, квадрат, ромб, параллелограмм
Помогите, пожалуйста, разработать иерархию. В дальнейшем надо реализовать несколько методов, среди которых изменение размера и...

Определить тип параллелограмма (ромб, прямоугольник или квадрат)
Задача 1. Задан параллелограмм со сторонами a, b и углом α между ними. Определить тип параллелограмма (ромб, прямоугольник или квадрат),...

1
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
01.06.2012, 08:20
Вот посмотри, как-то писал.

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
uses crt;
const t=0.0001;
function Dlina(x1,y1,x2,y2:integer):real;
begin
Dlina:=sqrt(sqr(x1-x2)+sqr(y1-y2));
end;
function IsParl(x1,y1,x2,y2,x3,y3,x4,y4:integer):boolean;
begin
IsParl:=(y2-y1)*(x4-x3)=(y4-y3)*(x2-x1);
end;
var x1,y1,x2,y2,x3,y3,x4,y4:integer;
    ab,bc,cd,da,ac,bd:real;
begin
clrscr;
writeln('Введите последовательно координаты 4х точек:');
write('A:  ');readln(x1,y1);
write('B:  ');readln(x2,y2);
write('C:  ');readln(x3,y3);
write('D:  ');readln(x4,y4);
ab:=Dlina(x1,y1,x2,y2);
bc:=Dlina(x2,y2,x3,y3);
cd:=Dlina(x3,y3,x4,y4);
da:=Dlina(x4,y4,x1,y1);
ac:=Dlina(x1,y1,x3,y3);
bd:=Dlina(x2,y2,x4,y4);
{обе пары не параллельны}
if not IsParl(x1,y1,x2,y2,x3,y3,x4,y4)and not IsParl(x2,y2,x3,y3,x1,y1,x4,y4)
   then write('Произвольный четырехугольник')
{одна пара параллельна, вторая нет}
else if (IsParl(x1,y1,x2,y2,x3,y3,x4,y4)and not IsParl(x2,y2,x3,y3,x1,y1,x4,y4))
     or (not IsParl(x1,y1,x2,y2,x3,y3,x4,y4) and IsParl(x2,y2,x3,y3,x1,y1,x4,y4))
   then write('Трапеция')
{обе пары параллельны}
else if IsParl(x1,y1,x2,y2,x3,y3,x4,y4)and IsParl(x2,y2,x3,y3,x1,y1,x4,y4) then
 begin
  {стороны не равны и диагонали не равны}
  if ((abs(ab-bc)>t)and(abs(ac-bd)>t)) then write('Параллелограмм')
  {стороны не равны, а диагонали равны}
  else if ((abs(ab-bc)>t)and(abs(ac-bd)<t)) then write('Прямоугольник')
  {стороны равны, а диагонали не равны}
  else if ((abs(ab-bc)<t)and(abs(ac-bd)>t)) then write('Ромб')
  {стороны равны и диагонали равны}
  else if ((abs(ab-bc)<t)and(abs(ac-bd)<t)) then write('Квадрат');
 end;
readln
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.06.2012, 08:20
Помогаю со студенческими работами здесь

Построение изображения заказанного четырехугольника (параллелограмм, прямоугольник, ромб, квадрат)
Построение изображение заказанного четырехугольника (параллелограмм, прямоугольник, ромб, квадрат).

Зданы координаты вершин четырёхугольника. Определить его тип:прямоугольник , паралелограм, трапеция , квадрат, произвольный
Зданы координаты вершин четырёхугольника. Определить его тип:прямоугольник , паралелограм, трапеция , квадрат, произвольный. Помогите...

Как доказать, что данный четырехугольник - ромб?
Как доказать что четырехугольник с вершинами A(-5 ,-2) B( -4 ,-5) C (3, 6) D(2, -1)-ромб.

Записать программу, которая по выбранному названию фигуры (тре- угольник, квадрат, ромб, прямоугольник и т
Записать программу, которая по выбранному названию фигуры (тре- угольник, квадрат, ромб, прямоугольник и т.п.) выводит формулу, по ко-...

Union что из себя представляет?
Читал много книг и там про него не чего не было сказано, парни объясните мне пожалуйста для чего он?


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru