Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.10.2015, 15:31   #1
Helga25
Новичок
Джуниор
 
Регистрация: 14.10.2015
Сообщений: 2
Радость СРОЧНО! Помогите ПОЖАЛУЙСТА написать программу в Delphi.

Дана следующая задача:
Даны три стороны одного и три стороны другого треугольника. Определить, будут ли эти треугольники равновеликими, т.е. имеют ли они равные площади.

P.S. Значения сторон задаются произвольно
Как написать программу в Delphi?

ЗАРАНЕЕ СПАСИБО!
Helga25 вне форума Ответить с цитированием
Старый 14.10.2015, 15:38   #2
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Наработки есть?
Возможно поможет http://ru.onlinemschool.com/math/formula/area/
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!

Последний раз редактировалось Bugrimov; 14.10.2015 в 15:40.
Bugrimov вне форума Ответить с цитированием
Старый 14.10.2015, 15:39   #3
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Ну это же не форум математиков или великих геометров. Это форум великих программистов.
Вы нам формулу напишите, мы подскажем как её в Дельфы впихнуть.

PS А вообще такие задачи с формулой Герона здесь уже 100500 раз решались.
type_Oleg вне форума Ответить с цитированием
Старый 15.10.2015, 13:29   #4
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Поосторожнее со сравнением вещественных чисел, товарищ студент.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 17.10.2015, 07:49   #5
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Код:
function Geron(a,b,c:real):real;
var p:real;
begin
   p:=(a+b+c)/2;
   Result:=Sqrt(p*(p-a)*(p-b)*(p-c));
end;
Вот готовая функция для вычисления площади
Код:
If Geron(3,4,5)=Geron(4,5,3) then
   Label1.Caption:='yes' else
   Label1.Caption:='no';
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Старый 17.10.2015, 07:49   #6
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Код:
function Geron(a,b,c:real):real;
var p:real;
begin
   p:=(a+b+c)/2;
   Result:=Sqrt(p*(p-a)*(p-b)*(p-c));
end;
Вот готовая функция для вычисления площади
Код:
If Geron(3,4,5)=Geron(4,5,3) then
   Label1.Caption:='yes' else
   Label1.Caption:='no';
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Старый 18.10.2015, 00:28   #7
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
Вот готовая функция для вычисления площади
Ну ты чо школоту учишь говнокодить-то??!! А потом у нас ракеты со спутниками падают, блин.

Я ж сказал:
Цитата:
Поосторожнее со сравнением вещественных чисел, товарищ студент.
Вот ты задал стороны одинаковых треугольников. А ты попробуй ввести стороны разных треугольников, площади которых равны! Я подобрал к твоему прямоугольному треугольнику со сторонами 3, 4 и 5 (S = 6.0) равносторонний треугольник с такой же площадью.

1554023.png

При переводе в двоичную с.с. и обратно, а также при арифметических операциях накопилась мизерная погрешность. Функция FloatToStr() эту погрешность нивелирует, а оператор сравнения - НЕТ!

Поэтому вещественные числа ни в коем случае нельзя сравнивать с помощью операторов "=" и "<>". Чтобы их сравнивать с заданной точностью, есть стандартные функции в модуле Math.pas:
Код:
function CompareValue(const A, B: Extended; Epsilon: Extended): TValueRelationship;
function CompareValue(const A, B: Double; Epsilon: Double): TValueRelationship;
function CompareValue(const A, B: Single; Epsilon: Single): TValueRelationship;
Кому не лень - можете допилить мой исходник, добавив в него этот функционал.
Тему, также, можно повесить в начале раздела.

З.Ы. Это только пример. Простейший. Но иногда от таких мелочей зависят человеческие жизни. Просто запомни это. А лучше - запиши.
Вложения
Тип файла: rar 283612 - сравнение площадей треугольников.rar (156.5 Кб, 12 просмотров)
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...

Последний раз редактировалось min@y™; 18.10.2015 в 00:31.
min@y™ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите, пожалуйста написать программу на Си (СРОЧНО!!) ANDREAS2105 Помощь студентам 1 06.11.2014 08:56
Помогите пожалуйста срочно написать программу в Delphi Ainur Помощь студентам 2 27.05.2009 09:39
Пожалуйста помогите срочно на завтра написать программу на ТР. skatunka Паскаль, Turbo Pascal, PascalABC.NET 0 15.04.2009 16:30