<job> <script language=JScript runat=server> function SortNumeric(a, b) { return ((+a > +b) ? 1 : ((+a < +b) ? -1 : 0)); } function SortVBArray(arrVBArray) { return arrVBArray.toArray().sort(SortNumeric).join('x'); } </script> <script language=VBScript> Function SortArray(arrInput) SortArray = Split(SortVBArray(arrInput), "x") End Function Sum = 0 N = 0 NumBlob = WScript.StdIn.ReadAll Num = Split(NumBlob, vbCrLf) N = UBound(Num) For A = 0 To N - 1 Sum = Sum + Num(A) Next mean = sum / N average_deviation = 0 standard_deviation = 0 variance = 0 skew = 0 kurtosis = 0 For A = 0 To N - 1 deviation = Num(A) - mean average_deviation = average_deviation + Abs(deviation) variance = variance + deviation^2 skew = skew + deviation^3 kurtosis = kurtosis + deviation^4 Next average_deviation = average_deviation / N variance = variance / (N-1) standard_deviation = Sqr(variance) If variance Then skew = skew / (N * variance * standard_deviation) kurtosis = kurtosis / (n * variance * variance ) - 3.0 End If SortNum = SortArray(Num) middle = N/2 + 1 If (N Mod 2) Then median = CInt(SortNum(middle)) Else median = (CInt(SortNum(middle)) + CInt(SortNum(middle-1))) / 2 End If WScript.Echo "n: " & N WScript.Echo "median: " & FormatNumber(median, 6, -1, 0, 0) WScript.Echo "mean: " & FormatNumber(mean, 6, -1, 0, 0) WScript.Echo "average_deviation: " & FormatNumber(average_deviation, 6, -1, 0, 0) WScript.Echo "standard_deviation: " & FormatNumber(standard_deviation, 6, -1, 0, 0) WScript.Echo "variance: " & FormatNumber(variance, 6, -1, 0, 0) WScript.Echo "skew: " & FormatNumber(skew, 6, -1, 0, 0) WScript.Echo "kurtosis: " & FormatNumber(kurtosis, 6, -1, 0, 0) </script> </job>