تاثیر الگوریتم برنامه نویسی در تعیین قدرت سخت افزار رندر

the_king

مدیرکل انجمن
بقیه از اینجا...
حالا چطوری می شه یک فرمول رو به چند بخش تقسیم کرد؟

با توجه به روال هر فرمول باید شیوه خاص خودش رو بکار ببرید، یک روال خاص و ثابت که نداره.
بعضی فرمول ها رو هم نمیشه به چند بخش تقسیم کرد، چون برای اجرا کردن هر قسمت
به نتیجه محاسبه قسمت های قبل تر نیاز دارند، در حالی که یک فرمول رو زمانی میشه
به چند بخش تقسیم کرد که هر بخش بتونه مجزا از بخش های دیگه محاسبه بشه و بهم
وابستگی نداشته باشند.

فرضا اگه فرمول ریاضی فاکتوریل رو اینطوری پیاده سازی کنید :
کد:
f = 1
for i = 2 to n
	f = f * i
next
یک حلقه دارید که مقادیر 2 الی n را در f ضرب می کند. اهمیتی ندارد که ابتدا کدام مقادیر در f
ضرب می شوند، می توانید این حلقه را به هر چند بخش که خواستید تقسیم کنید و جداگانه
اجرا کنید و در انتها حاصل هر قسمت را در f ضرب کنید.

یعنی میشه حلقه رو به دو بخش تقسیم کرد و هر کدوم مجزا از حلقه دیگه اجرا بشه :
کد:
n2 = n / 2
f1 = 1
for i = 2 to n2
	f1 = f1 * i
next

کد:
f2 = 1
for j = n2 + 1 to n
	f2 = f2 * j
next

و نهایتا از نتیجه دو حلقه استفاده کرد :
کد:
f = f1 * f2
 

جدیدترین ارسال ها

بالا