Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Using System.Collections.Generic;
Using System.Linq;
Using System.Text;
Namespace Lek_1_08
{
class Ring // Кольцо
{
// 2.
double r=0; // радиус внутренней окружности (мм)
double s=0; // площадь кольца (кв.мм)
// 3.
const double r_min=1.0; // Ограничение на внутренний радиус (мм)
const double s_min=10.0; // Ограничение на площадь (кв.мм)
// 4.
Void MinimRS()
{ // Приводит неправильные значения полей
// в соответствие с условием задачи
r = Math.Max(r, r_min);
s = Math.Max(s, s_min);
}
// 7-Б.
Static double R2(double r1, double s)
{// Вычисляет радиус внешней окружности
double s1 = Math.PI * r1 * r1;
double s2 = s1 + Math.Max(s,0.0);
return Math.Sqrt(s2 / Math.PI);
}
Static double R1(double r2, double s)
{// Вычисляет радиус внутренней окружности
double s2 = Math.PI * r2 * r2;
double s1= Math.Max(s2-s,0.0);
return Math.Sqrt(s1 / Math.PI);
}
// 5.
Public Ring()
{// Конструктор по умолчанию
MinimRS();
}
// 6.
Public Ring(double s1)
{// Конструктор по заданной площади
s = s1;
MinimRS();
}
Public Ring(double r1, double r2)
{// Конструктор по заданным радиусам
r = Math.Min(r1, r2);
s = Math.PI * Math.Abs((r1*r1 - r2*r2));
MinimRS();
}
// 7.
Public double R_in
{// Свойство - внутренний радиус
get { return r; }
set { r = value; MinimRS(); }
}
Public double R_out
{// Свойство - внешний радиус
get { return R2(r,s); }
set { r = R1(value,s); MinimRS(); }
}
Public double S
{// Свойство - площадь
get { return s; }
set { s = value; MinimRS(); }
}
// 8.
Public void print()
{ // Вывод параметров кольца на экран
Console.WriteLine("Кольцо: R1={0:F}, R2={1:F}, S={2:F}; ",
R,R2(r,s),s);
}
}
Дата публикования: 2015-07-22; Прочитано: 234 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!