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.
|
|