Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Дан массив из 10 элеменов. Первые 4 упорядочить по возрастанию, последние 4 по убыванию.



Дан массив из 10 элеменов. Первые 4 упорядочить по возрастанию, последние 4 по убыванию.

Алгоритм решения задачи:

В данном случае используется сортировка методом пузырька.

Возникают сложности при сортировке последних четырех элементов массива. Количество проходов (i) и количество сравнений (j) такие же как в первом случае. Однако номера элементов стоят дальше от начала на 6 значений. Поэтому проще при обмене прибавлять к j 6.

Программа на языке Паскаль:

const n = 10;

var

arr: array[1..n] of byte;

i,j,k: byte;

begin

randomize;

write('Original array: ':18);

for i:=1 to n do begin

arr[i]:= random(256);

write(arr[i]:4);

end;

writeln;

for i:=1 to 4 do

for j:=1 to 4-i do

if arr[j] > arr[j+1] then begin

k:= arr[j];

arr[j]:= arr[j+1];

arr[j+1]:= k

end;

for i:=1 to 4 do

for j:=1 to 4-i do

if arr[j+6] < arr[j+7] then begin

k:= arr[j+6];

arr[j+6]:= arr[j+7];

arr[j+7]:= k

end;

write('Sorted array: ':18);

for i:=1 to n do

write(arr[i]:4);

readln; end.

Операторы

n1

N1

Операнды

n2

N2

;(.)

   

n

   

:=

   

i

   

><

   

j

   

+-

   

k

   

Begin end

   

arr

   

For to do

   

 

 

 

Write(writeln)

   

 

 

 

readln

   

 

 

 

Randomize(randome)

   

 

 

 

If then

   

 

 

 

const

   

 

 

 

var

   

 

 

 

 

 

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

 

Метрики Холстеда отражают лексический подход к измерению характеристик программного обеспечения, основанный на измеримых свойствах алгоритмов. Свойства любого описания алгоритма (или программы для ЭВМ), по мнению Холстеда, могут быть измерены или вычислены на основе следующих метрических характеристик (оценочных элементов):

n1 - количество различных операторов программы;

n2 - количество различных операндов программы;

N1 - общее количество операторов программы;

N2 - общее количество операндов программы.

На их основе Холстед определяет следующие метрики:


словарь программы (в условных единицах)

n = n1+n2, (1) 12+5=17

длина реализации (в условных единицах)

N = N1+N2 (2) 66+49=115

длина программы (в условных единицах)

Ñ = (n1 ´ log2 n1)+(n2´log2 n2), (3) 54,56

объем программы (в битах))

V = (N1+N2) ´ log2(n1+n2). (4) 787,23

потенциальный объем программы

V* = (n2*+2) ´ log2(n2*+2), (5) 8

где n2* - общее число входных и выходных параметров. = 2 (в данном примере)

уровень программы (в условных единицах)

L = V*/ V @ (2´n2)/(n1´ N2), (6) 0,01

уровень языка

l=L´V*, (7) 0,08

интеллектуальное содержание программы (в условных единицах)

I=L´V@(2´n2/n1´ N2)´(N1+N2)´log2(n1+n2) (8) 7,87

работа по программированию (в условных единицах)



E = V/L = V2/V* (9) 78723

время на программирование (в условных единицах)

T = E/S, (10) 4373,5

или Т@(n1´N2´log2n´(n1´log2n1+n2´log2n2))/(2´n2´S), (11)

где S – число Страуда (5<S<20< b>) = 18 по Холстеду.
Сложность вариантов реализации заданного алгоритма D

 


Дата добавления: 2015-11-04; просмотров: 533 | Нарушение авторских прав




<== предыдущая лекция | следующая лекция ==>
Daftar hadir Tutor dan Staf | WASHINGTON (AP) Gallaudet University's board of trustees chose the dean of the school's College of Arts and Sciences to become the first deaf president in the 124-year history of the school for the

mybiblioteka.su - 2015-2024 год. (0.011 сек.)