blueheart092
06-12-2010, 20:55
Tình hình là em vừa học về VBA trong excel,còn lơ mơ quá.có bài tập này em làm chưa ra,bị lỗi #VALUE!,các pro coi rồi sửa giúp em.Cám ơn nhiều
Đề:Nhập số nguyên N(0<N<99,N không thỏa thì xuất không tính)tính và trả về giá trị Z=Y+S
Khi N>=16 Y=sin(N)+log(N)
5<N<16 Y= cos(N)-(N^2+N-8)
N<=5 Y=Abs(e^N +N^4)
S=1-3+5-7+...+(2*N-1)
Làm tròn Y đến 3 số lẻ
Code em làm:
Public Function TinhZ(N As Integer) As Double
Dim Z, Y, S, S1, S2, i
If N <= 0 Then
TinhZ = "khong tinh"
End If
If N >= 100 Then
TinhZ = "khong tinh"
End If
If N >= 16 Then
Y = Sin(N) + Log(N)
End If
If 5 < N < 16 Then
Y = Cos(N) - (N ^ 2 + N - 8)
End If
If N <= 5 Then
Y = Abs(e ^ N + N ^ 4)
End If
S1 = 0
For i = 1 To (N - 1) Step 4
S1 = S1 + i
Next i
S2 = 0
For i = -3 To N Step -4
S2 = S2 + i
Next i
S = S1 + S2
Z = Round(Y, 3) + S
TinhZ = "ket qua la:" & Z
End Function
Đề:Nhập số nguyên N(0<N<99,N không thỏa thì xuất không tính)tính và trả về giá trị Z=Y+S
Khi N>=16 Y=sin(N)+log(N)
5<N<16 Y= cos(N)-(N^2+N-8)
N<=5 Y=Abs(e^N +N^4)
S=1-3+5-7+...+(2*N-1)
Làm tròn Y đến 3 số lẻ
Code em làm:
Public Function TinhZ(N As Integer) As Double
Dim Z, Y, S, S1, S2, i
If N <= 0 Then
TinhZ = "khong tinh"
End If
If N >= 100 Then
TinhZ = "khong tinh"
End If
If N >= 16 Then
Y = Sin(N) + Log(N)
End If
If 5 < N < 16 Then
Y = Cos(N) - (N ^ 2 + N - 8)
End If
If N <= 5 Then
Y = Abs(e ^ N + N ^ 4)
End If
S1 = 0
For i = 1 To (N - 1) Step 4
S1 = S1 + i
Next i
S2 = 0
For i = -3 To N Step -4
S2 = S2 + i
Next i
S = S1 + S2
Z = Round(Y, 3) + S
TinhZ = "ket qua la:" & Z
End Function