Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив1 / doc100 / лаба 1 отчет.doc
Скачиваний:
33
Добавлен:
01.08.2013
Размер:
195.07 Кб
Скачать

Оценка характеристик программы

Используя сформированные таблицы с необходимыми парамет­рами для расчета и применяя соотношения Холстеда, вычислим ха­рактеристики рассматриваемой программы:

  • словарь программы: n = n1 + n2 = 28 + 16 = 44;

  • длина реализации: N = N1 + N2 = 116 + 36 = 152;

  • длина программы: N ~ = n1* log2 n1+ n2* log2n2 = 28* log228+16* log216=28*4,81+16*4=134,68+64=198,68;

  • объем программы в битах: V = (N2+ N1) * log2 (n1 + n2) =(116 + 36) * log2(28 + 16) = 152 * log244 = 152*5,46 = 829,92;

  • потенциальный объем программы: V* = (n2*+ 2) *log2(n2 + 2) = (10 + 2) * log2(10 + 2) = 12 *3,58 = 42,96;

  • уровень программы: L = V*/ V= 42,96 / 829,92 = 0,052;

  • уровень языка:  = L* V* = 0,052 * 42,96 = 2,23;

  • интеллектуальное содержание программы: I= L *V =0,052 * 829,92 = 43,16;

работа по программированию: E=V / L = 829,92 / 0,052 = 15960.

Сведем все результаты расчетов метрик Холстеда в таблицу 5.

ВЫВОД: Уровень исследуемой программы весьма низкий, так как потен­циальный объем программы в значительной степени меньше ее ре­ального объема.

Техническое задание:

2)Дана целочисленная прямоугольная матрица. Определить:

  • количество строк, содержащих хотя бы один нулевой элемент;

  • номер столбца, в котором находится самая длинная серия одинаковых эле­ментов.

3)Написать программу расчета по двум формулам

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace WindowsApplication1

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

int n1, nn;

int sc;

sc = 0;

dataGridView1.Rows.Add(5);

int[,] array = new int[32, 32];

Random rand = new Random();

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

{

for (int j = 0; j < 5; j++)

{

dataGridView1[i, j].Value = rand.Next(5);

}

}

for (int j = 0; j < 5; j++)

{

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

{

if (Convert.ToInt32(dataGridView1[i, j].Value) == 0)

{

sc++;

break;

}

}

}

int nj = 1;

int maxp = 1;

for (int j = 0; j < 5; j++)

{

n1 = 1;

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

{

if (Convert.ToInt32(dataGridView1[i, j].Value) == Convert.ToInt32(dataGridView1[i+1, j].Value))

{

n1=n1+1;

if (n1 > maxp)

{

maxp = n1;

nj = j;

}

}

else

{

n1 = 1;

}

}

}

textBox1.Text = Convert.ToString(sc);

textBox2.Text = Convert.ToString(nj+1);

}

}

}

Рисунок 1 – Блок схема 1-ой программы

Рисунок 2 – Блок схема для Button1 2-ой программы

Рисунок 2 – Блок схема для Button2 2-ой программы

Тестирование программы

Программа 1

a

b

Z1

Z2

Корректные значения

1

2

-0,37206437411682

-0,37206437411682

Граничные значения

0

0

1

1

Некорректные значения

sdfdsfds

ew

ошибка

ошибка

Соседние файлы в папке doc100