Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [VB6] как перевести уравнение в код VB6 
:(
    Опции темы
fox20
Дата 10.12.2010, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 9.5.2009

Репутация: нет
Всего: нет



помогите добрые люди перевести уравнение в код VB6, просто я как бы новичек, а нам на заочке дали вот такое вот задание 
user posted image
PM MAIL   Вверх
Akina
Дата 10.12.2010, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 17
Всего: 454



Для домашних заданий, курсовых, существует "Центр Помощи".

Тема перенесена!

Добавлено через 4 минуты и 32 секунды
Код

if x>1 and x<8 then
  y=(2*x+5*k)/(13*(3*x+1))
elseif k>=1 and x>=8 then
  ...
elseif x<=1 then
  if k>=2 and k<=10 then
    ...
  elseif k>10
    ...
  else
    ...
  end if
else
  ...
end if

Многоточия разворачивай самостоятельно.

PS. А нахрен идти учиться, если не собираешься учиться?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
fox20
Дата 10.12.2010, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 9.5.2009

Репутация: нет
Всего: нет



Добрые люди посмотрите правильный ли код для второго уравнения , то есть где К>=1 x>=8
Код

Private Sub Command1_Click()
Dim i As Integer, K As Integer
Dim x As Single, y As Single
Dim a As Single
x = Val(xs.Text)
K = Int(Val(ks.Text))
a = 1
y = 0
if k>=1 and x>=8 then
For i = 1 To K
 a = (9 ^ i / i) * x ^ (2 * i) * Sin(K * x + PI * i)
 y = y + a
Next i
ys.Text = Str(y)
End If
End Sub

PM MAIL   Вверх
darkart
Дата 10.12.2010, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 379
Регистрация: 9.11.2005

Репутация: 26
Всего: 31



Код

    Dim x, k, i As Integer
    Dim y As Double
    
    Dim pi As Double
    pi = 4 * Math.Atn(1) 'число Пи
    
    'ввод значений
    x = CInt(InputBox("Ведите X:"))
    k = CInt(InputBox("ВВедите K:"))
    
    'проверка условий
    If x <= 1 Then
        If k > 10 Then
            y = (2 * x + 3) * Exp(-2 * k * (x + 1))
        ElseIf k >= 2 Then
            y = 6 * k - 8 * x ^ 3
        Else
            y = 12
        End If
    ElseIf x < 8 Then
        y = (2 * x + 5 * k) / (13 * (3 * x + 1))
    Else
        If k >= 1 Then
            y = 0
            For i = 1 To k
                y = y + ((9 ^ i) / i) * (x ^ (2 * i)) * Sin(k * x + pi * i)
            Next i
        Else
            y = Abs(x ^ 2 + 4 * k) / (x ^ 2)
        End If
    End If

PM MAIL WWW ICQ Skype GTalk   Вверх
fox20
Дата 10.12.2010, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 9.5.2009

Репутация: нет
Всего: нет



добрые люди проверти пожалуйста код 
Код

Private Sub Command1_Click()
Dim x As Single, y As Single, k As Integer, i As Integer
Dim pi As Double
pi = 4 * Math.Atn(1) 'число Пи
x = Val(xs.Text)
k = Int(Val(ks.Text))
'первое уравнение
If (x > 1) And (x < 8) Then
y = (2 * x + 5 * x) / 13 * (3 * x + 1)
Else
'второе уравнение
If (k >= 1) And (x >= 8) Then
y = 0
For i = 1 To k
y = y + ((9 ^ i) / i) * (x ^ (2 * i)) * Sin(k * x + pi * i)
Next
Else
'третье уравнение
If (x <= 1) Then
Select Case k
Case Is >= 2, Is <= 10
y = 6 * k - 8 * x ^ 3
Case Is > 10
y = (2 * x + 3) * Exp(-2 * k * (x + 1))
Case Else
y = 12
End Select
'четвертое уравнение
Else
y = (Abs(x ^ 2 + 4 * k)) / (x ^ 2)
End If
End If
End If
ys.Text = Str(y)
End Sub



PM MAIL   Вверх
darkart
Дата 10.12.2010, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 379
Регистрация: 9.11.2005

Репутация: 26
Всего: 31



Не то.
Выделяейте логические блоки отступами... Так легче разбираться в коде.
Ваш код:
Код

Private Sub Command1_Click()
    Dim x As Single, y As Single, k As Integer, i As Integer
    Dim pi As Double
    pi = 4 * Math.Atn(1)
    x = Val(xs.Text)
    k = Int(Val(ks.Text))
    If (x > 1) And (x < 8) Then
        y = (2 * x + 5 * x) / 13 * (3 * x + 1)
    Else
        If (k >= 1) And (x >= 8) Then
            y = 0
            For i = 1 To k
                y = y + ((9 ^ i) / i) * (x ^ (2 * i)) * Sin(k * x + pi * i)
            Next
        Else
            If (x <= 1) Then
                Select Case k
                Case Is >= 2, Is <= 10 'k>=2 or k<=10 - ЗДЕСЬ подходит любое k
                    y = 6 * k - 8 * x ^ 3 'это строка выполняется для любого k, до остальных управление не доходит
                Case Is > 10
                    y = (2 * x + 3) * Exp(-2 * k * (x + 1))
                Case Else
                    y = 12
                End Select
            Else
                y = (Abs(x ^ 2 + 4 * k)) / (x ^ 2)
            End If
        End If
    End If
    ys.Text = Str(y)
End Sub


Это сообщение отредактировал(а) darkart - 10.12.2010, 16:38
PM MAIL WWW ICQ Skype GTalk   Вверх
fox20
Дата 10.12.2010, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 9.5.2009

Репутация: нет
Всего: нет



вот еще вариант ) как лучше
Код

Private Sub Command1_Click()
Dim x As Single, y As Single, k As Integer, i As Integer
Dim pi As Double
pi = 4 * Math.Atn(1) 'число Пи
x = Val(xs.Text)
k = Int(Val(ks.Text))
select case x
case x>1 and x<8
y = (2 * x + 5 *k)  / 13 * (3 * x + 1)
case k >= 1 And x >= 8
y = 0
For i = 1 To k
y = y + ((9 ^ i) / i) * (x ^ (2 * i)) * Sin(k * x + pi * i)
Next
case x <= 1 
Select Case k
Case k >= 2 Or k <= 10
y = 6 * k - 8 * x ^ 3
Case k > 10
y = (2 * x + 3) * Exp(-2 * k * (x + 1))
Case Else
y = 12
End Select
case else
y = (Abs(x ^ 2 + 4 * k)) / (x ^ 2)
end select
ys.Text = Str(y)
End Sub



Это сообщение отредактировал(а) fox20 - 10.12.2010, 18:44
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0913 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.