Помощь в написании студенческих работ
Антистрессовый сервис

Структура приложения. 
Приложение для решения задачи сетевого планирования

РефератПомощь в написанииУзнать стоимостьмоей работы

Rem: Процедура ввода элементов матрицы с клавиатуры. Rem: Процедура ввода элементов матрицы с клавиатеры. Rem: процедура загрузки формы, подготовка к работе. Public Sub fgrid (arr () As Single, km As Integer, kn As Integer, g As MSFlexGrid). Dim i As Byte, j As Byte, ii As Byte, jj As Byte, d As Integer, az As Integer. Rem: Процедура ввода элементов случайным образом. Rem: Процедура ввода… Читать ещё >

Структура приложения. Приложение для решения задачи сетевого планирования (реферат, курсовая, диплом, контрольная)

РАСПЕЧАТКА ФОРМ И ТАБЛИЦ ЗНАЧЕНИЙ СВОЙСТВ

Структура приложения. Приложение для решения задачи сетевого планирования.

Список объектов и их свойств.

Объект.

Name.

Caption.

Command 1.

BtnExit.

Exit.

Label1.

Lblm.

Введите количество строк.

Label2.

Lbln.

Введите количество столбцов.

Label3.

lblIM.

Исходный массив.

Label4.

lblRM.

Результирующий массив.

Label5.

lblInfo.

Label6.

lblInfo1.

Text1.

txtm.

Text2.

txtn.

MSFlexGrid1.

Gr1.

MSFlexGrid1.

Gr2.

Меню.

mnuPrg.

Программа.

mnuStart.

Запуск.

mnuPStart.

Повторный запуск.

mnuExit.

Выход.

mnuFile.

Файл.

mnuZfile.

Запись массива в файл.

mnuRfil.

Редактирование данных в файле.

mnuVvod.

Ввод массива.

mnuOfil.

Из файла.

mnuKlav.

С клавиатуры.

mnuRand.

Автоввод.

mnuRech.

Решение.

CommonDialog1.

Cdlg.

Таблица переменных.

Переменная.

Идентификатор

Тип.

Исходный массив.

a ().

Integer.

Результирующий массив.

b ().

Integer.

Количество строк.

m.

Integer.

Количество столбцов.

n.

Integer.

Размер матрицы, записанной в файл.

cf, rf.

Integer.

Переменные цикла.

i, j, ii, jj.

Byte.

Вспомогательные переменные.

az, t, k.

Integer.

Счетчик.

d.

Integer.

Сообщения.

massage.

String.

Верхняя и нижняя граница случайных чисел.

mm, nn.

Integer.

· Программные коды frmMatrix

Option Explicit.

Private a () As Single, b () As Single, fname As String.

Private m As Integer, n As Integer.

Rem: процедура загрузки формы, подготовка к работе.

Private Sub Form_Load ().

mnuFile.Visible = False.

mnuVvod.Visible = False.

mnuTask.Visible = False.

mnuPStart.Visible = False.

Label1.Visible = False.

Label2.Visible = False.

End Sub.

Rem: процедура вывода формы About.

Private Sub mnuInfo_Click ().

frmAbout.Show.

End Sub.

Rem: Запуск приложения выбором меню «Запуск» .

Private Sub mnuStart_Click ().

Label1.Visible = True.

Label1.Caption = «Введите количество строк» .

Label2.Visible = True.

Label2.Caption = «Введите количество столбцов» .

txtm.Text = «» .

txtn.Text = «» .

txtm.SetFocus.

mnuVvod.Visible = False.

mnuTask.Visible = False.

mnuPStart.Visible = True.

mnuStart.Visible = False.

End Sub.

Rem: Процедура ввода количества строк матрицы.

Private Sub txtm_KeyPress (KeyAscii As Integer).

m = Val (txtm.Text).

If KeyAscii = 13 Then txtn.SetFocus.

End Sub.

Rem: Процедура ввода количества столбцов матрицы.

Private Sub txtn_KeyPress (KeyAscii As Integer).

n = Val (txtn.Text).

If KeyAscii = 13 Then.

If m 0 And n 0 And m 1 And n 1 Then.

ReDim a (1 To m, 1 To n).

mnuVvod.Visible = True.

Label1.Caption = «Количество строк» .

Label2.Caption = «Количество столбцов» .

Else.

MsgBox («Повторите ввод размера массива»).

txtm.Text = «» .

txtn.Text = «» .

txtm.SetFocus.

Exit Sub.

End If.

End If.

End Sub.

Rem: Процедура ввода элементов матрицы с клавиатуры.

Private Sub mnuKlav_Click ().

mnuKlav.Checked = True.

mnuRand.Checked = False.

mnuOfile.Checked = False.

Call Klav (a (), m, n).

mnuFile.Visible = True.

mnuRech.Visible = True.

Call fgrid (a (), m, n, Gr1).

End Sub.

Rem: Процедура ввода элементов матрицы случайным образом.

Public Sub mnuRand_Click ().

Dim nn As Integer, mm As Integer.

mnuRand.Checked = True.

mnuKlav.Checked = False.

mnuOfile.Checked = False.

nn = Val (InputBox («Введите нижнюю границу»)).

mm = Val (InputBox («Введите верхнюю границу»)).

Call Rand (a (), m, n, nn, mm).

mnuFile.Visible = True.

mnuTask.Visible = True.

Call fgrid (a (), m, n, Gr1).

End Sub.

Rem: Процедура редактирования элементов матрицы в файле.

Private Sub mnuRfile_Click ().

Dim i As Byte, j As Byte.

Open fname For Input As #1.

For i = 1 To m.

For j = 1 To n.

Input #1, a (i, j).

a (i, j) = Val (InputBox («Элемент» & Str (i) & «-й строки» & Str (j) & «-го столбца», «Редактирование элементов», Str (a (i, j)))).

Next j.

Next i.

Close #1.

Call fgrid (a (), m, n, Gr1).

End Sub.

Rem: Процедура повторного запуска программы на выполнение.

Private Sub mnuPstart_Click ().

Call mnuStart_Click.

Gr1.Clear.

Gr2.Clear.

End Sub.

Rem: Процедура выхда из приложения.

Private Sub mnuExit_Click ().

End.

End Sub.

Private Sub btnExit_Click ().

End.

End Sub.

Rem: Процедуры решения Задачи.

Private Sub mnuTask_Click ().

ReDim b (1 To m, 1 To n).

Call Inic (b (), m, n, a ()).

Call Task (b ()).

Call fgrid (b (), m, n, Gr2).

End Sub.

Public Sub Task (arr () As Single).

Dim i As Byte, j As Byte, ii As Byte, jj As Byte, d As Integer, az As Integer.

Dim nn, mm As Integer.

az = Val (InputBox («Введите любое число в пределах от «& Str (nn) & «до «& Str (mm), «Ввод Числа»)).

For i = 1 To m.

For j = 1 To n.

d = 0.

For ii = i — 1 To i + 1.

For jj = j — 1 To j + 1.

If i = ii And j = jj Then GoTo 1.

If ii m Or jj n Then GoTo 1.

If az = a (ii, jj) Then d = d + 1.

1 Next jj.

Next ii.

If d >= 2 Then.

arr (i, j) = 1.

Else.

arr (i, j) = 0.

End If.

Next j.

Next i.

massage = «Заданное число «& az.

lblInfo1.Caption = massage.

End Sub.

Rem: Процедура ввода элементов матрицы из файла.

Private Sub mnuOfile_Click ().

Dim i As Byte, j As Byte.

mnuOfile.Checked = True.

mnuKlav.Checked = False.

mnuRand.Checked = False.

Call NameFile (fname, CDlg, False).

