- •Структурограммы…………………………………………………………………16
- •Описание структурограмм…..……………………………………………………20
- •Введение
- •Постановка задачи
- •Техническое задание
- •Основание для разработки
- •Назначение разработки
- •Требования к функциональным характеристикам
- •Требования к надёжности
- •Условие эксплуатации
- •Требования к составу и параметру технических средств
- •Требования к информационной и программной совместимости
- •Требования к программной документации
- •Технико-экономические показатели
- •Стадии и этапы разработки
- •Порядок контроля и приемки
- •Пояснительная записка
- •Текст программы
- •Список литературы
-
Пояснительная записка
-
Структурограммы программы
Структурограмма 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)
С
начало
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
-
Описание структурограмм
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 выдается сообщение: 'матрицы не верно разбиты', либо ' не верно выполнены действия', либо ' не верно выполнено сложение', либо ' не верно выполнено умножение'
-
Если все ячейки заполнены верно, то выдается сообщение: . 'все верно'.