Подсказки для mistakes from lexical_analyzer и вообще подготовка к релизу
Originally reported on Google Code with ID 337
a)typo_mistake
1) what_is - показывает текст лексемы. Код уже существует, нужно только проверить его
в смысле того, какую именно лексему он показывает - правильное написание или ошибочное
- раньше они были одинаковыми. Интересный вопрос, какое именно надо показать. Я за
ошибочное, иначе это уже подсказка как исправить. Могу взять на себя.
2) how_to_fix_pic - картинка с исправлением лексемы, можно ре-юзе из существующего
кода отрисовки большой картинки
b) лишний и пропущенный разделители
1) what_is - аналогично, показывает текст лексемы (лексем) в ошибочном написании. Могу
взять на себя.
2) how_to_fix_pic - показывает как склеить или разделить лексемы (надо ли?). Можно
ре-юзе из существующего кода большой картинки, только здесь уже обе строки показываются
- как склеивается или расходится на несколько лексема.
Других вариантов придумать не могу. Есть идеи?
Reported by oasychev
on 2015-03-20 00:29:09
Comments (99)
-
reporter -
Account Deleted wheretxt как я понимаю тоже не работает. При первой возможности постараюсь все поправить.
Reported by
mamontov.dp
on 2015-03-21 06:03:02 -
reporter C wheretxt проблем не обнаружил. Возможно нужны более хитрые тесты.
Reported by
oasychev
on 2015-03-21 13:34:59 -
Account Deleted what_is пофикшено и сделано, чтобы для ошибки перемещения, описание бралось из ответа студента. Новую версию wherepic протестировал еще на перемещении и удалении, а так же вставке лишних лексем. Вроде проблем нет, все рисуется правильно. how_to_fix_pic будет позднее. Кстати, может выберем для нее более короткое название? А то в ограничение таблицы хинтов на 12 символов можем не влезть...
Reported by
mamontov.dp
on 2015-03-30 19:58:30 -
reporter what_is должна использовать ответ студента всегда кроме удаления, т.е. и для опечаток и т.д. - не только для перемещения how_to_fix_pic можно конечно fix_pic наверное назвать. А в надписи уже "Hint how to fix typo" (или другой вид ошибки).
Reported by
oasychev
on 2015-03-30 20:43:41 -
Account Deleted Она и использует теперь.
Reported by
mamontov.dp
on 2015-03-31 06:08:19 -
Account Deleted Залил на edu.vstu.org свежую версию плагина из репозитория, которая включает в себя реализацию how_to_fix_pic .
Reported by
mamontov.dp
on 2015-03-31 19:22:02 -
reporter Потещу в ближайшие пару дней - редактировал статью Бирюковой, высплюсь - проверю. Дмитрий - вам пока просьба - помочь Бирюковой с экспериментом для статьи, там ничего не посчитано - надо прогнать ее код по БД ответов которые мы экспортировали и собрать статистику - сколько процентов ответов содержали опечатки, пропущенные разделители, лишние разделители. И т.д. По коду, идущему в релиз...
Reported by
oasychev
on 2015-04-01 01:20:44 -
Account Deleted А можно меня тогда в соавторы её внести? Просто получается что часть материалов статьи готовил я...
Reported by
mamontov.dp
on 2015-04-01 08:04:45 -
reporter Я уже думал об этом. :) Но тогда вам еще помочь Маше с поиском необходимых ссылок (я ей там замечания накидал где точно надо) и составление приличного списка источников.
Reported by
oasychev
on 2015-04-01 08:43:47 -
Account Deleted Ну, мне и так все равно собирать статистику. Списком больше, списком меньше...
Reported by
mamontov.dp
on 2015-04-01 09:11:51 -
reporter Мария и Дмитрий - надо разобраться что происходит с Lexical error threshold. Он либо не влияет на генерацию прав, либо криво передается. Полюбуйтесь на вопрос http://edu.vstu.org/question/preview.php?id=20&courseid=2 Он должен получать в качестве ответа unsigned short int separator ; Введите ему unsi gned shartint separator ; и полюбуйтесь как он залихватски исправляет опечатки больше 50% длины слова при Lexical error threshold в настройках вопроса 0,1 (кстати, это значение по умолчанию скорее всего слишком низкое для правильной работы - надо уточнить по налаживанию приличное значение по умолчанию). Просьба разобраться на каком участке кода проблема (неправильно сохраняется в вопросе, криво передается в lexical_analyzer или до look_for_matches - или look_for_matches так его замечательно игнорирует... И пофиксить, а также подобрать вменяемое значение по умолчанию...
Reported by
oasychev
on 2015-04-01 18:42:47 -
reporter Reported by
oasychev
on 2015-04-01 18:43:09 -
reporter И Дмитрий, не забывайте вытягивать когда я выталкиваю свои коммиты, мержить же приходится...
Reported by
oasychev
on 2015-04-01 18:48:20 -
Account Deleted Кстати, по списку литературы. Почему для опечаток нельзя сослаться на доклад Левенштейна, который есть в списке литературы? Вроде бы он излагал там, что тот набор ошибок является оптимальным, и опирался как раз на статистику...
Reported by
mamontov.dp
on 2015-04-01 19:57:43 -
Account Deleted Все кроме этого по списку написал Бирюковой.
Reported by
mamontov.dp
on 2015-04-01 20:18:14 -
Account Deleted Есть куда более плохая ситуация. На сравнении ответов в 14+ лексем программа съедает всю память в recurcive_backtracking. Как оказалось - такие ответы весьма реалистичны.
Reported by
mamontov.dp
on 2015-04-02 19:05:09 -
reporter Брр. С чего бы рекурсии жрать столько памяти, это ж не в ширь, а в глубь. а) надо прежде всего пофиксить проблему с пределами, которую я вчера нашел. Там количество генерируемых пар и соответственно объем бэктрекинга может резко упасть в этом случае - и все будет нормально б) если рекурсия жрет много памяти - туда скорее всего криво передаются параметры, где-то происходит копирование массива или чего-то подобного в рекурсивном вызове; обычно нахождение такого параметра и передача ссылки вместо копии проблему решает (в PHP можно сделать объект - как бы там не массивы целых чисел копировались при передаче...). Еще если там new где-то внутри рекурсивной функции - надо delete сделать когда не нужно.
Reported by
oasychev
on 2015-04-02 19:21:39 -
Account Deleted Как я понял, там просто очень много пар создается. Надо бы еще выцепить саму ситуацию, в общей картине её не видно. Вообще, этому коду реально нужен рефакторинг, все эти bloking, unlock и прочее неподдерживаемы толком.
Reported by
mamontov.dp
on 2015-04-02 20:03:10 -
Account Deleted Примеры мест где тормозит: Ответ студента Правильный ответ float projection[4] [4]; float projection[4]; p=p+p2-p1; p += p2-p1; Видно, что здесь много совпадений. Нет ли возможности как-то оптимизировать перебор?
Reported by
mamontov.dp
on 2015-04-02 20:09:49 -
Account Deleted Еще: int n=(*ptr)*2; и int n = 2 * *ptr;
Reported by
mamontov.dp
on 2015-04-02 20:30:58 -
reporter Ну вот во-первых - очень много пар может создаваться еще и из-за того странного бага, где очень много ошибок дозволяется в слове. Во-вторых, обычно рекурсия жрет время, а не память. Если память - там где-то кривость в управлении ею, которую надо отследить... Перебор там хитрый, там нужно подобрать набор пар так, чтобы не использовать ни одну лексему дважды, по двум критериям оптимизации а) использовать максимальное количество лексем б) при равном количестве лексем минимизировать суммарное редакционное расстояние Как это сделать оптимальнее чем перебор с отсечениями - вопрос интересный...
Reported by
oasychev
on 2015-04-02 20:34:06 -
Account Deleted Вы забываете, что GC в PHP очень примитивный и вообще старается не собирать мусор почти никогда. Сам язык не был на это рассчитан. Но дело не в этом - я напихал в некоторые места gc_collect_cycles, что должно было заставить его работать быстрее. Однако, как я понимаю, что он находит очень много лишних пар, потому что ошибка происходит либо до, либо во время обхода массива status. Я завтра посмотрю, можно ли как-то обойти через верное использование lexicalerrorthreshold, но на высоких его значениях проблема останется.
Reported by
mamontov.dp
on 2015-04-02 20:40:00 -
reporter Пары составляются в look_for_matches, если порог взять 100% то пар будет вообще жуткое количество, порог должен сильно влиять на число пар...
Reported by
oasychev
on 2015-04-02 20:46:46 -
Account Deleted Сейчас порог как-то странно считается - в block_formal_langs_token_base::look_for_matches считается $result = core_text::strlen($this->value) - core_text::strlen($this->value) * $threshold; ($threshold - наш родной $lexicalerrorthreshold). Далее с округленной версией этого сравнивается расстояние с другой лексемой в операциях и расстояние вернется верно только в этом случае. Такое ощущение что тут две ошибки: 1) Если лексема не из правильного ответа, то операции будут сравниваться с порогом из сравниваемого ответа, что недопустимо 2) Должно хватить просто ceil(core_text::strlen($this->value) * $threshold)
Reported by
mamontov.dp
on 2015-04-02 20:52:11 -
reporter Ссылку на код киньте, хочу глянуть чот с этим result делается... А то формула прямо странная - получается что порог интерпретируется прямо наоброт что-ли - чем ниже порог тем больше ошибок позволяется??
Reported by
oasychev
on 2015-04-02 21:02:57 -
Account Deleted Как я понимаю, да. https://code.google.com/r/mamontovdp-mariabirvg-formallangs/source/browse/blocks/formal_langs/tokens_base.php см. с. 709-715
Reported by
mamontov.dp
on 2015-04-02 21:14:01 -
Account Deleted result это количество символов на которое могут отличаться 2 лексемы. соответственно, если порог 0,3, то для 10 символов - отличие составляет 7 символов для порога 0,7, только 3 символа. Расчет корректен
Reported by
mariabirvg
on 2015-04-03 11:53:10 -
Account Deleted int y=hypercube[4][5][9][14]; и int hypercube[5][6][8][10][15]; hypercube[0][0][0][0][0]= 0; Ещё вариант, на котором много проблем.
Reported by
mamontov.dp
on 2015-04-05 19:37:12 -
Account Deleted не удивительно что в нем много проблем. Наборов создается много из-за скобок одинаковых
Reported by
mariabirvg
on 2015-04-07 07:59:02 -
Account Deleted не удивительно что в нем много проблем. Наборов создается много из-за скобок одинаковых
Reported by
mariabirvg
on 2015-04-07 07:59:04 -
Account Deactivated Дописал разбор дерева для языков C\C++.
Reported by
vad23klev
on 2015-04-16 14:38:57 -
Account Deleted Добился более-менее стабильной работы модуля в этом моменте. Задеплоил текущий код на edu.vstu.org, с учетом enum_analyzer. Однако при слиянии от Вадима прилетело две ветки. Я сливался с 2313, в которой вроде последние коммиты. Помимо этого, при слиянии оказалось, что qtype_correctwriting_string_pair::clone дублируется, перенес код из второй в первую. Залил - вроде бы работает. Задачу по добавлении поля для перечислений ставлю отдельно.
Reported by
mamontov.dp
on 2015-05-01 11:42:50 -
Account Deleted 1) При слиянии и развертывании, а также создании вопросов возникла проблема - в форме нет настройки для включения анализатора перечислений. Вадим, в вашем репозитории она есть (в смысле она перезатерлась в моем, а у вас нормально), или реально что-то не так? Да и строк локализации недостает для формы, пока сделал свои. 2) По умолчанию также в объекте question включены enum_analyzer и syntax_analyzer, предлагаю выключить оба (на всякий случай). 3) Также, если этого нигде нет - мне изменения лучше вытолкнуть их в https://code.google.com/r/mamontovdp-mariabirvg-correctwriting2-enumsupport/source/browse (так как там изменения для него координируются). Или в какой-то другой лучше выталкивать? 4) Ещё заметил, что is_lang_compatible никак не проверяется при валидации формы - думаю, что надо тоже проверять. Думаю, надо проверять. Пока создал тестовые вопросы в Hinting question types, можно попробовать и протестировать их. Все вопросы названы следующим образом: Question of XXX analyzer (setting test)
Reported by
mamontov.dp
on 2015-05-08 20:47:32 -
Account Deleted Что сейчас сделано плохо со стороны Вадима: 1) Переименовать qtype_correctwriting_proccesedstring в qtype_correctwriting_processed_string (серьезно) 2) Привести код строки к исправленному (см. приложение) + убрать лишние геттеры и сеттеры из магических методов. Текущий код в твоем репозитории рушит систему геттеров и сеттеров от родительского кода. 3) Исправить warning на главном сервере. Необходимо исправить в течение пары дней. Также мне очень не нравится то, что много патчей не моего кода находятся у меня в локальном репозитории. Предлагаю создать репозиторий для подготовки к релизу.
Reported by
mamontov.dp
on 2015-05-13 18:56:06<hr> * Attachment: processed_string.php
-
Account Deactivated Первые два поправил, занят warning'ом.
Reported by
vad23klev
on 2015-05-15 11:34:38 -
Account Deactivated Варнинг закрыт, теперь не предлагает подсказку, но все равно пишет что ответ почти правильный. Не знаю с чем это связанно.
Reported by
vad23klev
on 2015-05-20 22:17:10 -
Account Deleted А сами перечисления генерируются? Кроме этого - откуда надо вытянуть код?
Reported by
mamontov.dp
on 2015-05-21 04:24:42 -
Account Deactivated Да, генерируются. Сейчас вытолкну в https://code.google.com/r/vad23klev-clone-to-support-enumerations/source/browse
Reported by
vad23klev
on 2015-05-21 09:36:29 -
Account Deactivated Вытолкнул. Еще заметил что в слитой версии, нехватает моей настройки для количества порядков. Она позволяет настроить производительность. Ее стоит вернуть.
Reported by
vad23klev
on 2015-05-21 10:01:49 -
Account Deleted Кинь мне ссылку на файл репозитория, где она находится, чтобы я быстро слил.
Reported by
mamontov.dp
on 2015-05-21 10:05:11 -
Account Deactivated https://code.google.com/r/vad23klev-clone-to-support-enumerations/source/browse/question/type/correctwriting/settings.php
Reported by
vad23klev
on 2015-05-21 10:10:43 -
Account Deleted Вадим, а у вас есть тест на такое же объявление структуры, как я создал на edu.vstu.org? Если нет, то создайте и проверьте, особенно enum_catcher. У меня почему-то не переставляются лексемы, я отладил и пришел к тому, что это потому что enum_catcher в момент оценки не возвращает перечисления.
Reported by
mamontov.dp
on 2015-05-25 18:15:23 -
Account Deleted Снимаю вопрос, какая-то совершенно сумасшедшая ошибка в парсере возникла.
Reported by
mamontov.dp
on 2015-05-25 18:24:54 -
Account Deleted Нашел в чем было дело. Исправлено в mamontovdp-mariabirvg-formallangs. В ближайшее время залью на главный сервер, но сначала сольюсь с кодом Вадима.
Reported by
mamontov.dp
on 2015-05-25 18:56:58 -
Account Deleted Перезалил, исправил все проблемы. Что осталось с моей стороны: 1) Сейчас валидация зависимостей анализаторов и их зависимостей от языков захардкожена. Надо поправить, сделать как полагается. 2) ??? (Есть ли еще какие-то проблемы, которые должен я сделать и протестить, кроме 1?)
Reported by
mamontov.dp
on 2015-05-25 19:29:39 -
Account Deleted Как, вариант, можно рискнуть и заняться https://code.google.com/p/oasychev-moodle-plugins/issues/detail?id=333&colspec=ID%20Type%20Status%20Priority%20Component%20Milestone%20Owner%20Summary . Например добавить в глобальный конфиг параметр, который будет менять поле answer на textarea.
Reported by
mamontov.dp
on 2015-05-25 19:36:31 -
Account Deleted UPD. Переделал валидацию формы. Теперь работает, как полагается.
Reported by
mamontov.dp
on 2015-05-25 20:24:19 -
reporter 1) enum+sequence struct MyNiceStructure { long Padding;int char SmallPart; FirstField; } DefaultValue; очень странные ошибки name of long integral field is missing; there is extra ""FirstField"". хотя там только переставлено 2) lexical+enum+sequence struct MyNiceStructure { long Padding; char SmallPart;intFirstField; } DefaultValue; ошибки выводятся верно, но картинка крайне глючная
Reported by
oasychev
on 2015-05-26 12:52:57 -
reporter В пункте 2) имеется ввиду большая картинка. Картинка при хинтах в порядке, как и все хинты.
Reported by
oasychev
on 2015-05-26 15:23:44 -
Account Deleted 1) Лишние ошибки пофиксил, но дополнительный вариант, который должен быть сгенерирован Вадимом, не генерируется (от enum_analyzer должно придти две строки), а приходит одна 2) Картинка строится неверно, потому что Вадим не заполняет поле enumcorrecttocorrect в string_pair.
Reported by
mamontov.dp
on 2015-05-27 09:38:43 -
Account Deactivated Исправил проблему с поле на edu.vstu.org . Вытолкнул в клон https://code.google.com/r/vad23klev-clone-to-support-enumerations
Reported by
vad23klev
on 2015-05-29 13:13:38 -
Account Deleted Вы проверили, что они генерируются правильно? В соотношениях должна быть ключом позиция лексемы в конечной строке к позиции лексемы в исходной. В репозитории не вижу исправления дополнительного варианта. Он будет?
Reported by
mamontov.dp
on 2015-05-29 13:17:38 -
Account Deactivated Вторая проблема исправлена.
Reported by
vad23klev
on 2015-05-29 15:53:05 -
Account Deleted Подтверждаю, на edu.vstu.org проблема не воспроизводится. Жду исправления первой.
Reported by
mamontov.dp
on 2015-05-29 18:45:55 -
Account Deactivated Проверь я и первую поправил.
Reported by
vad23klev
on 2015-05-29 19:12:20 -
Account Deleted Очень хорошо, с первой тоже проблем нет. В ближайшее время просто солью два репозитория. На edu.vstu.org все хорошо.
Reported by
mamontov.dp
on 2015-05-29 19:54:59 -
Account Deleted Слил репозитории.
Reported by
mamontov.dp
on 2015-05-31 11:21:17 -
reporter enum+lexical+sequence analyzer struct MyNiceStructure { long Padding; char int ;SmallPart; First Field } DefaultValue; Ошибка 2) - integral type name misplaced; Картинкой подсказка о положении int показывается правильно, а текстовый вариант не учитывает перестановку по enum analyzer и показывает его первым полем: The integral type name could be placed between opening brace of structure and name of integral field ИХМО надо текстовый хинт пофиксить.
Reported by
oasychev
on 2015-06-07 22:24:55 -
Account Deleted Каким-то образом в клоне Вадима в строке 645 находится ошибка, см. https://code.google.com/r/vad23klev-clone-to-support-enumerations/source/browse/question/type/correctwriting/enum_analyzer.php
Reported by
mamontov.dp
on 2015-06-08 05:05:34 -
Account Deleted Исправил генерацию хинта, код развернут на edu.vstu.org.
Reported by
mamontov.dp
on 2015-06-08 05:30:03 -
Account Deactivated Исправил опечатку в клоне.
Reported by
vad23klev
on 2015-06-08 08:40:00 -
Account Deleted Ок, вижу. Вопросов нет, в моем клоне исправление идентично.
Reported by
mamontov.dp
on 2015-06-08 08:43:12 -
reporter Вадим - в Question of enum+sequence analyzer (setting test) logical очень странные результаты бывают. В тексте вопроса: t == a && b || c && k != true; Мой ответ: c && k != true || b && t == a; Он предлагает "с &&" обменять местами чтобы стояли правее k != true - зачем?!! Самое интересное, что именно в этом && я порядок не менял....
Reported by
oasychev
on 2015-06-09 19:47:24 -
Account Deleted Вадим, проверьте, что строки перестановок генерируются верно. Если что - можно еще дампнуть результаты внутри perform_analysis_with_analyzer, см. https://code.google.com/r/mamontovdp-correctwriting-release2015/source/browse/question/type/correctwriting/question.php, с. 468, 469.
Reported by
mamontov.dp
on 2015-06-09 19:54:53 -
Account Deleted Здесь могут быть либо два эквивалентных набора ошибок (что странно), либо требуемая строка не генерируется (что более вероятно).
Reported by
mamontov.dp
on 2015-06-09 19:55:49 -
reporter А вот тут надо обоим посмотреть Question of enum+sequence analyzer (setting test) arithmetic operations верный ответ - float k = ( a * b + c / d / e - f - g ) % t % m ; Мой ответ float k = ( a * b + e / d / c - f - g ) % t % m ; На картинке перенос "c" и "е" к оригинальному тексту, а ошибки There are mistakes in your response: 1) variable c misplaced; 2) variable d misplaced. При этом на подсказке к variable d misplaced в виде картинки показывается перемещение переменное "е". И текствые хинты к ней неправильные тоже. P.S. Вадим - включите все хинты в ваших вопросах, выставив за них штраф меньше 1
Reported by
oasychev
on 2015-06-09 20:42:48 -
Account Deactivated По поводу, логических операций, у операции или выше приоритет, по этому ваша перестановка содержит ошибку.
Reported by
vad23klev
on 2015-06-10 07:12:55 -
Account Deactivated по поводу Question of enum+sequence analyzer (setting test) arithmetic operations. У меня на локальном сервере, анализатор переставляет элементы.
Reported by
vad23klev
on 2015-06-10 13:45:30 -
Account Deleted Ок, по поводу второго - посмотрю у себя, скорее всего неверно почему-то определяется переменная.
Reported by
mamontov.dp
on 2015-06-10 13:46:51 -
Account Deactivated Добавлены вопросы с лексером.
Reported by
vad23klev
on 2015-06-10 14:12:39 -
reporter Насколько я помню, логическая И (лог. умнож-е) всегда имела приоритет над логическим ИЛИ (логич. сложение)
Reported by
oasychev
on 2015-06-10 14:19:38 -
Account Deactivated Sequence генерирует такое дерево. У нас два пути либо исправление дерева, либо семантический анализ для перечислений.
Reported by
vad23klev
on 2015-06-10 14:52:22<hr> * Attachment: digraph.dot.png<br>
-
Account Deleted Такое дерево неверно, поправлю в ближайшее время.
Reported by
mamontov.dp
on 2015-06-10 17:18:20 -
Account Deleted Исправил дерево. После этого он показывает в первом случае, что correct, но в enum_analyzer есть возможно проблема: Notice: Undefined offset: 2 in /var/www/server1biz/data/www/edu.vstu.org/question/type/correctwriting/enum_analyzer.php on line 240 . Вадим, если не затруднит - посмотри в чем дело, я завтра вторым займусь.
Reported by
mamontov.dp
on 2015-06-10 20:34:05 -
Account Deactivated Исправил.
Reported by
vad23klev
on 2015-06-11 08:42:32 -
Account Deleted Оказалось, что на edu.vstu.org старая версия enum_analyzer.php. Перезалил. После перезаливки вторая ошибка исчезла. Протестировал на предыдущих - проблем нет. Считаю проблемы исправленными.
Reported by
mamontov.dp
on 2015-06-11 15:46:42 -
reporter enum+sequence analyzer Правильный ответ: int t, *h , k[] ; Мой вариант: int t k[] , *h , ; Она почему-то предлагает мне перенести k[] хотя гораздо короче перенести t или вообще запятую...
Reported by
oasychev
on 2015-06-18 13:21:54 -
reporter enum+sequence analyzer Правильный ответ: enum MyNiceEnum = { FirstField, Padding = 1, SmallPart }; Мой вариант: enum MyNiceEnum = { Padding FirstField = 1, , SmallPart }; По мне достаточно перенести только FirstField , но вопрос почему-то предлагает пренести Padding и запятую.
Reported by
oasychev
on 2015-06-18 13:29:16 -
reporter Вадим - вот здесь точно ваша ошибка enum+sequence analyzer Правильный ответ: int t = a = b = c = k = 5 ; Мой вариант: int t = a = b =5 = k = c ; Correct Варианты неэквивалентны. ПОСЛЕДНИЙ элемент в такой цепочке переставлять НЕЛЬЗЯ. Во-первых, там может быть не l-value; во-вторых промежуточным переменным могут другие значения присвоиться...
Reported by
oasychev
on 2015-06-18 13:35:29 -
reporter * при реакции на эти баги прошу ссылаться на номер коммента с оригинальным сообщением о баге
Reported by
oasychev
on 2015-06-18 13:41:32 -
reporter Также нам надо разобраться с lexical error threshold - во всей документации он задавал максимально возможный процент ошибок; а у Маши в коде - с точностью до наоборот. У нас там приведена в чувство эта разница?
Reported by
oasychev
on 2015-06-18 17:19:27 -
Account Deleted Насколько помню, да.
Reported by
mamontov.dp
on 2015-06-19 07:05:27 -
Account Deactivated По поводу вопроса с перечислением. При таком ответе enum MyNiceEnum = { Padding FirstField = 1, , SmallPart }; Эталонный ответ enum MyNiceEnum = { FirstField, Padding = 1, SmallPart }; дает наибольшую LCS по этому такие преложения
Reported by
vad23klev
on 2015-06-19 08:56:58 -
Account Deactivated enum+sequence analyzer Правильный ответ: int t = a = b = c = k = 5 ; Мой вариант: int t = a = b =5 = k = c ; Correct Файл на сервере обновлен. Исправлено.
Reported by
vad23klev
on 2015-06-19 09:48:35 -
Account Deleted Не понимаю, что в 85. Я правильно понимаю, что LCS вычисляется неверно? Т.е. должно быть оно другим?
Reported by
mamontov.dp
on 2015-06-19 11:21:29 -
Account Deactivated Нет, вычисляется все верно.
Reported by
vad23klev
on 2015-06-19 11:27:25 -
reporter В 85 можете посчитать LCS между enum MyNiceEnum = { Padding FirstField = 1, , SmallPart }; и двумя вариантами: enum MyNiceEnum = { FirstField, Padding = 1, SmallPart }; enum MyNiceEnum = { Padding = 1, FirstField, SmallPart }; ? Они действительно одинаковые или что там? Я сейчас со студентами, сам могу посчитать позже...
Reported by
oasychev
on 2015-06-19 11:28:03 -
Account Deactivated в первом будет больше на 1 символ.
Reported by
vad23klev
on 2015-06-19 11:30:04 -
reporter У меня так не получается. Вадим, опубликуйте уже тогда сами LCS в обоих случаях...
Reported by
oasychev
on 2015-06-19 17:57:24 -
Account Deleted У меня в голове пока рисуется картина наоборот и LCS разные:
Reported by
mamontov.dp
on 2015-06-19 19:50:19<hr> * Attachment: LCS.png<br>
-
Account Deactivated Согласен с Дмитрием.
Reported by
vad23klev
on 2015-06-20 16:07:51 -
Account Deleted Ошибка в п. 79 происходила из-за ошибки в парсере. Хотя я не считаю, что подобное объявление вообще правильно, т.к. мы не можем зарезервировать блок неопределенного размера на стеке, но я разрешил его в языке. После этого проблема исчезла. В ближайшее время разверну исправления.
Reported by
mamontov.dp
on 2015-06-20 17:56:32 -
reporter А там парсер выдавал что это неправильно? Или просто молча строил неправильное дерево? Выдать ошибку парсера учителю - нормальный вариант... Так пустые скобки допустимы только при инициализации конечно, либо в параметрах функции. Вадим, усовершенствуйте вопрос сделав массив с цифрой в скобках и массив с пустыми скобками и инициализацией.
Reported by
oasychev
on 2015-06-20 18:01:34 -
Account Deleted Ошибка в п. 80 происходит, потому что сам вопрос сформулирован неправильно. Не должно быть равенства после имени перечисления.
Reported by
mamontov.dp
on 2015-06-20 18:08:31 -
Account Deleted Ошибка в п. 81 не воспроизводится, судя по всему, обновление сработало хорошо.
Reported by
mamontov.dp
on 2015-06-20 18:12:47 -
Account Deactivated вопросы дополнил.
Reported by
vad23klev
on 2015-06-20 18:19:21 -
Account Deleted Сделал простое сообщение об ошибке при синтаксическом разборе в форме.
Reported by
mamontov.dp
on 2015-06-20 18:57:33 -
reporter Reported by
oasychev
on 2015-07-03 20:23:13 - Status changed:Done
- Log in to comment
Reported by
oasychev
on 2015-03-20 23:21:45