CodeForum.anihub.ru

Объявление

Планируется создать страницы со статьями по тематике форума и страницу оглавления, доступную через меню, для чего в нём будет создан специальный пункт. Требования к статьям:

1. Формат файла - html.

2. Внутренние ссылки - относительные.

3. Если в статье больше одного файла, то она должна быть заархивирована одним файлом.

Статьи присылать на codesite@yandex.ru.

Администрация

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » CodeForum.anihub.ru » Delphi » Коллекция решенных задач


Коллекция решенных задач

Сообщений 1 страница 2 из 2

1

Функция вычисления процентилей.
Функция вычисления процентилей (меры расположения данных выборки или распределения) предназначена для вычисления статистических показателей распределения (децили, квартили, медиана).
Входными данными являются:
mass - упорядоченный по возрастанию динамический массив с данными выборки;
prc - вычисляемый статистический показатель в диапазоне 0.1 - 0.9.
0.1 - это первый дециль; 0.9 - девятый дециль; 0.25 - нижний квартиль; 0.75 - верхний квартиль; 0.5 - медиана.

Код:
Function Persentel(mass:array of real48; prc:real48):real48;
var
  left,right:word;
  delta,DeltaBig:real48;
  count:word;

Begin
  count:=Length(mass);
  case count of
    0:Result:=0;
    1:Result:=mass[count-1]
    else
      begin
        delta:=100/(count-1);
        left:=0;
        while left*delta/100 < prc do
          Inc(left);
        right:=left;
        Dec(left);
        DeltaBig:=(mass[right]-mass[left])/delta;
        Result:=mass[left]+(prc-left*delta/100)*DeltaBig*100
      end
  end
End;

Пример вызова функции для расчета девятого дециля распеределения данных, находящихся в массиве msKladcomp:

Код:
Dc9:=Persentel(msKladcomp,0.9);

0

2

Задача.
Дано:
1 f - delphi-функция с одним аргументом типа real и типом возвращаемого значения real,
2 s - шаг интегрирования (s<>0),
3 a, b - пределы интегрирования (если s>0, то a<b, а если s<0, то a>b).
Требуется:
вычислить интеграл по методу трапеций и поместить результат в переменную i типа real.
Решение:

Код:
type function TRr(x:real):real;
double Itegral(Function:TRr; Start:real; End:real; DeltaX:real)
Var x,r:real;
begin
         r:=0;
         x:=Start;
         while (x<End)
         begin
                  r:=r+Function(x)*DeltaX+(Function(x+DeltaX)-Function(x))*DeltaX/2;
                  x:=x+DeltaX;
         end;
         Itegral:=r;
end;

Способ применения:

Код:
i=Integral(f,a,b,s);

0


Вы здесь » CodeForum.anihub.ru » Delphi » Коллекция решенных задач


Рейтинг форумов | Создать форум бесплатно