Понедельник, 03.02.2025
Pascal 4 All
[ · Новые сообщения · Участники · Правила форума · Поиск · RSS ]

 

  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: Seqular, Pavel  

Задача с графиком
ViRuSДата: Вторник, 25.11.2008, 04:34 | Сообщение # 1
Старый знакомый
Группа: Пользователи
Сообщений: 42
Репутация: 0
Замечания: 0%
Статус: Offline
Помогите плиз:

 
AlexanderДата: Вторник, 25.11.2008, 04:42 | Сообщение # 2
Всевышний
Группа: Модераторы
Сообщений: 475
Репутация: 16
Замечания: 0%
Статус: Offline
Недавно обсуждался алгоритм точки в треугольнике, здесь 2 треугольника.

Скажем дружно- нафиг нужно!
 
ViRuSДата: Вторник, 25.11.2008, 06:32 | Сообщение # 3
Старый знакомый
Группа: Пользователи
Сообщений: 42
Репутация: 0
Замечания: 0%
Статус: Offline
Можешь помочь мне, просто по вариантам надавали и это надо скоро сдавать, плиз!
 
SeqularДата: Вторник, 25.11.2008, 06:48 | Сообщение # 4
Хранитель
Группа: Администраторы
Сообщений: 859
Репутация: 35
Статус: Offline
ViRuS, поищи алгоритм принадлежности точки треугольнику на форуме. Ну и представь, что у тебя 2 их. Соответственно тебе нужно взять t-конорму.

Поддерживаю также проект сообщество молодых сисадминов
 
ViRuSДата: Вторник, 25.11.2008, 06:53 | Сообщение # 5
Старый знакомый
Группа: Пользователи
Сообщений: 42
Репутация: 0
Замечания: 0%
Статус: Offline
Quote (Seqular)
Соответственно тебе нужно взять t-конорму.

конорму --а что это ?

 
SeqularДата: Вторник, 25.11.2008, 07:22 | Сообщение # 6
Хранитель
Группа: Администраторы
Сообщений: 859
Репутация: 35
Статус: Offline
ViRuS, Ну для проверки на принадлежность к одному и к другому, нужно использовать оператор OR, т.е. сумму. По другому я ее назвал конормой.

Поддерживаю также проект сообщество молодых сисадминов
 
ViRuSДата: Среда, 26.11.2008, 06:28 | Сообщение # 7
Старый знакомый
Группа: Пользователи
Сообщений: 42
Репутация: 0
Замечания: 0%
Статус: Offline
Seqular, biggrin а, ясно

Добавлено (25.11.2008, 23:27)
---------------------------------------------

Quote (Alexander)
Недавно обсуждался алгоритм точки в треугольнике, здесь 2 треугольника.

Полистал форум чёт такой темы не нарыл, мож ты помнишь где она, можешь ссылкой поделиться?

Добавлено (25.11.2008, 23:28)
---------------------------------------------
Alexander, а вот, вы наверное про ЭТУ ТЕМУ имели ввиду?

 
AlexanderДата: Среда, 26.11.2008, 09:04 | Сообщение # 8
Всевышний
Группа: Модераторы
Сообщений: 475
Репутация: 16
Замечания: 0%
Статус: Offline
да

Скажем дружно- нафиг нужно!
 
ViRuSДата: Четверг, 27.11.2008, 04:32 | Сообщение # 9
Старый знакомый
Группа: Пользователи
Сообщений: 42
Репутация: 0
Замечания: 0%
Статус: Offline
Ребят гляньте на правильность работы проги:

Code
Program number2;
var x,y,y1 : real;
begin
write ('Введите x:  ');
readln (x);
write ('Введите y:  ');
readln (y);
if (x>=-2) and (x<1) then
  if ((y>=(x-1)/3) and (y<=1)) then
  if (x<=-1) and (y<=(2*x+3)) or ((x>-1) and (x<0) and (y<=abs(x))) or (x>=0) and (y<=0) then
  y1:=1;
