Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.03.2016, 12:25   #1
Kap98k
 
Регистрация: 20.11.2008
Сообщений: 8
По умолчанию Словарь - переводчик

Добрый день господа, дамы, товарищи и в целом граждане форума!

Обращаюсь к вам за советом. Собственно суть вопроса:

Решил написать небольшой словарь (под себя).
И пока уткнулся в вопрос организации хранения слов в файле. Просмотрел несколько страниц с форума по этой теме, находил решения слово = перевод, но у меня схема примерно такая: Слово - перевод - склонения - преобразование во времени.

В сторону каких алгоритмов или структур стоит смотреть.

P.S. Если что то написал не так или не понятно. Комментируйте, поправим.
Kap98k вне форума Ответить с цитированием
Старый 09.03.2016, 12:33   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Вероятно стоит взять например SQLite вместо обычного текстового файла.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 09.03.2016, 12:43   #3
Kap98k
 
Регистрация: 20.11.2008
Сообщений: 8
По умолчанию

Да тут еще мне интересно, можно ли это реализовать и стоит ли оно усилий. А БД то понятно, были мысли по этому поводу.
Kap98k вне форума Ответить с цитированием
Старый 09.03.2016, 12:48   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Что именно реализовать-то? Просто вывод перевода и прочей инфы по введенному слову вроде ж не должно быть сложным.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 09.03.2016, 18:53   #5
Kap98k
 
Регистрация: 20.11.2008
Сообщений: 8
По умолчанию

Например мне нужно перевести на французский слово "идти". Я ввожу это слово в поле. На выводе я должен получить, если это глагол: спряжение, варианты перевода (если их несколько) и склонение во времени (настоящее, прошедшее, будущее). Мыслей на создание анализатора текста у меня не было, значит заранее введенные значения должны определенным образом храниться в файле или БД.

Меня пока интересует именно файл, как в нем организовать хранение этих данных их связность и поиск.
Kap98k вне форума Ответить с цитированием
Старый 09.03.2016, 19:39   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

А в чем сложность если форма введенного слова совпадает с формой в вариантах перевода (ну то есть например в переводе есть только "идти", и ввели "идти", а не "идет")? Зачем что-то анализировать?

Цитата:
Меня пока интересует именно файл, как в нем организовать хранение этих данных
В любом удобном вам виде и формате. XML, JSON, CSV, свой текстовый, свой бинарный, ...
Ну и при запуске программы читать его весь (он ж не 10 ГБ будет), создавать список (массив) из каких-нибудь своих структур (struct/class/... в зависимости от ЯП) с нужными полями. Вместо массива и обычного поиска за O(N) (цикл по всему массиву) конечно можно использовать какой-нибудь более быстрый поиск, но мне лень думать и если не 100500 слов, то и так сойдет.
Но лучше взять БД (SQLite), а не изобретать ее самому. Тогда можно не заниматься чтением и поиском, а просто SELECT ... WHERE ...
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 09.03.2016, 20:01   #7
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Используйте СУБД это проще будет. Иначе весь функционал СУБД придётся реализовать. Может не весь а часть. Это ускоряет разработку.
А собственную разработку имеет смысл вести только для компрессии.

Цитата:
такая: Слово - перевод - склонения - преобразование во времени.
Хранить таблицей. Разделитель можно как у вас '-'. Но я бы сделал ';'.
Разные данные на разных строчках.

Для скорости работы стоит привести вашу БД(файл) к нормальной форме.
Будет несколько файлов по файлу на таблицу.
Слово - перевод
перевод - склонение
склонение - преобразование во времени.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Старый 13.03.2016, 21:00   #8
Kap98k
 
Регистрация: 20.11.2008
Сообщений: 8
По умолчанию

Спасибо, за разъяснения и советы. Остановлюсь тогда на БД, а файлики помучаю, как времени будет больше ради интереса и опыта.
Kap98k вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа словарь-переводчик! Девяностик Помощь студентам 0 29.03.2015 21:09
переводчик Programmist26 Помощь студентам 2 16.09.2013 23:02
ПЕРЕВОДЧИК Yan04ka Помощь студентам 0 07.04.2013 15:56
OpenSource переводчик / словарь Ivan_32 Софт 2 22.12.2010 13:15
Переводчик Jinno Фриланс 10 05.11.2009 21:45