Курсовая работа: Генератор псевдотекстов

freq["в"] = 38; freq["ж"] = 7;

freq["л"] = 35; freq["ю"] = 6;

freq["к"] = 28; freq["ш"] = 6;

freq["м"] = 26; freq["ц"] = 4;

freq["д"] = 25; freq["щ"] = 3;

freq["п"] = 23; freq["э"] = 3;

freq["у"] = 21; freq["ф"] = 2;

for (c in freq) {

for (i = 0; i < freq[c]; ++i) {

str = str c

++n

}

}

for (i = 0; i < 200; ++i) {

ind = int (rand () * n) + 1

printf ("%c", substr (str, ind, 1))

}

}

3.4 Генератор псевдотекста, анализирующий вероятность появления в тексте буквы после четырёх букв

В данной программе для хранения четырёх текущих букв используются переменные c0, c1, c2, c3. Каждый элемент массива nsuffix является количеством суффиксов (букв, следующих за четырьмя данными буквами), соответствующих данным четырём буквам, которые являются индексами этого массива. Сами суффиксы хранятся в массиве ststetab – первый суффикс, соответствующий данным четырём буквам c0, c1, c2, c3, хранится в statetab[c0,c1,c2,c3,1], второй – в statetab[c0,c1,c2,c3,2], и т.д. В основной секции программы каждая строка входного файла разбивается на буквы, которые записываются в соответствующие элементы массива statetab. Собственно генерация происходит после того, как весь файл будет прочитан, в секции END.

Начальные значения текущих четырёх букв одинаковы и равны EOL. В цикле при каждой итерации выбирается случайная буква, соответствующая текущим, и если она не является концом строки, она выводится на стандартный вывод, в противном случае программа завершается. Далее происходит сдвиг текущих букв, и только что выведенная буква становится последней буквой этой цепочки. Эти действия повторяются, пока не будет выведено необходимое число букв.

#----------------------------------------------------------------

# Программа 4. Генератор псевдотекста, анализирующий вероятность

# появления в тексте буквы после четырёх букв.

# Запуск: gawk -f prog4.awk textfile.txt

#----------------------------------------------------------------

BEGIN {

MAXGEN = 200

EOL = "\n"

c0 = c1 = c2 = c3 = EOL

К-во Просмотров: 365
Бесплатно скачать Курсовая работа: Генератор псевдотекстов