Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
1 / 1 / 0
Регистрация: 25.02.2021
Сообщений: 235
Delphi 6-7

Зная 3 стороны треугольника найти значения углов. ( в градусах )

05.11.2022, 19:06. Показов 2000. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Неправильно считает углы, угол Alpha и Gamma не понимаю почему одинаковые

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
function TTriangle.FindAngles:Angles;
  var Alpha, Beta, Gamma, c:Double;
begin
   Alpha:=(fA*fA + c*c - fB*fB)/(2*fA*c);
   Beta:=(fB*fB + c*c - fA*fA)/(2*c*fB);
   Gamma:=(fA*fA + fB*fB - c*c)/(2*fA*fB);
   Result[0]:=RadToDeg(ArcCos(Alpha));
   Result[1]:=RadToDeg(ArcCos(Beta));
   Result[2]:=RadToDeg(ArcCos(Gamma));
 
end;
procedure TForm1.btn2Click(Sender: TObject);
var a,b,c:Double;
Angles:Triangle.Angles;
Triangle:TTriangle;
begin
  a:=StrToFloat(Form1.strngrd2.Cells[0,1]);
  b:=StrToFloat(Form1.strngrd2.Cells[1,1]);
  c:=StrToFloat(Form1.strngrd2.Cells[2,1]);
  Triangle:=TTriangle.Create(a,b,c);
  Angles:=Triangle.FindAngles;
  strngrd3.Cells[0,0]:='alpha';
  strngrd3.Cells[1,0]:='beta';
  strngrd3.Cells[2,0]:='gamma';
  Form1.strngrd3.Cells[0,1]:=FloatToStr(Angles[0]);
  Form1.strngrd3.Cells[1,1]:=FloatToStr(Angles[1]);
  Form1.strngrd3.Cells[2,1]:=FloatToStr(Angles[2]);
end;
Добавлено через 25 минут
Delphi
1
2
3
4
5
6
function TTriangle.ThirdSide:Double;
  var c:Double;
begin
  c:=Sqrt(fA*fA+fB*fB-2*fA*fB*cos(DegToRad(fGamma)));
  Result:=c;
end;
с у меня считается так
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.11.2022, 19:06
Ответы с готовыми решениями:

Вычислить в градусах значения углов треугольника используя функцию пользователя
С клавиатуры вводятся значения длин сторон треугольника a,b,c. Вычислить в градусах значения углов треугольника. Значения углов при...

По длинам сторон некоторого треугольника и угла (в градусах) между ними, найти длину третьей стороны и площадь этого треугольника.
вот что мне нужно изобразить на паскале, а я в этом ничего не смыслю( По длинам сторон некоторого треугольника и угла (в градусах) между...

Зная площадь прямоугольного треугольника и угол при основании, найти все стороны треугольника
Требования к программе: - Входные данные ввести с помощью стандартных процедур ввода; - На печать вывести значение входной переменной и...

25
1 / 1 / 0
Регистрация: 25.02.2021
Сообщений: 235
09.11.2022, 12:09  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Rayvenor Посмотреть сообщение
покажите где у вас тут переменная С.
Ее нет, она считается в методе ThirdSide.
0
462 / 185 / 32
Регистрация: 04.08.2018
Сообщений: 732
09.11.2022, 12:21
Цитата Сообщение от Uther Посмотреть сообщение
Delphi
1
2
3
4
5
6
function TTriangle.ThirdSide:Double;
  var c:Double;
begin
  c:=Sqrt(fA*fA+fB*fB-2*fA*fB*cos(DegToRad(fGamma)));
  Result:=c;
end;
Считалась и в этом же методе хоронилась. А вам надо её содержимое хранить и более того показывать наружу. Как вам уже писали надо завести 6 полей класса - три длины и три угла. Если не понятно, то действительно начать с теории как советовал модератор.
1
1 / 1 / 0
Регистрация: 25.02.2021
Сообщений: 235
09.11.2022, 12:45  [ТС]
Цитата Сообщение от Rayvenor Посмотреть сообщение
Как вам уже писали надо завести 6 полей класса - три длины и три угла.
другого пути нет ?
0
42 / 35 / 8
Регистрация: 10.03.2017
Сообщений: 291
09.11.2022, 12:51
Цитата Сообщение от Uther Посмотреть сообщение
другого пути нет ?
Моё чем не нравится?
1
462 / 185 / 32
Регистрация: 04.08.2018
Сообщений: 732
09.11.2022, 14:33
Цитата Сообщение от Uther Посмотреть сообщение
другого пути нет ?
Есть, но я сам классами плохо владею. Есть возможность при запросе какого-либо поля (в вашем случае длина С) выполнять расчёт этой величины. Вы функцию расчёта вешаете на "геттер". Поищите как организовывать геттеры и сеттеры (get set) класса.
0
пофигист широкого профиля
4770 / 3207 / 862
Регистрация: 15.07.2013
Сообщений: 18,615
10.11.2022, 01:32
Цитата Сообщение от Uther Посмотреть сообщение
Цитата Сообщение от Rayvenor Посмотреть сообщение
Как вам уже писали надо завести 6 полей класса - три длины и три угла.
другого пути нет ?
А чем этот путь вам не нравится? Или может он чем-то он вас пугает аж до дрожи в коленках? Так скажите чем? Мы вылечим вашу болезнь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.11.2022, 01:32

Ввести значение углов a и b в градусах, затем посчитать и вывести значения cos и sin этих углов
Нужно ввести значение углов a и b в градусах, затем посчитать и вывести значения cos и sin этих углов. Результат решения задачи нужно...

Зная катеты прямоугольного треугольника, найти величины всех его углов
С клавиатуры вводятся длины катетов прямоугольного треугольника. Вывести на экран величины всех его углов (каждое значение в отдельной...

Найти стороны треугольника, заданного значениями углов и радиусом вписанной окружности
треугольник задан значениями углов и радиусом вписанной окружности. Найти стороны этого треугольника.

Найти стороны треугольника, заданного величинами своих углов и радиусом описанной окружности
a,b,c:real; a1,b1,c1,r: integer; begin writeln('введите угол А='); readln (a1); writeln ('введите угол B='); readln...

Ввести стороны треугольника, вычислить все углы треугольника в градусах (программа не запускается)
#include <iostream> #include <cmath> using namespace std; int main() {    double a, b, c, c1, c2, c3, temp;    const double PI...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru