![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 25.01.2018
Сообщений: 10
|
![]()
Помогите написать программу. Площядь произвольного 6 угольника с помощью функций. Саму суть я понял надо найти 4 площяди треугольника и сложить + необходима проверка:
function proverka(a,b,c:real):boolean begin proverka:=(a+b>c)and(a+c>b)and(c+b> a); end. Проверки надо 4 так как 6 угольник состоит из 4 треугольников. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
А шестиугольник выпуклый? Если да, то сначала найти правильный путь обхода вершин, используя например алгоритм нахождения выпуклой оболочки. А для площади есть формула
S=1/2*|(x1+x2)*(y1-y2)+...+(x5+x6)*(y5-y6)+(x6+x1)*(y6-y1)|
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 25.01.2018 в 20:22. |
![]() |
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 25.01.2018
Сообщений: 10
|
![]()
Да выпуклый, на уроке мы рассматривали как найти площядь произвольного четырёх угольника. Из пройденного материала я мало что понял.
Попросили найти площядь путём сложения 4 трехугольников. Но возникает проблемма из-за моей некомпитентности в этом вопросе. У меня есть функции площяди и проверки. Но как их совместить я не знаю. Вот функция проверки: Function proverka (a,b,c:real):boolean; begin proverka:=(a+b>c)and(a+c>b)and(c+b> a); end; А вот функция площяди трехугольника: Function pl(a,b,c:real):real; var p:+real begin P:=(a+b+c)/2; pl:=sqrt(p*(p-a)*(p-b)*(p-c)); end; Но я не знаю как проверить 4 трехугольника на возможность(функция проверки) и не знаю как найти площядь используя функцию. Я могу себе это примерно представить но выдать в качестве кода нет. Последний раз редактировалось FrozenJabaGlobal; 25.01.2018 в 20:46. Причина: ошибка |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Этой проверкой можно только убедиться, что три точки не лежат на одной прямой. И что она тебе даст? Вершины этих четырех треугольников нужно же правильно выбрать, а для этого и нужно найти правильный путь обхода точка за точкой по вершинам шестиугольника. А площадь или как ты хочешь, а можно и по той формуле
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#5 |
Новичок
Джуниор
Регистрация: 25.01.2018
Сообщений: 10
|
![]()
Да вы правы, но если треугольник не будет сущетвовать то будет не правильно выведена площядь 6 угольника.
|
![]() |
![]() |
![]() |
#6 |
Новичок
Джуниор
Регистрация: 25.01.2018
Сообщений: 10
|
![]()
Возможно вы меня могли не правильно понять. Речь идёт о длинне 6 сторон и 3 диагоналей. Путём проверки трекгольника на возжность мы удостоверяемся что площядь будет точна.
|
![]() |
![]() |
![]() |
#7 |
Новичок
Джуниор
Регистрация: 25.01.2018
Сообщений: 10
|
![]()
Скорее всего есть более правильное решение этой задачи. Но попросили вот так. Да и обычно дают что-то попроще например площадь правильного 6 угольника. И он а пишется без процедур и функций.
|
![]() |
![]() |
![]() |
#9 |
Новичок
Джуниор
Регистрация: 25.01.2018
Сообщений: 10
|
![]()
вот только это программа для правильного шестиугольника а необзодима для произвольного.
|
![]() |
![]() |
![]() |
#10 |
Новичок
Джуниор
Регистрация: 25.01.2018
Сообщений: 10
|
![]()
К щастью я не дурак и перед этой темой я в течении 2 дней прошерстил интернет.
И не нашов там более менне точного ответа, был сделана эта тема. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Решить задачу с использованием функций. Ввод-вывод значений массивов осуществить с помощью функций. | Владимир20178 | Помощь студентам | 2 | 29.06.2017 05:05 |
Работа с вычислением функций с помощью разложения в ряд (Delphi, Pascal) | Vladrstar | Фриланс | 5 | 25.12.2014 14:01 |
Решение задачи в Pascal ABC с помощью функции. | Krakaziabr | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 22.12.2013 16:12 |