문제 - 플로트를 사용한 삼각법
Exercise6이라는 이름의 새 C# 콘솔 앱을 만듭니다.
Main 메서드에서 다음을 수행합니다:
- 각도를 입력하라는 메시지를 표시하고 각도를 도 단위로 구하여 float 변수에 저장합니다.
- 각도의 코사인과 사인을 계산하고 표시합니다.
힌트 1: Math 클래스는 이 작업에 매우 유용하므로 해당 클래스에 대한 설명서를 참조하세요. 해당 설명서는 https://msdn.microsoft.com/en-us/library/system.math(v=vs.110).aspx에서 찾을 수 있습니다
힌트 2: 코사인과 사인을 계산하는 메서드에 대한 설명서를 읽다 보면 각도를 도가 아닌 라디안 단위로 제공해야 한다는 것을 알 수 있습니다. 각도를 도에서 라디안으로 변환하려면 각도에 (float)Math.PI / 180 를 곱하면 됩니다. Math.PI 는 double 이므로 이 변환을 위해 타입 캐스트가 필요합니다.
제안된 테스트 사례: 각도에 90을 입력하면 코사인은 약 0, 사인은 약 1이 되어야 합니다. 약간의 반올림 오류가 발생하기 때문에 정확하지 않습니다( 2𝑏=𝑛!)
답안 입력
namespace Exerxcise6
{
internal class Program
{
/// <summary>
/// 플로트를 이용한 삼각법
/// </summary>
/// <param name="args"></param>
static void Main(string[] args)
{
// 각도 입력
Console.WriteLine("Enter the angle: ");
float angle = float.Parse(Console.ReadLine());
// 삼각 함수 계산
float cos = (float)Math.Cos(angle * Math.PI / 180); // Math.Cos()의 값은 double이므로 타입캐스팅
float sin = MathF.Sin(angle * (float)Math.PI / 180); // Math.PI는 double이므로 계산을 위해 타
// Math 내부에 있는 필드 PI 사용, 사용자 임의 지정 파이값보다 더 정확함
// 계산값 출력
Console.WriteLine("Cosine of " + angle + " degrees: " + cos);
Console.WriteLine("Sine of " + angle + " degrees: " + sin);
}
}
}
피드백 반영 답안 작성
namespace Exerxcise6
{
internal class Program
{
/// <summary>
/// 플로트를 이용한 삼각법
/// </summary>
/// <param name="args"></param>
static void Main(string[] args)
{
// 각도 입력
Console.WriteLine("Enter the angle: ");
float angle = float.Parse(Console.ReadLine());
// 삼각 함수 계산
float radianAngle = (float)(angle * Math.PI / 180);
// 계산값 출력
Console.WriteLine("Cosine of " + angle + " degrees: " + Math.Cos(radianAngle));
Console.WriteLine("Sine of " + angle + " degrees: " + Math.Sin(radianAngle));
}
}
}
'코딩 공부 > Unity C#' 카테고리의 다른 글
클래스 및 객체 (0) | 2024.06.03 |
---|---|
데이터 타입에 따른 계산의 변화 (1) | 2024.06.02 |
변수와 상수 선언 및 상수 계산 -3- (2) | 2024.06.02 |
Unity 데이터 유형 변수 및 상수 -2- (0) | 2024.06.02 |
유니티 1주차 과제 (0) | 2024.05.30 |