Метрология, стандартизация и сертификация в информатике и радиоэлектронике
Можно выделить 21 базисный независимый путь. Приведем три примера независимых путей: массив код программа алгоритм. Насыщенность программы условными операторами, характеризующая относительную сложность программы cl = CL/(v-2)=14/49=0.286. Метрика Джилба. Количество условных операторов в схеме алгоритма (абсолютная сложность программы) CL = 14. Где е — число дуг ориентированного графа G;? — число… Читать ещё >
Метрология, стандартизация и сертификация в информатике и радиоэлектронике (реферат, курсовая, диплом, контрольная)
Задание: Ввести массив, А (10, 10). Заменить элементы массива, находящиеся в строках и столбцах с четными номерами, максимальным элементом данного массива. Вывести максимальный элемент, номера строки и столбца, в которых он находится, исходный и результирующий массивы.
Код программы:
#include.
#include.
#include.
#include.
#include.
#include.
using namespace std;
int main ().
{.
int **A, N=10,M=10, MAX=0, I=0,J=0; //переменные.
A=new int*[N]; //динамическое выделение памяти для строк.
for (int i=1;i<=N;i++).
A[i]=new int[M]; //динамическое выделение памяти для столбцов.
srand (time (NULL));// функция генерации случайных чисел.
for (int i=1;i<=10;i++)//цикл переключения строк.
for (int j=1;j<=10;j++)//цикл переключения столбцов.
{.
A[i][j]= -10+rand ()%100; //генерация случайного числа для определенного //элемента массива.
}.
for (int i=1;i<=10;i++).
for (int j=1;j<=10;j++).
{.
if (A[i][j]>MAX && A[i][j]%2==0) //условный оператор if else.
{// если элемент массива больше максимального.
MAX=A[i][j]; // если он четный.
I=i;
J=j;
}.
}.
cout<<" max element="<
cout<<" stroka="<<" stolbec="<
for (int i=1;i<=10;i++)
{
for (int j=1;j<=10;j++)
{
}
cout<
}
for (int i=1;i<=N;i++) //освобождение динамической памяти
delete [] A[i]; //выделенной под двумерный массив
delete [] A;
getch ();
return 0;
}
Работа программы:
Схема алгоритма:
Метрики Маккейба для разработанного алгоритма и определение базисных независимых путей.
Данная метрика определяется по формуле:
Z (G) = e —? + 2p
где е — число дуг ориентированного графа G; ? — число вершин; р — число компонентов связности графа.
Таким образом, для данного алгоритма: e=70, v=51, p=1
Цикломатическое число Маккейба равно Z (G) =70−51+2=21.
Можно выделить 21 базисный независимый путь. Приведем три примера независимых путей: массив код программа алгоритм.
- 1-й путь: 1 — 2 — 3 — 4(да) — 5 — 6 — 4(нет) — 7 — 8 — 9(да) — 10 — 11(да) -12 — 13 — 11(нет) — 14 — 9(нет) — 15 — 16(да) — 17 — 18(да) — 19(да) — 20 — 21 — 18(нет) — 22 — 16(нет) — 23 — 24 — 25(да) — 26 — 27(да) — 28 — 29 — 27(нет) — 30 — 25(нет) — 31 — 32(да) — 33 — 34(да) — 35(да) — 36 — 37 — 34(нет) — 38- 32(нет) — 39 — 40(да) — 41 -42(да) — 43 — 44 — 42(нет) — 45 — 40(нет) — 46 — 47(да) — 48 — 49 — 50 — 47(нет) — 51.
- 2-й путь: 1 — 2 — 3 — 4(да) — 5 — 6 — 4(нет) — 7 — 8 — 9(да) — 10 — 11(да) -12 — 13 — 11(нет) — 14 — 9(нет) — 15 — 16(да) — 17 — 18(да) — 19(нет) — 18(нет) — 22 — 16(нет) — 23 — 24 — 25(да) — 26 — 27(да) — 28 — 29 — 27(нет) — 30 — 25(нет) — 31 — 32(да) — 33 — 34(да) — 35(нет) — 34(нет) — 38- 32(нет) — 39 — 40(да) — 41 -42(да) — 43 — 44 — 42(нет) — 45 — 40(нет) — 46 — 47(да) — 48 — 49 — 50 — 47(нет) — 51.
- 3-й путь: 1 — 2 — 3 — 4(нет) — 7 — 8 — 9(нет) — 15 — 16(нет) — 23 — 24 — 25(нет) — 31 — 32(нет) — 40(нет) — 47(да) — 48 — 49 — 50 — 47(нет) — 51.
Метрика Джилба. Количество условных операторов в схеме алгоритма (абсолютная сложность программы) CL = 14.
Насыщенность программы условными операторами, характеризующая относительную сложность программы cl = CL/(v-2)=14/49=0.286.
Максимальный уровень вложенности условного оператора CLI=13.
Метрика граничных значений. Относительная граничная сложность данной программы равна.
Свойства подграфов программы.
Свойства подграфов программы. | Номер вершины выбора. | ||||||||||||||
Номера вершин перехода. |
|
|
|
|
|
|
|
|
|
|
|
|
| ||
Скорректированная сложность вершины выбора. | |||||||||||||||
Номера вершин подграфа. |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Номер нижней границы подграфа. | |||||||||||||||
Скорректированные сложности вершин графа программы.
№. | |||||||||||||||||||||||||
Сл. | |||||||||||||||||||||||||
№. | |||||||||||||||||||||||||
№. | Sa | ||||||||||||||||||||||||
Сл. | |||||||||||||||||||||||||
Итоговая таблица расчетов метрик.
Метрики сложности потока управления. | ||
Метрика Маккейба Z (G) | ||
Абсолютная сложность программы CL по метрике Джилба. | ||
Относительная сложность программы cl по метрике Джилба. | 0,286. | |
Максимальный уровень вложенности условного оператора CLI по метрике Джилба. | ||
Метрика граничных значений (абсолютная граничная сложность программы) Sa | ||
Метрика граничных значений (относительная граничная сложность программы) S0 | 0,56. | |