if y1=1 then
writeln ('’Точка попадает в  заданную область.')

else
writeln ('’Точка не попадает в  заданную область.');
readln;
end.
 
AlexanderДата: Пятница, 28.11.2008, 01:14 | Сообщение # 10
Всевышний
Группа: Модераторы
Сообщений: 475
Репутация: 16
Замечания: 0%
Статус: Offline
условия нема.

Скажем дружно- нафиг нужно!
 
ViRuSДата: Пятница, 28.11.2008, 05:07 | Сообщение # 11
Старый знакомый
Группа: Пользователи
Сообщений: 42
Репутация: 0
Замечания: 0%
Статус: Offline
Alexander, сделал условие, смотри smile
 
AlexanderДата: Пятница, 28.11.2008, 05:29 | Сообщение # 12
Всевышний
Группа: Модераторы
Сообщений: 475
Репутация: 16
Замечания: 0%
Статус: Offline
не, тогда надо так:
Code
if y>0 then
     проверяем попадает ли в верхний треугольник
else if y<0 then
     проверяем попадает ли в нижний треугольник
else
     if (x>-1.5) and (x<0) then
        ...


Скажем дружно- нафиг нужно!

Сообщение отредактировал Alexander - Пятница, 28.11.2008, 05:44
 
ViRuSДата: Пятница, 28.11.2008, 05:38 | Сообщение # 13
Старый знакомый
Группа: Пользователи
Сообщений: 42
Репутация: 0
Замечания: 0%
Статус: Offline
Alexander, это вместо первого условия?

Можешь написать подправленную задачу?

Вот сделал скрин понагляднее


Сообщение отредактировал ViRuS - Пятница, 28.11.2008, 05:41
 
AlexanderДата: Пятница, 28.11.2008, 05:43 | Сообщение # 14
Всевышний
Группа: Модераторы
Сообщений: 475
Репутация: 16
Замечания: 0%
Статус: Offline
Quote (ViRuS)
Можешь написать подправленную задачу?

пока её не подправлять, а заново писать надо. А между прочим в той теме Van_der_Vlaad написал полный алгоритм определяющий попадание точки в треугольник, только скобки забыл.


Скажем дружно- нафиг нужно!
 
ViRuSДата: Пятница, 28.11.2008, 21:53 | Сообщение # 15
Старый знакомый
Группа: Пользователи
Сообщений: 42
Репутация: 0
Замечания: 0%
Статус: Offline
Alexander,
Code
Begin
Var x,y,x1,y1,x2,y2,x3,y3,s1,s2,s3:real;  
begin  

readln(x,y);    {вводим координаты точки}  
readln(x1,y1);  
readln(x2,y2); {вводим координаты вершин треугольника}  
readln(x3,y3);  
s1:=(y2-y1)*(x-x1)-(x2-x1)*(y-y1);  
s2:=(y3-y2)*(x-x2)-(x3-x2)*(y-y2); {три выражения удвоенных площадей}  
s3:=(y1-y3)*(x-x3)-(x1-x3)*(y-y3);  
if ((s1>0) and (s2>0) and (s3>0)) or ((s1<0) and (s2<0) and (s3<0))
then writeln('принадлежит треугольнику')  
else writeln('не принадлежит');
   
end.

Мне вот непонятно по той задаче:

Code
readln(x2,y2); {вводим координаты вершин треугольника}  
readln(x3,y3);

1) А почему тут вводятся координаты двух вершин? Надо ж трёх, ведь это треугольник.

2) Т.к. у мну два треугольника мне придётся делать как бы условие:

if ((x>=-1,5) and (x<=0) and (y>=0)) -это условие будет означать, что точка вверхнем треугольнике

if ((x>=-2) and (x<=1) and (y<0)) -а это условие то что точка попадёт в нижний

Поправь если не так!

 
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Copyright MyCorp © 2025
Используются технологии uCoz
javascript:;" rel="nofollow" onclick="loginPopupForm(); return false;