Top.Mail.Ru
Ответы
Аватар пользователя
Изменено
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

Помогите решить задание

Цель исследования. Цель — получить навыки в расчете базовых метрик Холстеда, относящихся к метрикам размера программ.

Основу метрики составляют шесть измеряемых характеристик программы:

• n1 — число уникальных операторов программы, включая символы-разделители, имена процедур и знаки операций (словарь операторов);

• n₂ — число уникальных операндов программы (словарь операндов);

• N1 — общее число операторов в программе;

• N2 — общее число операндов в программе;

• n’1— теоретическое число уникальных операторов;

• n’2 — теоретическое число уникальных операндов.

Опираясь на эти характеристики, получаемые

непосредственно при анализе исходных текстов программ, М. Холстед вводит следующие оценки:

■ словарь программы:

n=n1+n2

■ длина программы:

N=N1+N2

■ измеряемый в битах объем программы:

V = Nlog2n

Под битом подразумевается логическая единица информации — символ, оператор, операнд.

Теоретический словарь программы n’, т. е. словарный запас, необходимый для ее написания:

n'=n’1+n’2

Используя n’, Холстед вводит оценку V’

V’=n’log2n’

с помощью которой описывается потенциальный объем программы, соответствующий максимально компактному тексту программы, которая реализует данный алгоритм.

Пример выполнения работы. Рассмотрим выполнение данной работы на примере программы вычисления выражения у = sin x, листинг которой представлен далее:

# include <iostream>

#include <stdio.h>

using namespase std;

main( )

{

const double cst=0.0001;

double х, у;

int n; double bs;

cin<<x; // Инициализация х путём консольного ввода

у=х;

n=2;

bs=x;

do

{

bs= -bs*x*x/(2*n-1/2*n-2);// формирование слагаемого

n++;

y+=bs;

}

while(abs(bs)>=cst);// При выполнении условия выход из цикла

cout>>x>>y>>cst;

}

В таблице представлен расчет метрик Холстеда по формулам

Словарь программы: n=n1+n2=15+6=21

Длина программы: N=N1+N2=37+24=61

Объем программы: V = Nlog2n= 61log221≈276

ЗАДАНИЕ:
Ввести массив, состоящий из 16 элементов целого типа. Заменить все элементы, кратные трем, нулями. Определить количество замен.

По дате
По рейтингу
Аватар пользователя
Новичок

Держи

Аватар пользователя
Просветленный

Решено выше

Логически:
Массив(16=xn), а так решено выше.
mass(16=xn)