-
Notifications
You must be signed in to change notification settings - Fork 0
/
Program.cs
144 lines (114 loc) · 3.36 KB
/
Program.cs
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
namespace PracticalWork8OAiP;
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine("Задание 1: Фигуры и их площадь\n");
List<Circle> circles =
[
new(5),
new(10),
new(2)
];
List<Rectangle> rectangles =
[
new(5, 2),
new(10, 1),
new(2, 5)
];
for (int i = 1; i < circles.Count + 1; i++)
Console.WriteLine($"Площадь круга {i}: {MathF.Round(circles[i - 1].GetArea(), 2)}.");
Console.WriteLine();
for (int i = 1; i < rectangles.Count + 1; i++)
Console.WriteLine($"Площадь прямоугольника {i}: {MathF.Round(circles[i - 1].GetArea(), 2)}.");
Console.WriteLine("\nЗадание 2: Электроприборы и их включение\n");
List<Appliance> appliances =
[
new WashingMachine(),
new WashingMachine(),
new WashingMachine(),
new Refrigerator(),
new Refrigerator()
];
for (int i = 1; i < appliances.Count + 1; i++)
{
Console.Write($"{i}. ");
appliances[i - 1].TurnOn();
}
Console.WriteLine("\nЗадание 3: Транспортные средства и способ их передвижения\n");
List<Vehicle> vehicles =
[
new Car(),
new Boat(),
new Car(),
new Bicycle(),
new Bicycle()
];
for (int i = 1; i < vehicles.Count + 1; i++)
{
Console.Write($"{i}. ");
vehicles[i - 1].Move();
}
}
}
public class Shape
{
public float Area { get; set; }
public Shape() => Area = GetArea();
public virtual float GetArea() => Area;
}
public class Circle : Shape
{
public float Radius { get; set; }
public Circle(float radius) =>
Radius = radius;
public override float GetArea() =>
Convert.ToSingle(Math.PI * Radius * Radius);
}
public class Rectangle : Shape
{
public float Width { get; set; }
public float Height { get; set; }
public Rectangle(float width, float height)
{
Width = width;
Height = height;
}
public override float GetArea() =>
Width * Height;
}
public class Appliance
{
public virtual void TurnOn() =>
Console.WriteLine($"Электроприбор включен.");
}
public class WashingMachine : Appliance
{
public override void TurnOn() =>
Console.WriteLine($"Стиральная машина включена.");
}
public class Refrigerator : Appliance
{
public override void TurnOn() =>
Console.WriteLine($"Холодильник включен.");
}
public class Vehicle
{
public virtual void Move() =>
Console.WriteLine("Транспорт движется.");
}
public class Car : Vehicle
{
public override void Move() =>
Console.WriteLine("Машина едет по дороге.");
}
public class Bicycle : Vehicle
{
public override void Move() =>
Console.WriteLine("Велосипед движется по дорожке.");
}
public class Boat : Vehicle
{
public override void Move() =>
Console.WriteLine("Лодка плывёт по воде.");
}