Скачиваний:
50
Добавлен:
01.05.2014
Размер:
306.18 Кб
Скачать

Xor ax,ax

jmp short @3@58

@3@58:

;

; }

;

mov sp,bp

pop bp

ret

end

  1. Выполнение работы

    1. Измеримые свойства алгоритмов

      1. Pascal

Операторы

Операнды

Оператор

Число вхождений

Операнд

Число вхождений

1

program

1

1

prog_pas

1

2

;

41

2

Tarr

3

3

type

1

3

sort

1

4

[]

46

4

swap

1

5

procedure QuickSort

1

5

mid

9

6

procedure swap

1

6

sp

22

7

var

5

7

right

10

8

:

35

8

left

9

9

()

26

9

i

25

10

,

10

10

j

26

11

begin..end

9

11

p

3

12

while .. do

6

12

q

3

13

>

8

13

hold

3

14

div

1

14

1

21

15

<

9

15

2

2

16

:=

26

16

8

4

17

for..to.. do

2

17

mass

5

18

-

8

18

pivot

10

19

+

9

19

5

1

20

..

2

Итого:

159

21

.

1

Итого:

248

      1. C

Операторы

Операнды

Оператор

Число вхождений

Операнд

Число вхождений

1

void swap

1

1

array

4

2

,

21

2

i

26

3

;

41

3

j

19

4

void quicksort

1

4

hold

3

5

[]

47

5

20

2

6

()

39

6

8

3

7

while

6

7

swap

4

8

<

11

8

sort

1

9

>

8

9

mid

9

10

/

12

10

5

2

11

=

44

11

1

22

12

-

8

12

2

3

13

+

13

13

left

9

14

if

7

14

right

10

15

>=

2

15

k

8

16

int main

1

16

sp

22

17

return

1

17

pivot

10

18

&&

5

18

p

3

19

||

2

19

q

3

20

++

2

Итого:

163

Итого:

272

      1. Assembler

Операторы

Операнды

Оператор

Число вхождений

Операнд

Число вхождений

1

proc

3

1

bp

110

2

push

21

2

sp

9

3

mov

131

3

4

1

4

sub

6

4

si

32

5

shl

39

5

di

33

6

fld

14

6

word ptr

133

7

fstp

4

7

ax

110

8

fwait

13

8

bx

109

9

pop

17

9

cl

48

10

ret

3

10

2

25

11

jae

4

11

36

2

12

jmp

10

12

8

1

13

cwd

1

13

1

17

14

jl

4

14

ss

4

15

xor

1

15

cx

11

16

ja

3

16

dx

38

17

add

24

17

near ptr

6

18

fcomp

10

Итого:

689

19

fstsw

10

20

sahf

10

21

jbe

2

22

call

6

23

inc

4

24

cmp

7

25

lea

17

26

jb

1

27

jg

3

Итого:

368

    1. Расчетные характеристики программы

 

Pascal

C

Assembler

Формула

Число уникальных операторов (n1):

21

20

27

Число уникальных операндов (n2):

19

19

17

Общее число операторов (N1):

248

272

368

Общее число операндов (N2):

159

163

689

 

Алфавит (n):

40

39

44

n= n1+ n2

Экспериментальная длина программы (Nэ):

407

435

1057

Nэ= N1+ N2

Теоретическая длина программы (Nт):

172,95

167,15

197,87

Nт =1 log21 + 2 log22

Объём программы (V):

2166,02

2299,15

5770,62

V = Nэ log2 n

Потенциальный объём (V*):

8,00

8,00

8,00

V* = (2+ 2*) log2( 2+ 2*) (2=2 – кол. параметров)

Уровень программы (L):

0,00369

0,00348

0,00139

L= V*/ V

Сложность программы (S):

270,75

287,39

721,33

S = V/ V*

Ожидание уровня программы (L^):

0,01138

0,01166

0,00183

L^= 2*2 /(1* N2)

Интеллект программы (I):

24,65

26,80

10,55

I= L^*V

Работа по программированию (Е):

586457,89

660761,32

4162505,77

E=V/L

Время кодирования (T):

58645,79

66076,13

416250,58

T=E/S (S=10 – кол. различений)

Ожидане времени кодирования (T^):

19032,52

19724,29

315737,73

T^= (n1*N2* Nэ * log2) / (2*S*n2)

Уровень языка программирования (Lam):

0,030

0,028

0,011

Lam =L * V*

Уровень ошибок (В):

0,72

0,77

1,92

B= (V*)2 / (3000* Lam)

  1. Протоколы

    1. Pascal

Statistics for module out.lxm

=====================================

The number of different operators : 18

The number of different operands : 21

The total number of operators : 154

The total number of operands : 174

Dictionary ( D) : 39

Length ( N) : 328

Length estimation ( ^N) : 167.297

Volume ( V) : 1733.61

Potential volume ( *V) : 8

Limit volume (**V) : 8

Programming level ( L) : 0.00461464

Programming level estimation ( ^L) : 0.01341

Intellect ( I) : 23.2477

Time of programming ( T) : 20870.9

Time estimation ( ^T) : 3663.25

Programming language level (lambda) : 0.0369171

Work on programming ( E) : 375676

