در زبان C# تابعی بنویسید که یک آرایه از زوایا (بر حسب درجه) را بگیرد و آرایهای از مقادیر tan هر زاویه را برگرداند و برای زاویههایی که tan تعریفپذیر نیست (مانند زمانی که cos تقریباً صفر است) مقدار double.NaN قرار دهد.
2.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:08 0.0
برای حل، هر مقدار درجه را با ضرب در Math.PI/180 به رادیان تبدیل کنید و از Math.Tan برای محاسبه تانژانت استفاده کنید؛ قبل از محاسبه تانژانت بهتر است مقدار Math.Cos را محاسبه کرده و اگر Math.Abs(cos) کمتر از آستانهای کوچک مانند 1e-12 بود، مقدار double.NaN قرار دهید تا از مشکلات عددی جلوگیری شود. از نوع داده double برای دقت بیشتر استفاده کنید و برای مجموعههای بزرگ میتوانید با System.Threading.Tasks.Parallel.For پردازش را موازی کنید تا عملکرد بهتری در سناریوهای HPC یا محاسبات علمی/مالی داشته باشید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای پایداری محاسبات تانژانت، ابتدا cos زاویه را محاسبه کنید و اگر Math.Abs(cos) کمتر از آستانهای مانند 1e-12 بود، مقدار double.NaN برگردانید. مقدار هر زاویه را از درجه به رادیان با ضرب Math.PI/180 تبدیل کرده و از Math.Tan استفاده کنید. از نوع داده double برای دقت بالا استفاده کنید. برای بهبود کارایی در مجموعههای بزرگ میتوانید از Parallel.For یا سایر قابلیتهای موازی .NET استفاده کنید.
گزارش