Программы табулирования разветвляющейся функции в Excel с использованием операторов цикла

Private Sub CommandButton1_Click()

Dim i As Integer

Dim j As Integer

Dim x As Double

Dim w As String

w = InputBox("w =", " очистить диапазон? - (Y,y,Д,д)/N ")

If (w = "Y") Or (w = "y") Or (w = "Д") Or (w = "д") Then Range(Cells(7, 1), Cells(28, 3)) = Clear

xn = InputBox("xn =", " Введите начало диапазона ", -3)

xk = InputBox("xk =", " Введите конец диапазона ", 7)

xd = InputBox("xd =", " Введите шаг изменения переменной ", 0.5)

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

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

Cells(i, j) = "X": Cells(i, j + 1) = "G1": Cells(i, j + 2) = "G2"

i = i + 1

x = xn

Do While x <= xk

Cells(i, j) = Format(x, "0.0#")

If x <= 0 Then

Cells(i, j + 1) = Format(g(x), "#0.0###")

Else

Cells(i, j + 2) = Format(g(x), "#0.0###")

End If

x = x + xd: i = i + 1

Loop

End Sub


Private Sub CommandButton2_Click()

Dim i As Integer

Dim j As Integer

Dim x As Double

w = InputBox("w =", " очистить диапазон? - (Y,y,Д,д)/N ")

If (w = "Y") Or (w = "y") Or (w = "Д") Or (w = "д") Then Range(Cells(7, 4), Cells(28, 6)) = Clear

xn = InputBox("xn =", " Введите начало диапазона ", -3)

xk = InputBox("xk =", " Введите конец диапазона ", 7)

xd = InputBox("xd =", " Введите шаг изменения переменной ", 0.5)

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

j = InputBox("j =", " Введите начало таблицы, столбец ", 4)

Cells(i, j) = "X": Cells(i, j + 1) = "G1": Cells(i, j + 2) = "G2"

i = i + 1

x = xn

Do

Cells(i, j) = Format(x, "0.0#")

If x <= 0 Then

Cells(i, j + 1) = Format(g(x), "#0.0###")

Else

Cells(i, j + 2) = Format(g(x), "#0.0###")

End If

x = x + xd: i = i + 1

Loop While x <= xk

End Sub


Private Sub CommandButton3_Click()

Dim i As Integer

Dim j As Integer

Dim x As Double

Dim w As String

w = InputBox("w =", "очистить диапазон? - (Y,y,Д,д)/N")

If (w = "Y") Or (w = "y") Or (w = "Д") Or (w = "д") Then Range(Cells(7, 7), Cells(28, 9)) = Clear

w = InputBox("w =", " очистить диапазон? - Y/N ")

If w = "Y" Then Range(Columns(1), Rows(15)) = Clear

xn = InputBox("xn =", " Введите начало диапазона ", -3)

xk = InputBox("xk =", " Введите конец диапазона ", 7)

xd = InputBox("xd =", " Введите шаг изменения переменной ", 0.5)

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

j = InputBox("j =", " Введите начало таблицы, столбец ", 7)

Cells(i, j) = "X": Cells(i, j + 1) = "G1": Cells(i, j + 2) = "G2"

i = i + 1

x = xn

Do Until x > xk

Cells(i, j) = Format(x, "0.0#")

If x <= 0 Then

Cells(i, j + 1) = Format(g(x), "#0.0###")

Else

Cells(i, j + 2) = Format(g(x), "#0.0###")

End If

x = x + xd: i = i + 1

Loop

End Sub


Private Sub CommandButton4_Click()

Dim i As Integer

Dim j As Integer

Dim x As Double

Dim w As String

w = InputBox("w =", " очистить диапазон? - (Y,y,Д,д)/N ")

If (w = "Y") Or (w = "y") Or (w = "Д") Or (w = "д") Then Range(Cells(7, 10), Cells(28, 12)) = Clear

xn = InputBox("xn =", " Введите начало диапазона ", -3)

xk = InputBox("xk =", " Введите конец диапазона ", 7)

xd = InputBox("xd =", " Введите шаг изменения переменной ", 0.5)

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

j = InputBox("j =", " Введите начало таблицы, столбец ", 10)

Cells(i, j) = "X": Cells(i, j + 1) = "G1": Cells(i, j + 2) = "G2"

i = i + 1

x = xn

Do

