СКАЧАТЬ:
Информатика.
Вычисление рядов. Рекуррентные формулы.
Отчет по лабораторной работе № 4.
Задание.
1.ВычислитьS= - + -.., y=1-Cos(x); x€ [0; ]; ∆x=0.15; n=10.
Общий вид.
S=0+∑(-1)^n-1*(x^(2*n)/(2*n)!)
Блок-схема решения сБлок-схема решения с
заданной n заданной точностью
начало |
X=0, , 0.15 |
Y=1 - Cos(x)
|
S=0
|
начало |
X=0, ,0.15 |
Y=1 - Cos(x) |
S=0
|
N=0 ,f=1 f pp
|
N=1,10,1 |
конец |
конец |
N=n-1
|
S=s+a
|
f = (2 * n) * (2 * n - 1) * f |
a = (-1) ^ (n - 1) * (x ^ 2 * n / f) |
|a|>10-6 |
X,y,s,n |
да |
нет |
a = (-1) ^ (n - 1) * (x ^ 2 * n / f) |
F=1 |
f = (2 * n) * (2 * n - 1) * f |
S=S+a |
X,y,s |
Текст программы.
Private Sub Command1_Click()
Text1.Text = ""
IP = 3.1416
For x = 0 To (IP / 4) Step 0.15
y = 1 - Cos(x)
s = 0
f = 1
For n = 1 To 10 Step 1
f = (2 * n) * (2 * n - 1) * f
a = (-1) ^ (n - 1) * (x ^ 2 * n / f)
s = s + a
Next n
Text1.Text = Text1.Text + " " + Format(x, "0.00") + " | " + Format(y, "0.00000000000") + " | " + Format(s, "0.000000000000") + Chr(13) + Chr(10)
Next x
End Sub
Private Sub Command2_Click()
Text2.Text = ""
IP = 3.1416
For x = 0 To (IP / 4) Step 0.15
y = 1 - Cos(x)
s = 0
n = 0
f = 1
n = n + 1
f = (2 * n) * (2 * n - 1) * f
a = (-1) ^ (n - 1) * (x ^ 2 * n / f)
s = s + a
If Abs(a) > 10 ^ (-6) Then GoTo 1
Text2.Text = Text2.Text + " " + Format(x, "0.00") + " | " + Format(y, "0.00000000000") + " | " + Format(s, "0.000000000000") + " | " + Format(n, "0.00") + Chr(13) + Chr(10)
Next x
End Sub
Private Sub Command3_Click()
Text1.Text = ""
Text2.Text = ""
End Sub
Изменённыесвойства.
Form1
BackColor =&H80000002&
Caption =«Лабораторная работа № 4»
Height = 7020
Left = 0
Top = 0
Width = 11775
Lable1
Aligenment = 2-Center
BorderStyle = 1-FixedSingle
BackStyle = 1-Opaque
BackColor = &H80000005&
Caption = X
Height = 375
Left = 600
Top = 480
Width = 1095
Lable2
Aligenment = 2-Center
BorderStyle = 1-FixedSingle
BackStyle = 1-Opaque
BackColor = &H80000005&
Caption = Y
Height = 375
Left = 1680
Top = 480
Width = 2055
Lable3
Aligenment = 2-Center
BorderStyle = 1-FixedSingle
BackStyle = 1-Opaque
BackColor = &H80000005&
Caption = S
Height = 375
Left = 3720
Top = 480
Width = 2055
Lable4
Aligenment = 2-Center
BorderStyle = 1-FixedSingle
BackStyle = 1-Opaque
BackColor = &H80000005&
Caption = X
Height = 375
Left = 6120
Top = 480
Width = 855
Lable5
Aligenment = 2-Center
BorderStyle = 1-FixedSingle
BackStyle = 1-Opaque
BackColor = &H80000005&
Caption = Y
Height = 375
Left = 6960
Top = 480
Width = 1695
Lable6
Aligenment = 2-Center
BorderStyle = 1-FixedSingle
BackStyle = 1-Opaque
BackColor = &H80000005&
Caption = S
Height = 375
Left =8640
Top = 480
Width = 1695
Lable7
Aligenment = 2-Center
BorderStyle = 1-FixedSingle
BackStyle = 1-Opaque
BackColor = &H80000005&
Caption = a
Height = 375
Left = 8640
Top = 480
Width = 1695
TextBox1
BackColor=&H80000014&
Appearance = 1- 3D
MultiLine = True
Height = 2415
Left = 600
Top = 840
Width = 5175
TextBox2
BackColor =&H80000014&
Appearance = 1- 3D
MultiLine = True
Height = 2415
Left = 6120
Top = 840
Width = 5175
CommandButton1
BackColor =&H8000000F&
Caption = «Решение с заданной n»
Height = 735
Left = 600
Top = 3360
Width = 1575
CommandButton2
BackColor = &H8000000F&
Caption = «Решение с заданной точностью»
Height = 735
Left = 9720
Top = 3480
Width = 1575
CommandButton3
BackColor = &H8000000F&
Caption = «Сброс»
Height = 735
Left = 9720
Top = 3480
Width = 1575
Lable7 |
Lable6 |
Lable5 |
Lable4 |
Lable3 |
Lable2 |
Lable1 |
TextBox1 |
CommandButton1 |
CommandButton3 |
TextBox2 |
CommandButton2 |
Вывод: мы подсчитали значение суммы nчленов ряда. Незначительные расхождения в значениях связаны с изменением точности и значения n.