исправьте ошибку. Срочно!

Ответить
ElenaRomanova
Сообщения:2
Зарегистрирован:29 май 2013, 01:28

29 май 2013, 01:34

Здравствуйте, уважаемые программисты!
пыталась решить задание по программированию , мне так и не удалось получить правильный граффик. Перепробовала разные пути подстановок числа. Так и не получилось

Задание:
Затабулировать функцию


ссылка на фото (функию): http://www.pictureshack.ru/view_73862_2111111111111.jpg


Построить график указанной функции и график касательной к ней в точке с абсциссой x0 = -1.

Пытался решить

'y = (x + 1) ^ 2 / (x ^ 2)

Function FofX(x As Double)
If x <> 0 Then FofX = (x + 1) ^ 2 / (x ^ 2)
End Function
Sub Вариант17Задание11()
Sheets("Ëèñò1").Select
Sheets("Ëèñò1").Cells(1, 1) = "x"
Sheets("Ëèñò1").Cells(1, 2) = "y"
Sheets("Ëèñò1").Cells(1, 3) = "касательная"
Charts.Add 'оператор создания диаграмм
ActiveChart.ChartType = xlLine
Dim x As Double, x0 As Double
x = -10
x0 = 0
For i = 2 To 22
If x <> 0 Then
Sheets("Лист1").Cells(i, 1) = x
Sheets("Лист1").Cells(i, 2) = FofX(1 * (i - 12))
Sheets("Лист1").Cells(i, 3) = tang(x, x0)
End If
x = x + 1
Next i
ActiveChart.SetSourceData Source:=Sheets("Ëèñò1").Range("B1:C 22")

ActiveChart.Location Where:=xlLocationAsObject, Name:="Лист1"
With ActiveChart
.HasTitle = False
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
End With
With ActiveChart.Axes(xlCategory)
.HasMajorGridlines = False
.HasMinorGridlines = False
End With
With ActiveChart.Axes(xlValue)
.HasMajorGridlines = False
.HasMinorGridlines = False
End With
End Sub
Function tang(x As Double, x0 As Double) As Double
tang = dif(x0) * (x - x0) + fun11(x0)
End Function
Function dif(x As Double) As Double
Dim dx As Double
dx = 1
dif = (fun11(x + dx) - fun11(x - dx)) / (2 * dx)
End Function
Function fun11(x As Double) As Double
If x <> 0 Then fun11 = (x + 1) ^ 2 / x ^ 2

End Function
Ответить