Pers.narod.ru. Алгоритмы. Заполнение экрана случайными символами с учётом частоты встречаемости

Программа заполняет экран случайными символами кириллицы с возможностью задания относительной частоты встречаемости каждого символа. Заполнение продолжается до нажатия любой клавиши.

{$N+}
uses Crt;
const freq:array [1..33] of integer=(
 10,
 8,2,2,3,2,4,2,2,3,2,
 3,3,3,3,8,4,4,3,3,3,
 2,2,2,2,2,2,1,2,2,2,
 2,2
); {Массив относительных частот для пробела и букв}
var Liters:string;
    i,s,n:integer;

begin
 TextMode (CO80+Font8x8);
 Randomize;
 Liters:=' АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ'; {Допустимые символы}

 repeat
  i:=1+Random (100);
  s:=freq[1];
  for n:=1 to 33 do begin
   if i<=s then break
   else s:=s+freq[n];
  end;
  write (Liters[n]);
 until keypressed;

 writeln;
 write ('Enter to exit...');
 Reset (Input);
 Readln;
 TextMode (CO80);
end.

Рейтинг@Mail.ru

вверх гостевая; E-mail
Hosted by uCoz