Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МСиСвИТ Практическая работа №4.docx
Скачиваний:
21
Добавлен:
09.07.2024
Размер:
67.9 Кб
Скачать
  1. Описание программы

Данный код представляет собой программу на языке Python, которая вычисляет значения функции Y для определенных интервалов аргумента X. Программа разбита на несколько файлов:

  1. main.py: Этот файл содержит основной класс Solution, который выполняет основную бизнес-логику программы. Он импортирует класс FunctionY из файла function_y.py и несколько функций для вывода сообщений из файла messages.py;

  2. function_y.py: Здесь определен класс FunctionY, представляющий искомую функцию Y. Он содержит методы для вычисления значений функции на различных интервалах аргумента X, а также для определения интервала, к которому принадлежит текущий аргумент;

  3. messages.py: Этот файл содержит несколько функций для вывода приветственных сообщений, информации о работе и разработчике, а также для завершения программы;

  4. colors.py: В этом файле определены стили текста с использованием библиотеки colorama.

Основной метод main() класса Solution в файле main.py выполняет все необходимые инструкции:

  1. Выводит приветственные сообщения;

  2. Создает объект класса FunctionY с заданными границами и шагом аргумента. В цикле вычисляет значения функции Y на различных интервалах аргумента X;

  3. Выводит таблицу аргумент-значение-функция. Выводит сообщение о завершении программы.

Программа модульная и использует объектно-ориентированный подход для решения задачи. Она разделена на отдельные компоненты (классы и функции), что делает код более читаемым и поддерживаемым.

  1. Расчёт метрик Холстеда

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

  • n1 – словарь операторов (число уникальных операторов программы);

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

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

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

  • f1j – число вхождений j-го оператора, j = 1, 2, …, n1;

  • f2i – число вхождений i-го операнда, i = 1, 2, …, n2.

Производные метрики программы:

  • Словарь программы (общее число уникальных операторов и

  • операндов программы): n = n1 + n2

  • Длина программы (общее количество операторов и операндов

  • программы): N = N1 + N2

  • Объем программы (число битов, т.е. логических единиц информации,

  • необходимых для записи программы): V = N*log2n

Расчет базовых метрик Холстеда изображен в таблице 1.

Таблица 4.1 – Расчет базовых метрик Холстеда

j

Оператор

f1j

i

Операнд

f2i

1.

=

12

1.

value_of_argement

3

2.

<=

1

2.

step

4

3.

>=

1

3.

1.5

1

4.

#

50

4.

1

1

5.

+

44

5.

2

1

6.

{ }

1

6.

“ ”

41

7.

[ ]

2

7.

__name__

1

8.

->

12

8.

__main__’

1

9.

from import

8

9.

second_border

1

10.

:

26

10.

None

11

11.

while

1

11.

int

1

12.

for

1

12.

Solution

1

13.

.

123

13.

y

8

14.

<

1

14.

x

1

15.

==

1

15.

string

1

16.

in

1

16.

values_of_function

5

17.

print()

20

17.

3

1

18.

cos()

5

18.

19.

sin()

5

19.

20.

( , )

5

20.

21.

( )

25

21.

22.

init()

1

22.

n1 = 22

N1 = 337

n2 = 17

N2 = 81

Словарь программы: n = 22 + 17 = 39

Длина программы: N = 337 + 81 = 418

Объём программы: V = 418*log2 39 = 2209