Метрология, стандартизация и сертификация в информационных технологиях

Вычисление элементов массива. Листинг кода программы. Рассмотрение детализированной схемы алгоритма. Метрики сложности потока управления программ и граничных значений. Свойства подграфов программы. Скорректированные сложности вершин графа программы.

Рубрика Программирование, компьютеры и кибернетика
Вид практическая работа
Язык русский
Дата добавления 28.11.2014
Размер файла 126,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ

Кафедра Информатики

Факультет компьютерных систем и систем

Специальность «Информатика и технологии программирования»

Индивидуальная практическая работа

по дисциплине «Метрология, стандартизация и сертификация в информационных технологиях»

Вариант № 19

Выполнила студентка гр.353501: Новикова С.А.

Минск 2014

Условие задания

Вычислить элементы массива S(10) по формуле:

Если

Вывести значения .

Листинг кода программы

program Pr1;

{$APPTYPE CONSOLE}

uses

SysUtils;

type

mas = array[1..10] of integer;

var

a,b,n,i:integer;

s:mas;

begin

{ TODO -oUser -cConsole Main : Insert code here }

n:=10;

i:=1;

while i<=n do

begin

write('n = ',i);

a:=3*sqr(i)-10*i+6;

write('. A = ',a);

b:=2*i+1;

write(' B = ',b);

if a>b then

s[i]:=a

else

s[i]:=b;

writeln(' S[n] = ',s[i]);

i:=i+1;

end;

readln;

end.

Детализированная схема алгоритма

Метрики сложности потока управления программ

Метрика Маккейба (цикломатическая сложность графа программы, цикломатическое число Маккейба) предназначена для оценки трудоемкости тестирования программы. Данная метрика определяется по формуле:

Z(G) = e - ? + 2p,

где е -- число дуг ориентированного графа G; ? -- число вершин; р -- число компонентов связности графа.

Для схемы алгоритма, приведенной в данной работе, число дуг е = 17, число вершин ? = 16, число компонент связности р = 1. Цикломатическое число Маккейба равно Z(G) = 17 - 16 + 2*1 = 3.

Значение метрики Маккейба показывает, что в схеме алгоритма можно выделить 10 базисных независимых путей (называемых также линейно независимыми контурами):

1-й путь. 1 - 2 - 3 - 4 (нет) - 15 - 16..

2-й путь. 1 - 2 - 3 - 4 (да) - 5 - 6 - 7 - 8 - 9 - 10 (да) - 11 - 13 - 14 - 4 - 15 - 16.

3-й путь. 1 - 2 - 3 - 4 (да) - 5 - 6 - 7 - 8 - 9 - 10 (нет) - 12 - 13 - 14 - 4 - 15 - 16.

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

Метрика Джилба определяет логическую сложность программы как насыщенность программы условными операторами IF-THEN-ELSE

Для данной схемы алгоритма CL = 2, cl = 0,14 (количество операторов программы равно 16). Максимальный уровень вложенности условных операторов CLI = 0 .

Метрика граничных значений

Свойства подграфов программы

Свойства подграфов программы

Номер вершины выбора

4

10

Номера вершин перехода

5, 15

11, 12

Скорректированная сложность вершины выбора

13

7

Номера вершин подграфа

5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15

11, 12, 13, 14, 4, 15

Номер нижней границы подграфа

16

16

Скорректированные сложности вершин графа программы

Номер вершины графа программы

1

2

3

4

5

6

7

8

9

Скорректированная сложность вершины графа

1

1

1

13

1

1

11

1

1

Номер вершины графа программы

10

11

12

13

14

15

16

17

Скорректированная сложность вершины графа

7

1

1

1

1

1

1

0

Sa = 44

массив метрик граничный программа

Таким образом, абсолютная граничная сложность Sa программы, схема алгоритма которой приведена, равна 44. Относительная граничная сложность данной программы равна

So = l - (17 - 1)/44 = 0,636

Следующая таблица содержит метрики сложности потока управления для программы.

Метрики сложности потока управления программ

Метрики сложности потока управления

Схема алгоритма

Метрика Маккейба Z(G)

3

Абсолютная сложность программы CL по метрике Джилба

2

Относительная сложность программы cl по метрике Джилба

0,14

Максимальный уровень вложенности условного

оператора

0

Метрика граничных значений (абсолютная граничная сложность программы) Sa

44

Метрика граничных значений (относительная граничная сложность программы) Sa

0,636

Метрики размера программ. Метрики Холстеда

j

Оператор

f1j

i

Операнд

f2i

1.

;

11

1.

n

2

2.

:=

7

2.

i

11

3.

+

3

3.

a

4

4.

-

1

4.

b

4

5.

*

3

5.

1

3

6.

Sqr()

1

6.

10

2

7.

Begin...end

2

7.

3

1

8.

Readln

1

8.

2

1

9.

Writeln()

1

9.

6

1

10.

Write()

3

10.

S

3

11.

While…do

1

12.

>

1

13.

<=

1

14.

,

4

15.

.

1

16.

If…then…else

1

17.

` '

4

18.

[]

3

1 = 18

N1 = 49

2 = 9

N2 = 29

Словарь программы = 18 + 9 = 27.

Длина программы N = 49 + 29 = 78.

Объем программы V= 78=312.

Спен программы

Идентификатор

a

b

n

i

S

Суммарный спен программы

Спен

3

3

1

10

2

19

Идентификаторы a, b, n, i, S инициализируются и используются в теле программы, поэтому их спен равен (f2i - 1) в метриках Холстеда.

Метрики Чепина программы

Полная метрика Чепина

Метрика Чепина ввода/вывода

Группа переменных

Р

М

С

Т

Р

М

С

Т

Переменные, относящиеся к группе

--

S

a,b,i, n

--

--

S

a,b, i

--

Количество переменных в группе

р = 0

m = 1

c = 4

t = 0

р = 0

m = 1

c = 2

t = 0

Метрика Чепина

Q = 1*0 + 2*1 + 3*4 + 0,5*0 = 14

Q = 1*0 + 2*1 + 3*2 + 0,5*0 = 8

Идентификатор S создаётся внутри программы и не является управляющей переменной. Идентификаторы i, n являются счетчиками в циклах, a, b используется в вычислении элементов массива. Эти идентификаторы участвуют в управлении работой программного модуля. В список переменных ввода/вывода программы входят переменные S, a, b, i.

Размещено на Allbest.ru

...

Подобные документы

  • Временная и ёмкостная сложность программы. Размер входных данных. Связь сложности в худшем случае и в среднем. Понятие оптимальной программы. Классы вычислительной сложности программ. Эквивалентность по сложности. Примеры классов вычислительной сложности.

    презентация [77,3 K], добавлен 19.10.2014

  • Решения задачи графическим и программным способами. Описание алгоритма решения графическим способом, укрупненная схема алгоритма. Ввод элементов двумерного массива, вывод преобразованного массива, разработка программы на языке pascal, листинг программы.

    курсовая работа [115,5 K], добавлен 22.05.2010

  • Описание алгоритма решения задачи графическим способом. Вывод элементов массива. Описание блоков укрупненной схемы алгоритма на языке Pascal. Листинг программы, а также ее тестирование. Результат выполнения c помощью ввода различных входных данных.

    контрольная работа [150,4 K], добавлен 03.05.2014

  • Программа формирования матрицы смежности по заданному списку окрестностей вершин ориентированного графа. Формирование динамического списка дуг ориентированного графа по заданному списку окрестностей. Анализ временной и емкостной сложности алгоритма.

    курсовая работа [8,1 M], добавлен 07.09.2012

  • История и термины теории графов. Описание алгоритма Дейкстры. Математическое решение проблемы определения кратчайшего расстояния от одной из вершин графа до всех остальных. Разработка программы на объектно-ориентированном языке программирования Delphi 7.

    контрольная работа [646,9 K], добавлен 19.01.2016

  • Работа в Pascal, теория рядов. Главные признаки сходимости знакоположительных рядов. Общее понятие о ряде Тейлора. Вычисление конечной суммы факториального ряда для заданного массива значений. Исходный текст программы. Результаты выполнения программы.

    контрольная работа [1,6 M], добавлен 06.08.2013

  • Разработка программы на языке Pascal. Описание переменных. Действия, которые должна выполнить программа согласно выбранного алгоритма. Детализация графической части программы. Листинг и тестирование программы. Вывод массива данных на экран монитора.

    контрольная работа [360,4 K], добавлен 13.06.2012

  • Описание алгоритма решения задачи по вычислению суммы элементов строк матрицы с использованием графического способа. Детализация укрупненной схемы алгоритма и разработка программы для решения задачи в среде Turbo Pascal. Листинг и тестирование программы.

    курсовая работа [446,0 K], добавлен 19.06.2014

  • Создание программы визуализации методов сортировки массива, особенности и направления ее практического применения. Выбор и обоснование среды программирования. Разработка руководства пользователя. Листинг программы и оценка эффективности ее использования.

    дипломная работа [1,0 M], добавлен 15.06.2014

  • Микропроцессоры позволяют строить универсальные устройства управления электронными весами. Разработка функциональной схемы, схемы алгоритма прикладной программы. Разработка принципиальной схемы, управляющей программы. Листинг управляющей программы.

    курсовая работа [118,0 K], добавлен 04.07.2008

  • Разработка функциональной и принципиальной схемы. Выбор управляющего контроллера. Описание МК PIC16F626, МК AVR, МК 51. Выбор элементной базы. Разработка управляющей программы. Описание алгоритма работы программы. Схема устройства, листинг программы.

    курсовая работа [492,9 K], добавлен 28.12.2012

  • Вычисление суммы положительных элементов массива. Упорядочивание элементов массива по убыванию. Решение задачи с помощью алгоритма, реализованного в среде Microsoft Visual 2008 Express. Реализация и тестирование программы. Выполнение трассировки функций.

    практическая работа [146,3 K], добавлен 23.01.2015

  • Основные параметры устройства отображения информации. Обоснование выбора используемых ресурсов микроконтроллера и схемы включения. Разработка схемы алгоритма. Описание и отладка программы. Схема электрическая принципиальная и листинг трансляции программы.

    курсовая работа [121,3 K], добавлен 12.12.2014

  • Исследование арифметических выражений и разработка простых программ. Таблица переменных для алгоритма и программы. Алгоритм решения, текст программы на языке С. Разработка программы вычисления значений выражений, сравнение результатов с ручным подсчетом.

    лабораторная работа [282,7 K], добавлен 30.01.2015

  • Особенности поиска среднеарифметического значения элементов массива. Общая характеристика проблем разработки в среде Turbo Pascal программы упорядочивания массива по возрастанию. Рассмотрение основных этапов разработки программы на языке PASCAL.

    курсовая работа [896,7 K], добавлен 18.05.2014

  • Разработка блок-схемы и программы обработки одномерного массива с доступом к элементам с помощью индексов и с помощью указателей. Словесное описание алгоритма и пользовательского интерфейса, листинг программы обработки матрицы и результат её выполнения.

    курсовая работа [391,1 K], добавлен 30.09.2013

  • Особенности метода численного интегрирования функции одной переменной. Замена на каждом элементарном отрезке подынтегральной функции на многочлен первой степени (линейную функцию). Разработка алгоритма программы, ее листинг. Пример работы программы.

    контрольная работа [217,9 K], добавлен 14.07.2012

  • Выведение значения элементов массива, которые удовлетворяют неравенству. Подсчет количества отрицательных элементов массива. Изменение исходного массива. Тестирование программы. Проверка её работоспособности. Реакция программы на сообщение об ошибке.

    лабораторная работа [1,3 M], добавлен 23.11.2014

  • Разработка различных программ для вычисления X и Y по формуле, для вычисления интеграла, для вычисления таблицы значений функции и для вычисления элементов вектора. Составление блок-схемы программы. Ввод значений, описание переменных и условия расчета.

    контрольная работа [148,1 K], добавлен 08.11.2013

  • Особенности разработки программы и выбор методов решения задачи. Составление алгоритма, распределение регистров программы и формирование файлов. Описание процедуры очистки памяти, сложения, вычитания, умножения. Тестирование и листинг программы.

    лабораторная работа [51,2 K], добавлен 14.05.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.