Darkrai1337

Untitled

Jan 10th, 2022 (edited)
1,229
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 1.30 KB | None | 0 0
  1. program asymmetry;
  2.  
  3. {$APPTYPE CONSOLE}
  4.  
  5. uses
  6.   SysUtils, Math;
  7. type
  8.   statArr = array[0..4] of double;
  9.  
  10. function fillArray(range:integer): statArr;
  11. var fArray:statArr;
  12.     i: integer;
  13. begin
  14.   for i:= 0 to high(fArray) do
  15.       fArray[i]:= RandomRange(0,range);
  16.    // fArray[i]:= SimpleRoundTo(Random*range, -2);
  17.   Result:= fArray;
  18. end;
  19. procedure printArray(tArray:statArr);
  20. var i:integer;
  21. begin
  22.   for i:= 0 to high(tArray) do
  23.     write(tArray[i]:2:2,' ');
  24.   writeln;
  25. end;
  26.  
  27. function GetStatNum(CurArray: statArr; average:double=0; pow:integer= 1): double;
  28. var i: integer;
  29. begin
  30.   Result:= 0;
  31.   for i:= 0 to high(CurArray) do
  32.     Result:=Result + intPower((CurArray[i] - average), pow);
  33.   Result:= Result / (high(CurArray)+1);
  34. end;
  35.  
  36.  
  37. var
  38.   range: integer;
  39.   Main: statArr;
  40.   CentMom, Deviat,Kurtosis, Aver: double;
  41.  
  42. begin
  43.   Randomize;
  44.   Write('random range: '); readln(range);
  45.   Main := fillArray(range);
  46.   write('Initial numbers: ') ;printArray(Main);
  47.   Aver:= GetStatNum(Main);
  48.   CentMom := GetStatNum(Main,Aver,4);
  49.   Deviat:= sqrt(GetStatNum(Main, Aver, 2));
  50.   Kurtosis := (CentMom / Power(Deviat,4)) - 3;
  51.   writeln('Average: ', Aver:2:2, ', 4-Center Moment: ', centMom:2:2, ', Deviation: ', Deviat:2:2);
  52.   Writeln('Kurtosis: ', SimpleRoundTo(Kurtosis,-3):3:3);
  53.   Readln;
  54. end.
Advertisement
Add Comment
Please, Sign In to add comment