Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

функция, определяющая сколько точек вошло в треугольник

19K
03 ноября 2006 года
freejaile
9 / / 03.11.2006
Напишите функцию, опpеделяющую, сколько точек c кооpдинатами (X,Y) из полученного графика функции Y = 1.2*x*х*х - 8*x + sqrt(x+1) + 3 попадает
внутpь области тpеугольника; 3 вершины задаются пользователем (гpаницы входят в состав области)

[COLOR=blue]Pascal[/COLOR]
3.2K
03 ноября 2006 года
Sania
186 / / 28.10.2006
Скорее всего бесконечное множество
19K
03 ноября 2006 года
freejaile
9 / / 03.11.2006
[QUOTE=Sania]Скорее всего бесконечное множество[/QUOTE]
там ещё было условие сначала вывести таблицу значений, причем мнимальное и максимальное значения вводятся пользователем (табулирование функции, вобщем). но у меня конкретно вопрос возник, какое условие взять при определении области,

т.е. как выразить стороны треугольника?
6.3K
05 ноября 2006 года
Neutral
76 / / 13.12.2005
Если твой график пересекает хотя бы одну сторону треугольника - то точек будет бесконечно много, если не пересекает - то ни одной. А вобще не совсем понятно условие. Напиши нормально, тогда может и существенно помогут. Удачи.
3.2K
05 ноября 2006 года
Sania
186 / / 28.10.2006
[QUOTE=Neutral]Если твой график пересекает хотя бы одну сторону треугольника...[/QUOTE]
Еще может быть одна точка, если пересекает вершину...
19K
05 ноября 2006 года
freejaile
9 / / 03.11.2006
[QUOTE=Neutral]Если твой график пересекает хотя бы одну сторону треугольника - то точек будет бесконечно много, если не пересекает - то ни одной. А вобще не совсем понятно условие. Напиши нормально, тогда может и существенно помогут. Удачи.[/QUOTE]
"там ещё было условие сначала вывести таблицу значений" ;) т.е. понятно, что пользоваель ввел какие-то значения (не бесконечно много) и из них уже программа должна выбирать, что входит в обл.а что нет. ну и считать общее кол-во
3.2K
05 ноября 2006 года
Sania
186 / / 28.10.2006
[QUOTE=freejaile]т.е. понятно, что пользоваель ввел какие-то значения [/QUOTE]
Не очень понятно, раз переспросили :)
Берешь двумерный массив
Читаешь X, вычисляешь Y, смотришь, скока точек вошло, как определить входит ли точка в треугольник смотри
выше.
19K
05 ноября 2006 года
freejaile
9 / / 03.11.2006
я вот думаю, можно же как-то стороны треугольника выразить в этом случае? чтоб на заморачиваться с площадью..но именно нужно не длины сторон, а как бы графики прямых, из которых состоит треугольник
3.2K
05 ноября 2006 года
Sania
186 / / 28.10.2006
[QUOTE=freejaile]но именно нужно не длины сторон, а как бы графики прямых, из которых состоит треугольник[/QUOTE]
И определять, с какой стороны от прямой лежит точка... три раза?
Особенно красиво с прямыми получается для стороны, параллельной OY.
:)
242
05 ноября 2006 года
Оlga
2.2K / / 04.02.2006
[COLOR=red]все просьбы написания программ/функций вместо вас постим в разделе Студенты.[/COLOR]
19K
05 ноября 2006 года
freejaile
9 / / 03.11.2006
[QUOTE=Sania]Берешь двумерный массив[/QUOTE]
эм..кстати, эту задачу нам дали для отработки циклов ;) можно же и без массивов эту задачку сделать?))
6.3K
06 ноября 2006 года
Neutral
76 / / 13.12.2005
Действительно, площади считать сдесь наиболее удобно и тем более в чем проблема? Не тебе же их считать, только раз формулы вывести и все. Уравнения сторон треугольника тоже можно вывести, но смысл?
6.3K
06 ноября 2006 года
Neutral
76 / / 13.12.2005
[QUOTE=freejaile]эм..кстати, эту задачу нам дали для отработки циклов ;) можно же и без массивов эту задачку сделать?))[/QUOTE]

Конечно можно, ты просто в цикле считываешь x вычисляешь y проверяешь внутри ли точка и выводишь в таблицу строку, снова считываешь и т.д.
19K
04 декабря 2006 года
freejaile
9 / / 03.11.2006
И правда с помощью площадей оказалось вычислить легче всего)
Вот решила написать, что примерно должно получица, вдруг кому ещё понадобица))
Код:
program P;
var T1,T2,T3,T11,T22,T33,p,p1,p2,p3,PL1,PL2,PL3,PL,y,x,y1,x1,y2,x2,y3,x3,k: real;
begin
{длины дополнительных линий треугольника, т.е. от заданной точки до вершин треуг.}
T11:=sqrt(sqr(x-x1)+sqr(y-y1));
T22:=sqrt(sqr(x-x2)+sqr(y-y2));
T33:=sqrt(sqr(x-x3)+sqr(y-y3));
{полупериметры треугольников, образованных дополнительными линиями и сторонами основного треугольника}
p1:=(T1+T11+T22)/2;
p2:=(T2+T22+T33)/2;
p3:=(T3+T11+T33)/2;
{площади дополнительных треугольников}
PL1:=sqrt(p1*(p1-T1)*(p1-T11)*(p1-T22));
PL2:=sqrt(p2*(p2-T2)*(p2-T22)*(p2-T33));
PL3:=sqrt(p3*(p3-T3)*(p3-T11)*(p3-T33));
{вводите вершины треугольника}
k:=0;
{определяетеуравнения прямых, составляющих основной треугольник; полупериметр и площадь треугольника аналогично тому, что выше проделано для дополнительного}
{задаете функцию}
{главное условие, подсчитывающее кол-во точек, входящ.в обл}
if PL-(PL1+PL2+PL3)<0.00001 then k:=k+1;
выводите полученный результат}
end.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог