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

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

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.03.2018, 01:33   #1
Battori
 
Регистрация: 12.03.2018
Сообщений: 9
По умолчанию Лексический анализатор

В общем такое дело, делаю лабу и немного запуталась. Сделала я строку поиска и генерацию слов по первым буквам, но не могу понять как сделать следующее:
При вводе букв в строке поиска программа должна выдать возможные варианты слов
из словаря, начинающиеся на введенные символы (буквы). При отсутствие слова в
словаре необходимо выдать сообщение «Данного слова нет в словаре».
При вводе букв в строке генерации слов программа должна выдать возможные
варианты слов из словаря, содержащие только введенные буквы. При отсутствие слова
в словаре необходимо выдать сообщение «Невозможно составить слово из данных
букв».
Файл прикреплен.
Посмотрите, пожалуйста и помогите закончить ее.
Вложения
Тип файла: rar лаб4.rar (3.4 Кб, 17 просмотров)
Battori вне форума Ответить с цитированием
Старый 13.03.2018, 09:49   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

у Вас два различных задания.

одно:
Цитата:
Сообщение от Battori Посмотреть сообщение
должна выдать возможные варианты слов
из словаря, начинающиеся на введенные символы (буквы)
это работает.

второе.
Цитата:
Сообщение от Battori Посмотреть сообщение
должна выдать возможные
варианты слов из словаря, содержащие только введенные буквы.
противоречит первому.
Да и не особо понятно, что это означает. что значит "только"?
Это поиск введённой подстроки в словаре?
например, если в словаре есть слово "лампа", а в строке ввели "ма", должно это слово отображаться? А когда должно? Приведите примеры.

и ещё. А какое отношение ваш модуль autocomplete имеет к теме "Лексический анализатор" ?!

p.s. и исправьте грамматические ошибки в словах в массиве proposals!!

Последний раз редактировалось Serge_Bliznykov; 13.03.2018 в 10:03.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.03.2018, 12:27   #3
Battori
 
Регистрация: 12.03.2018
Сообщений: 9
По умолчанию

Если введи "ма", то если ничего содержащего эти две буквы в такой последовательности нет, то нужно чтобы выдавало ошибку.

только через авто я смогла сделать этот "живой поиск"
Battori вне форума Ответить с цитированием
Старый 13.03.2018, 13:12   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Battori Посмотреть сообщение
Если введи "ма", то если ничего содержащего эти две буквы в такой последовательности нет, то нужно чтобы выдавало ошибку.
так. с этим разобрались.

теперь осталось решить:
Цитата:
начинающиеся на введенные символы (буквы)
или
Цитата:
содержащие только введенные буквы
у Вас сделан первый вариант. А Вам нужен второй?

и при чём здесь лексический анализатор?!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.03.2018, 13:22   #5
Battori
 
Регистрация: 12.03.2018
Сообщений: 9
По умолчанию

Ну вот я кое-что доделала, но опять же не все до конца.
Ошибка "невозможно составить слово" есть и вроде работает нормально (это когда просто любой набор букв вводишь типа "трпн")

Но мне нужно еще сделать так, чтобы допустим когда я вводила нормально слово типа "кот", а его нет в словаре, то выдавало ошибку "данного слова нет в словаре".

я не могу понять как их реализовать, чтобы они отдельно друг от друга были.

а анализатор потому, что задание в лабораторной такое
Изображения
Тип файла: jpg LoyMLZIv6ag.jpg (13.8 Кб, 102 просмотров)
Тип файла: jpg v6ag.jpg (14.4 Кб, 113 просмотров)
Battori вне форума Ответить с цитированием
Старый 13.03.2018, 13:50   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Battori Посмотреть сообщение
Но мне нужно еще сделать так, чтобы допустим когда я вводила нормально слово типа "кот", а его нет в словаре, то выдавало ошибку "данного слова нет в словаре".
А тут Вы можете не сильно стараться.
Невозможно отличить СЛОВО от НАБОРАБУКВ.
Единственный способ это сделать - это проверить слово по словарю.
Если оно есть в словаре, значит, есть такое слово, если нет - то такого слова нет.
других способов не существует.
берём, например, словарь ОЖЕГОВА и слова ШИШ, ШКЕТ, ШХЕР, ЧУНИ, ЧХИ, ЧАХИ, ФАНЗА, УПОРОТЬ, УПОЛОВНИК, УКОКАТЬ, УЗУС, УЖАК, ТРИЕР, ТРУЗ, ТРАП, ТОМПАК, ТЛЯ, ТЁХА, ТАБЛЬДОТ, СУТАЖ, СОТСКИЙ
определите, какие из них не существуют (если не обсчитался, то тут 3 таких слова)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.03.2018, 13:55   #7
Battori
 
Регистрация: 12.03.2018
Сообщений: 9
По умолчанию

ого, да я тут половину слов не знаю)

хорошо, значит оставлю как есть. Тоже думала, что нельзя их разделить, а вы точно подтвердили это. спасибо за помощь)
Battori вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
лексический анализатор diamondmersik Паскаль, Turbo Pascal, PascalABC.NET 17 15.12.2015 07:36
Лексический анализатор. Alexey Smirnov C# (си шарп) 0 09.06.2014 18:43
Лексический анализатор MMSblack Помощь студентам 0 07.04.2014 23:37
Лексический анализатор ercin1991 Общие вопросы C/C++ 4 05.12.2011 16:34
Лексический анализатор С++ EniOk Помощь студентам 1 06.12.2009 15:43