Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТП_МУ_11.doc
Скачиваний:
24
Добавлен:
08.11.2019
Размер:
484.86 Кб
Скачать

3.2 Пример определения характеристик программы

Программа, реализующая алгоритм Евклида на Паскале:

program Evclid;

var a,b,q,r,gcd:integer;

begin

readln(a,b);

if a=0 then gcd:=b

else

begin

r:=0;

while r<>0 do

begin

q:=a div b; r:=a-b*q;

a:=b; b:=r

end;

gcd:=a

end;

writeln(gcd)

end.

Подсчет характеристик программы:

Оператор Номер Число вхождений

readln 1 1

writeln 2 1

; 3 7

:= 4 7

begin...end 5 3

while...do 6 1

if 7 2

= 8 1

<> 9 1

div 10 1

- 11 1

* 12 1

n1=12 N1=27

Операнд Номер Число вхождений

а 1 6

b 2 6

r 3 4

q 4 2

gcd 5 3

0 6 3

n2=6 N2=24

Словарь n=n1+n2=12+6=18

Длина реализации N=N1+N2=27+24=51

Число входных и выходных операндов n2*=3

3.3 Порядок выполнения работы

1. Для программных модулей, из работ 1 и 2 определить характеристики программ (n1, n2, n, N1, N2, N, n2*).

2. Рассчитать метрики Холстеда по формулам 1-10.

3. Оценить качество двух реализаций алгоритма на основании метрик Холстеда. Провести их сравнительный анализ

4. Оформить отчет.

3.4 Список контрольных вопросов

1. Где можно использовать метрики Холстеда?

2. Чем определяются характеристики программы?

3. Как оценить качество реализации алгоритма по метрикам?

4. В чем недостаток программометрии?