Cells(i, j) = Format(x, "0.0#")

If x <= 0 Then

Cells(i, j + 1) = Format(g(x), "#0.0###")

Else

Cells(i, j + 2) = Format(g(x), "#0.0###")

End If

x = x + xd: i = i + 1

Loop Until x > xk

End Sub


Private Sub CommandButton5_Click()

Dim i As Integer

Dim j As Integer

Dim x As Double

Dim w As String

w = InputBox("w =", " очистить диапазон? - (Y,y,Д,д)/N ")

If (w = "Y") Or (w = "y") Or (w = "Д") Or (w = "д") Then Range(Cells(7, 13), Cells(28, 15)) = Clear

xn = InputBox("xn =", " Введите начало диапазона ", -3)

xk = InputBox("xk =", " Введите конец диапазона ", 7)

xd = InputBox("xd =", " Введите шаг изменения переменной ", 0.5)

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

j = InputBox("j =", " Введите начало таблицы, столбец ", 13)

Cells(i, j) = "X": Cells(i, j + 1) = "G1": Cells(i, j + 2) = "G2"

i = i + 1

x = xn

While x <= xk

Cells(i, j) = Format(x, "0.0#")

If x <= 0 Then

Cells(i, j + 1) = Format(g(x), "#0.0###")

Else

Cells(i, j + 2) = Format(g(x), "#0.0###")

End If

x = x + xd: i = i + 1

Wend

End Sub


Private Sub CommandButton6_Click()

Dim i As Integer

Dim j As Integer

Dim x As Double

Dim w As String

w = InputBox("w =", " очистить диапазон? - (Y,y,Д,д)/N ")

If (w = "Y") Or (w = "y") Or (w = "Д") Or (w = "д") Then Range(Cells(7, 16), Cells(28, 18)) = Clear

xn = InputBox("xn =", " Введите начало диапазона ", -3)

xk = InputBox("xk =", " Введите конец диапазона ", 7)

xd = InputBox("xd =", " Введите шаг изменения переменной ", 0.5)

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

j = InputBox("j =", " Введите начало таблицы, столбец ", 16)

Cells(i, j) = "X": Cells(i, j + 1) = "G1": Cells(i, j + 2) = "G2"

i = i + 1

For x = xn To xk Step xd

Cells(i, j) = Format(x, "0.0#")

If x <= 0 Then

Cells(i, j + 1) = Format(g(x), "#0.0###")

Else

Cells(i, j + 2) = Format(g(x), "#0.0###")

End If

i = i + 1

Next x

End Sub


Private Sub CommandButton7_Click()

Dim i As Integer

Dim j As Integer

Dim k As Integer

Dim x() As Double

Dim y() As Double

Dim w As String

w = InputBox("w =", " очистить диапазон? - (Y,y,Д,д)/N ")

If (w = "Y") Or (w = "y") Or (w = "Д") Or (w = "д") Then Range(Cells(7, 19), Cells(28, 21)) = Clear

‘If w = "Y" Then Range(Columns(1), Rows(19)) = Clear

xn = InputBox("xn =", " Введите начало диапазона ", -3)

xk = InputBox("xk =", " Введите конец диапазона ", 7)

xd = InputBox("xd =", " Введите шаг изменения переменной ", 0.5)

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

j = InputBox("j =", " Введите начало таблицы, столбец ", 19)

Cells(i, j) = "X": Cells(i, j + 1) = "G1": Cells(i, j + 2) = "G2"

i = i + 1

i0 = i

ReDim x((xk - xn) / xd)

ReDim y((xk - xn) / xd)

For k = 0 To (xk - xn) / xd

x(k) = xn + k * xd

y(k) = g(x(k))

Next k

For Each n In x

Cells(i, j) = Format(n, "0.0#")

i = i + 1

Next n

i = i0

k = 0

For Each n In y

If x(k) <= 0 Then Cells(i, j + 1) = Format(n, "#0.0###") Else Cells(i, j + 2) = Format(n, "#0.0###")

i = i + 1

k = k + 1

Next n

End Sub

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

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

Xk=InputBox(“Xk=”,” Ввод конечного значения X ”, 3, 800,1000)

Dx=Input(“dX=”,” Ввод значения шага X ”, 0.5, 8000, 2000)

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

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

X=xn: Cells(i, j)=”X”: Cells(i, j+1)=”Y”

10 y=x^2

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

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

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

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: