Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовое проектирование ТРПП.doc
Скачиваний:
4
Добавлен:
11.11.2018
Размер:
1.21 Mб
Скачать
  1. Пояснительная записка

    1. Структурограммы программы

Структурограмма function metod1(n:byte;S,A,B,C,D:TStringGrid):integer;

Для i от 1 до n-1

Для j от 1 до n-1

metod1 = w

конец

Структурограмма function metod2(n:byte;S,A,B,C,D:TStringGrid):integer;

Для i от 1 до n

Для j от 1 до n

metod2=w

конец

Структурограмма function SUMMA(n:byte):integer;

конец

SUMMA = w

Структурограмма procedure TRAN(Q,Z:INTEGER;A:TStringGrid);

начало

A.ColCount = Q

A.ROWCOUNT = Q

A.Height = Z

A.Width = Z

конец

Структурограмма function UMNOG(n:byte):integer;

начало

w = 0

Для i от 1 до n-1

Для j от 1 до n-1

G [ i , j ] = 0

Для k от 1 до n

G[i,j]:=G[i,j]+S[i,k]*P[k,j]

нет

Sp12[i,j]=G[i,j]

да

w = w + 1

UMNOG = w

конец

Структурограмма procedure TForm7.RadioButton1Click(Sender: TObject);

начало

TRAN(5,100,StringGrid1) TRAN(5,100,StringGrid2) TRAN(5,100,StringGrid3)

TRAN(5,100,StringGrid4) TRAN(5,100,StringGrid5) TRAN(5,100,StringGrid6)

TRAN(5,100,StringGrid7) TRAN(5,100,StringGrid8) TRAN(5,100,StringGrid9)

TRAN(5,100,StringGrid10) TRAN(5,113,StringGrid11) TRAN(5,113,StringGrid12)

StringGrid1.Cells[i,j]=inttostr(Random(10))

StringGrid2.Cells[i,j]=inttostr(Random(8))

Для i от 0 до 4

Для j от 0 до 4

конец

Структурограмма procedure TForm7.RadioButton2Click(Sender: TObject);

начало

StringGrid1.Cells[i,j]=inttostr(Random(8)) StringGrid2.Cells[i,j]=inttostr(Random(12))

Для i от 0 до 3

Для j от 0 до 3

конец

TRAN(4,80,StringGrid1) TRAN(4,80,StringGrid2) TRAN(4,80,StringGrid3) TRAN(4,80,StringGrid4) TRAN(4,80,StringGrid5) TRAN(4,80,StringGrid6)

TRAN(4,80,StringGrid7) TRAN(4,80,StringGrid8) TRAN(4,80,StringGrid9)

TRAN(4,80,StringGrid10) TRAN(4,93,StringGrid11) TRAN(4,93,StringGrid12)

С

начало

труктурограмма procedure TForm7.Button3Click(Sender: TObject);

Edit1.Text=''

Для i от 1 до n-1

Для j от 1 до n-1

StringGrid3.Cells[i,j] = ''

StringGrid4.Cells[i,j] =’'

StringGrid5.Cells[i,j] = ''

StringGrid6.Cells[i,j] = ''

StringGrid7.Cells[i,j] = ''

StringGrid8.Cells[i,j]= ''

StringGrid9.Cells[i,j] = ''

StringGrid10.Cells[i,j]= ''

StringGrid11.Cells[i,j]= ''

StringGrid12.Cells[i,j]= ''

конец

Структурограмма procedure TForm7.Button2Click(Sender: TObject);

RadioButton1.Checked

да

нет

Для i от 1 до 4

Для j от 1 до 4

S[i,j ]= strtoint(StringGrid1.Cells[j-1,i-1])

P[i,j] = strtoint(StringGrid2.Cells[j-1,i-1])

SP11[i,j]=strtoint(StringGrid11.Cells[j-1,i-1])

SP12[i,j]=strtoint(StringGrid12.Cells[j-1,i-1])

nom1=metod1(4,StringGrid1,StringGrid3,StringGrid4,StringGrid5,StringGrid6)

