Консольный геометрический калькулятор!
Данная документация описывает работу калькулятора. Инструкция по запуску калькулятора находится здесь.
Формулы используемые для расчёта.
Поддерживаемые калькулятором типы фигур:
Плоские фигуры:
Круг
Квадрат
Прямоугольник
Треугольник
Трапеция
Ромб
Объёмные фигуры:
Шар
Куб
Параллелепипед
Пирамида
Цилиндр
Конус
- Доступные формулы для вычислений:
Площадь
Периметр
Объём
Инструкция
Для работы калькулятора необходимо:
Запустить main.py через консоль
С помощью цифр выбрать необходимую фигуру, формулу для вычисления, ввести запрашиваемые данные
Посмотреть результат расчётов в консоли
Формулы
Доступные формулы расчёта для фигур:
Круг:
- Площадь:
\(S = π r^2\)
- Периметр:
\(P = 2 π r\)
Квадрат:
- Площадь:
\(S = a * 2\)
- Периметр:
\(P = 4 * a\)
Прямоугольник:
- Площадь:
\(S = a * b\)
- Периметр:
\(P = 2(a + b)\)
Треугольник:
- Площадь:
- По стороне и высоте:
\(S = \frac{1}{2}a * h\)
- По трём сторонам:
\(S = \sqrt{p(p - a)(p - b)(p - c)}\)
- Периметр:
\(P = a + b + c\)
Трапеция:
- Площадь:
- Формула Герона:
\(S = \frac{a + b}{|a - b|}\sqrt{(p - a)(p - b)(p - a - c)(p - a - d)}\)
- По длине основ и высоте:
\(S = \frac{1}{2}(a + b) * h\)
- Периметр:
\(P = a + b + c + d\)
Ромб:
- Площадь:
- По длине стороны и высоте:
\(S = a * h\)
- По длинам диагоналей:
\(S = \frac{1}{2}d_1* d_2\)
- Периметр:
\(P = 4 * a\)
Шар:
- Площадь:
\(S = 4 π R^2\)
- Объём:
\(V = \frac{4}{3}πR^3\)
Куб:
- Площадь:
\(S = 6 * a^2\)
- Объём:
\(V = a^3\)
Параллелепипед:
- Площадь:
\(S = 2(a * b + a * h + b * h)\)
- Объём:
\(V = a * b * h\)
Пирамида:
- Площадь:
- По длине стороны равностороннего треугольника и бедру рабнобедренного треугольника:
- 3 угла:
\(S = \frac{\sqrt{3}}{4}a^2 + \frac{3}{2}a\sqrt{b^2 - \frac{a^2}{4}}\)
- 4 угла:
\(S = a^2 + 2a\sqrt{b^2 - \frac{a^2}{4}}\)
- 6 углов:
\(S = 3a(\sqrt{b^2 - \frac{a^2}{4}} + \frac{\sqrt{3}}{2}a)\)
- По сумме площадей основания и трёх боковых граней:
- 3 угла:
\(S = S_{осн} + 3S_{бок}\)
- 4 угла:
\(S = S_{осн} + 4S_{бок}\)
- 6 углов:
\(S = S_{осн} + 6S_{бок}\)
- Объём:
\(V = \frac{4}{3}πR^3\)
Цилиндр:
- Площадь:
\(S = 2 π R h\)
- Объём:
\(V = π R^2 h\)
Конус:
- Площадь:
\(S = π R l\)
- Объём:
\(V = \frac{1}{3}π R^2 h\)
Классы фигур
Описание методов и атрибутов классов фигур
- class figures.FlatFigure
Класс плоской фигуры. Наследник класса Figure
- abstract area() float
Абстрактный метод для вычисления площади
- abstract perimeter() float
Абстрактный метод для вычисления периметра
- class figures.VolumetricFigure
Класс объёмной фигуры. Наследник класса Figure
- abstract area() float
Абстрактный метод для вычисления площади
- abstract volume() float
Абстрактный метод для вычисления объёма
- class figures.Circle(radius: float)
Класс представялющий круг. Наследник класса FlatFigure
Устанавливает значения переменных круга
- Parameters
radius – (float) Радиус круга
- area() float
Вычисляет площадь
- Returns
(float) Площадь круга
- perimeter() float
Вычисляет периметр
- Returns
(float) Периметр круга
- class figures.Square(a: float)
Класс представляющий квадрат. Наследник класса FlatFigure
Устанавливает значения переменных квадрата
- Parameters
a – (float) Сторона квадрата
- area() float
Вычисляет площадь
- Returns
(float) Площадь квадрата
- perimeter() float
Вычисляет периметр
- Returns
(float) Периметр квадрата
- class figures.Rectangle(a: float, b: float)
Класс представляющий прямоугольник. Наследник класса Square
Устанавливает значения переменных прямоугольника
- Parameters
a – (float) Сторона прямоугольника
b – (float) Смежная сторона прямоугольника
- area() float
Вычисляет площадь
- Returns
Площадь прямоугольника
- perimeter() float
Вычисляет периметр
- Returns
(float) Периметр прямоугольника
- class figures.Triangle(a: Optional[float] = None, b: Optional[float] = None, c: Optional[float] = None, h: Optional[float] = None, method: Optional[int] = None)
Класс представляющий треугольник. Наследник класса FlatFigure
Устанавливает значения переменных прямоугольника
- Parameters
a – (float) Первая сторона
b – (float) Вторая сторона
c – (float) Третья сторона
h – (float) Высота
method – (int) Метод расчёта площади
- area() float
Вычисляет площадь двумя способами: 1. По стороне и высоте 2. По трём сторонам
- Returns
(float) Площадь треугольника
- perimeter() float
Вычисляет периметр
- Returns
(float) Периметр треугольника
- class figures.Trapezium(a: Optional[float] = None, b: Optional[float] = None, c: Optional[float] = None, d: Optional[float] = None, h: Optional[float] = None, method: Optional[int] = None)
Класс представлюящий трапецию. Наследник класса Triangle
Устанавливает значения переменных трапеции
- Parameters
a – (float) Верхняя сторона
b – (float) Нижняя сторона
c – (float) Левая сторона
d – (float) Правая сторона
h – (float) Высота
method – (int) Метод расчёта площади
- area() float
Вычисляет площадь двумя способами: 1. По длинам сторон и высоте 2. По четырём сторонам
- Returns
(float) Площадь трапеции
- perimeter() float
Вычисляет периметр
- Returns
(float) Периметр трапеции
- class figures.Diamond(a: Optional[float] = None, h: Optional[float] = None, c: Optional[float] = None, d: Optional[float] = None, method: Optional[int] = None)
Класс представлюящий ромб. Наследник класса Square
Устанавливает значения переменных ромба
- Parameters
a – (float) Сторона ромба
h – (float) Высота
c – (float) Первая диагональ
d – (float) Вторая диагональ
method – (float) Метод расчёта площади
- area() float
Вычисляет площадь двумя способами: 1. По длине стороны и высоте 2. По длинам диагоналей
- Returns
(float) Площадь ромба
- perimeter() float
Вычисляет периметр
- Returns
(float) Периметр ромба
- class figures.Sphere(r: float)
Класс представлюящий шар. Наследник класса VolumetricFigure
Устанавливает значения переменных шара
- Parameters
r – (float) Радиус
- area() float
Вычисляет площадь
- Returns
(float) Площадь шара
- volume() float
Вычисляет объём
- Returns
(float) Объём ромба
- class figures.Cube(a: float)
Класс представлюящий куб. Наследник класса VolumetricFigure
Устанавливает значения переменных куба
- Parameters
a – (float) Длина стороны куба
- area() float
Вычисляет площадь
- Returns
(float) Площадь куба
- volume() float
Вычисляет объём
- Returns
(float) Объём куба
- class figures.Parallelepiped(a: float, b: float, h: float)
Класс представлюящий параллелепипед. Наследник класса Cube
Устанавливает значения переменных параллелепипеда
- Parameters
a – (float) Первая сторона
b – (float) Вторая сторона
h – (float) Высота
- area() float
Вычисляет площадь
- Returns
(float) Площадь параллелепипеда
- volume() float
Вычисляет объём
- Returns
(float) Объём параллелепипеда
- class figures.Cylinder(r: float, h: float)
Класс представлюящий цилиндр. Наследник класса Sphere
Устанавливает значения переменных цилиндра
- Parameters
r – (float) Радиус
h – (float) Высота
- area() float
Вычисляет площадь
- Returns
(float) Площадь цилиндра
- volume() float
Вычисляет объём
- Returns
(float) Объём цилиндра
- class figures.Cone(r: float, h: float)
Класс представлюящий конус. Наследник класса Cylinder
Устанавливает значения переменных конуса
- Parameters
r – (float) Радиус
h – (float) Высота
- area() float
Вычисляет площадь
- Returns
(float) Площадь конуса
- volume() float
Вычисляет объём
- Returns
(float) Объём конуса
- class figures.Pyramid(a: Optional[float] = None, b: Optional[float] = None, h: Optional[float] = None, area_main: Optional[float] = None, area_side: Optional[float] = None, angle_amount: Optional[float] = None, method: Optional[int] = None)
Класс представлюящий пирамиду. Наследник класса VolumetricFigure
Устанавливает значения переменных пирамиды
- Parameters
a – (float) Длина стороны равностороннего треугольника
b – (float) Длина бедра равнобедренного треугольника
h – (float) Высота
area_main – (float) Площадь основания
area_side – (float) Площадь боковой грани
angle_amount – (int) Количество углов пирамиды
method – (int) Метод вычисления площади
- area() float
Вычисляет площадь в зависимости от количества углов и выбранного метода расчёта.
Возможное количество углов:
3
4
6
Методы расчёта:
По длине стороны равностороннего треугольника и длине бедра равнобедренного треугольника
По площади основания и площади боковой грани
- Returns
(float) Площадь пирамиды
- volume() float
Вычисляет объём
- Returns
(float) Объём пирамиды
Тестирование фигур
Описание методов используемых для тестирования фигур
- class tests.TestFigures(methodName='runTest')
Класс для тестирования формул фигур
Create an instance of the class that will use the named test method when executed. Raises a ValueError if the instance does not have a method with the specified name.
- setUp()
Устанавливает значения для все фигур
- test_circle()
Тест круга
- test_square()
Тест квадрата
- test_rectangle()
Тест прямоугольника
- test_triangle()
Тест треугольника
- test_trapezium()
Тест трапеции
- test_diamond()
Тест ромба
- test_sphere()
Тест шара
- test_cube()
Тест куба
- test_parallelepiped()
Тест параллелепипеда
- test_cylinder()
Тест цилиндра
- test_cone()
Тест конуса
- test_pyramid()
Тест пирамиды
Ссылка на github: lavalera97