Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Программа «Частотный словарь», оценка сложности написания такой проги 
:(
    Опции темы
l0ser
Дата 26.12.2012, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 14.4.2010
Где: Подмосковье

Репутация: нет
Всего: нет



Мне в отдалённом будущем (когда напишу эпос) понадобится программа типа «частотный словарь», которая составляет список слов и указывает их количество в тексте. Естественно, после составления такого списка слова можно построить по алфавиту и по частоте (количеству).

Так как я прочитал предисловие и введение в книжке «Изучаем Perl», я знаю, что Perl – самый лучший язык для возни с текстами. По крайней мере, для тех, кто знает Perl. smile

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

ТЗ: на входе – файл с текстом. Программа читает его, разделяя текст на слова. Разделители – перенос строки, знаки препинания и пробел. Массив (наверное, пригодится хеш) или ассоциативный список (не помню, как правильно называется, помню только толстую стрелочку => smile), каждому уникальному слову сопоставляется число, при каждом новом вхождении число увеличивается. Для извращений в Ворде результат сохраняется в файл как числа и соответствующие им слова или как слова и соответствующие им числа. Регистр символов не учитывается.

Возможно, в VB такую программу написать легче и приятнее? smile
PM MAIL   Вверх
vadiml
Дата 26.12.2012, 20:14 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 27.7.2007

Репутация: 5
Всего: 7



Слово -- ключ хеша, на каждое найденное слово
$hash{'слово'}++;

а для сортировки -- sort keys

Без хешей получится тормоз на любом языке.

"Возможно," перл изначально писался для анализа текстов, а VB -- нет.

PM MAIL Jabber   Вверх
alezzz
Дата 27.12.2012, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сплю...
**


Профиль
Группа: Участник
Сообщений: 499
Регистрация: 17.8.2009

Репутация: 1
Всего: 14



и стоит учесть особенности русского языка (если словарь будет под русский язык), например падежи.
PM MAIL   Вверх
l0ser
Дата 7.1.2013, 08:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 14.4.2010
Где: Подмосковье

Репутация: нет
Всего: нет



Спасибо, родные! smile
PM MAIL   Вверх
dixoNICH
Дата 7.1.2013, 14:06 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 222
Регистрация: 20.3.2011

Репутация: нет
Всего: нет



$h{$_}++for split /[\s!;:\n?]/, $in;
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0666 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.