Курсовая работа: Генератор псевдотекстов
Данный генератор содержит массив words, в который добавляется каждое слово, прочитанное из словаря. Словарь представляет собой текстовый файл, каждая строка которого содержит одно слово. Слова не повторяются. После того, как весь файл будет прочитан, переменная n содержит количество слов, содержащихся в массиве words. Далее в цикле выводятся случайно выбранные слова, разделённые пробелами.
#----------------------------------------------------------------
# Программа 2. Генератор псевдотекста со случайным выбором слов
# без учёта вероятностей их появления в текстах на русском языке.
# Запуск: gawk -f prog3.awk words.txt
#----------------------------------------------------------------
{
words[++n] = $0
}
END {
srand ()
for (i = 0; i < 20; ++i)
printf ("%s ", words[int (rand () * n + 1)])
}
3.3 Генератор псевдотекста со случайным выбором букв с учётом вероятностей их появления в текстах на русском языке
Данная программа отличается от Программы 2 тем, что строка str не задана явно, а генерируется в процессе выполнения на основе статистических данных. Массив freq для каждой буквы содержит её относительную частоту появления в тексте, умноженную на 1000. Строка str изначально пуста, но затем в цикле к ней добавляются буквы. Каждая буква записывается в str столько раз, какого значение соответствующего элемента массива freq. В переменной n накапливается длина строки. Затем, как и в Программе 2, из str случайно выбираются и выводятся 200 букв.
#---------------------------------------------------------------
# Программа 3. Генератор псевдотекста со случайным выбором букв
# с учётом вероятностей их появления в текстах на русском языке.
#---------------------------------------------------------------
BEGIN {
srand ()
freq[" "] = 175; freq["я"] = 18;
freq["о"] = 90; freq["ы"] = 16;
freq["е"] = 72; freq["з"] = 16;
freq["а"] = 62; freq["ь"] = 14;
freq["и"] = 62; freq["б"] = 14;
freq["т"] = 53; freq["г"] = 13;
freq["н"] = 53; freq["ч"] = 12;
freq["с"] = 45; freq["й"] = 10;