Протоколы для фигур: вычисление площади и периметра
Swift
Средний
protocols
Задача «Протоколы для фигур: вычисление площади и периметра»
Реализуйте протокол Shape с методами area() -> Double и perimeter() -> Double. Создайте структуры Circle (свойство radius: Double) и Rectangle (свойства width: Double, height: Double), которые соответствуют этому протоколу. Напишите функцию printShapeInfo(shape: Shape), которая выводит площадь и периметр фигуры. Входные данные: целое число n (количество фигур), затем для каждой фигуры строка с типом ('circle' или 'rectangle') и соответствующие параметры (для circle — радиус, для rectangle — ширина и высота). Для каждой фигуры выведите её тип и значения площади и периметра с точностью до двух знаков после запятой.
Формат ввода
Первая строка: целое n (1 ≤ n ≤ 100). Далее n строк: каждая строка содержит тип фигуры и её параметры (через пробел). Для circle: 'circle <радиус>'. Для rectangle: 'rectangle <ширина> <высота>'. Все параметры — целые числа от 1 до 1000.
Формат вывода
Для каждой фигуры на отдельной строке: '<Тип фигуры>: Площадь = <площадь>, Периметр = <периметр>'. Площадь и периметр выводятся с двумя знаками после десятичной точки.
Примеры
Пример 1
ВВОД
3
circle 5
rectangle 4 7
circle 10
ВЫВОД
Circle: Площадь = 78.54, Периметр = 31.42
Rectangle: Площадь = 28.00, Периметр = 22.00
Circle: Площадь = 314.16, Периметр = 62.83
Пример 2
ВВОД
1
rectangle 3 8
ВЫВОД
Rectangle: Площадь = 24.00, Периметр = 22.00
Пример 3
ВВОД
5
3 apple
-1 banana
0 cherry
4 date
-2 elderberry
ВЫВОД
main.swift