DP.22 · Алгоритмы
Задача
По массиву вещественных чисел вычислить основные статистики.
Алгоритм
Первый проход считает сумму и экстремумы, второй — сумму квадратов отклонений для СКО.
Исходный код
⇩ Скачать 22-statistika-massiva.dpr
program StatistikaMassiva;
{$mode delphi}{$apptype console}
uses SysUtils, Math;
var a: array[1..8] of Double = (4.2, 7.1, 3.3, 9.8, 5.5, 2.1, 6.6, 8.0);
i: Integer; sum, mean, sd, mn, mx: Double;
begin
sum := 0; mn := a[1]; mx := a[1];
for i := Low(a) to High(a) do begin
sum := sum + a[i];
if a[i] < mn then mn := a[i];
if a[i] > mx then mx := a[i];
end;
mean := sum / Length(a);
sd := 0;
for i := Low(a) to High(a) do sd := sd + Sqr(a[i] - mean);
sd := Sqrt(sd / Length(a));
WriteLn('Минимум: ', mn:0:3);
WriteLn('Максимум: ', mx:0:3);
WriteLn('Среднее: ', mean:0:3);
WriteLn('СКО: ', sd:0:3);
ReadLn;
end.
Пояснения
Sqr возводит в квадрат, Sqrt берёт корень. Length(a) даёт число элементов.