powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / что тут не правильно
7 сообщений из 7, страница 1 из 1
что тут не правильно
    #38484218
tortik2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
почему пишет
"overFlowException не обработано
Переполнение в результате выполнения арифметической операции"



Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
Option Strict On
Option Explicit On
Imports System.Math
Public Class Form1
    'Функция ввода исходн. данных из  TextBox
    Function vvod(ByVal T As TextBox) As Double
        Return Val(T.Text)
    End Function

    'Процедура форматированного вывода результата  в TextBox
    Sub vivod(ByVal Z As Double, ByVal T As TextBox)
        T.Text = Format(Z, "00.0000")
    End Sub

    'Процедура форматированного вывода результата  в ListBox
    Sub vivodList(ByVal Z As Double, ByVal LB As ListBox)
        LB.Items.Add(Format(Z, "00.0000"))
    End Sub

    'Процедура вывода целого результата в TextBox
    Sub vivodint(ByVal Z As Integer, ByVal T As TextBox)
        T.Text = CStr(Z)
    End Sub
    Public Function Fun(ByVal x As Double) As Double
        Return 2 ^ (-x) * E ^ x
    End Function
    Public Sub RegCikl(ByVal a As Double, ByVal b As Double, _
                       ByVal h As Double, _
                       ByRef max As Double)
        Dim i As Integer, n As Integer, y As Double, x As Double
        n = CInt((b - a) / h + 1)
        vivodint(n, TextBox6)
        max = Double.MinValue
        For i = 1 To n
            y = Fun(x)
            If y > max Then
                max = y
            End If
            vivodList(x, ListBox1) : vivodList(y, ListBox2)
            x = x + h
        Next
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, _
               ByVal e As System.EventArgs) Handles Button1.Click

        Dim a As Double, b As Double, h As Double

        Dim mm1 As Double
        a = vvod(TextBox4)
        b = vvod(TextBox5)
        h = vvod(TextBox6)
        RegCikl(a, b, h, mm1)
        vivod(mm1, TextBox9)

    End Sub
    Private Sub Button2_Click(ByVal sender As System.Object, _
                   ByVal e As System.EventArgs) Handles Button2.Click
        End
    End Sub

End Class



помогите решить проблему.
Модератор: Учимся использовать тэги оформления кода - FAQ
...
Рейтинг: 0 / 0
что тут не правильно
    #38484220
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tortik2что тут не правильно
1) неправильно выбрано название топика ПРАВИЛА ФОРУМА. Прочтите перед тем как задавать вопрос!
2) не используются теги для оформления кода FAQ
3) неправильно выбран форум ПРАВИЛА ФОРУМА. Прочтите перед тем как задавать вопрос!

Коллег предупреждаю - студент-халявщик

Модератор: Тема перенесена из форума "Visual Basic".
...
Рейтинг: 0 / 0
что тут не правильно
    #38484224
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tortik2почему пишетпотому что при делении на ноль получается бесконечность
...
Рейтинг: 0 / 0
что тут не правильно
    #38484583
cynep kopoBka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы бы хоть указали, в каком месте ругань начинается.
На всякий случай, отмечу, что такое же исключение у меня вываливалось, когда я на developerfusion конвертнул исходник модуля из С# в VB.NET. Оказалось, что у этого конвертера бардак с типами данных: он их тупо не меняет, несмотря на то, что одноименные типы могут в этих языках отличаться.
Получилось, что у меня в переменную типа Integer стало ломиться значение большее, чем переменная могла вместить. Вылечил, в частности, этот случай ручной заменой Integer на UInt32 . Может, и вы поскупились, объявляя переменные? =)

И радикальный способ избавления от индусских программистов: " on error resume next " избавит от навязчивых ошибок!

ЗЫ: " Try ... Catch ... EndT Try " - тоже полезная штука
...
Рейтинг: 0 / 0
что тут не правильно
    #38484587
cynep kopoBka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProКоллег предупреждаю - студент-халявщик


Эххх... Поздно заметил. А то еще бы чего-нибудь про " on error resume next " насоветовал=)
...
Рейтинг: 0 / 0
что тут не правильно
    #38484628
tortik2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
cynep kopoBkaВы бы хоть указали, в каком месте ругань начинается.

[srq vba] n = CInt((b - a) / h + 1) [src vba]
если ты это имел ввиду. там если любые числа подставлять, то начинает ошибки выдавать.
...
Рейтинг: 0 / 0
что тут не правильно
    #38484655
cynep kopoBka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tortik2cynep kopoBkaВы бы хоть указали, в каком месте ругань начинается.

[srq vba] n = CInt((b - a) / h + 1) [src vba]
если ты это имел ввиду. там если любые числа подставлять, то начинает ошибки выдавать.
Ну, так и смотрите на типы переменных, которыми оперируете. Все очень просто.

Data Type Summary (Visual Basic)
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / что тут не правильно
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]