Academic Research in Educational Sciences Volume 4


Volume 4 | Issue 5 | 2023



Yüklə 132,29 Kb.
Pdf görüntüsü
səhifə9/15
tarix07.01.2024
ölçüsü132,29 Kb.
#201223
1   ...   5   6   7   8   9   10   11   12   ...   15
dasturning-siklik-bolimlarini-optimallashtirish (1)

Volume 4 | Issue 5 | 2023 
ISSN: 2181-1385 
ISI: 0,967 | Cite-Factor: 0,89 | SIS: 1,9 | ASI: 1,3 | SJIF: 5,771 | UIF: 6,1 
sa 
 
 
 
 
519
 
May, 2023 
https://t.me/ares_uz Multidisciplinary Scientific Journal 
7.
Strength reduction 
(Quvvatni pasaytirish) . Qimmatbaho operatsiyalarni 
(ko'paytirish yoki bo'lish kabi) arzonroq ekvivalent operatsiyalar bilan almashtiradi 
(masalan, qo'shish yoki bitni almashtirish). 
Bu yerda Strength Reduction(Quvvatni pasaytirish) metodi uchun umumiy 
algorithm(kod) 
def strength_reduction_optimization(loop_body): 
new_loop_body = [] 
for stmt in loop_body: 
if is_expensive_op(stmt): 
new_stmt = replace_expensive_op_with_cheap_op(stmt) 
new_loop_body.append(new_stmt) 
else: 
new_loop_body.append(stmt) 
return new_loop_body 
def is_expensive_op(stmt): 
return True or False 
def replace_expensive_op_with_cheap_op(stmt): 
return new_stmt 
Ushbu kodda bizda uchta funktsiya mavjud. ”strength_reduction_optimization” 
funksiyasi kirish sifatida “loop_body” ni oladi. Funktsiyaning ichida quvvatni 
pasaytirishni optimallashtirishdan so'ng “new loop body” ini saqlash uchun 
“new_loop_body” deb nomlangan bo'sh ro'yxat yaratiladi. Statement “loop_body” 
dagi har bir statement ustida takrorlanadi. 
Har bir statement uchun kod “is_expensive_op” funksiyasidan foydalangan 
holda statementni qimmat operatsiya mavjudligini tekshiradi. Agar u qimmat 
operatsiya ekanligi aniqlansa , kod qimmat operatsiyani arzonroq operatsiya bilan 
almashtiradi. Natijada yangi statement “new_loop_body” ga qo'shiladi. 
Agar statement qimmat operatsiyani o'z ichiga olmasa, original statement 
new_loop_body ga avvalgidek qo'shiladi. Va nihoyat, funktsiya quvvatni 
pasaytirishni optimallashtirish qo'llanilgandan so'ng sikl tanasini ifodalovchi 
new_loop_body ni qaytaradi. 
“is_expensive_op” funksiyasi berilgan statementda qimmat operatsiya 
mavjudligini aniqlaydigan to'ldiruvchidir. Agar statement qimmat operatsiyani o'z 
ichiga olsa, u "True" ni, aks holda "False" ni qaytarishi kerak. 
“replace_expensive_op_with_cheap_op” 
funksiyasi 
malum 
statementdagi qimmat operatsiyani arzonroq operatsiya bilan 
almashtiruvchi to'ldiruvchidir. O'zgartirishni amalga oshirish va 



Yüklə 132,29 Kb.

Dostları ilə paylaş:
1   ...   5   6   7   8   9   10   11   12   ...   15




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin