Як знайти медіану чисел

Як знайти медіану чисел


У статистиці для дослідження інформації поряд із середнім арифметичним показником використовують і такий вид характеристики, як медіана. Медіана являє собою значення ознаки, яка ділить числовий ряд на дві рівні частини. Причому половина чисел до медіани повинна бути не більше її значення, а друга половина - не менше. При знаходженні медіани визначають місце розташування центральних чисел в заданому ряду.

Інструкція

1. Запишіть вказану числову послідовність. Виконайте її сортування за зростанням. У наборі зліва направо числа повинні розташовуватися від меншого значення до більшого.

2. Якщо ряд містить непарну кількість чисел, за його медіану слід прийняти значення, що стоїть рівно посередині набору. Наприклад, є числова послідовність виду: 400 250 640 700 900 100 300 170 550. У цьому наборі числа стоять не по порядку. Після його впорядкування за зростанням вийде наступний ряд: 100 170 250 300 400 550 640 700 900. Як видно, послідовність складається з 9 значень. Медіаною числового набору в даному випадку буде число 400. Саме від його позиції по один бік все числа не більше медіани, а по інший - не менше.

3. При розгляді значень парної послідовності центральними будуть вже не один, а два числа: m і k. Знайдіть ці числа також після впорядкування набору за зростанням. Медіана цьому випадку буде середнім арифметичним показником даних значень. Вирахуйте її за формулою (m + k )/2. Наприклад, у відсортованому ряду 200 400 600 4000 30000 50000 числа 600 і 4000 займають центральні позиції. Отже, медіаною числовою послідовністю буде наступне значення: (600 + 4000)/2 = 2300.

4. Якщо набір значень містить велику кількість даних, вручну досить складно його сортувати і визначати центр ряду. За допомогою невеликої програми легко знайти медіану послідовності чисел будь-якої розмірності. Приклад коду мовою Pascal:var M_ss: array[1..200] of integer;med: real; k, i, j: integer; begin (* Впорядкування чисел за зростанням *) for j:=1 to 200-1 dofor i:=1 to 200-j dobegin if M_ss[i] > M_ss[i+1] thenk:=M[i]; M_ss[i]:=M_ss[i+1]; M_ss[i+1]=k;end; (* Пошук медіани *) if (length (M_ss) mod 2) = 0 then med:=( M_ss[trunc(length(M_ss))] + M_ss[trunc(length(M_ss))+1])/2else med:= M _ ss [trunc (length (M_ss))]; end.У змінній med міститься значення медіани заданого числового масиву M_ss.



Матеріали по темі