Тип вопроса Preg
Preg — это тип вопроса, который использует регулярные выражения (regexes) для проверки ответов студентов (хотя вы можете использовать его и без regexes для подсказки). Регулярные выражения предоставляют широкие возможности и гибкость как для учителей при составлении вопросов, так и для студентов при написании ответов на них. Более подробные сведения о синтаксисе regex можно найти по адресу http://www.nusphere.com/kb/phpmanual/reference.pcre.pattern.syntax.htm. Существует множество хороших руководств по regex; они не будут повторяться здесь.
Способы использования вопросов Preg и этой документации
Я ничего не знаю о регулярных выражениях, но мне кажется полезной подсказка следующего слова (символа)
Затем вы можете использовать тип вопроса Preg как Short-answer, но с расширенной подсказкой, без к аких-либо знаний о регулярных выражениях. Для этого вам нужно выбрать:
- Обозначение => Moodle shortanswer
- Механизм => Конечный автомат
- Точное соответствие => Да
После этого вы можете просто скопировать ответы из своих вопросов short-answer. Возможно, вам захочется прочитать раздел о подсказках, чтобы лучше понять настройки подсказок. Ознакомьтесь с примерами типа вопроса Preg для нескольких иллюстрированных пошаговых примеров использования на уровне K-12 и университета.
У меня есть смутное представление о регулярных выражениях, но я хочу использовать сопоставление с образцом
Если вам сложно писать регулярные выражения, но вы хотите использовать их силу в качестве шаблонов, инструменты для составления вопросов могут вам помочь создать свои вопросы. Инструменты показывают значение вашего regex разными способами: внутренняя структура выражения (синтаксическое дерево), визуальный путь сопоставления (объясняющий граф) и текстовое описание. Они также позволяют вам протестировать ваш regex на нескольких строках и посмотреть, работает ли он должным образом. Экспериментируйте и играйте со своими regex, смотрите соответствующие изменения в инструментах для составления вопросов, и в конце концов вы получите нужное вам regex.
Прочтите раздел об инструментах для составления вопросов, затем (возможно, после некоторого экспериментирования с инструментами самостоятельно) прочтите раздел о понимании регулярных выр ажений (это необязательно, но может быть интересно и полезно). Вам также следует прочитать раздел о работе вопросов, чтобы лучше понять различные настройки и то, как они влияют на ваши вопросы.
Я могу приложить некоторые усилия, чтобы изучить регулярные выражения и уметь делать всё, что они позволяют
Хорошо, вы не знаете regex, но хотите понять их и легко создавать сложные выражения. Тогда вместо того, чтобы тупо пробовать, вам лучше потратить некоторое время и усилия на чтение и понимание этого раздела. Затем немного прочтите об инструментах для составления вопросов и используйте их для экспериментов по созданию regex. С помощью этих инструментов вы сможете увидеть, действительно ли вы хорошо их понимаете и что они ведут себя так, как ожидалось. Синтаксическое дерево может быть особенно полезно, когда вы пытаетесь получить правильное значение приоритета и арности. После того как вы хорошо поймёте принципы работы regex, прочтите разделы о работе вопросов и справочнике по регулярным выражениям (чтобы знать свои возможности; вам не нужно понимать или запоминать их все — просто периодически заглядывайте туда, чтобы узнать что-то новое). Теперь вы должны быть в состоянии писать regex без особого использования инструментов для составления вопросов, за исключением инструмента тестирования для проверки ваших выражений.
Я достаточно хорошо знаю регулярные выражения, чтобы писать их самостоятельно без дополнительных инструкций
Вам следует прочитать о работе вопросов, чтобы понять различные настройки и поведение вопросов при них. Вам также может быть интересно тестирование regex в разделе инструменты для составления вопросов. Наконец, справочник по регулярным выражениям может быть вам полезен.
Поддерживаемые ветки Moodle и переводы
Хотя этот плагин в настоящее время (апрель 2018 года) указан как доступный для веток Moodle 2.3–3.1, его страница статистики показывает, что половина из более чем 50 сайтов, на которых установлен этот плагин, используют ветки Moodle от 3.2 до 3.4. Эти официально не поддерживаемые ветки могут иметь работающий плагин regex, но у них не будут доступны инструменты для составления вопросов. Разработчики плагина работают над обновлением этого плагина и исправлением проблемы с JavaScript, которая вызывает эту проблему. Если вы включите уровень отладки DEVELOPER, вы можете увидеть некоторые предупреждения, которые не представляют опасности для вашего сервера. Они будут исправлены в будущих версиях:
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP
Как и все плагины Moodle, плагин preg изначально доступен на английском языке. В настоящее время доступны русский и мексиканско-испанский переводы, но вы можете сделать другие переводы в AMOS.
Установка
- Скачайте/установите из базы данных плагинов Moodle.
- Убедитесь, что установлены все зависимости плагина.
- Если вы хотите использовать инструменты для составления вопросов, вам потребуется установить Graphviz Graph Visualization Software и задать 'путь к dot'.
- В Windows путь к dot, скорее всего, будет C:\Program Files (x86)\Graphviz2.38\bin\dot.exe
- Чтобы найти путь к doc в Mac, откройте окно терминала и введите:
which dot
-
- Затем введите этот путь (например, /opt/local/bin/dot) в 'Администрирование сайта / ▶︎ Сервер / ▶︎ Системные пути ' Путь к dot
.
Как работают вопросы Preg
По сути, этот тип вопроса является расширенной версией типа вопроса Short-Answer. Он расширяет свои возможности несколькими различными способами (вы можете использовать их почти в любой комбинации):
- Сопоставление с образцом — используя регулярные выражения, вы можете создать мощные шаблоны, описывающие возможные ответы студентов.
- Подсказки — когда студенты застряли при выполнении задания, вы можете разрешить им запрашивать следующее правильное слово (лексема) или символ (с возможным штрафом).
Настройки, влияющие на работу вопроса
Устанавливает чувствительность к регистру для всех регулярных выражений, которые вы указываете в качестве ответов. Обратите внимание, что вы также можете установить чувствительность к регистру для частей regex.
Точное соответствие влияет на вопрос следующим образом:
Да : весь ответ студента, от первой до последней буквы, должен соответствовать вашему регулярному выражению.
Нет : ответ студента может просто содержать часть, которая соответствует вашему regex: например, если правильный ответ «whole», то «the whole enchilada», «the whole shebag», the whole nine yards, «the whole world» и «the whole truth» будут правильными ответами студента.
Вы всё ещё можете установить некоторые из своих regex так, чтобы они соответствовали всему ответу студента, используя [специальный синтаксис regex](#