Option Explicit
Function PoleTrókąta(a As Double, b As Double, c As Double) As Variant
'oblicza pole trójkąta dla zadanych długości boków a,b,c stosując wzór Herona
'zwraca błąd #ARG! gdy którykolwiek z argumentów nie jest dodatni oraz
'zwraca błąd #Liczba! gdy długosci boków nie spełniają warunków trójkąta
If a > 0 And b > 0 And c > 0 Then
If a + b > c And b + c > 0 And a + c > 0 Then 'warunek trójkąta
'obliczanie ze wzoru Herona
Dim p As Double
p = (a + b + c) / 2
PoleTrókąta = VBA.Sqr(p * (p - a) * (p - b) * (p - c))
Else
PoleTrókąta = CVErr(xlErrNum)
End If
Else
PoleTrókąta = CVErr(xlErrValue)
End If
End Function
Function Maks3(a, b, c)
If a < b Then
If b < c Then
Maks3 = c
Else
Maks3 = b
End If
Else
If a < c Then
Maks3 = c
Else
Maks3 = a
End If
End If
End Function
Function Maks4(a, b, c, d)
If a < b Then
Dim m1
m1 = b
Else
m1 = a
End If
Dim m2
If c < d Then
m2 = d
Else
m2 = c
End If
If m1 < m2 Then
Maks4 = m2
Else
Maks4 = m1
End If
End Function