یک برنامه به زبان C Plus Plus بنویسید که انتگرال تقریبی تابع f(x)=sin(x) را در بازه [a,b] با استفاده از روش ذوزنقهای و n بخش محاسبه کرده و مقدار حاصل را چاپ کند.
14.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:55 0.0
برای حل این مسئله تابع ذوزنقهای را با گام h = (b-a)/n پیادهسازی کنید: مجموع انتهای بازهها را نصف کرده و جمع میکنیم و در نهایت ضرب در h میکنیم. در C++ از نوع double برای دقت عددی استفاده کنید، ورودیهای نامعتبر مثل nb را با بررسی و در صورت نیاز با std::exit(EXIT_FAILURE) برنامه را خاتمه دهید. برای عملکرد بهتر از حلقههای ساده و جمعکردن پیوسته استفاده کنید و در صورت نیاز n بزرگ، کامپایل با گزینههای بهینهسازی (-O2) را مد نظر قرار دهید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
مهمترین بخش این کد استفاده از گام h = (b-a)/n و جمعزنی ذوزنقهای برای f(x)=sin(x) در بازه [a,b] است. برای دقت بیشتر میتوانید از long double استفاده کنید یا از تکنیکهای جمع پیوسته مانند Kahan بهره ببرید. ورودیهای نامعتبر مانند nb را بررسی کنید و در صورت عدم اعتبار با std::exit(EXIT_FAILURE) برنامه را خاتمه دهید. برای کارایی بهتر، از حلقههای ساده و کامپایل با -O2 استفاده کنید تا با n بزرگ، عملکرد و دقت حفظ شود.
گزارش