Построение графика «Спираль Галилея»

Автор работы: Пользователь скрыл имя, 14 Января 2014 в 12:16, курсовая работа

Описание работы

Целью моего курсового проекта является разработка приложения на языке про-граммирования Visual Basic, предназначенного для отображения графика функции, по-строенного в среде Microsoft Excel в соответствии со значениями параметров функции, области и шага построения графика функции, определенными в пользовательском интер-фейсе приложения Visual Basic. Работа с объектами, представленными компонентами ActiveX, выполняется по общей схеме: 1. Переменной присваивается ссылка на объект. 2. Создается программный код, использующий методы, свойства и события объекта. 3. По окончании работы объект освобождается.

Содержание работы

ВВЕДЕНИЕ 5
1. ОПИСАНИЕ ЭЛЕКТРОННОЙ ТАБЛИЦЫ 8
2. ОПИСАНИЕ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА 9
3. ПРИЛОЖЕНИЕ 1 9
ЛИТЕРАТУРА 22

Файлы: 1 файл

записка.doc

— 426.00 Кб (Скачать файл)

Dim c As Excel.Workbook 'переменная объекта  для  электронной книги

Dim b As Excel.Worksheet, k As Excel.Worksheet 'переменная обьекта для страницы электронной книги

Dim road As String 'переменная в которую  вносится имя текущей папки

Dim kod As Integer 'переменные используемые  для проверки на ошибки

Private Sub proverka() 'процедура проверки  на возможные ошибки

Dim a As Double, d As Double, e As Double

 

On Error GoTo oshibka

 

a = Text5.Text 'начальное значение диапазона

d = text6.Text 'в переменную вносится  конечное значение диапазона,  вводимое пользователеконечное  значение диапазона

e = Text7.Text 'шаг построения

 

kod = 0 'начальное значение кода  ошибки 0

 

If Val(Text2.Text) <= 0 Then 'если в поле  ввода размера шрифта введено  значение меньше 0

MsgBox "Введите число больше  нуля в поле ввода размера  шрифта", vbOKOnly, "Ошибка!" 'вывести  сообщение об ошибке

kod = 1 'код ошибки становится равным 1, т.е. допущена ошибка

End If 'конец проверки условия

 

If (a > d) And (e > 0) Then 'если начальное  значение больше конечечного  при положительном шаге

MsgBox "При положительном шаге  начальное значение должно быть меньше конечного!", vbOKOnly, "Ошибка!" 'выводим сообщение об ошибке

kod = 1 'код ошибки становится равным 1, т.е. допущена ошибка

End If 'конец проверки условия

 

If (a < d) And (e < 0) Then 'если при отрицательном  шаге начальное значение меньше конечного

MsgBox "При отрицательном шаге  начальное значение должно быть  больше конечного!", vbOKOnly, "Ошибка!" 'вывести сообщение об этом

kod = 1 'код ошибки становится равным 1, т.е. допущена ошибка

End If 'конец проверки условия

 

If (a = d) Then 'если начально и  конечное значения диапазона совпадают

MsgBox "Начальное и конечное  значения диапазона совпадают", vbOKOnly, "Ошибка!" 'выводим сообщение  об этом

kod = 1 'код ошибки принимает значение 1, т.е. ошибка допущена

End If 'конец проверки условия

 

If e = 0 Then 'Если в поле ввода шага введен 0

MsgBox "Введите число, отличное  от нуля в поле ввода шага", vbOKOnly, "Ошибка!" 'вывести сообщение об ошибке

kod = 1 'код ошибки становится равным 1, т.е. допущена ошибка

End If 'конец проверки условия

 

For i = 0 To 1 'цикл проверки параметров a,b

If (Text1(i).Text <> "0") And (Val(Text1(i).Text) = 0) Then 'если в окошки ввода параметров введена буква

kod = 1 'код ошибки принимает значение 1, т.е. ошибка допущена

MsgBox "Введите число в поле  ввода параметров построения", vbOKOnly, "Ошибка!" 'вывести сообщение об этом

End If 'конец проверки условия

Next 'переход к следующему окошку  ввода параметров

 

If Abs(Val(d) - Val(a)) <= 2 * Val(e) Then  'если  в диапазон попадает 1 или менее  1 значений то

MsgBox "Диапазон не должен состоять из начального и конечного значений!", vbOKOnly, "Ошибка!" 'выводим сообщение об ошибке

kod = 1 ''код ошибки принимает значение 1, т.е. ошибка допущена

End If 'конец проверки условия

Exit Sub

oshibka:

