Числовые методы вычисления корня

Автор работы: Пользователь скрыл имя, 01 Ноября 2013 в 15:48, курсовая работа

Краткое описание

Microsoft Excel имеет встроенный язык программирования - Visual Basic for Аpplications (VBA). Этот язык позволяет создавать приложения, выполняемые в среде Microsoft Office. Это могут быть разнообразные аналитические программы, финансовые системы, программы учета кадров, системы автоматического создания официальных писем/документов с помощью библиотеки готовых шаблонов и т.п. При этом интерфейс создаваемой программы может быть совершенно непохожим на интерфейс того приложения, в котором она написана.

Содержание

Введение
1. Условие задачи
2. Описание заданного численного метода
2.1 Программа процедуры вычисления корня
2.2 Главная программа
3. Блок схема
3.1 Аргументы процедуры Koren
3.2 Результаты вычисления значения корня для заданных
пяти вариантов допустимой ошибки
4. График функции
Заключение
Библиографический список

Прикрепленные файлы: 1 файл

кр.docx

— 186.33 Кб (Скачать документ)

        xw = xs

    Else

        Flag = True

    End If

End Sub

 

Процедура вывода расчетов в книгу Excelle и построения графика.

Private Sub График()

    Dim x As Single, h As Single

    Dim n As Integer

    h = 0.1

    n = 2

    Worksheets("Лист1").Range("A1").Value = "x"

    Worksheets("Лист1").Range("B1").Value = "y"

    For x = a To b + h / 2 Step h

       Worksheets("Лист1").Range("A" & n) = x

       Worksheets("Лист1").Range("B" & n) = f(x)

       n = n + 1

    Next

   ActiveWorkbook.Charts.Add Worksheets("Лист2")

   Charts(1).ChartWizard Worksheets("Лист1").Range("A2:B" & (n - 1)), xlLine, , , 1, , , "график функции", "x", "F(x)"

End Sub

 

Private Sub cmdПуск_Click()

    Dim xw As Single, it As Integer

    Dim Flag As Boolean

    'сделаем недоступным изменение  полей и надписей в форме

    LblСообщ.Visible = False

    LblЗначКоР.Visible = False

    LblРезультат.Visible = False

  LblКолИт.Visible = False

    Lblвып.Visible = False

    LblИт.Visible = False

    'Проверка задания значений исходных данных

    If Not Задано_a Then

        LblСообщ.ForeColor = RGB(255, 0, 0)

        LblСообщ.Caption = "Не задан левый конец отрезка"

        LblСообщ.Visible = True

        Txta.SetFocus

        Exit Sub

End If

    If Not Задано_b Then

        LblСообщ.ForeColor = RGB(255, 0, 0)

        LblСообщ.Caption = "Не задан правый конец отрезка"

        LblСообщ.Visible = True

        Exit Sub

End If

    If Not Задано_eps Then

        LblСообщ.ForeColor = RGB(255, 0, 0)

        LblСообщ.Caption = "Не задана допустимая ошибка"

        LblСообщ.Visible = True

        Exit Sub

    End If

    a = Txta.Text

    b = Txtb.Text

    eps = Txteps.Text

 

 ' Проверка корректности данных

    If a >= b Then

        LblСообщ.ForeColor = RGB(255, 0, 0)

        LblСообщ.Caption = "Нарушено условие a < b?"

        LblСообщ.Visible = True

        Exit Sub

    End If

    If eps <= 0 Then

        LblСообщ.ForeColor = RGB(255, 0, 0)

        LblСообщ.Caption = "Допустимая ошибка eps не может быть < 0 "

        LblСообщ.Visible = True

     Exit Sub

    End If

' Вычисление корня

    koren 100, a, b, eps, xw, it, Flag

     ' Вывод результатов вычислений

    If Flag Then

        LblСообщ.ForeColor = RGB(255, 0, 0)

        LblСообщ.Caption = "Решение не получено!"

        LblСообщ.Visible = True

        Exit Sub

Else

        LblСообщ.ForeColor = RGB(0, 0, 255)

        LblСообщ.Font.Size = 12

        LblСообщ.Caption = "Решение получено!"

   

 

   LblСообщ.Visible = True

        LblЗначКоР.Visible = True

        LblРезультат.Caption = xw

        LblРезультат.Visible = True

        LblКолИт.Caption = it

        LblКолИт.Visible = True

        Lblвып.Visible = True

        LblИт.Visible = True

    End If

    

  ' вывод данных в книгу Excel

    График

End Sub

 

3     Блок схема



 

 

 

 

 

 

 

it Pred

            Bool

xn = (a+ b)/2

it = 0

       fxn = f(xn)

f p1xn = p1(xn)

 

Нет

xs = xn - f(xn) / p1(xn)

Bool = Abs(xs - xn) < eps Or it > pred

xn= xs

fxn=fxs

it=it+1

Вход

Нет

Да

Flag = True

Flag = False

xw = xs

Выход

Да

 

3. 1 Аргументы процедуры Koren.

pred – предельное количество итераций (защита против зацикливания);

a, b – левая  и правая границы отрезка, содержащего  единственный корень;

eps – допустимая ошибка вычисления корня функционального уравнения;

xw – полученное приближенное значение корня функционального уравнения;

it – выполненное количество итераций;

flag – сигнал зацикливания, когда обращение к процедуре закончилось тем, что количество итераций превысило допустимую величину pred и приближенное значение корня не было получено.

Входные аргументы

pred – переменная целого типа (предельное количество итераций);

a, b – переменные  с плавающей точкой (левая и  соответственно правая граница  заданного отрезка, на котором  содержится единственный корень  заданного уравнения);

eps – переменная с плавающей точкой (допустимая ошибка).

Выходные аргументы

xw – переменная с плавающей точкой (приближенное значение корня);

it – переменная целого типа (количество выполненных итераций);

flag – переменная логического типа (признак зацикливания).

Локальные данные

xn- переменная с плавающей точкой (начальные приближения к корню);

xs - переменная с плавающей точкой (следующее приближение к корню);

fxn, fp1xn и fxs - переменные с плавающей точкой (значения f(xn1), f(xn2) и f(xs) соответственно);

bool - переменная логического типа (рабочая переменная).

 

3.2 Результаты вычисления значения  корня для заданных пяти вариантов  допустимой ошибки

 

 

Таблица- Результаты выполнения расчета

a = 2  b = 4

№ значения допустимой ошибки

Допустимая ошибка

Значение корня

Выполнено итераций

1

2e–2

3,229964

2

2

8e–4

3,229959

3

3

8e–5

3,229959

3

4

1e–5

3,229959

3

5

1e–6

3,229959

4


 

 

4. График функции

 

На рисунке 3 изображен  полученый график функции.

Рисунок 3 – График функции

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приложение  А

Интерфейс программы Frame1


Lbla

Lblb

Lbleps

LblВып

LblЗначКор

Txta

Txtb

Txteps

LblИт

LblКолИт

LblРезультат

LblСообщ

CmdПуск

CmdВыход


 

Рисунок А.1 - Интерфейс проекта


 

Заключение

Выполнение  курсовой работы способствует закреплению  и углублению знаний и практических навыков, полученных при изучении дисциплины «Информатика». В результате выполнения работы я получил следующие навыки:

  • применение на практике приемов и методов работы с VBA;
  • создания пользовательских форм;
  • отладки программ;
  • работы со специальной литературой;

 

Библиографический список

  1. Король В.И. Visual Basic Net, Visual Basic 6.0, Visual Basic for Applications 6.0. Языки программирования. Справочник с примерами.-М.: КУДИЦ ОБРАЗ, 2002- 496с
  2. Зиборов В. В. Visual Basic 2010 на примерах – СПб: БХВ- Петербург, 2010- 336с
  3. Самоучитель. Microsoft Visual Basic 5. Шаг за Шагом. Практическое пособие. М.: Издательство ЭКОНОМ , Издание второе, исправленное 1998 – 432с.
  4. Слепцова Л.Д. С47 программирование на Visual Basic в МО 2010 – М.: ООО «И. Д. Вильемс» 2010 – 432с.
  5. Назаров С. В., Мельников П. П. 
    Н19 Программирование на Microsoft  Visual Basic: Учебное пособие под редакцией С.В. Назарова – М.: Финансы и статистика, 2002 – 302 с.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

41 

КР. ИС. 230200. ПЗ


          

 

 

Лист


Дата


Подпись


№ докум.


Лист


Изм.




Информация о работе Числовые методы вычисления корня