Модераторы: volvo877, Snowy, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите аписать программу на паскале 
:(
    Опции темы
Гость_Olegk
Дата 17.11.2004, 16:26 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











помогите пожалуста написать программу на паскале: в компьютер вводятся координаты x и y вершин двух треугольников, составить программу определяюшую их конгруентность.
  Вверх
Elfin
Дата 17.11.2004, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 28.10.2004

Репутация: нет
Всего: нет



А что такое конгруентность?
PM MAIL   Вверх
Ptica
Дата 17.11.2004, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 27.7.2004

Репутация: нет
Всего: 2



Конгруентность - это когда эти треугольники можно наложить друг на друга, и они совпадут. Вот только не помню, считаются ли конгруентными на плоскости два треугольника, являющиеся зеркальными отражениями друг друга. Если да, то достаточно вычислить длины сторон и сравнить. (Ну, к примеру).
PM MAIL   Вверх
Zero
Дата 17.11.2004, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



Гость_Olegk , во первых тебе нано было, создать эту тему, в разделе Паскаль.
Во вторых, я тоже не совсем понял, что такое конгруентность, но если это то что говорит
Ptica, то попнятнее напиши, смысл координат, а то X, Y ─ это неможет быть вершинами треугольников, надо чтобы было 3 вершины, и относительно какой плоскости их рассматривать???

Это сообщение отредактировал(а) Zero - 17.11.2004, 18:49
PM MAIL ICQ   Вверх
p0s0l
Дата 17.11.2004, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: нет
Всего: 112



Перенесено из раздела Дельфи


--------------------
С уважением, г-н Посол.
PM   Вверх
Elfin
Дата 17.11.2004, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 28.10.2004

Репутация: нет
Всего: нет



если конгруентные треугольники - это одинаковые треугольники, то решением может быть вот это:
Цитата

program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var raz,raz2,t1x1,t1x2,t1x3,t2x1,t2x2,t2x3,t1y1,t1y2,t1y3,t2y1,t2y2,t2y3: integer;

begin
writeln('Vvedite koordinati 1 vershini 1-go treugolnika 4erez probel');
readln(t1x1,t1y1);
writeln('Vvedite koordinati 2 vershini 1-go treugolnika 4erez probel');
readln(t1x2,t1y2);
writeln('Vvedite koordinati 3 vershini 1-go treugolnika 4erez probel');
readln(t1x3,t1y3);
writeln('Vvedite koordinati 1 vershini 2-go treugolnika 4erez probel');
readln(t2x1,t2y1);
writeln('Vvedite koordinati 2 vershini 1-go treugolnika 4erez probel');
readln(t2x2,t2y2);
writeln('Vvedite koordinati 3 vershini 1-go treugolnika 4erez probel');
readln(t2x3,t2y3);
raz:=abs(t1x1-t2x1);
raz2:=abs(t1y1-t2y1);
if (abs(t1x2-t2x2)=raz) and (abs(t1x3-t2x3)=raz) and
(abs(t1y2-t2y2)=raz2) and (abs(t1y3-t2y3)=raz2) then
writeln('treugolniki kongruentni')
else
writeln('treugolniki nekongruentni');
readln;
  { TODO -oUser -cConsole Main : Insert code here }
end.


Это сообщение отредактировал(а) Elfin - 17.11.2004, 20:31
PM MAIL   Вверх
Zero
Дата 17.11.2004, 23:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



Elfin, я смотрю, ты пишешь на английском языке, русским словами...
Совет: если хочеш чтобы, писалось по русски в паскале, то открой файл.pas через MS-Word, и при этом смени кодировку, на MS-Dos.

Это сообщение отредактировал(а) Zero - 17.11.2004, 23:42
PM MAIL ICQ   Вверх
Elfin
Дата 18.11.2004, 05:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 28.10.2004

Репутация: нет
Всего: нет



Просто лень было, как кодировку сменить я знаюsmile)
PM MAIL   Вверх
Ptica
Дата 18.11.2004, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 27.7.2004

Репутация: нет
Всего: 2



Sorry, но здесь чета не так...
до сих пор вопросов не было, а от сих...
Цитата
raz:=abs(t1x1-t2x1);
raz2:=abs(t1y1-t2y1);
if (abs(t1x2-t2x2)=raz) and (abs(t1x3-t2x3)=raz) and
(abs(t1y2-t2y2)=raz2) and (abs(t1y3-t2y3)=raz2) then

...есть вопросы. Итак, raz - это у нас расстояние по оси Х между первыми вершинами двух треугольников. А raz2 - это расстояние по оси У между этими же вершинами. И далее мы проверяем: если расстояние по оси Х между вторыми вершинами такое же, как между первыми, и расстояние по оси У между вторыми вершинами такое же, как между первыми, то они конгруентны. Это не совсем то. Возьмите треугольник (А,В,С) и разместите рядом с ним его же копию (А1,В1,С1), повернутую на 90 градусов. Очевидно, что расстояние [A-A1] не может быть таким же, как [B-B1]. Мне бы казалось, что нужно вычислить длины сторон обоих треугольников.
Код


