Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.01.2009, 17:00   #1
Kate777
 
Регистрация: 18.01.2009
Сообщений: 3
По умолчанию Пожалуйста!!!!Помогите исправить программу на Visual Basic

у меня завтра сдача практики по Visual Basic, пожалуйста помогите вставить недостающие операторы в программу!

Интегрирование методом трапеций с оценкой точности.
Считается интеграл функции F на отрезке [a,b].
Код:
function IntegralTrap(a:Real;b:Real;Epsilon:real):real;



Public Function IntegralTrapezium(ByRef a As Double, _
         ByRef b As Double, _
         ByRef Epsilon As Double) As Double
    Dim Result As Double
    Dim i As Long
    Dim n As Long
    Dim h As Double
    Dim s1 As Double
    Dim s2 As Double

    n = 1#
    h = b - a
    s2 = h * (F(a) + F(b)) / 2#
    Do
        s1 = s2
        s2 = 0#
        i = 1#
        Do
            s2 = s2 + F(a - h / 2# + h * i)
            i = i + 1#
        Loop Until Not i <= n
        s2 = s1 / 2# + s2 * h / 2#
        n = 2# * n
        h = h / 2#
    Loop Until Not Abs(s2 - s1) > 3# * Epsilon
    Result = s2

    IntegralTrapezium = Result
End Function
в этом тексте должны быть кнопки Command и что то ещё, а я не успеваю разобраться что и где именно((( пожалуйста, помогите!!!!!!!!!!

Последний раз редактировалось Stilet; 19.01.2009 в 08:59.
Kate777 вне форума Ответить с цитированием
Старый 18.01.2009, 17:43   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
в этом тексте должны быть кнопки Command и что то ещё
В этом "тексте" ничего такого быть не должно.
Код функции полностью работоспособный

Вставьте в проект следующий код:
Код:
Public Function IntegralTrapezium(ByRef a As Double, ByRef b As Double, _
                                  ByRef Epsilon As Double) As Double
    Dim i As Long, n As Long, h As Double, s1 As Double, s2 As Double

    n = 1#
    h = b - a
    s2 = h * (F(a) + F(b)) / 2#
    Do
        s1 = s2
        s2 = 0#
        i = 1#
        Do
            s2 = s2 + F(a - h / 2# + h * i)
            i = i + 1#
        Loop Until Not i <= n
        s2 = s1 / 2# + s2 * h / 2#
        n = 2# * n
        h = h / 2#
    Loop Until Not Abs(s2 - s1) > 3# * Epsilon

    IntegralTrapezium = s2
End Function

Function F(x) ' пример функции F
    F = x + 2
End Function

Sub Main()
    MsgBox IntegralTrapezium(1, 3, 0.1)
End Sub
При запуске проекта процедура Main выведет верный результат интегрирования функции F(x)=x+2 на промежутке от 1 до 3
EducatedFool вне форума Ответить с цитированием
Старый 18.01.2009, 18:02   #3
Kate777
 
Регистрация: 18.01.2009
Сообщений: 3
По умолчанию

а какие объекты должны быть на главной форме?
Kate777 вне форума Ответить с цитированием
Старый 18.01.2009, 18:51   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Вполне можно обойтись вообще без формы. Зачем она?

При помощи двух InputBox-ов запрашиваешь значения А и В (надеюсь, функцию F(x) вводить вручную не трубуется), и программа выдаёт в качестве ответа Msgbox с результатом интегрирования.
EducatedFool вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пожалуйста помогите!!!Задача в Visual Basic !!! Irisha Помощь студентам 13 27.06.2008 21:45
Помогите пожалуйста!!!!Задача в Visual Basic ! Irisha Microsoft Office Excel 3 27.06.2008 02:19
Помогите перевести наипростейшую программу в Visual Basic из Delphi Cooler Общие вопросы Delphi 1 20.11.2006 21:21