Tizimli va amaliy dasturlashtirish


int, main, cout, cin, if, cerr, endl, return, new, for, delete



Yüklə 237,37 Kb.
Pdf görüntüsü
səhifə2/4
tarix23.12.2023
ölçüsü237,37 Kb.
#156620
1   2   3   4
int, main, cout, cin, if, cerr, endl, return, new, for, delete,
 1 2 3 4 5 6 7 8 9 10 11 
( ) , { } , << , >> , ; , = , [ ] , ++, < , + , - ,
<=
 
12 13 14 15 16 17 18 19 20 21 22 23 
Demak, dasturning takrorlanmas operatorlari soni: 

1
= 23. 
Dasturning takrorlanmas operandlari (operandlar lug‘ati) sonini aniqlaymiz: 
arr, size, temp, i , j , "n = ", 0, 1, "Invalid size", "arr[", "] = " 
1 2 3 4 5 6 7 8 9 10 11 
Dasturning takrorlanmas operandlari soni: 

2
= 11. 
Dastur lug‘ati 



1


2
= 23 + 11 = 34 ga teng
 
Dasturdagi operatorlarning umumiy sonini aniqlaymiz: 
N
1
= 114 
Dasturdagi operandlarning umumiy sonini aniqlaymiz: 
N
2
= 59 
Bu ma’lumotlardan foydalanib, dasturning uzunligini hisoblaymiz:
 
N = N
1
+ N
2
= 114 + 59 = 173.
 
Halsted o‘lchami bo‘yicha dasturning nazariy uzunligini aniqlaymiz: 
N’ =

1
log
2

1


2
log
2

2
= 23 * log
2
23 + 11 * log
2
11 = 
= 23 * 4,5236+ 11 * 3,4594 = 104,0428 + 38,0534 = 142,0962 
Dastur uzunligini baholash uchun quyidagi muqobil ifodalar ham taqdim 
etilgan: 
N
J
= log
2
(

1
!) + log
2
(

2
!) 
N
B


1
* log
2

2


2
* log
2

1
N
C


1
* sqrt(

1
) + 

2
* sqrt(

2

N
S
= (

* log
2

) / 2 
𝑁
𝐽
= log
2
(𝜂
1
!) + log
2
(𝜂
2
!) = log
2
(23!) + log
2
(11!) =
= 25,2505 + 74,4527 = 99,7032
𝑁
𝐵
= 𝜂
1
∗ log
2
𝜂
2
+ 𝜂
2
∗ log
2
𝜂
1
= 23 ∗ log
2
11 + 11 ∗ log
2
23 =
= 23 ∗ 3,4594 + 11 ∗ 4,5236 = 79,5662 + 49,7596 = 129,3258
𝑁
𝐶
= 𝜂
1
∗ √𝜂
1
+ 𝜂
2
∗ √𝜂
2
= 23 ∗ √23 + 11 ∗ √11 =
= 23 ∗ √23 + 11 ∗ √11 = 23 ∗ 4,7958 + 11 ∗ 3,3166 = 110,3034 + 36,4826
= 110,3034 + 36,4826 = 146,786
𝑁
𝑆
= 𝜂 ∗
log
2
𝜂
2
= 34 ∗
log
2
34
2
= 17 ∗ 2,5437 = 43,2429
 
Halsted o‘lchamlari asosida dasturning hajmi quyidagiga teng: 
V = N * log
2

= 176 * log
2
34 = 176 * 5,0875 = 871,9392
 



Potentsial minimal hajm V* masalani kodlash mumkin bo‘lgan eng qisqa 
dasturning hajmi sifatida aniqlanadi. 
𝑉

= (2 + 𝜂
2
) ∗ log
2
(2 + 𝜂
2
) = (2 + 11) ∗ log
2
(2 + 11) = 13 ∗ 3,7004 =
= 13 ∗ 3,7004 = 48,1057
Dasturning murakkablik darajasi yoki xatoga moyilligi dasturdagi 
takrorlanmas operatorlar soniga proportsionaldir. Dasturning murakkabligi darajasi 
operandlarning umumiy soni va takrorlanmas operandlar soni o‘rtasidagi nisbatga 
ham mutanosibdir. Bu shuni anglatadiki, agar dasturda bir xil operandlar ko‘p marta 
ishlatilsa, u xatolarga ko‘proq moyil bo‘ladi. 
𝐷 =
𝜂
1
2
×
𝑁
2
𝜂
2
=
23
2
×
59
11
= 11,5 × 5,37 = 61,68 ≈ 62
Dastur darajasi dasturning xatoga moyilligining teskarisidir, ya'ni past 
darajadagi dastur yuqori darajadagi dasturga qaraganda xatolarga ko‘proq moyil 
bo‘ladi: 
𝐿 =
1
𝐷
=
1
62
= 0,016
Dasturchining dasturni ishlab chiqishdagi energiya sarflash darajasi 
dasturning hajmi va qiyinchilik darajasiga proportsionaldir: 
𝐸 =
𝑉
𝐿
= 𝐷 ∗ 𝑉 = 61,68 × 871,9392 = 53781,21
Kod yozish vaqti dasturchining dasturni ishlab chiqishdagi energiya sarflash
darajasiga proportsionaldir. Ushbu miqdorni aniqlash uchun empirik tajribalardan 
foydalanish mumkin. Halsted energiya sarflash darajasini 18 ga bo‘lish kod yozish 
vaqtini soniyalarda taxmin qilishini aniqladi. 
𝑇 =
𝐸
18
=
61,68
18
= 3,427 𝑠𝑒𝑐𝑜𝑛𝑑𝑠
Taqdim etilgan xatolarning taxminiy soni: 
𝐵 =
𝐸
2
3
3000
=
53781,21
2
3
3000
=
1424,7994
3000
= 0,4749
 
Halsted tomonidan taqdim etilgan xatolarning soni dasturni ishlab chiqishdagi 
xatolarning taxminiy soni darjasidir. Dastur faylida xatolar soni darajasi 2 dan kam 
bo‘lishi kerak. Tajribalar shuni ko‘rsatdiki, C++ dasturlashda manba fayl deyarli har 
doim taklif qilinganidan ko‘ra ko‘proq xatolarni o‘z ichiga oladi. Nosozliklar soni B 
ga qaraganda tezroq o‘sadi. 

Yüklə 237,37 Kb.

Dostları ilə paylaş:
1   2   3   4




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

    Ana səhifə