MsgBox "Введите число в поле  ввода параметров построения", vbOKOnly, "Ошибка!" 'вывести сообщение об этом

kod = 1 'код ошибки принимает значение 1, т.е. ошибка допущена

End Sub 'конец процедуры поверки  на ошибки

Private Sub Command1_Click() 'процедура нажатия  кнопки "изменить график"

proverka 'проверяем введенные данные на наличие ошибок: если ошибки есть то kod=1, если ошибок нет, то kod=0

If kod = 0 Then 'если ошибка не допущена

c.Application.Run "'график1.xls'!диап" 'запускаем  макрос для изменения диапазона  построения

OLE1.Update 'обновить график в окне  обьекта OLE1

OLE1.Visible = True 'обьект OLE1 сделать видимым

End If 'конец проверки условия

End Sub 'конец процедуры нажатия  кнопки "изменить график"

 

Private Sub Command2_Click()

proverka 'проверяем введенные данные  на наличие ошибок: если ошибки  есть то kod=1, если ошибок нет, то kod=0

If kod = 0 Then 'если ошибка не допущена

c.Application.Run "'график1.xls'!изм_формY" 'запускаем макрос для изменения  диапазона построения

OLE1.Update 'обновить график в окне  обьекта OLE1

OLE1.Visible = True 'обьект OLE1 сделать видимым

End If 'конец проверки условия

End Sub

 

Private Sub Form_Load() 'процедура загрузки формы

road = CurDir + "\график1.xls" 'в переменную  записываем адрес эл.таблицы "график1.xls" используя ф-цию CurDir

 

OLE1.SourceDoc = road 'св-ву SourceDoc обьекта OLE1 присваиваем адрес эл.таблицы "график1.xls"

OLE1.CreateLink (road) 'создаем связь между  обьектом OLE1 и эл.таблицей "график1.xls"

Set c = GetObject(road) 'связываем объектную  переменную с электронной таблицей "график1.xls"

Set b = c.Worksheets(1) 'переменная связывается с первым листом электронной книги

j = 3 'переменная содержащая в  себе номер строки эл.таблицы  принимает значение 3

For i = 0 To 1 'в массив эл-тов TextBox, в который записываются значения  параметров a,b

Text1(i) = Val(b.Cells(j, 3).Value) 'записываются данные из ячеек C3,C4 соответственно

j = j + 1 'увеличиваем номер строки  для перехода к следующей ячейке

Next 'переходим к следующему эл-ту TextBox в массиве

Text2.Text = b.Cells(1, 1).Value 'в окошко ввода  размера шрифта заносим значение ячейки А1

Text5.Text = b.Cells(4, 7).Value 'в окошко ввода  нач. знач. диапазона заносим значения из ячейки G4

text6.Text = b.Cells(5, 7).Value 'в окошко ввода  конечного значения вводим значение  ячейки G5

Text7.Text = b.Cells(7, 7).Value 'в окошко ввода  шага построения вводим содержимое ячейки G7

Option1(0).Value = True

Option1(3).Value = True

proverka 'проверяем введенные данные  на наличие ошибок: если ошибки  есть то kod=1, если ошибок нет,  то kod=0

If kod = 0 Then 'если ошибка не допущена

   c.Application.Run "'график1.xls'!диап" 'запускаем макрос для изменения диапазона построения

   c.Application.Run "'график1.xls'!изм_формY" 'запускаем макрос для изменения  размера

   OLE1.Update 'обновить график  в окне обьекта OLE1

   OLE1.Visible = True 'обьект OLE1 сделать видимым

End If 'конец проверки условия

End Sub 'конец процедуры загрузки  формы

 

Private Sub Option1_Click(Index As Integer)

If Option1(0).Value = True Then 'если текущая радиокнопка включена

b.Cells(2, 7) = "Arial" 'то в ячеку B7 заносим текущий наименование шрифта

End If 'конец проверки условия

 

If Option1(1).Value = True Then 'если текущая радиокнопка включена

b.Cells(2, 7) = "Tahoma" 'то в ячеку  B7 заносим текущий наименование  шрифта

End If 'конец проверки условия

 

If Option1(2).Value = True Then 'если текущая радиокнопка включена

b.Cells(2, 7) = "Times New Roman" ' то в ячеку  B7 заносим текущий наименование  шрифта

End If 'конец проверки условия

 

If Option1(3).Value = True Then 'если текущая  радиокнопка включена

b.Cells(3, 7) = "обычный" ' то в ячеку С7 заносим текущий начертание шрифта

End If 'конец проверки условия

 

If Option1(4).Value = True Then 'если текущая  радиокнопка включена

