سوال در رابطه با توابع بازگشتي دو طرفه
سلام.لطفا تا هفته ي ديگه در مورد سوالاي زير اطلاعات بدين.ممنون
1-به غیر از مثال زیر برای توابع بازگشتی دو طرفه (و زوج و فرد بودن)مثال دیگری برای توابع بازگشتی دو طرفه ارائه دهید.
مثال : به استفاده از دو رابطه ی مثلثاتی زیر توابعی برای محاسبه ی sin و cos بصورت بازگشتی و بدون استفاده از توابع کتابخانه ای بنویسید.
کد:
Sin2x=2sinxcosx
Cos2x=1-2sin(be tavan2)x
تابع اول
کد:
Double sinR(double x)
{
If(fbs x<0.0001)
Return x;
Return 2.0*sinR(x/2.0)*cos R(x/2.0);
تابع دوم
کد:
Double cos R(double x)
{
Double y=sinR(x/2.0)
}
Return 1.0 – 2.0*y*y;
_______________________________________________
2- توابع بازگشتی را نسبت به توابع تکراری مقایسه کرده و معایب و مزایای هر کدام را بررسی کنید.
_______________________________________________
3-در مثال زير برای توابع بازگشتی cos در صورتی که بدنه ی توابع به صورت زیر باشد چه تفاوتی با هم خواهند داشت؟ در حالت دوم اجرای برنامه خیلی طول میکشد.چرا؟
حالت اول
کد:
Double cos R(double x)
{
Double y=sinR(x/2.0)
}
Return 1.0 – 2.0*y*y;
حالت دوم
کد:
Double cos R(double x)
{
Return 1.0-2.0*sin R(x/2)*sin R(x/2);