Найти способом Монте-Карло площадь треугольника, вершины которого имеют координаты (-1,0)
Найти способом Монте-Карло площадь треугольника, вершины которого имеют координаты (-1,0) ; (0,1) ; (1,0)
Подсказка : треугольник заключен в прямоугольник со гранями а=1 и b=2
Нужно в Паскале это сделать!!!
Помогите, пожалуйста...
И еще , учительница произнесла , что вроде как надобно модуль использовать...
Таня Бурейченко
1. Прямоугольник здесь ни к чему особо. 2. Хамско - пренебрежительное "училка" оставьте для общения в среде сходственных Для вас по воспитанию.
Galvaks Nikita
Извините, просто спеша так написала...
Маккар
Нина
Поможете сделать?
Hasiev Maksim
Во сейчас, не спеша, приведите все в порядок.
Пентисов
Владислав
Теснее все исправила)
1 ответ
Ева Щеголеева
Условие попадания точки M(x,y) в треугольник с обозначенными координатами вершин можно обрисовать системой неравенств:
Если положить в методе Монте-Карло x(-1,1), y(0,1) для вещественных х,y,
то площадь треугольника можно отыскать, как площадь прямоугольника, представленного в задании (она одинакова 2), умноженную на отношение количества точек, попавших в контур треугольника, к общему количеству точек.
// PascalABC.NET 3.0, сборка 1160 от 05.02.2016
begin
var n:=100000;
var k:=Range(1,n).Select(e-gt;Rec(2*Random()-1,Random())).
Where(e-gt;(e.Item2gt;=0) and (e.Item2lt;=e.Item1+1) and
(e.Item2lt;=1-e.Item1)).Count;
Writeln(2*k/n:0:3)
end.
Тестовое решение:
1.001
Если положить в методе Монте-Карло x(-1,1), y(0,1) для вещественных х,y,
то площадь треугольника можно отыскать, как площадь прямоугольника, представленного в задании (она одинакова 2), умноженную на отношение количества точек, попавших в контур треугольника, к общему количеству точек.
// PascalABC.NET 3.0, сборка 1160 от 05.02.2016
begin
var n:=100000;
var k:=Range(1,n).Select(e-gt;Rec(2*Random()-1,Random())).
Where(e-gt;(e.Item2gt;=0) and (e.Item2lt;=e.Item1+1) and
(e.Item2lt;=1-e.Item1)).Count;
Writeln(2*k/n:0:3)
end.
Тестовое решение:
1.001
Хвастова
Камилла
Если кому-то необходимо с Абс, можно так написать определение k:var k:=Range(1,n).Select(e->Rec(2*Random()-1,Random())). Where(e->(e.Item2>=0) and (e.Item2<=1-абс(e.Item1))).Count;
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Игорь 14 лет назад был на 8 лет моложе, чем его
Математика.
Два тела массами m1 и m2 находящие на расстоянии R друг
Физика.
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
Облако тегов