nom2=metod1(4,StringGrid2,StringGrid7,StringGrid8,StringGrid9,StringGrid10)

nom = nom1+nom2

sum = SUMMA(5)

pr = UMNOG(5)

nom=72

sum=25

Pr=25

w= w1+ w2+ w3

    1. Описание структурограмм

function metod1(n:byte;S,A,B,C,D:TStringGrid):integer описывает первый метод разбиения матриц на клетки, используемый в обоих вариантах:

  • Сверяются вводимые элементы матриц с действительными;

  • Подсчитывается общее количество совпадений для дальнейшего контроля результата.

function metod2(n:byte;S,A,B,C,D:TStringGrid):integer описывает второй метод разбиения матриц на клетки, используемый во втором варианте:

  • Сверяются вводимые элементы матриц с действительными;

  • Подсчитывается общее количество совпадений для дальнейшего контроля результата.

function SUMMA(n:byte):integer вычисляет сумму заданных матриц в обоих вариантах:

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

  • Подсчитывается общее количество совпадений для дальнейшего контроля результата.

procedure TRAN(Q,Z:INTEGER;A:TStringGrid) используется для изменения каждого StringGrid в обоих вариантах :

  • Задает массивам нужное количество строк и столбцов;

  • Задает высоту и длину окна массива.

function UMNOG(n:byte):integer вычисляет произведение заданных матриц в обоих вариантах:

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

  • Подсчитывается общее количество совпадений для дальнейшего контроля результата.

procedure TForm7.RadioButton1Click(Sender: TObject) используется для ввода значений матриц в первом варианте:

  • С использованием процедуры tran устанавливаются параметры всех матриц;

  • Вводятся случацные значения в две исходные матрицы размером 5 на 5.

procedure TForm7.RadioButton2Click(Sender: TObject) ) используется для ввода значений матриц во втором варианте:

  • С использованием процедуры tran устанавливаются параметры всех матриц;

  • Вводятся случацные значения в две исходные матрицы размером 4 на 4.

procedure TForm7.Button3Click(Sender: TObject) очищает поля ввода значений матриц, а так же поле вывода результата:

  • Edit1 присваивается пустая строка;

  • Очищаются ячейки матриц.

procedure TForm7.Button2Click(Sender: TObject) используется для описания кнопки «ПРОВЕРКА», выполняет все основные функции для обоих вариантов.

При нажатии кнопки RadioButton1 «1-й вариант»:

  • Значения, записанные в StringGrid1, StringGrid2, StringGrid11, StringGrid12

(исходные матрицы и матрицы со значением суммы и произведения) присваиваются матрицам S, P, SP11, SP12 соответственно;

  • Происходит обращение к функции metod1, которая считает количество правильнозаполненных ячеек при разбиении матриц;

  • Обращение к функции Summa;

  • Обращение к функции UMNOG;

  • При ошибочном заполнении ячеек, в Edit1 выдается сообщение: 'матрицы не верно разбиты', либо ' не верно выполнены действия', либо ' не верно выполнено сложение', либо ' не верно выполнено умножение'

  • Если все ячейки заполнены верно, то выдается сообщение: . 'все верно'.

При нажатии кнопки RadioButton1 «1-й вариант»:

  • Значения, записанные в StringGrid1, StringGrid2, StringGrid11, StringGrid12

присваиваются матрицам S, P, SP11, SP12 соответственно;

  • Происходит обращение к функции metod1, которая считает количество правильнозаполненных ячеек при разбиении матриц;

  • обращение к функции metod2, которая считает количество правильнозаполненных ячеек при разбиении матриц вторым способом;

  • Обращение к функции Summa;

  • Обращение к функции UMNOG;

  • При ошибочном заполнении ячеек, в Edit1 выдается сообщение: 'матрицы не верно разбиты', либо ' не верно выполнены действия', либо ' не верно выполнено сложение', либо ' не верно выполнено умножение'

  • Если все ячейки заполнены верно, то выдается сообщение: . 'все верно'.