Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Метрики Холстеда

Автор:   •  Март 19, 2021  •  Практическая работа  •  630 Слов (3 Страниц)  •  981 Просмотры

Страница 1 из 3

Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное учреждение

высшего образования

«ОМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

Кафедра «Автоматизированные системы обработки информации и управления»

Практическое занятие

по дисциплине

«Измерительные средства аналитики программных средств и технологий»

на тему:

«Метрики Холстеда»

Студента группы

ИСТ-191 Березуцкого М.В.

Руководитель работы

ассистент

Зубарев А.А.

Работа защищена с оценкой________

Омск 2020


Задача

Рассчитать характеристики реализации алгоритма, выполненной на знакомом языке программирования (одном языке). Размер листинга примерно одна–две страницы формата А4, индивидуален для каждого студента.

Предложить смысловую трактовку как используемых данных, так и описываемых характеристик.

Примеры листингов, возможных к использованию в задаче, приведены в приложениях А и Б.  ( Я выбрал программу написанную на C++ )

Код программы

#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

        : TForm(Owner)

{

BorderStyle=bsSingle ;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

Memo1->Clear(); //очищаем Мемо для нового текста

OpenDialog1->Execute(); //Открываем директории и ищем файл

Memo1->Lines->LoadFromFile(OpenDialog1->FileName);

Edit1->Text=OpenDialog1->FileName;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)

{

SaveDialog1->Execute(); //Открываем директории и ищем файл

Memo1->Lines->SaveToFile(SaveDialog1->FileName);

Edit1->Text=OpenDialog1->FileName;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)

{

Memo1->Clear();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::N3Click(TObject *Sender)

{

exit(0);

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button4Click(TObject *Sender)

{

int dl, colstr, p;

char S[1000];       // символьные пременные до 1000 символов

colstr=Memo1->Lines->Count;   // присваевывем переменной colstr строки в поле memo1

if (RadioButton1->Checked) p=2;  // если установлен в положении шифровать то p=2

else p=-2;    //дешивровать p=-2

        for (int i=0; i<colstr; i++)      //цикл

                {

                AnsiString s = Memo1->Lines->Strings[i]; // строка s будет содержать i-ый элемент из Memo1->Lines->Strings

                strcpy(S, s.c_str());  //копирует указатель на строку s в строку S

                dl=strlen(S);    //dl возвращает длину строки S

                for (int i=0; i<dl; i++) S[i]=S[i]+p;    // запускаем цикл и каждый из элементов строки S увеличиваем на p

                Memo1->Lines->Strings[i]=S;      //новые элементы S выводим в Memo1

                }

}

//---------------------------------------------------------------------------

void __fastcall TForm1::N6Click(TObject *Sender)

{

Memo1->Clear();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button5Click(TObject *Sender)

{

Memo1->Lines->SaveToFile(Edit1->Text);

}

Операторы исследуемого кода

Оператор

Уникальный n1

N1

;

1

25

{}

2

7

()

3

24

=

4

12

 : :

5

8

+

6

6

++

7

2

-

8

2

[]

9

5

:

10

1

for (int i=0; i<dl; i++)

11

1

 if (RadioButton1->Checked)

16

2

int

17

1

Random

18

2

new

19

3

Console.WriteLine

20

4

.->

21

28

Console.ReadLine

22

2

Console.Write

23

1

else

24

1

25

2

void

26

7

exit()

27

1

*

28

10

strcpy(S, s.c_str())

29

1

 for (int i=0; i<colstr; i++)

30

1

Memo1->Lines->SaveToFile(Edit1->Text)

31

1

Memo1->Clear();

32

3

Memo1->Lines->Strings[i]

33

2

Edit1->Text

34

3

OpenDialog1->Execute();

35

1

Memo1->Lines->LoadFromFile(OpenDialog1->FileName);

36

1

OpenDialog1->FileName

37

4

SaveDialog1->Execute()

38

1

Memo1->Lines->SaveToFile(SaveDialog1->FileName);

39

1

OpenDialog1->FileName;

40

3

Memo1->Lines->Count

41

1

RadioButton1->Checked

42

1

...

Скачать:   txt (8.8 Kb)   pdf (222.4 Kb)   docx (29.4 Kb)  
Продолжить читать еще 2 страниц(ы) »
Доступно только на Essays.club