Программа слова | en |
Программа ищет слова в одном или двух словарях по одной из опций поиска. Русский словарь содержит примерно 445 тысяч слов, английский примерно 134 тысячи слов. Дополнительно можно посмотреть статистику словаря, частоту длины слов, распределение последовательности двух букв, частоту букв. Можно также запустить неполную версию программы онлайн, где поиск реализован через cgi и php.
Поиск анаграмм
Анаграммы - слова, содержащие одни и те же буквы. Например, апельсин - спаниель. Самые длинные анаграммы.
русский | английский |
нескомпрометированный термокомпенсированный 21 буква | |
катеростроительный ракетостроительный 18 букв | |
лесопромышленность солепромышленность 18 букв | pathophysiological physiopathological 18 букв |
термоэлектрический электрометрический 18 букв | crystallographica crystalographical 17 букв |
термоэлектрический электротермический 18 букв | microphotographic photomicrographic 17 букв |
электрометрический электротермический 18 букв | autoradiographic radioautographic 16 букв |
анестезированный заинтересованный 16 букв | micromillimeters micromillimetres 16 букв |
Поиск панграмм
Панграммы - это слова включающие в себя как можно большее число различных букв из алфавита. Например, сельскохозяйственно-машиностроительный (букв 38 различных букв 20) экспериментально-хирургический (букв 30 различных букв 20).
Поиск по шаблону
Поиск по шаблону. Найденные слова будут содержать не менее или не более, или любое число заданных букв в шаблоне. Опции поиска
- слова содержат все буквы из шаблона - слова должны содержать все буквы шаблона плюс любые другие буквы
- слова содержат часть букв из шаблона - слова содержат часть букв из шаблона и никаких иных букв
- слова содержат часть букв из шаблона (упорядочено) - слова содержат часть букв из шаблона и никаких иных букв, при этом порядок букв в найденном слове должен быть таким же как и в шаблоне. Например, если удалить часть букв в шаблоне самобранка, можно получить слово абак
- слова состоят только из букв шаблона - слова содержат любое число букв из шаблона и только их
Поиск палиндромов
Палиндромы - слова, которые при прочтении наоборот дают сами себя.
русский | английский |
тет-а-тет 9 букв | reviver 7 букв |
ротатор 7 букв | rotator 7 букв |
абеба 5 букв | hallah 6 букв |
довод 5 букв | hannah 6 букв |
доход 5 букв | mallam 6 букв |
Поиск слов для кроссворда
Поиск слов для кроссворда. Необходимо ввести слово, где вместо неизвестных букв ставятся *. Например, по шаблону **б*з найдутся слова арбуз и лабаз.
Поиск регулярных выражений
Поиск регулярных выражений c заданным числом совпадений. Регулярные выражения - это набор специальных символов, который обозначает шаблон поиска в строке. Регулярные выражения - очень мощный инструмент поиска в строках. Более подробную информацию можно в интернете, сделав запрос регулярные выражения языка perl. Примеры
- По строке зо$ найдутся слова, которые заканчиваются на зо.
- (.)(.*\1){7,} - поиск одной любой буквы встречающейся в слове восемь и более раз. Найдено слово сарва-даршана-санграха (буква а повторяется восемь раз)
- (..)(.*\1){3,} - поиск любых двух букв встречающихся в слове четыре и более раз. Найдены слова ношено-переношено (но повторяется 4 раза) и росагропромстрой (ро повторяется 4 раза)
Поиск модификаций слов
Поиск модификаций слов. Возможны модификации трех типов: замены, вставки и подстроки. Также можно задать комбинацию этих модификаций.
ЗАМЕНЫ. Синтаксис строка1>строка2.
Строка аб>бвг означает, что нужно заменить все подстроки аб на бвг.
Строка к>0 указывает, что нужно заменить все буквы к на пустую строку.
ВСТАВКИ/ДОБАВЛЕНИЯ. Синтаксис +индекс,строка.
Строка +0,ш добавит букву ш перед началом слова (перед первым символом слова). Строка +2,фы вставит фы перед третьим символом слова. Строка +L,у добавит букву у к концу слова. Строка +L-1,ц вставит букву ц перед последним символом слова.
ПОДСТРОКИ. Синтаксис -индекс,длина.
Строка -0,3 оставляет первые три буквы. Строка -4,3 оставляет три буквы, начиная с пятой. Если второй параметр не указан (например, -3), то берется слово до конца (остаются все буквы, начиная с четвертой). Строка -L-5,3 оставляет три символа, начиная с пятого, считая с конца. Строка -L-5 оставляет последние 5 букв. Другие примеры строк -4,L-5 -L-4,L-5.
Не все операции замены будут приводить к изменению слова. Если включена опция поиска каждая модификация меняет слово, то любая из операций в поле поиска должна менять слово.
Поиск цепочек слов
Поиск цепочек слов таких, что на каждом шаге происходит замена ровно одной буквы предыдущего слова. Пусть есть два слова муха и слон. Тогда один из вариантов цепочек - муха муна луна лина линн лион сион слон. Программа ищет все возможные кратчайшие пути.
Поиск последовательностей букв
По последовательности букв уу программа найдет слова: вакуум, индивидуум, полуулыбка и так далее.
Поиск разбиений группы букв
Pазбиение группы букв на два или три слова. Сначала ищутся все разбиения группы букв на два слова, затем все разбиения на три слова. Например, группу букв авекмнорстух (эти буквы содержатся в автомобильных номерах) можно разбить на два слова москва и рухнет или на три слова - ева, хук, монстр.
Поиск простых слов последовательностей
Простые слова последовательности - это два набора слов таких, что последние буквы любого слова из первого набора являются первыми буквами любого слова из второго набора. Например, первый набор состоит из двух слов алгебраист и гебраист. Второй набор также содержит два слова гебраист и гебраистика. Последние восемь букв любого из слов алгебраист и гебраист, совпадают с первыми восемью буквами любого из слов гебраист и гебраистика.
Примечание. Слово гебраист состоит из восьми букв и его последние восемь букв совпадают с первыми восемью буквами его же. Таким образом, любое слово является словом последовательностью самого себя. Если бы в словаре больше не было слов заканчивающихся или начинающихся на гебраист, то такой набор бы отбрасывался, как тривиальный.
Поиск двойных слов последовательностей
Двойные слова последовательности - это два набора слов таких, что последние буквы любого слова из первого набора являются первыми буквами любого слова из второго набора и наоборот. Например, первый набор состоит из двух слов монацит и моноцит. Второй набор также содержит два слова цитоплазмон и цитрамон. Последние три буквы любого из слов монацит и моноцит совпадают с первыми тремя буквами любого из слов цитоплазмон и цитрамон. И, одновременно, последние три буквы любого из слов цитоплазмон и цитрамон совпадают с первыми тремя буквами любого из слов монацит и моноцит.Примечание. Как и в случае поиска простых слов последовательностей тривиальные наборы отбрасываются.
Поиск полных слов последовательностей
Полные слова последовательности - это пара слов, которые при прочтении наоборот, дают другое слово. Например, колесо - оселок. Палиндромы не учитываются.
русский | английский |
анизол лозина | desserts stressed |
колесо оселок | lattimer remittal |
напрут турпан | deliver reviled |
скелет телекс | dessert tressed |
авран нарва | animal lamina |
Поиск клавиатурных слов (один ряд)
Поиск слов, все буквы которых, содержатся в одном вертикальном или горизонтальном ряду клавиатуры.
русский | английский |
водопровод 10 букв | peppertree 10 букв |
паропровод 10 букв | pepperwort 10 букв |
счиститься 10 букв | perpetuity 10 букв |
поддавала 9 букв | proprietor 10 букв |
счистится 9 букв | repertoire 10 букв |
Поиск клавиатурных слов (ряд + диагонали)
Поиск слов, у которых каждая следующая буква находится на соседней клавише клавиатуры от предыдущей буквы, при этом учитываются соседние клавиши по горизонтали, вертикали и диагонали.
русский | английский |
огнеприпасы 11 букв | redressed 9 букв |
проглотить 10 букв | redresser 9 букв |
оборотить 9 букв | redresses 9 букв |
примирить 9 букв | assessed 8 букв |
проторить 9 букв | assesses 8 букв |
Поиск последовательностей гласных/согласных букв
Поиск нескольких подряд идущих гласных или согласных букв. Есть несколько слов содержащие шесть согласных подряд, например, адъюнктство и контрстратегия. Есть два слова содержащих четыре гласных буквы подряд: чиуауачих, чиуауа. Есть опция поиска слов начинающихся или заканчивающихся несколькими гласными/согласными подряд или имеющих их в середине слова. В английском языке есть слова, содержащие шесть согласных подряд: knightsbridge, festschrift, goldschmidt, latchstring, sightscreen, weltschmerz, watchstrap Пять гласных подряд: liaoyang, queueing, iyeyasu, taiyuan.
Поиск слов с низким процентом гласных/согласных букв
Поиск слов с низким процентом гласных/согласных букв.
Гласные буквы.
русский | английский | ||||
вскользь | гласных 12% | 8 букв | strengths | гласных 11% | 9 букв |
контрвзбзднуть | гласных 14% | 14 букв | mcknight | гласных 12% | 8 букв |
взблеск | гласных 14% | 7 букв | schmaltz | гласных 12% | 8 букв |
взгреть | гласных 14% | 7 букв | schnapps | гласных 12% | 8 букв |
вскрыть | гласных 14% | 7 букв | schwartz | гласных 12% | 8 букв |
Согласные буквы.
русский | английский | ||||
чиуауа | согласных 16% | 6 букв | iyeyasu | согласных 14% | 7 букв |
аудио | согласных 20% | 5 букв | euboea | согласных 16% | 6 букв |
ажио | согласных 25% | 4 буквы | eyetie | согласных 16% | 6 букв |
азия | согласных 25% | 4 буквы | ieyasu | согласных 16% | 6 букв |
алоэ | согласных 25% | 4 буквы | ukiyoe | согласных 16% | 6 букв |
Поиск слов в двух словарях
Поиск совпадающих слов (обычный)
Поиск слов, которые пишутся на английском и русском одинаково. Например, веер (русское слово) - Beep (английское слово). Среди них найдены слова которые не только одинаково пишутся, но также имеют одно и то же значение в обоих языках: токамак, Токмак, Мекка, тотем, атом, мама, кама (понятие в индуизме и название реки). Интересные пары: Bumble витые, HoBble новые.
сотрете compete | 7 букв |
сотрите compute | 7 букв |
токамак tokamak | 7 букв |
гаснет rachet | 6 букв |
довьет gobbet | 6 букв |
кагате karate | 6 букв |
Поиск совпадающих слов (транслит)
Поиск слов, которые пишутся одинаково на английском и русском (в транслите). Например, administrator (английское слово) - администратор (русское слово).
трансценденталист transcendentalist | 17 букв |
днепродзержинск dneprodzerzhinsk | 15 букв |
инструменталист instrumentalist | 15 букв |
мультипроцессор multiprocessor | 15 букв |
антидепрессант antidepressant | 14 букв |
антимилитарист antimilitarist | 14 букв |
днепропетровск dnepropetrovsk | 14 букв |
министериалист ministerialist | 14 букв |
Поиск клавиатурных слов
Поиск пар слов, которые при наборе на клавиатуре, получаются независимо от ее раскладки, то есть, набирая одно слово в другой раскладке, мы получаем другое слово. Например, entity (английское слово) - утешен (русское слово).
entity утешен | 6 букв |
erect укусе | 5 букв |
ghent пруте | 5 букв |
inert штуке | 5 букв |
abut фиге | 4 буквы |
Дополнительно
Статистика словаря
Статистика словаря содержит:
- частоту букв в начале слова
- частоту букв в конце слова
- частоту букв в любом месте слова
- частоту букв на клавиатуре
- общее число слов
- среднюю длину слова в словаре
- самое длинное слово
Частота длины слов по убыванию
Выдается процент слов в словаре, которые имеют заданную длину.
|
|
Похоже, что длина слова является нормально распределенной случайной величиной. На рисунках ниже представлены данные о вероятностях длины слов и приближение их нормальным распределением.
Английский словарь. Математическое ожидание - 8.9546. Дисперсия - 8.2675. |
Русский словарь. Математическое ожидание - 9.6727. Дисперсия - 9.2424. |
Распределение последовательности двух букв
Показывает распределение последовательности из двух подряд идущих букв в словах словаря, отсортированные по убыванию частоты появления.
Частота букв
Если отсортировать буквы по убыванию частот и построить график, то похоже, что логарифм частоты будет линейной функцией.
Причины создания
Третья версия
Игра классики, идущая на канале русский иллюзион, подвигла меня на создание третьей версии программы. Подобная игра идёт на нескольких каналах, иногда даже одновременно. Суть игры в том, что задаётся набор букв, по которым нужно составлять слова, желательно задействовать все буквы.
Первая и вторая версии
При написании первой и второй версии этой программы преследовалось две цели. Первая - это освоение слепой машинописи при набивании словаря. Вторая цель связана с игрой, которую проводило радио Эхо Москвы, которая называется наборщик. Правила игры таковы. Вначале звонят два человека. Они говорят, по очереди, какую букву им назвать гласную или согласную. Ведущий называет букву. И так восемь раз. После этого получается набор букв, который дополняется буквами ъ, ы, ь, й. После этого играющим даётся на обдумывание порядка пяти минут. Затем они по очерёдности называют слова. За каждое названное слово игрок получает число очков, которое равно длине слова. Побеждает у кого больше очков. В это время в студии работает пейджер, на который можно посылать слова. Человек, пославший слово максимальной длины выигрывает. К сожалению выиграть мне ни разу не удалось, может удастся вам. Забавно было, когда моя программа составила слово дуранда, которое ведущие не знали. Другой человек в этой игре послал слово дурында и выиграл, хотя слово дуранда тоже есть. Это происходило в 1995 или 1996 году. После появления моего сайта в интернете в августе 2000 года, программа появилась там.
История версий
версия 4.43 28 марта 2024
добавлен поиск слов содержащих часть букв из шаблона (упорядочено)
добавлено распределение последовательности двух букв в начале/конце слова
фильтр работает для всех опций статистики/поиска
сортировка работает для опции поиска цепочек
проект перекомпилирован для новой версии gcc и gtk (в gtk исправлен баг с выравниванием текста)
удалено несколько несуществующих слов из русского словара: аьберт, госкомсанэпидназдор, октябрьскский, ухойдакать добавлены слова: рухнет, прескриптивизм. Добавлено слово tokmak в английский словарь
исправлен баг с конечным временем
добавлено использование собственной библиотеки cgi для режима cgi
добавлено удаление/добавление слов в словари
высота рисунка в панели "о программе" считается из контента
версия 4.42 17 февраля 2022
исправлен баг если NDEBUG не определено, сейчас компилируется нормально
удалено слово "учебно-научно-произ-водственный", слово "учебно-научно-производственный" в словаре есть
версия 4.41 31 декабря 2021
версия 4.4 3 ноября 2021
добавлен позитивный/негативный фильтр результатов через регулярные выражения
исходный код добавлен на github
проект использует вспомогательную библиотеку aslov
добавлен зависящий от языка разделитель групп разрядов
версия 4.3 3 апреля 2018
добавлен поиск цепочек слов (c++ без php)
добавлена проверка новой версии
исправлен баг(?) при синхронизации потоков
исправлен баг когда пользователь выбирает поиск слов в двух словарях -> совпадающие слова (обычные и транслит), когда текущий словарь английский (c++ без php)
исправлен баг когда пользователь выбирает поиск слов в двух словарях и сортировку по числу гл./согл. букв, когда текущий словарь русский (c++ без php)
исправлен баг в online версии (картинка поиска неправильно отображалась, под браузером chrome). Картинка перекодирована в photshop'e
код адаптирован под новую версию gtk 3.22.28
добавлены слова из спелчекера с сайта libreoffice.org 254,740 новых слов
добавлены слова из словарей Лопатина 892 новых слова, Ожегова 259 новых слов
словарь Даля не добавлялся слишком много устаревших слов
версия 4.2 3 декабря 2017
добавлена online версия программы, через cgi (проекты cgi_words и gtk_words используют общие файлы)
добавлена online версия программы, где при поиске используется php
код адаптирован также под unix системы
поиск конкатенаций/подстрок заменен более общим поиском модификаций
изменен поиск слов последовательностей и двойных слов последовательностей, одинаковые слова теперь не выводятся, если найдено только одно слово в обоих множествах
строки поиска стали регистронезависимыми для всех опций
поиск в найденных словах тоже стал регистронезависимым
добавлена сортировка по алфавиту при поиске последовательности двух букв, если частоты одинаковы
ускорен поиск клавиатурных слов в двух словарях
улучшена синхронизация потоков
версия 4.1 22 декабря 2016
исправлен баг при поиске регулярных выражений и похожих поисках
код переписан для gcc 5.4.0 & gtk 3.20.6
ускорен поиск регулярных выражений
добавлен поиск конкатенаций/подстрок
исправлен баг когда пользователь нажимает акселераторы и при этом курсор в текстовом поле
исправлены два слова в словаре
версия 4.0 1 октября 2015
добавлены опции поиска и сортировки
добавлен поиск панграмм
добавлен поиск двойных слов последовательностей
версия 3.9 1 сентября 2014
версия 3.8 ** марта 2014
добавлена внутренняя функция объединения словарей
версия 3.7 ** марта 2013
добавлена строка состояния и время выполнения операции
добавлен поиск регулярных выражений
добавлена статистика частоты подряд идущих двух букв
добавлена поддержка английского интерфейса
удален поиск вариантов слов
версия 3.6 ** июля 2012
добавлена функция проверки словаря
добавлена проверка на слишком большое число найденных слов
добавлен поиск пар слов, когда одно является прочтением другого наоборот
добавлен поиск слов в русском и английском языках (обычный и в транслите)
добавлен поиск в русском и английском словарях клавиатурных слов
добавлен поиск клавиатурных слов (один ряд или ряд с диагоналями)
изменен формат словаря, теперь перевод строки один символ
версия 3.5 ** июля 2012
добавлена частота букв
добавлена частота длительности слов
исправлена ошибка при поиске последовательности гласных/согласных букв
версия 3.4 ** июля 2008
версия 3.3 ** февраля 2007
версия 3.2 ** июня 2007
ввод букв независимо от раскладки
версия 3.1 ** июня 2007
версия 3.0 ** мая 2007
расширен словарь
и многое другое
версия 2.0 ** марта 2002
добавлены опции поиска.
добавлен поиск по шаблону
добавлен поиск палиндромов и анаграмм
добавлен поиск последовательностей букв
добавлен поиск набора букв
добавлен поиск последовательностей гласных и согласных букв