- •Решение типовых задач вычислительной математики с помощью инструментальных средств vb и ms excel
- •Содержание
- •Введение
- •1. Решения задач численными методами в системе Visual Basic
- •Решение нелинейных уравнений
- •1.1.1. Теоретическая часть
- •1.1.2. Практическая часть
- •1.1.3. Варианты заданий
- •1.1.4. Контрольные вопросы
- •1.2. Вычисление определенных интегралов
- •1.2.1. Теоретическая часть
- •1.2.2. Практическая часть
- •1.2.3. Варианты заданий
- •1.2.4. Контрольные вопросы
- •1.3. Вычисление несобственных интегралов
- •1.3.1. Теоретическая часть
- •1.3.2. Практическая часть
- •1.3.3. Варианты заданий
- •1.3.4. Контрольные вопросы
- •1.4. Решение дифференциальных уравнений
- •1.4.1. Теоретическая часть
- •1.4.2. Практическая часть
- •1.4.3. Варианты заданий
- •1.4.4. Контрольные вопросы
- •1.5. Решение систем нелинейных уравнений
- •1.5.1. Теоретическая часть
- •1.5.2. Практическая часть
- •1.5.3. Варианты заданий
- •1.5.4. Контрольные вопросы
- •1.6. Создание Windows-приложений в системе Visual Basic
- •1.6.1. Теоретические основы проектирования меню
- •1.6.2. Программа-шаблон для курсовой работы
- •1.6.3. Контрольные вопросы
- •2. Примеры решения задач в табличном процессоре Excel
- •2.1. Теоретическая часть
- •2.2. Практическая часть
- •2.3. Создание меню пользователя
- •2.4. Варианты заданий
- •2.5. Контрольные вопросы
- •3. Примеры решения задач в субд Access
- •3.1. Теоретическая часть
- •3.2. Практическая часть
- •3.2.1. Создание файла базы данных и таблиц.
- •3.2.2. Поиск, замена и фильтрация данных
- •Отбор записей с помощью фильтра
- •3.2.3. Запросы
- •3.2.4. Формы
- •3.2.4.1. Создание однотабличной формы
- •3.2.4.2. Создание многотабличной формы
- •3.2.4.3. Создание кнопок управления с помощью мастера
- •3.2.4.4. Кнопочная форма
- •3.2.4.5. Запуск приложения
- •3.2.5. Макросы
- •3.2.6. Отчеты
- •3.3. Варианты заданий
- •3.4. Контрольные вопросы
- •Список литературы
- •Примеры решения некоторых задач для курсовых работ
- •Примеры решения некоторых задач для курсовых работ
1.6.2. Программа-шаблон для курсовой работы
Представленная ниже программа позволяет создавать, просматривать и редактирует текстовые файлы формата rtf, имеет интерфейс в стиле Windows. В программный интерфейс входит строка меню, панель инструментов ToolBar1, текстовое поле RichTextBox1, строка состояния StatusBar1, CommonDialog1, список изображений ImageList1.
Для объекта ImageList1 с помощью свойства Custom через закладку Images загружаются картинки с диска по маршруту C:\Install\Visual Basic 6.0\COMMON\GRAPHICS\ BITMAPS\TLBR_W95, в том порядке, как они будут расположены на панели инструментов.
Для объекта ToolBar1 (панель инструментов) также открываем диалог Custom. На закладке General устанавливаем связь свойства ImageList с объектом ImageList1, который содержит картинки для кнопок. На вкладке Buttons вставляем кнопки и задаем их свойства. Для этого:
нажимаем кнопку Insert Button, при этом автоматически определяется свойство Index (номер кнопки);
вводим порядковый номер в свойство Image, равное свойству Index.
Кнопки панелей инструментов будут дублировать команды меню. Поэтому, чтобы не повторять код в процедурах обработки, нужно создать общие процедуры, например, mnuFileOpen и mnuFileSave.
На панели инструментов кнопки Вырезать и Копировать доступны, только если имеется выделенный текст. Поэтому в режиме проектирования (на закладке Buttons окна Property Pages) для них снимается флажок Enabled, а в процедуре RichTextBox1_SelChange() - устанавливается.
Меню имеет следующий вид (в скобках указаны процедуры обработки событий, они должны вводятся в свойстве Name , а не в свойстве Caption).
Файл (mnuFile)
Создать (mnuFileNew)
Открыть (mnuFileOpen)
Сохранить (mnuFileSave)
Закрыть (mnuFileClose)
------------- (любая последовательность символов)
Выход (mnuExit)
Правка (mnuEdit)
Вырезать (mnuCut)
Копировать (mnuCopy)
Вставить (mnuPaste)
------------ (любая последовательность символов)
Выделить все (mnuSelAll)
Вид (mnuView)
▼Панель инструментов (mnuViewTb)
▼Строка состояния (mnuViewTb)
Формат (mnuFormat)
Шрифт (mnuFont)
Цвет (mnuColor)
Символов (mnuColorChar)
Фона (mnuColorFon)
Дифф. уравнение (mnuDiff)
Численное решение (mnuDiff_c)
График (mnuDiff_g)
Блок-схема (mnuDiff_b)
Выч. интеграла (mnuInt)
Численное решение (mnuInt_c)
График (mnuInt_g)
Блок-схема (mnuInt_b)
Код программы:
Private Sub Form_Load()
Toolbar1.DragMode = 0
' Чтобы можно использовать технологию Drag&Drop
RichTextBox1.OLEDragMode = rtfOLEDragAutomatic
RichTextBox1.OLEDropMode = rtfOLEDropAutomatic
With CommonDialog1
.CancelError = True
.FontName = "Times New Roman"
.FontSize = 12
.FontBold = True
.FontItalic = True
End With
Form1.Hide
Dialog.Show 1, Form1
End Sub
Private Sub Form_Resize()
'Автоматическое изменение размеров формы и текстового поля
RichTextBox1.Height = Form1.Height - StatusBar1.Height - 1200
RichTextBox1.Width = Form1.Width - 100
End Sub
Private Sub mnuDiff_c_Click()
Load Form2
Form2.Show 1, Form1
End Sub
Private Sub mnuFileNew_Click()
RichTextBox1.Visible = True
RichTextBox1.TextRTF = ""
End Sub
Private Sub mnuFileOpen_Click()
On Error GoTo 100
With CommonDialog1
.Filter = "RTF-файлы (*.rtf)|*.rtf|Текстовые файлы (*.txt) _
|*.txt|Все файла (*.*)|*.*|"
.FileName = "*.rtf"
.Flags = cdlOFNHideReadOnly 'Or cdlOFNAllowMultiselect
.ShowOpen 'Открыть диалог Open и ввести имя файла
End With
RichTextBox1.Visible = True
RichTextBox1.LoadFile CommonDialog1.FileName, rtfRTF
mnuEdit = True
mnuView = True
mnuFormat = True
Exit Sub
100: MsgBox "Ошибка" & Str$(Err.Number) & _
" при чтении." & vbCrLf & Err.Description
End Sub
Private Sub mnuFileClose_Click()
RichTextBox1.Visible = False
mnuEdit = False
mnuView = False
mnuFormat = False
End Sub
Private Sub mnuExit_Click()
End
End Sub
Private Sub mnuFileSave_Click()
fn = FreeFile
On Error GoTo 100
'Открыть диалог Save и ввести имя файла
CommonDialog1.ShowSave
RichTextBox1.SaveFile CommonDialog1.FileName, rtfRTF
Exit Sub
100:
MsgBox "Ошибка" & Str$(Err.Number) & " при записи." & _
vbCrLf & Err.Description
End Sub
Private Sub mnuCopy_Click()
Clipboard.SetText RichTextBox1.SelText
End Sub
Private Sub mnuCut_Click()
Clipboard.SetText RichTextBox1.SelText
RichTextBox1.SelText = ""
End Sub
Private Sub mnuPaste_Click()
RichTextBox1.SelText = Clipboard.GetText
End Sub
Private Sub mnuSelAll_Click()
RichTextBox1.SelStart = 0
RichTextBox1.SelLength = Len(RichTextBox1.TextRTF)
End Sub
Private Sub mnuFont_Click()
On Error GoTo 100
With CommonDialog1
.Flags = cdlCFScreenFonts Or cdlCFEffects 'Or cdlCFNoStyleSel
.ShowFont
End With
With RichTextBox1
.SelFontName = CommonDialog1.FontName
.SelBold = CommonDialog1.FontBold
.SelItalic = CommonDialog1.FontItalic
.SelFontSize = CommonDialog1.FontSize
.SelStrikeThru = CommonDialog1.FontStrikethru
.SelUnderline = CommonDialog1.FontUnderline
.SelColor = CommonDialog1.Color
End With
Exit Sub
100: MsgBox "Ошибка" & Str$(Err.Number) & _
" при выборе шрифта." & vbCrLf & Err.Description
End Sub
Private Sub mnuColorFon_Click()
CommonDialog1.ShowColor
RichTextBox1.BackColor = CommonDialog1.Color
End Sub
Private Sub mnuColorChar_Click()
CommonDialog1.ShowColor
RichTextBox1.SelColor = CommonDialog1.Color
End Sub
Private Sub mnuTitul_Click()
Dialog.Show 1, Form1
End Sub
Private Sub mnuViewStat_Click()
StatusBar1.Visible = Not StatusBar1.Visible
mnuViewStat.Checked = Not mnuViewStat.Checked
End Sub
Private Sub mnuViewTb_Click()
Toolbar1.Visible = Not Toolbar1.Visible
mnuViewTb.Checked = Not mnuViewTb.Checked
End Sub
Private Sub RichTextBox1_SelChange()
If RichTextBox1.SelLength > 1 Then
Toolbar1.Buttons(4).Enabled = True
Toolbar1.Buttons(5).Enabled = True
Else
Toolbar1.Buttons(4).Enabled = False
Toolbar1.Buttons(5).Enabled = False
End If
End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.Index
Case 1
mnuFileNew_Click
Case 2
mnuFileOpen_Click
Case 3
mnuFileSave_Click
Case 4
mnuCut_Click
Case 5
mnuCopy_Click
Case 6
mnuPaste_Click
End Select
End Sub
Private Sub Toolbar1_MouseMove(Button As Integer, Shift As _
Integer, x As Single, y As Single)
Dim ms(5) As String, n As Single
ms(0) = "Создать новый файл"
ms(1) = "Открыть существующий файл"
ms(2) = "Сохранить файл в окне"
ms(3) = "Вырезать в БО выделенный фрагмент"
ms(4) = "Копировать в БО выделенный фрагмент"
ms(5) = "Вставить из БО выделенный фрагмент"
n = x \ Toolbar1.ButtonWidth
If n < Toolbar1.Buttons.Count Then
StatusBar1.ToolTipText = ms(n)
StatusBar1.SimpleText = ms(n)
End If
End Sub
‘___________________ Программный код Form2______________
Dim x As Double, y As Double, z As Double, x0 As Double, y0 As _
Double, z0 As Double
Dim a As Double, b As Double, n As Double, h As Double, k1 As _
Double, k2 As Double
Dim i1 As Double, i2 As Double, i3 As Double, i4 As Double, k4 As _
Double, k3 As Double
Private Function f(x As Double, y As Double, z As Double) As Double
f = z
End Function
Private Function g(x As Double, y As Double, z As Double) As Double
g = -z / x
End Function
Private Sub Form_Load()
<Здесь в коде формы Form2 должны следовать операторы, реализующие решение дифференциального уравнения методом Рунге-Кутта>
End Sub
Private Sub Form_Unload(Cancel As Integer)
Unload Form2
End Sub
‘__________________ Программный код Dialog_______________
Private Sub OKButton_Click()
Me.Hide
Form1.Show
Form1.Caption = Label5.Caption
End Sub
Рис. 12. Пример оформления титульного листа курсовой работы