
Разработать программу для подсчета объема цилиндра и создать модульный тест. на с#


Ответы на вопрос

Вот код программы для подсчета объема цилиндра на C#:
```csharp
using System;
namespace CylinderVolumeCalculator
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Введите радиус цилиндра:");
double radius = double.Parse(Console.ReadLine());
Console.WriteLine("Введите высоту цилиндра:");
double height = double.Parse(Console.ReadLine());
double volume = Math.PI * radius * radius * height;
Console.WriteLine($"Объем цилиндра равен {volume}");
}
}
}
```
А вот модульный тест для этой программы:
```csharp
using System;
using Xunit;
namespace CylinderVolumeCalculator.Tests
{
public class ProgramTests
{
[Fact]
public void TestCylinderVolume()
{
// Arrange
double radius = 2.5;
double height = 5.0;
double expectedVolume = Math.PI * radius * radius * height;
// Act
double actualVolume = CalculateCylinderVolume(radius, height);
// Assert
Assert.Equal(expectedVolume, actualVolume, 5);
}
private double CalculateCylinderVolume(double radius, double height)
{
return Math.PI * radius * radius * height;
}
}
}
```
Этот тест проверяет, что функция `CalculateCylinderVolume` правильно считает объем цилиндра для заданных значений радиуса и высоты. Точность проверяется с помощью параметра `precision`, который указывает, на сколько знаков после запятой должны совпадать ожидаемое и фактическое значения. В данном случае используется значение `5`, что означает, что значения должны совпадать с точностью до пятого знака после запятой.



// формула объёма цилиндра V = Pi * R*R * h
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
const double Pi = 3.141592653589793238462643383279;
double V,R,h;
cout << "Вычисление объёма цилиндра." << endl;
cout << "Введите исходные данные:" << endl;
cout << "Радиус основания (см) -> ";
cin >> R;
cout << "Высота основания (см) -> ";
cin >> h;
V = Pi * R*R * h;
cout << "Объём цилиндра -- ";
cout << setprecision(5) << V << " см. куб.." << endl;
return 0;
}



Конечно, я могу помочь вам с этим. Вот пример программы на C# для подсчета объема цилиндра и модульного теста для этой программы:
csharpusing System;
namespace CylinderVolumeCalculator
{
public class Cylinder
{
public double Radius { get; set; }
public double Height { get; set; }
public double CalculateVolume()
{
double volume = Math.PI * Math.Pow(Radius, 2) * Height;
return volume;
}
}
public class Program
{
static void Main(string[] args)
{
// Пример использования программы
Cylinder cylinder = new Cylinder();
cylinder.Radius = 3.5;
cylinder.Height = 10.2;
double volume = cylinder.CalculateVolume();
Console.WriteLine($"Объем цилиндра: {volume}");
// Запуск модульного теста
RunTests();
}
static void RunTests()
{
// Создаем объект для модульного тестирования
Cylinder cylinder = new Cylinder();
cylinder.Radius = 5.0;
cylinder.Height = 8.0;
// Проверяем ожидаемый результат
double expectedVolume = 1005.3096491487339;
double actualVolume = cylinder.CalculateVolume();
// Выводим результаты теста
Console.WriteLine("Модульный тест:");
Console.WriteLine($"Ожидаемый объем: {expectedVolume}");
Console.WriteLine($"Фактический объем: {actualVolume}");
Console.WriteLine($"Тест пройден: {expectedVolume.Equals(actualVolume)}");
}
}
}
В данном примере есть класс Cylinder
, который представляет цилиндр с двумя свойствами: Radius
(радиус основания) и Height
(высота цилиндра). Метод CalculateVolume
вычисляет объем цилиндра на основе заданных значений радиуса и высоты.
В функции Main
программы приведен пример использования, где создается объект цилиндра, задаются значения его свойств и выводится рассчитанный объем.
Также в программе приведен модульный тест RunTests
, который создает другой объект цилиндра с определенными значениями радиуса и высоты, рассчитывает ожидаемый объем и сравнивает его с фактическим объемом, рассчитанным методом CalculateVolume
. Результаты теста выводятся на консоль.
Вы можете запустить эту программу, чтобы проверить ее работоспособность и правильность расчета объема цилиндра.


Топ вопросов за вчера в категории Информатика








Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili