Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.06.2017, 00:12   #1
Мария34
Пользователь
 
Регистрация: 30.04.2017
Сообщений: 40
По умолчанию Выполнить программное моделирование алгоритма поиска кодовых комбинаций и алгоритма кодирования методом Хаффмана.

Выполнить программное моделирование алгоритма поиска кодовых комбинаций и алгоритма кодирования методом Хаффмана. Для дискретного источника сообщений, смоделированного ниже, выполнить кодирование последовательности продолжительностью K = 100 и K = 1000 реализаций. Вычислить значение оценки средней длительности кодовых комбинаций для каждого из двух случаев

Вот код дискретного источника сообщений

Код:
uses crt,graph;
const nmas=1000;
      n=14;
var x0,y0:integer;
type tmass=array[1..nmas] of extended;
type mas=array[0..n] of integer;
procedure histogram(a:mas);
var i,w:integer;
    mx,h:real;
    s:string;
begin
w:=10;{ширина столбцов}
mx:=a[0];
for i:=0 to n do
if a[i]>mx then mx:=a[i];{находим максимум}
h:=(y0-40)/mx;{масштаб по вертикали}
for i:=0 to n do
 begin
  setcolor(i+1);{цвет}
  setfillstyle(1,i+1);
  {рисуем прямоугольники с заданной шириной, шагом
    и высотой соответственно значению}
  bar(x0+4*w*i,y0-round(a[i]*h),x0+w*(4*(i+1)-2),y0);
  str(i+1,s);
  outtextXY(x0+4*w*i+15,y0+20,s);{выводим по низу номер}
  str(a[i],s);{преобразуем значения в строку}
  outtextXY(x0+4*w*i,y0-round(a[i]*h)-20,s);{выводим значения выше столбика}
 end;
end;

Procedure Otcenki(const x: tMass;var Mx,Dx:Real);
Var
  i:integer;
Begin
  Mx:=0; Dx:=0;
  For i:=1 to nmas do Mx:=Mx+x[i];
  Mx:=Mx/nmas;
  For i:=1 to nmas do Dx:=Dx+Sqr(x[i]-Mx);
  Dx:=Dx/(nmas-1);
end;

var x:tmass;
    hist:mas;
    MaxVal,MinVal,Mx,Dx,r,a,b,m_b:real;
    m,i,j,k,p:integer;
begin
clrscr;
write('a b:');
readln(a,b);
randomize;
 begin
  for j:=1 to nmas do
   begin
    r:=random;
    x[j]:=a+r*(b-a);
   end;
  for k:=0 to n do hist[k]:=0;
  m_b:=15/(b-a);
  for k:=1 to nmas do
   begin
    m:=trunc((x[k]-a)*m_b);
    inc(hist[m]);
   end;
   MaxVal := x[j];
   MinVal := x[j];
   for j:=2 to NMAS do
     begin
       if x[j] < MinVal  then  MinVal := x[j];
       if x[j] > MaxVal  then  MaxVal := x[j];
     end;
  Otcenki(x,Mx,Dx);
  Writeln ('Min element is: ', MinVal:8:6, ' Max element is: ', MaxVal:8:6);
  WriteLn('Мат.ожидание=',Mx:8:6,'Дисперсия=',Dx:8:6,'‘Среднеквад. отклонение',Sqrt(Dx):8:6);
  for k:=0 to n do
  write(hist[k]:3);
  readln;
  k:=0;
  initgraph(k,p,'');
  x0:=20;{левый край диаграммы}
  y0:=getmaxY-80;{нижний край}
  histogram(hist);
   begin
    readln;
    restorecrtmode;
   end;
 end;
readln
end.
Сам принцеп вроде бы поняла, но как реализовать в программке.
Изображения
Тип файла: png Безымянный.png (2.4 Кб, 55 просмотров)

Последний раз редактировалось Мария34; 04.06.2017 в 10:41.
Мария34 вне форума Ответить с цитированием
Старый 04.06.2017, 23:36   #2
Мария34
Пользователь
 
Регистрация: 30.04.2017
Сообщений: 40
По умолчанию

Ну что совсем не кому помочь? Никто не знает...
Мария34 вне форума Ответить с цитированием
Старый 06.06.2017, 00:15   #3
Мария34
Пользователь
 
Регистрация: 30.04.2017
Сообщений: 40
По умолчанию

Ну хоть кто-нибудь.
Мария34 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
delphi программа алгоритма хаффмана Droid5555 Помощь студентам 17 14.04.2017 07:20
реализации алгоритма кодирования длин серий. Лиана2016 Паскаль, Turbo Pascal, PascalABC.NET 1 06.05.2016 09:12
Реализация Алгоритма Хаффмана Iren1993 Паскаль, Turbo Pascal, PascalABC.NET 1 22.05.2012 21:26
Реализация кодирования методом Хаффмана на Pascal Azarat Помощь студентам 3 06.12.2010 09:34
Дерево для алгоритма Хаффмана 0479 Помощь студентам 0 18.10.2010 07:17