Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
информатика.doc
Скачиваний:
44
Добавлен:
22.03.2016
Размер:
12.91 Mб
Скачать

2. Табулирование функции

Значение первой ячейки таблицы в принципе может быть любым, но, как правило, оно выбирается в соответствии с вариантом задания.

Главное – оно задается КОНСТАНТОЙ!

В рассматриваемом примере, рис. 1.1, такой ячейкой является А6, а значение константы – (минус) 2.

Адрес и значение ячейки, в которой хранится величина шага изменения аргумента табулируемой функции также, в принципе, произвольны, но значение обязательно – КОНСТАНТА.

В рассматриваемом примере такой ячейкой является B4, а значение константы 0,25. (Если константа задается дробью, то она должна “прижаться” к правой стенке ячейки иначе она воспринимается как символьная константа, а не как цифровая. Достигается это заменой неправильно выбранного знака-разделителя дробной части от целой – точки на запятую).

Обязательным является получение графика в виде, представленном на рис. 1.1, когда кривая графика начинается от оси Y, а маркеры кривой графика (если щелкнуть по кривой) совпадают с рисками и подписями оси X, сравните с графиком рис. 1.2.

Рис. 1.1

Рис. 1.2

Чтобы от графика рис. 1.2 перейти к графику рис. 1.1 необходимо в Excel: дважды щелкнуть по оси X, в появившемся окне “Формат оси” рис. 1.3 убрать флажок в разделе “пересечение с осью Y (значений) между категориями” и нажать OK.

Рис. 1.3

2.1 Программа табулирования функции в vва

Private Sub CommandButton1_Click()

Dim i As Integer

Dim j As Integer

Dim x As Single

Dim xn As Single

Dim xk As Single

Dim dx As Single

Dim y As Single

xn = InputBox("Xn = ", "Ввод начального значения x", -2, 8000, 2000)

xk = InputBox("Xk = ", "Ввод конечного значения x", 2, 8000, 1000)

dx = InputBox("dX = ", "Ввод значения шага x", 0.25, 8000, 2000)

i = InputBox("i = ", "Ввод значения начала таблицы, строка i", 5, 8000, 1000)

j = InputBox("j = ", "Ввод значения начала таблицы, столбец j", 3, 8000, 2000)

x = xn: Cells(i, j) = "X(vba)": Cells(i, j + 1) = "Y(vba)"

10 y = Exp(x - 2) * (1 + x ^ 2 + 2 * x) ^ 0.5

Cells(i + 1, j) = x

Cells(i + 1, j + 1) = y

x = x + dx

i = i + 1

If x > xk Then GoTo 20 Else GoTo 10

20 End Sub

Private Sub CommandButton2_Click()

Dim i As Integer

Dim il As Integer

Dim j As Inteder

Dim j As Integer

Dim y As Double

Dim x As Double

Dim x0 As Double

Dim xk As Double

Dim dx As Double

X0=InputBox(“x0=”,”Введите начальное значение диапазона x”, -2)

Xk=InputBox(“xk=”,”Введите конечное значение диапазона x”,2)

Dx=InputBox(“dx=”,”Введите шаг изменения переменной x”,0.5)

I=InputBox(“i=”,”Введите начало таблицы, строку”,1)

J=InputBox(“j=”,”Введите начало таблицы, столбец”,1)

Cells(i,j)=”X”

I1=i

Cells(I,j+1)=”Y”

I=i+1

X=x0

Do While x <=xk

Y=ff(x)

Cells(I,j)=Format(x,”0.0#”)

Cells (I,j+1)=Format(y,”#0.0##”)

X=x+dx:i=i+1

Loop

Range(Cells(i1,j),Cells(i-1,j+1)).Select

Selection.Font.Size=16

With Selection

.Font.Bold=True

.Interior.Pattern=x1Solid

VerticalAligment=xlBotton

.WrapText=False

.Orientation=0

.AddIndent=False

ShrinkToFit=False

.MergeCells=False

End With

End Sub

Некоторые комментарии к программе:

– Объявление простых переменных, строго говоря, в VBA не требуется, но бывают случаи, когда именно из-за этого программа работает не правильно или не работает вообще;

– В операторе InputBox используются пять параметров, первые два – символьные константы, их использование объясняется при появлении окна InputBox, третий параметр – предлагаемое значение, которое можно изменить, четвертый и пятый параметры – координаты левого верхнего угла окна InputBox на экране;

– Конечно, можно написать более совершенную программу, исключающую применение условного оператора и тем более операторов перехода, применив один из операторов цикла, но предполагается, что на данном этапе студенты еще не знакомы с разновидностями операторов цикла и поэтому главным критерием качества программного продукта является решение поставленной задачи;