Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиПоискОблакоVK ComboВсе проекты

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

Андрей Андреев Ученик (99), закрыт 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 элементов целого типа. Заменить все элементы, кратные трем, нулями. Определить количество замен.
Лучший ответ
Остальные ответы
Иванов Иван Гуру (3454) 4 недели назад
Логически:
Массив(16=xn), а так решено выше.
mass(16=xn)
Похожие вопросы