b.Cells(3, 7) = "полужирный" 'то в  ячеку С7 заносим текущий начертание  шрифта

End If 'конец проверки условия

 

If Option1(5).Value = True Then 'если текущая радиокнопка включена

b.Cells(3, 7) = "курсив" 'то в ячеку  С7 заносим текущий начертание  шрифта

End If 'конец проверки условия

OLE1.Visible = False 'обьект OLE1 сделать невидимым

End Sub

 

Private Sub Text1_Change(i As Integer) 'процедура изменения параметров a,b

j = i + 3 'номер строки в столбце  C для определения значения изменяемого  параметра

b.Cells(j, 2).Value = Val(Text1(i).Text) 'в ячейку  в столбце С заносим значение  текущего параметра из массива

OLE1.Visible = False 'обьект OLE1 сделать невидимым

End Sub 'конец процедуры изменения  значений параметров

 

Private Sub Text2_Change()

b.Cells(1, 1).Value = Text2.Text 'в ячейку А1  заносим текущее значения элемента Text2

OLE1.Visible = False 'обьект OLE1 сделать невидимым

End Sub

 

Private Sub Text5_Change() 'процедура изменения  начального значения диапазона

b.Cells(4, 7).Value = Val(Text5.Text) 'в ячейку G4 заносим  значение введенного начального  значения диапазона

OLE1.Visible = False 'обьект OLE1 сделать невидимым

End Sub 'конец процедуры измеения начального значения диапазона

Private Sub text6_Change() 'процедура изменения  конечного значения диапазона

b.Cells(5, 7).Value = text6.Text 'в ячейку G5 заносим  содержимое окошка ввода конечного значения

OLE1.Visible = False 'обьект OLE1 сделать невидимым

End Sub 'конец процедуры ввода конечного  значения диапазона

Private Sub Text7_Change() 'процедура изменения  шага построения

b.Cells(7, 7).Value = Text7.Text ' в ячейку G7 заносим  введенное значение шага построения

OLE1.Visible = False 'обьект OLE1 сделать невидимым

End Sub 'конец процедуры изменения  шага построения

 

 

 

 

 

 

 

 

 

 

Приводится изображение пользовательского  интерфейса во время выполнения разработанного проекта.

Рис. 3.1. Пользовательский интерфейс  после запуска приложения.

Рис. 3.2. Пользовательский интерфейс после изменения параметра (изменение  формата в названии оси Х).

В программе предусмотрены следующие  типы ошибок:

    • если начальное значение больше конечного при положительном шаге, то выводится: при положительном шаге начальное значение должно быть меньше конечного!
    • если при отрицательном шаге начальное значение меньше конечного выводится: при отрицательном шаге начальное значение должно быть больше конечного!
    • если начальное и конечное значения диапазона равны выводится: начальное и конечное значения диапазона не могут быть равными
    • если в окошки ввода начального или конечного значения, параметров введена буква, то выводится: введите число!
    • если диапазон равен начальному или конечному значениям, то выводится: диапазон не должен состоять из начального и конечного значений!

6. Заключение

 

Программа создаваемая  в среде VB в процессе проектирования приложения, основана на модульном принципе.

Все объекты элементов  управления размещаются в объектах – формах (Forms). Форма представляет собой окно, на котором размещаются управляющие элементы (компоненты). Форма обеспечивает создание графического интерфейса разрабатываемого приложения. Для каждой формы, проектируемой в приложении, VB автоматически создает отдельный модуль, в который пользователь может ввести собственный код, создавая обработчики различных событий. Именно в модулях и осуществляется программирование задачи.

Проект – это разрабатываемое на языке программирования приложение.

Проект включает в  себя не только форму с размещенными на ней управляющими элементами (объектами), но и программные модули событийных процедур, которые описывают поведение объектов и взаимодействие объектов между собой.

При выполнение курсовой  работы был изучен метод Крамера Проанализирована погрешность при их использование на практике. Также в процессе выполнения работы были закреплены знания по информатике, практические навыки работы на персональном компьютере  и разработке пользовательских приложений  с использованием языков программирования  высокого уровня и современных компьютерных технологий обработки информации, а также навыки в составлении текстовой документации.

 

 

ЛИТЕРАТУРА

 

  1. Microsoft Visual Basic 6.0. Мастерская разработчика/Пер. с англ. — 5-е изд. — М.: Издательско-торговый дом «Русская Редакция», 2001. — 720 с.: ил.
  2. Microsoft Visual Basic 6.0. для профессионалов. Шаг за шагом. – М.: 2003. — 360 с.: ил.

Информация о работе Построение графика «Спираль Галилея»