Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 03.06.2010, 20:39
karsten karsten вне форума
Прохожий
 
Регистрация: 03.06.2010
Сообщения: 1
Репутация: 10
По умолчанию задача

Найти внутренние углы (в градусах) треугольника АВС, заданного координатами
своих вершин на плоскости.
__________________________________________________ _________________
Задали такое задание. С геометрической стороны решил, но как засунуть это в делфи ума не приложу, Делферы помогите несчастному с этой задачей(((
Ответить с цитированием
  #2  
Старый 04.06.2010, 01:25
Аватар для SerginhoLD
SerginhoLD SerginhoLD вне форума
Новичок
 
Регистрация: 19.11.2009
Сообщения: 73
Репутация: 12
По умолчанию

ну создаешь тип точки, что-то вроде
Код:
type
  TPoint = record
     x,y: double;
  end;
далее три вершины треугольника:
Код:
A,B,C: TPoint;
ну потом через всякие процедурки вычисляешь свои углы
обращаться к координатам точек:
Код:
A.x:= что-то там
//или
B.y:= что-то там
//или
p.x:=A.x+C.x;
//и тд и тп

Последний раз редактировалось SerginhoLD, 04.06.2010 в 01:34.
Ответить с цитированием
  #3  
Старый 04.06.2010, 14:29
Аватар для SerginhoLD
SerginhoLD SerginhoLD вне форума
Новичок
 
Регистрация: 19.11.2009
Сообщения: 73
Репутация: 12
По умолчанию

Код:
program Angles;

{$APPTYPE CONSOLE}

uses
  SysUtils,Math;

type
  Point = record
    x: double;
    y: double;
  end;

var
  a,b,c: Point; //точки
  bc , ac , ab: double; //длины сторон
  a_A, a_B, a_C: double;//углы (угол a_A напротив стороны bc и т.п.)

begin
  // ввод координат вершин треугольника
  writeln('vvedite koordinaty tochki A:');
  write('x='); readln(a.x); write('y='); readln(a.y);
  writeln('vvedite koordinaty tochki B:');
  write('x='); readln(b.x); write('y='); readln(b.y);
  writeln('vvedite koordinaty tochki C:');
  write('x='); readln(c.x); write('y='); readln(c.y);
  // вычисляем длины сторон треугольника
  ab:=sqrt(sqr(b.x-a.x)+sqr(b.y-a.y));
  ac:=sqrt(sqr(c.x-a.x)+sqr(c.y-a.y));
  bc:=sqrt(sqr(c.x-b.x)+sqr(c.y-b.y));
  // вычисляем углы:  (теорема косинусов: cosA = ( c^2+b^2-a^2 ) / (2*c*b) ;)
  a_A:=(sqr(ab)+sqr(ac)-sqr(bc))/(2*ab*ac);
  a_A:=RadToDeg(ArcCos(a_A));
  a_B:=(sqr(ab)+sqr(bc)-sqr(ac))/(2*ab*bc);
  a_B:=RadToDeg(ArcCos(a_B));
  a_C:=180-a_A-a_B;
  //
  writeln('ugol A:  ',a_A:4:2);
  writeln('ugol B:  ',a_B:4:2);
  writeln('ugol C:  ',a_C:4:2);
  readln;
end.

Последний раз редактировалось SerginhoLD, 04.06.2010 в 16:01.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:01.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025