Open fname For Input As #1.

For i = 1 To m.

For j = 1 To n.

Input #1, a (i, j).

Next j.

Next i.

Close #1.

mnuFile.Visible = True.

mnuTask.Visible = True.

Call fgrid (a (), m, n, Gr1).

End Sub.

Rem: Процедура записи элементов матрицы в файл.

Private Sub mnuZfile_Click ().

Dim i As Byte, j As Byte.

Call NameFile (fname, CDlg, True).

Open fname For Output As #1.

For i = 1 To m.

For j = 1 To n.

Print #1, Tab ((j — 1) * 6); a (i, j).

Next j.

Next i.

Close #1.

End Sub.

Rem: Процедура выхода из приложения.

Private Sub Form_Unload (Cancel As Integer).

If MsgBox («Уверены?», vbYesNo, «Выход?») = vbYes Then.

Unload Me.

Set frmMatrix = Nothing.

Else.

Cancel = 1.

End If.

End Sub.

· Программные коды Module 1

Rem: Процедура ввода элементов случайным образом.

Public Sub Rand (arr () As Single, km As Integer, kn As Integer, nn As Integer, mm As Integer).

Dim massage As String.

Dim i As Byte, j As Byte.

Randomize.

For i = 1 To km.

For j = 1 To kn.

arr (i, j) = Int ((mm — nn) * Rnd + nn).

Next j.

Next i.

massage = «Введена матрица с диапазоном чисел от «& nn & «до «& mm.

frmMatrix.lblInfo.Caption = massage.

End Sub.

Rem: Процедура ввода элементов матрицы с клавиатеры.

Public Sub Klav (arr () As Single, km As Integer, kn As Integer).

Dim i As Byte, j As Byte.

For i = 1 To km.

For j = 1 To kn.

arr (i, j) = Val (InputBox («Введите элемент» & Str (i) & «-й строки» & Str (j) & «-ого столбца», «Ввод элементов исходного массива»)).

Next j.

Next i.

End Sub.

Rem: Процедура вывода элементов матрицы в MSFlexGrid.

Public Sub fgrid (arr () As Single, km As Integer, kn As Integer, g As MSFlexGrid).

Dim i As Byte, j As Byte.

frmMatrix.Gr1.Width = g. ColWidth (i) * kn.

frmMatrix.Gr1.Height = g. RowHeight (i) * km + 100.

frmMatrix.Gr2.Width = g. ColWidth (i) * kn.

frmMatrix.Gr2.Height = g. RowHeight (i) * km + 100.

g.Cols = kn.

g.Rows = km.

For j = 0 To kn — 1.

g.ColWidth (j) = 300.

g.ColAlignment (j) = 1.

Next j.

For i = 0 To km — 1.

g.Row = i.

For j = 0 To kn — 1.

g.Col = j.

g.Text = Format (arr (i + 1, j + 1), «0.#»).

Next j.

Next i.

End Sub.

Rem: Процедура инициализации элементов результирующей матрицы.

Public Sub Inic (arr () As Single, km As Integer, kn As Integer, a () As Single).

Dim i As Byte, j As Byte.

For i = 1 To km.

For j = 1 To kn.

arr (i, j) = a (i, j).

Next j.

Next i.

End Sub.

Public Sub NameFile (f As String, a As CommonDialog, k As Boolean).

On Error GoTo Line1.

a.FileName = f.

a.Filter = «Все файлы (*.*)|*.*|Текстовые (*.txt)|*.txt|» «(*.dat)|*.dat» .

a.FilterIndex = 3.

If k = True Then.

a.ShowSave.

Else.

a.ShowOpen.

End If.

f = a.FileName.

Exit Sub.

Line1:

End Sub.

Программные коды frmAbout.

Private Sub cmdOK_Click ().

Unload Me.

End Sub.

Показать весь текст
Заполнить форму текущей работой