در زبان 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 یا محاسبات علمی/مالی داشته باشید.

توسط پژوهشگر در 221 روز قبل ساعت 01:08
دسته بندی ها: C# C# for beginner
arash در 221 روز قبل ساعت 14:29

برای پایداری محاسبات تانژانت، ابتدا cos زاویه را محاسبه کنید و اگر Math.Abs(cos) کمتر از آستانه‌ای مانند 1e-12 بود، مقدار double.NaN برگردانید. مقدار هر زاویه را از درجه به رادیان با ضرب Math.PI/180 تبدیل کرده و از Math.Tan استفاده کنید. از نوع داده double برای دقت بالا استفاده کنید. برای بهبود کارایی در مجموعه‌های بزرگ می‌توانید از Parallel.For یا سایر قابلیت‌های موازی .NET استفاده کنید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری