Вопрос по циклам

Тема в разделе "Железный поток", создана пользователем Anonymous, 3 дек 2006.

  1. Anonymous
    Оффлайн

    Anonymous Guest

    Credit:
    $
    Book Reviews:
    Вопрос по циклам
    Подскажите пожалуйста, как реализовать на VB такую задачу:
    Есть набор диапазонов - например 0-0,1 0,1-0,2 0,2-0,3
    Пользователь вводит число из одного из этих диапазонов, причем в зависимости
    от того
    в какой диапазон число попадает происходит вычисление по одной из формул.

    Сам решил сделать это в циклах:
    Код:
    n=val(text1.text) // Переводим число из текста  числовой формат
    
    For i=0 to 0.3
    For j=0 to 0.1
    if n=j then
    c=a+b
    exit for // выходим из одного цикла
    exit for // выходим из второго цикла
    Else
    j=j+0.001
    End If
    Next j
    i=i+0.001
    Next i
    
    Но нифига так не работает не пойму почему.
  2. Anonymous
    Оффлайн

    Anonymous Guest

    Credit:
    $
    Book Reviews:
    D> Сам решил сделать это в циклах:
    D>
    Код:
     D> n=val(text1.text) // Переводим число из текста  числовой формат
    
     D> For i=0 to 0.3
     D> For j=0 to 0.1
     D> if n=j then
     D> c=a+b
     D> exit for // выходим из одного цикла
     D> exit for // выходим из второго цикла
     D> Else
     D> j=j+0.001
     D> End If
     D> Next j
     D> i=i+0.001
     D> Next i
     D> 
    это пример для одного из диапазонов. Планировал так:

    n=val(text1.text) // Переводим число из текста числовой формат

    For i=0 to 0.3
    For j=0 to 0.1
    if n=j then
    c=a+b
    exit for // выходим из одного цикла
    exit for // выходим из второго цикла
    Else
    j=j+0.001
    End If
    Next j
    For j=0.1 to 0.2
    if n=j then
    c=a+b
    exit for // выходим из одного цикла
    exit for // выходим из второго цикла
    Else
    j=j+0.001
    End If
    Next j
    For j=0.2 to 0.3
    if n=j then
    c=a+b
    exit for // выходим из одного цикла
    exit for // выходим из второго цикла
    Else
    j=j+0.001
    End If
    Next j
    i=i+0.001
    Next i
  3. Vastey
    Оффлайн

    Vastey Новичок

    Credit:
    $726,00
    Book Reviews:
    0
    re:чПРТПУ РП ГЙЛМБН

    Честно сказать, не понял, что ты в этих циклах делаешь %-\
    А вообще, в Басике по умолчанию шаг цикла равен 1, то есть твои циклы дольше 1 шага работать не будут.
    Используй формат
    For i=0 to 0.3 Step 0.001.
    Короче, слово Step ключевое.
  4. Vastey
    Оффлайн

    Vastey Новичок

    Credit:
    $726,00
    Book Reviews:
    0
    re:чПРТПУ РП ГЙЛМБН

    А почему не сделать так (Басик не помню почти...):

    public Sub GetInterval(str as string) as integer //короче объявляем функцию со строковым параметром и целочисленным значением
    dim n as integer
    n=val(str)
    if (n>0) and (n<0.1) then GetInterval=1 // ну или как там значения возвращаются?
    if (n>0.1) and (n<0.2) then GetInterval=2
    if (n>0.2) and (n<0.3) then GetInterval=3
    EndSub // совственно конец функции

    И дальше
    a=GetInterval(mystr)
    select a of
    case 1: Func1
    case 2: Func2
    case 3: Func3

    Ну или что-то в этом духе.
    P.S. Basic забыл 5 лет назад, так что сильно не пинать.
  5. Георгий
    Оффлайн

    Георгий Новичок

    Credit:
    - $1,17
    Book Reviews:
    0
    re:чПРТПУ РП ГЙЛМБН

    УЖОСНАХ
    3 блока if... then помогут.
    И при чем тут циклы?
    Ну разве что менструальные :lol:
  6. Anonymous
    Оффлайн

    Anonymous Guest

    Credit:
    $
    Book Reviews:
    Re: re:Вопрос по циклам

    Это похлеще пресловутого индийского кода:)
  7. Anonymous
    Оффлайн

    Anonymous Guest

    Credit:
    $
    Book Reviews:
    Г> УЖОСНАХ
    Г> 3 блока if... then помогут.
    Г> И при чем тут циклы?
    Г> Ну разве что менструальные :lol:

    Да сам уже понял. Тупил просто с вечера....причем жутко. Переклинило на
    циклах и все тут.
    Vastey - спасибо!

Поделиться этой страницей