Error ( B) : 1.73549

Error estimation ( ^B) : 0.577871

Table:

====================================

Operators:

| 1 | 25 | ()

| 2 | 9 | +

| 3 | 8 | -

| 4 | 1 | /

| 5 | 9 | <

| 6 | 25 | =

| 7 | 6 | >

| 8 | 2 | >=

| 9 | 2 | QuickSort

| 10 | 42 | []

| 11 | 5 | and

| 12 | 1 | for

| 13 | 6 | if

| 14 | 2 | or

| 15 | 1 | program

| 16 | 5 | swap

| 17 | 1 | type

| 18 | 4 | while

Operands:

| 1 | 1 | 0

| 2 | 20 | 1

| 3 | 1 | 2

| 4 | 1 | 20

| 5 | 1 | 5

| 6 | 3 | 8

| 7 | 1 | Tarr

| 8 | 3 | hold

| 9 | 25 | i

| 10 | 22 | j

| 11 | 9 | left

| 12 | 3 | mass

| 13 | 9 | mid

| 14 | 2 | n

| 15 | 3 | p

| 16 | 9 | pivot

| 17 | 1 | prog_pas

| 18 | 3 | q

| 19 | 10 | right

| 20 | 22 | sp

| 21 | 25 | x

Summary:

=====================================

The number of different operators : 18

The number of different operands : 21

The total number of operators : 154

The total number of operands : 174

Dictionary ( D) : 39

Length ( N) : 328

Length estimation ( ^N) : 167.297

Volume ( V) : 1733.61

Potential volume ( *V) : 8

Limit volume (**V) : 8

Programming level ( L) : 0.00461464

Programming level estimation ( ^L) : 0.01341

Intellect ( I) : 23.2477

Time of programming ( T) : 20870.9

Time estimation ( ^T) : 3663.25

Programming language level (lambda) : 0.0369171

Work on programming ( E) : 375676

Error ( B) : 1.73549

Error estimation ( ^B) : 0.577871

    1. C

Statistics for module out.lxm

=====================================

The number of different operators : 20

The number of different operands : 24

The total number of operators : 180

The total number of operands : 174

Dictionary ( D) : 44

Length ( N) : 354

Length estimation ( ^N) : 196.478

Volume ( V) : 1932.64

Potential volume ( *V) : 8

Limit volume (**V) : 8

Programming level ( L) : 0.00413942

Programming level estimation ( ^L) : 0.0137931

Intellect ( I) : 26.6571

Time of programming ( T) : 25938.1

Time estimation ( ^T) : 4320.42

Programming language level (lambda) : 0.0331153

Work on programming ( E) : 466887

Error ( B) : 2.0061

Error estimation ( ^B) : 0.644213

Table:

====================================

Operators:

| 1 | 1 | %

| 2 | 5 | &&

| 3 | 29 | ()

| 4 | 9 | +

| 5 | 19 | ,

| 6 | 8 | -

| 7 | 9 | <

| 8 | 24 | =

| 9 | 6 | >

| 10 | 2 | >=

| 11 | 41 | []

| 12 | 4 | _[]

| 13 | 2 | __&

| 14 | 6 | if

| 15 | 1 | main

| 16 | 2 | quicksort

| 17 | 1 | return

| 18 | 5 | swap

| 19 | 4 | while

| 20 | 2 | ||

Operands:

| 1 | 3 | 0

| 2 | 18 | 1

| 3 | 1 | 12

| 4 | 1 | 14

| 5 | 2 | 2

| 6 | 2 | 20

| 7 | 1 | 3

| 8 | 2 | 5

| 9 | 1 | 7

| 10 | 1 | 8

| 11 | 1 | 9

| 12 | 2 | array

| 13 | 3 | hold

| 14 | 25 | i

| 15 | 19 | j

| 16 | 9 | left

| 17 | 9 | mid

| 18 | 2 | n

| 19 | 3 | p

| 20 | 9 | pivot

| 21 | 3 | q

| 22 | 10 | right

| 23 | 22 | sp

| 24 | 25 | x

Summary:

=====================================

The number of different operators : 20

The number of different operands : 24

The total number of operators : 180

The total number of operands : 174

Dictionary ( D) : 44

Length ( N) : 354

Length estimation ( ^N) : 196.478

Volume ( V) : 1932.64

Potential volume ( *V) : 8

Limit volume (**V) : 8

Programming level ( L) : 0.00413942

Programming level estimation ( ^L) : 0.0137931

Intellect ( I) : 26.6571

Time of programming ( T) : 25938.1

Time estimation ( ^T) : 4320.42

Programming language level (lambda) : 0.0331153

Work on programming ( E) : 466887

Error ( B) : 2.0061

Error estimation ( ^B) : 0.644213

  1. Выводы

В результате выполнения лабораторной работы заданный алгоритм сортировки был реализован на различных языках программирования (Pascal,C,Assembler). Для созданных программ были оценены метрические характеристики (измеримые и расчетные) по Холстеду.

12

Соседние файлы в папке Лабораторная работа №1
  • #
    01.05.2014306.18 Кб50lab1.doc
  • #
    01.05.201419.46 Кб55Метрики.xls