l1_12 := sqrt(sqr(t1x1-t1x2)+sqr(t1y1-t1y2);
l1_13 := sqrt(sqr(t1x1-t1x3)+sqr(t1y1-t1y3);
l1_23 := sqrt(sqr(t1x2-t1x3)+sqr(t1y2-t1y3);

l2_12 := sqrt(sqr(t2x1-t2x2)+sqr(t2y1-t2y2);
l2_13 := sqrt(sqr(t2x1-t2x3)+sqr(t2y1-t2y3);
l2_23 := sqrt(sqr(t2x2-t2x3)+sqr(t2y2-t2y3);



а потом закатить жуткое сравнение:

Код

if (l1_12=l2_12) and (l1_13=l2_13) and (l1_23=l2_23)
  then // треугольники конгруентны

...и это только одна из возможных комбинаций. Надо перебрать все мыслимые комбинации сторон. Так что это, возможно, не самый лучший вариант. Возможно, имеет смысл совместить треугольники так, чтобы они имели одну общую вершину, а затем вращать второй треугольник вокруг этой вершины в надежде, что они совпадут. Но это вообще мрак.
...или я преувеличиваю?


PM MAIL   Вверх
Elfin
Дата 18.11.2004, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 28.10.2004

Репутация: нет
Всего: нет



Ptica
ты сказала, что когурентные треугольники - это те треугольники которые можно наложить друг на друга, я не знал что треугольник можно наложить на тот же треугольник, повернутый на 90 градусов... Но теперь я понял что такое "когурентные треугольники" а по сему прошу прощения за свой неправильный код, который определяет не когурентные (по всей видимости) треугольники, а равные...
Действительно, нужно считать через длины сторон... Вот по-моему безотказный вариант:
Цитата

program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var t1x1,t1x2,t1x3,t2x1,t2x2,t2x3,t1y1,t1y2,t1y3,t2y1,t2y2,t2y3: integer;
bbb: byte; a,b,c,a1,b1,c1: real;

procedure xxx(d1,d2: real);
begin
if d1=d2 then bbb:=bbb+1;
end;

begin
b:=0;
writeln('Vvedite koordinati 1 vershini 1-go treugolnika 4erez probel');
readln(t1x1,t1y1);
writeln('Vvedite koordinati 2 vershini 1-go treugolnika 4erez probel');
readln(t1x2,t1y2);
writeln('Vvedite koordinati 3 vershini 1-go treugolnika 4erez probel');
readln(t1x3,t1y3);
writeln('Vvedite koordinati 1 vershini 2-go treugolnika 4erez probel');
readln(t2x1,t2y1);
writeln('Vvedite koordinati 2 vershini 1-go treugolnika 4erez probel');
readln(t2x2,t2y2);
writeln('Vvedite koordinati 3 vershini 1-go treugolnika 4erez probel');
readln(t2x3,t2y3);
a := sqrt(sqr(t1x1-t1x2)+sqr(t1y1-t1y2));
b := sqrt(sqr(t1x1-t1x3)+sqr(t1y1-t1y3));
c := sqrt(sqr(t1x2-t1x3)+sqr(t1y2-t1y3));

a1 := sqrt(sqr(t2x1-t2x2)+sqr(t2y1-t2y2));
b1 := sqrt(sqr(t2x1-t2x3)+sqr(t2y1-t2y3));
c1 := sqrt(sqr(t2x2-t2x3)+sqr(t2y2-t2y3));
xxx(a, a1);
xxx(a, b1);
xxx(a, c1);
xxx(b, a1);
xxx(b, b1);
xxx(b, c1);
xxx(c, a1);
xxx(c, b1);
xxx(c, c1);
if bbb<3 then
writeln('treugolniki nekongruentni')
else
writeln('treugolniki kongruentni');
readln;
  { TODO -oUser -cConsole Main : Insert code here }
end.

PM MAIL   Вверх
Zero
Дата 18.11.2004, 22:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



Цитата
Ptica
ты сказала, что

Цитата
сказала

Вау, а я и не знал, что Ptica ─ девушка, а то принял бы активное участие!!! smile
PM MAIL ICQ   Вверх
Elfin
Дата 18.11.2004, 22:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 28.10.2004

Репутация: нет
Всего: нет



Ptica - типа птица, я так понимаю, что слово "ПТИЦА" женского рода, соответсвенно и человек с этим ником тоже скорее всего женского родаsmile))
PM MAIL   Вверх
Elfin
Дата 19.11.2004, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 28.10.2004

Репутация: нет
Всего: нет



Ну вот, птица счастья улетела... Птица, ты где??? скажи хоть я правильно решил задачу или нет?
PM MAIL   Вверх
Pakshin A. S.
  Дата 19.11.2004, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: нет
Всего: 61




 ! 
 
Давайте не переходить на флейм...
smile

Это сообщение отредактировал(а) Pakshin A. S. - 19.11.2004, 15:32
PM   Вверх
Zero
Дата 20.11.2004, 00:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



Да ладно тебе, Pakshin A. S.... smile
Elfin просто прикалывается!!! smile
И кстати, что-то я не обратил внимания...Ведь сообщение посылала не птица.

Это сообщение отредактировал(а) Zero - 20.11.2004, 00:55
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0567 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.