![]() |
|
#1
|
|||
|
|||
![]() Сижу делаю отчёт по лабам..и вспоминаю эту забитую мною тему..
да же приблизительно не знаю как это делать..прошу помощи..Если кто отважиться помочь просьба немного пояснений к коду, но если нет на это времени не утруждайтесь пояснениями, сам разберусь( Составить модуль, содержащий следующие подпрограммы определения характеристик окружности: - площадь круга, - площадь сектора, - площадь сегмента, - длину окружности, - точки пересечения двух окружностей, Последний раз редактировалось bump, 17.06.2010 в 16:31. |
#2
|
|||
|
|||
![]() Модуль - это отдельный юнит. если напомнишь формулы, по которым вычисляются эти самые длины и площади, накидаю быстренько
|
#3
|
|||
|
|||
![]() 1) Пи*радиус в квадрате
2)Пи*радиус в квадрате*какой то угол любой/360 градусов 3)(какой то угол-синус этого же угла)в квадрате/2(Допустим пользователь введет угол 30 градусов. Тогда формула примет вид (30-sin30)в квадрате/2 ) 4)2пи*радиус 5)Ну точки пересечения 2 окружностей я думаю что нужно их уравнения приравнять... короче с 5 - м сам справлюсь ...посмотрев как ты сделаешь предыдущее как - то так... |
#4
|
|||
|
|||
![]() 3 из 5:
Код:
unit CircleUtils; uses Windows, SysUtils, Classes, Math; interface // площадь круга, function CircleSquare(R : extended) : Extended; // площадь сектора, function SectorSquare(R, Alfa : Extended) : Extended; // длину окружности, function CircleLen(R : Extended) : Extended; implementation // площадь круга, function CircleSquare(R : extended) : Extended; begin Result := PI * Sqr(R); end; // площадь сектора, function SectorSquare(R, Alfa : Extended) : Extended; begin Result := CircleSquare(R) * Alfa / 360; end; // длину окружности, function CircleLen(R : Extended) : Extended; begin Result := 2 * PI * R; end; end. |
#5
|
|||
|
|||
![]() моя копейка - площадь сегмента
Код:
unit SegmentArea; interface uses Windows,SysUtils; implementation function SegmentS(corner: SHORT): Real; begin Result:= sqr(corner - sin(corner))/2; end; end. и каждую функцию - в отдельный юнит! |