- •2007 Г.
- •1. Формулировка задания
- •2. Разработка вычислительного алгоритма
- •3. Реализация вычислительного алгоритма
- •3.1 Язык Паскаль
- •Преобразованная программа:
- •3.2 Язык c
- •Преобразованная программа:
- •3.3 Язык Assembler
- •Преобразованная программа:
- •4. Расчёт метрических характеристик
- •4.1 Язык Паскаль
- •4.2 Язык c
- •4.3 Язык Assembler
- •4. Выводы
4.3 Язык Assembler
Расчет метрических характеристик для программы на языке программирования Assemblerпроводился вручную.
№ |
Операторы |
Количество |
|
|
Операнды |
Количество |
1 |
assume |
5 |
|
1 |
cs |
6 |
2 |
Segment…ends |
10 |
|
2 |
ds |
3 |
3 |
label |
11 |
|
3 |
bp |
7 |
4 |
db |
14 |
|
4 |
sp |
14 |
5 |
proc |
4 |
|
5 |
si |
9 |
6 |
push |
14 |
|
6 |
di |
8 |
7 |
mov |
21 |
|
7 |
dx |
4 |
8 |
movsx |
2 |
|
8 |
edx |
2 |
9 |
sub |
2 |
|
9 |
bx |
6 |
10 |
fsub |
1 |
|
10 |
ebx |
2 |
11 |
fsubr |
2 |
|
11 |
ax |
4 |
12 |
cmp |
7 |
|
12 |
eax |
2 |
13 |
ja short @1@86 |
1 |
|
13 |
es |
6 |
14 |
ja short @2@86 |
1 |
|
14 |
word ptr [bp-2] |
4 |
15 |
ja short @3@58 |
1 |
|
15 |
dword ptr [bp-4] |
7 |
16 |
ja short @4@86 |
1 |
|
16 |
dword ptr [bp-8] |
5 |
17 |
far ptr |
10 |
|
17 |
dword ptr [bp-12] |
5 |
18 |
call F_OVERFLOW@ |
4 |
|
18 |
dword ptr [bp-16] |
5 |
19 |
call @@randomize$qv |
1 |
|
19 |
dword ptr [bp-20] |
3 |
20 |
call @@random$qi |
2 |
|
20 |
dword ptr [bp-24] |
5 |
21 |
call @linfit1$qxnxfxt1 |
1 |
|
21 |
dword ptr [bp-28] |
5 |
22 |
call _time |
1 |
|
22 |
dword ptr [bp-32] |
2 |
23 |
call _srand |
1 |
|
23 |
dword ptr [bp-36] |
3 |
24 |
call _rand |
1 |
|
24 |
word ptr [bp+6] |
3 |
25 |
xor |
1 |
|
25 |
word ptr [bp+8] |
2 |
26 |
fld |
13 |
|
26 |
word ptr [bp+10] |
1 |
27 |
fstp |
14 |
|
27 |
word ptr [bp+12] |
1 |
28 |
fadd |
6 |
|
28 |
0 |
12 |
29 |
fmul |
8 |
|
29 |
2 |
7 |
30 |
fwait |
5 |
|
30 |
4 |
9 |
31 |
add |
9 |
|
31 |
8 |
3 |
32 |
inc |
2 |
|
32 |
32 |
4 |
33 |
jl short @1@142 |
1 |
|
33 |
36 |
1 |
34 |
jl short @2@114 |
1 |
|
34 |
2000 |
2 |
35 |
fdiv |
7 |
|
35 |
000008000h |
1 |
36 |
fsubr |
2 |
|
36 |
_x |
4 |
37 |
jne short @1@338 |
1 |
|
37 |
_y |
4 |
38 |
pop |
3 |
|
38 |
_y_calc |
4 |
39 |
leave |
2 |
|
39 |
_i |
7 |
40 |
ret |
4 |
|
40 |
_a |
4 |
41 |
fild |
2 |
|
41 |
_b |
4 |
42 |
shl |
2 |
|
|
Итого |
190 |
43 |
endp |
4 |
|
|
|
|
44 |
imul |
1 |
|
|
|
|
45 |
cdq |
1 |
|
|
|
|
46 |
idiv |
1 |
|
|
|
|
47 |
extrn |
6 |
|
|
|
|
48 |
equ |
3 |
|
|
|
|
|
Итого |
217 |
|
|
|
|
Метрики Холстеда | |
Число уникальных операторов (n1): |
48 |
Число уникальных операндов (n2): |
41 |
Общее число операторов (N1): |
217 |
Общее число операндов (N2): |
190 |
Словарь программы (n): |
89 |
Экспериментальная длина программы (Nэ): |
407,0000 |
Теоретическая длина программы (Nт): |
487,7416 |
Объём программы (V): |
2635,6090 |
Потенциальный объём (V*): |
11,6096 |
Граничный объём (V**): |
15.6844 |
Уровень программы (L): |
0,0044 |
Сложность программы (C): |
227,2077 |
Ожидание уровня программы (L^): |
0,0090 |
Интеллект программы (I): |
23,6974 |
Работа по программированию (Е): |
598830,6590 |
Время кодирования (T): |
59883,0659 |
Ожидаемое время кодирования (T^): |
29313,1247 |
Уровень языка программирования (Lam): |
0,0511 |
Уровень ошибок (В): |
2,3473 |
Ожидаемый уровень ошибок (В^): |
0,8785 |
Сводная таблица:
Метрики Холстеда | ||||||
Метрика |
Pascal - прогр |
Pascal - ручное |
С - прогр |
С - ручное |
Assembler |
Среднее значение |
n1 |
17 |
16 |
20 |
20 |
48 |
24,2000 |
n2 |
24 |
22 |
19 |
21 |
41 |
25,4000 |
N1 |
84 |
81 |
85 |
99 |
217 |
113,2000 |
N2 |
114 |
115 |
87 |
102 |
190 |
121,6000 |
n |
41 |
38 |
39 |
41 |
89 |
49,6000 |
Nэ |
198,0000 |
196,0000 |
172,0000 |
201,0000 |
407,0000 |
234,8000 |
Nт |
179,5260 |
162,1068 |
167,1490 |
178,6763 |
487,7416 |
235,0399 |
V |
1060,8000 |
1028,5884 |
909,0890 |
1076,8776 |
2635,6090 |
1342,1928 |
V* |
11,6096 |
11,6096 |
11,6096 |
11,6096 |
11,6096 |
11,6096 |
V** |
15,6844 |
15.6844 |
15,6844 |
15.6844 |
15.6844 |
15.6844 |
L |
0,0101 |
0,0113 |
0,0128 |
0,0108 |
0,0044 |
0,0099 |
C |
- |
88,6714 |
- |
92,9343 |
227,2077 |
81,7627 |
L^ |
0,0248 |
0,0239 |
0,0218 |
0,0206 |
0,0090 |
0,0200 |
I |
26,2736 |
24,5967 |
19,8537 |
22,1710 |
23,6974 |
23,3185 |
Е |
96926,9000 |
91206,3735 |
71185,9000 |
100078,8659 |
598830,6590 |
191645,7397 |
T |
9692,6900 |
9120,6374 |
7118,5900 |
10007,8866 |
59883,0659 |
19164,5740 |
T^ |
3883,3500 |
3557,5575 |
4045,2700 |
5230,5483 |
29313,1247 |
9205,9701 |
Lam |
0,1271 |
0,1308 |
0,1483 |
0,1250 |
0,0511 |
0,1165 |
В |
0,7034 |
0,6703 |
0,5725 |
0,7130 |
2,3473 |
1.0013 |
B^ |
0,3536 |
0,3429 |
0,3030 |
0,3590 |
0,8785 |
0,4474 |