Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/25: Рейтинг темы: голосов - 25, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 11.01.2013
Сообщений: 4
1

Составить программу вычисления значения функции

11.01.2013, 12:58. Показов 4898. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Составить программу вычисления значения функции z=(x1+x2)/(x2+y2), где x1,x2 - корни уравнения ax^2+bx+c=0 , y1, y2 - корни уравнения dy^2+ey+f=0
код вот такой
помогите исправить

Visual Basic
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
Private Sub CommandButton1_Click() 
Dim a, b, c, d, exp1, f As Single 
А = Cells(2, 1) 
b = Cells(2, 2) 
c = Cells(2, 3) 
d = Cells(2, 4) 
exp1 = Cells(2, 5) 
f = Cells(2, 6) 
m1 = b ^ 2 - 4 * a * c 
m2 = e ^ 2 - 4 * d * f 
 
If m1 < 0 Or (a = 0 And b = 0) Then 
 
ElseIf m2 < 0 Or (d = 0 And e = 0) Then 
 
ElseIf m1 + m2 >= 0 Then 
 
If a = 0 Then 
 x1 = -c / b 
 x2 = -c / b 
Else 
 x1 = (-b + Sqr(m1)) / (2 * a) 
 x2 = (-b - Sqr(m1)) / (2 * a) 
End If 
 
If d = 0 Then 
 x1 = -f / exp1 
 x2 = -f / exp1 
Else 
 y1 = (-exp1 + Sqr(m2)) / (2 * d) 
 y2 = (-exp1 - Sqr(m2)) / (2 * d) 
End If 
 
End If 
z = (x1 + y1) / (x2 + y2) 
MsgBox (z) 
End Sub
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.01.2013, 12:58
Ответы с готовыми решениями:

Составить программу вычисления значения функции
Помогите с VBA, только самым простым способом пожалуйста

Составить программу вычисления значения функции z от аргументов x и y
Составить программу вычисления значения функции z от аргументов x и y ...

Составить программу вычисления значения функции f от аргумента x
Составить программу вычисления значения функции f от аргумента x. Где здесь ошибка? Function...

составить программу вычисления функции
составить программу вычисления функции F(x)=cos|x+1|*e^(-x) в диапазоне (x0,xn) с шагом h.На экран...

9
es geht mir gut
11272 / 4756 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
11.01.2013, 13:30 2
Цитата Сообщение от ilia tinuykov Посмотреть сообщение
А = Cells(2, 1)
Здесь А у тебя русская, а дальше фигурирует английская.

А это две разные переменные
1
0 / 0 / 0
Регистрация: 11.01.2013
Сообщений: 4
11.01.2013, 13:35  [ТС] 3
Исправил толкут 0..
0
es geht mir gut
11272 / 4756 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
11.01.2013, 13:40 4
Цитата Сообщение от ilia tinuykov Посмотреть сообщение
m2 = e ^ 2 - 4 * d * f
е откуда берёшь?
0
0 / 0 / 0
Регистрация: 11.01.2013
Сообщений: 4
11.01.2013, 13:41  [ТС] 5
переменная?!
0
es geht mir gut
11272 / 4756 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
11.01.2013, 13:49 6
Цитата Сообщение от ilia tinuykov Посмотреть сообщение
переменная?!
Что переменная? Где ты ей присваиваешь какое-нибудь значение?

Вот скормил твоей программе цифры от балды.

Запускаю из VB6, поэтому закомментировал твои Cell.

Ответ выдаёт.

Дальше - легче

Дерзай

Visual Basic
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
Private Sub CommandButton1_Click()
Dim a As Single, b As Single, c As Single, d As Single
Dim exp1 As Single, f As Single, e As Single
Dim m1 As Double, m2 As Double, z As Double
Dim X1 As Double, X2 As Double, Y1 As Double, Y2 As Double
a = 2        'Cells(2, 1)
b = 8        'Cells(2, 2)
c = 2        'Cells(2, 3)
d = 3        'Cells(2, 4)
exp1 = 0.004 'Cells(2, 5)
f = 8.9      'Cells(2, 6)
e = 20
m1 = b ^ 2 - 4 * a * c
m2 = e ^ 2 - 4 * d * f
 
   If m1 < 0 Or (a = 0 And b = 0) Then
 
   ElseIf m2 < 0 Or (d = 0 And e = 0) Then
 
   ElseIf m1 + m2 >= 0 Then
          If a = 0 Then
                   X1 = -c / b
                   X2 = -c / b
          Else
                   X1 = (-b + Sqr(m1)) / (2 * a)
                   X2 = (-b - Sqr(m1)) / (2 * a)
          End If
 
          If d = 0 Then
                   X1 = -f / exp1
                   X2 = -f / exp1
          Else
                   Y1 = (-exp1 + Sqr(m2)) / (2 * d)
                   Y2 = (-exp1 - Sqr(m2)) / (2 * d)
          End If
 
   End If
z = (X1 + Y1) / (X2 + Y2)
MsgBox (z)
End Sub
1
0 / 0 / 0
Регистрация: 11.01.2013
Сообщений: 4
11.01.2013, 13:51  [ТС] 7
спасибо большое)
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
11.01.2013, 14:00 8
a->A2, b->B2,...f->F6
Visual Basic
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
Sub s()
Dim kf#(6)
Dim d#(2)
Dim z#
Dim i%
For i = 1 To 6
kf(i) = Val(Replace(Cells(2, i), ",", "."))
Next i
For i = 1 To 2
d(i) = det(kf(1 + 3 * (i - 1)), kf(2 + 3 * (i - 1)), kf(3 + 3 * (i - 1)))
Next i
 
If d(1) >= 0 And d(2) >= 0 Then
z = x12(kf(4), kf(5), kf(6), 1) + x12(kf(4), kf(5), kf(6), -1)
If z <> 0 Then
z = (x12(kf(1), kf(2), kf(3), 1) + x12(kf(1), kf(2), kf(3), -1)) / z
Else
MsgBox "y1=y2  !"
End If
MsgBox "z=" & z
Else
MsgBox "Det<0 !"
End If
End Sub
Function det(a#, b#, c#)
det = b ^ 2 - 4 * a * c
End Function
Function x12(a#, b#, c#, ind%)
x12 = (-b + ind * Sqr(det(a#, b#, c#))) / (2 * a)
End Function
1
15151 / 6424 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
11.01.2013, 14:05 9
Интересно, что формула суммы корней квадратного уравнения очень проста:

https://www.cyberforum.ru/cgi-bin/latex.cgi?x1+x2=\frac{-b-\sqrt{D}}{2a}+\frac{-b+\sqrt{D}}{2a}=\frac{-2b}{2a}=-\frac{b}{a}

Дискриминант, конечно, вычислить надо, чтобы проверить, есть ли вообще корни.
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
11.01.2013, 14:22 10
абсолютно верно, так же можно в более простом виде записать и разность , и ...
в случае иной постановки (разности, произведения, ...)
надо переписывать функцию, а так достаточно поставить необходимый знак операции
0
11.01.2013, 14:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.01.2013, 14:22
Помогаю со студенческими работами здесь

Составить программу вычисления функции
мне для зачетки осталось 1 задание из 10 сделать, я немного в замешательстве от него) ну мы такого...

Составить программу вычисления значений функции
Составить программу вычисления значений функции F(x) на отрезке с шагом h. Результат представить в...

Составить программу для вычисления функции Z
Помогите пожалуйста решить

Составить программу вычисления функции Z по формуле
Составить программу вычисления функции Z по формуле: ___ 2*y*sin(y) , если у&gt;0 z={1/y^2 , если...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru