1.ПОСТАНОВКИ ЗАДАЧІ.
Для заданої сукупності даних xi з діапазону [x0, xM] обчислюємо середнє значення за формулою m1(x)=1/N . і ще дві задані статистичні характеристики використовуючи формули
Mk(x)=1/N , M2=m2–m12; M3=m3–3m1(m2+2m13; M4=m4–4m1(m3+6m12(m2–3m14 ,
А також побудувати гістограму. Для цього скористаємося процедурами: SetViewPort, Rectangle, bar.
2.РОЗРОБКА СТРУКТУРИ ДАНИХ.
№п(п
Позначення
Ім’я
Тип
Призначення, опис
1
х1,х2,х3,х4
w1,w2,w3,w4
ціла
Координати вікна
2
m1,m2,m3, d,mv2
m1,m2,m3, d,mv2,
дійсна
Статистичні величини
3
min,max
min,max
дійсна
Діапазон чисел
4
k
k
дійсна
Кількість піддіапазонів
5
gd,gm
gd,gm
smallint
Змінні необхідні для реалізації графічного режиму
6
-
i, s,j,
ціла
Слугують для реалізації циклів,накопичення суми.
7
-
A,h,h1
-
Масиви для зберігання заданих чисел та висот стовпців
8
-
Mx,my
ціла
масштаб
3.РОЗРОБКА БЛОК-СХЕМИ АЛГОРИТМУ.
8
9
Утворення гістограми 8
9
4.ЗАПИС ТЕКСТУ ПРОГРАМИ.
program Project1;uses graph,keyboard;
const n=20;
var i,k,s,j,w1,w2,w3,w4,mx,my,c:integer;m1,m2,m3,m4,d,mv2,mv3,
mv4,e,min,max:real;
gd,gm:smallint;
a:array[1..n]of real;
h:array[1..n]of integer;
h1:array[1..n]of integer;
begin min:=2;max:=2.8;k:=5;
d:=(max-min)/k;
a[1]:=2.64; a[2]:=2.4;
a[3]:=2.79;a[4]:=2.07;
a[5]:=2.06;a[6]:=2.5;
a[7]:=2.7;a[8]:=2.72;
a[9]:=2.08;a[10]:=2.48;
a[11]:=2.74;a[12]:=2.21;
a[13]:=2.11;a[14]:=2.64;
a[15]:=2.28;a[16]:=2.74;
a[17]:=2.58;a[18]:=2.77;
a[19]:=2.27;a[20]:=2.42; m1:=0;
for i:=1 to n do
m1:=m1+a[i]/n; writeln('x:',m1:5:4);
m2:=0;
for i:=1 to n do
m2:=m2+sqr(a[i])/n; writeln('m2:',m2:5:4);
mv2:=m2-sqr(m1);writeln('D:',mv2:5:4);
FOR j:=1 to k do begin
s:=0;
FOR i:=1 to n do begin
if (a[i]<(min+j*d)) and (a[i]>=(min+(j-1)*d)) then s:=s+1;
end; h[j]:=s;writeln('h(',j,'):',h[j]);end;
w1:=100;w2:=100;w3:=1000;w4:=500;
mx:=round((w3-w1)/k);
for i:=1 to k do h1[i]:=h[i];
for i:=2 to k do
if h1[i]<h1[i-1] then begin c:=h1[i-1];h1[i-1]:=h1[i];h1[i]:=c;end;
writeln('h max:',h1[k]);
my:=round((w4-w2)*0.9/h1[k]);
readln;
{grafichnuj rezum}
gd:=0;initkeyboard;
initkeyboard;
initgraph(gd,gm,'');
SetViewPort(w1, w2, w3,w4,ClipOn );setbkcolor(3);clearviewport;
setbkcolor(random(9)); setcolor(5);
for i:=1 to k do begin setcolor(random(9));
bar((i-1)*mx, w4-w2,i*mx, w4-w2-h[i]*my );
Rectangle((i-1)*mx, w4-w2,i*mx, w4-w2-h[i]*my );
end;
repeat until keyboard.getkeyeventchar(keyboard.getkeyevent())='g';
closegraph();
donekeyboard;
end.
5.ТЕСТУВАННЯ ТА НАЛАГОДЖЕННЯ.
Висновок: я ознайомився з основними статистичними характеристиками, та формулами для їх обрахунку, а також навчився будувати гістограми на мові Pascal.
Міністерство освіти і науки України
Національний університет «Львівська політехніка»
Інститут телекомунікацій, радіоелектроніки та електронної техніки
Кафедра теоретичної радіотехніки та радіовимірювань
ЗВІТ З ЛАБОРАТОРНОЇ РОБОТИ №15 НА ТЕМУ:
«ОДНОМІРНА СТАТИСТИКА ТА ПІДГОТОВКА ГІСТОГРАМ. »
Підготував:
студент групи РТ-11
Прийняв:
Нестор Н. І.
Львів 2010р.