Практическая работа по "Информатике"
Автор: Darida3 • Декабрь 8, 2019 • Практическая работа • 449 Слов (2 Страниц) • 606 Просмотры
Задание
Для вычисленного варианта индивидуального задания разработать детализированную схему алгоритма, представленную в соответствии с положениями ГОСТ 19701-90. По полученному алгоритму рассчитать метрики сложности потока управления программ (метрики Маккейба, Джилба, максимальный уровень вложенности условного оператора, метрику граничных значений). В алгоритме предусмотреть вывод на экран всех входных и выходных данных.
Вариант 19:
[pic 1]
Решение:
#include
#include
#include
int n=0;
int a,b;
int s[10];
int main()
{
while (n<=9)
{
a= 3*(n+1)*(n+1)-(10*(n+1))+6;
b=(2*(n+1)+1);
if (a>b) {
s[n]=a;
}
else {
s[n]=b;
}
printf("%d\n",s[n]);
n++;
}
getchar();
}
[pic 2][pic 3]
[pic 4]
[pic 5]
[pic 6]
[pic 7][pic 8]
[pic 9]
[pic 10]
[pic 11][pic 12]
[pic 13]
[pic 14]
Описание схемы алгоритма:
- Блок входа в программу.
- В блоке объявляются константные переменные.
- Присваиваем переменной n значение 0.
- Если выполняется условие (n<=9), то значению а присваиваем формулу, по которой будет находиться данная переменная.
- Присваиваем значению b формулу
- Если выполняется условие (a>b), то S[n]=a. Если условие не выполняется, то S[n]=b.
- Вывод массива S[n].
- Переменная n увеличивается на 1.
- Пока n<=9 выполняется цикл, если не выполняется, то переходим к блоку выхода.
Расчет метрики Маккейба для разработанного алгоритма и определение базисных независимых путей:
Формула:
Z(G) = e – ʋ + 2p,
где е — число дуг ориентированного графа G; ʋ — число вершин; р — число компонентов связности графа.
Z(G) = 14– 13+ 2 * 1 = 3
e = 14
v = 13
p = 1
Базисные пути:
1-ый путь: 1-2-3-4-5(да)-6-7-8(да)-9-11-12-5(нет)-13;
2-ой путь: 1-2-3-4-5(да)-6-7-8(нет)-10-11-12-5(нет)-13;
3-ий путь: 1-2-3-4-5(нет)-13.
Расчет метрики Джилба для разработанного алгоритма:
CL — количество условных операторов, характеризующее абсолютную сложность программы; cl — насыщенность программы условными операторами, характеризующая относительную сложность программы; cl определяется как отношение CL к общему количеству операторов программы. Расширением метрики Джилба является максимальный уровень вложенности условного оператора CLI.
...