GeneratorZadach Code
Brought to you by:
antonfinogenov
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <TITLE>Генератор задач</TITLE> <head> <META http-equiv=Content-Type content="text/html; charset=windows-1251"> <STYLE> tt { color: Brown; } </STYLE> </head> <BODY> <h3 id="begin">Что это такое:</h3> Набор скриптов, в основном на <a href="http://www.gnu.org/software/gawk/gawk.html">gawk</a>, и несколько файлов на <a href="http://tug.org"> LaTeX</a> с шаблонами задач. <p> Всё это позволяет генерировать пригодные к печати (разрезанию ножницами и раздаче студентам) комплекты заданий по высшей математике (<a href="http://generatorzadach.ru/sample.png">Образец</a>). Числа в задачах генерируются автоматически и почти никогда не повторяются (т.е. списывать бесполезно) <p> Тут около 300 задач, что почти покрывает потребности не математических факультетов не продвинутых вузов. Но и преподавателям математических факультетов они тоже будут полезны. (<a href="http://generatorzadach.ru/sample.pdf">тут образец всех задач в pdf</a>, <a href="http://generatorzadach.ru/sample.html">а тут в HTML</a>). <h3 id=shinst>Краткая инструкция</h3> Генератором можно пользоваться через телеграммного бота (ничего никуда не устанавливая). <a href=#bot>Тут написано как это делать</a>. <p> А можно обычным способом, с компьютера.<br> Предположим, вам уже кто-то дал флешку с Генератором. Просто воткните её в любой компьютер с Windows, ничего никуда устанавливать не надо. <br> Интерфейс представляет из себя дерево папок (начинающееся с <tt>generator\ru</tt>), в которых расположены папки с названиями задач. <br> Внутри есть файл <tt>remake25</tt> (или <tt>remake25.bat</tt>), "нажав" на который, вы получите 25 вариантов заданий в различных форматах. <br> Посмотреть на них проще всего, нажав на файл <tt>view</tt> (или <tt>view.bat</tt>). <br> Можно приготовить и другое количество вариантов, если переименовать <tt>remake25.bat</tt> в <tt>remake30.bat</tt>, например (число в названии это и есть количество вариантов). <br> Образцы всех задач можно найти в <tt>ru\Образцы\ОбразецВсехЗадач</tt> <h2>Оглавление</h2> <a href=#inst>Установка</a><br> <a href=#isp>Использование</a><br> <a href=#add>Обновление и добавление новых задач</a><br> <a href=#transl>Изменение формулировок и перевод на другие языки</a><br> <a href=#bot>Телеграммный бот</a><br> <a href=#dop>Дополнительные возможности</a><br> <a href=#otv>Ответы в картинках</a><br> <a href=#metod>Генератор методичек</a><br> <a href=#moodle>Тесты для Moodle в формате GIFT</a><br> <a href=#unix>Запуск под юниксами, красивые формулы в HTML, архивирование флешки и прочие мелочи</a><br> <a href=#word>Конвертирование в Ворд</a><br> <a href=#sv>Как связаться с разработчиком</a><br> <h3 id=inst>Инструкция по установке</h3> Проще всего найти у своих коллег уже установленный на флешку генератор и просто скопировать все файлы на другую флешку. Всё это помещается в двух папках и занимает меньше двух сотен мегабайт. <br> Если это невозможно, вы можете скачать всё необходимое и установить Генератор самостоятельно. <h4>Что именно вы будете устанавливать</h4> (Если не интересно, то можно сразу перейти к <a href=#ustanovka>установке</a>) <ul> <li> Специальный интерпретатор некоторого простого интерпретируемого языка <a href="http://www.gnu.org/software/gawk/gawk.html">gawk</a>, точнее, реализацию из <a href="http://unxutils.sourceforge.net">этого комплекта</a>. </li> <li> Большое количество маленьких файлов с программами, которые генерируют числа для задачек. </li> <li> <a href="http://hutchinson.belmont.ma.us/tth/">T<sub><font size="-1">T</font></sub>H</a>. Это такая штучка, которая будет превращать числа для задачек в файлы в HTML (на которые вы сможете смотреть глазами и, быть может, даже напечатать). Понадобится только <tt>tth.exe</tt>, который взят тут <a href="http://hutchinson.belmont.ma.us/tth/tth-noncom/tth_exe.zip">tth_exe.zip</a>. </li> <li> Для превращения чисел в красивонапечатанные на принтере страницы будет нужен <a href="http://tug.org"> TeX</a>, но об этом <a href=#tex>чуть позже</a>. </li> <li> Если вы планируете делать <a href="#photo">фотокопии студенческих работ и выкладывать их в инет, то понадобится nconvert и zbar</a> (Если не планируете, то и не понадобятся). </li> </ul> Учтите, что ваша шибко умная Виндовс может показывать Вам gawk вместо gawk.exe, tth вместо tth.exe и т.п. Не пугайтесь. <h4 id=ustanovka>Установка</h4> Устанавливать можно в любую папку на флешку. <a href="#fleshki">(Про флешки).</a> Давайте для единообразия называть эту папку <font size=+3>generator</font>. <p> Итак, первый способ: <ol> <li> Создайте на флешке папку с именем <tt>generator</tt> </li> <li> Скачайте в нее файл <a href="http://generatorzadach.ru/upd/getgzd.bat">getgzd.bat</a> (или его же в <a href="http://generatorzadach.ru/upd/get-gzd.zip">zip упаковке</a>) </li> <li> Нажмите на файл правой кнопкой мыши, нажмите на свойство и объясните вашей Виндовз, что эти файлы больше не скачаны из интернета и их можно запускать (это у неё называется разблокировать). </li> <li> Ваша Виндовз попытается изменить расширение, запретить запуск, выдать кучу табличек с угрозами и сделать ещё много всяких непредсказуемых действий. Если не сможете с ней справиться, то <a href="#2spsob">переходите ко второму способу установки</a>. </li> <li> Запустите из папки <tt>generator</tt> файл <tt>getgzd.bat</tt>. </li> <li> Ждите. Он сам всё скачает и установит. </li> <li> ``Интерфейс'' появится в папке <tt>generator\ru</tt>. </li> </ol> <p> Если возникнут проблемы с автоматическим скачиванием, то эти же самые действия можно проделать вторым способом: <ol> <li id="2spsob"> Скачать <a href="http://generatorzadach.ru/upd/gzd-last.zip">gzd-last.zip</a> и <a href="http://generatorzadach.ru/upd/gzd-upd.zip">gzd-upd.zip</a> (пол мегабайта примерно), </li> <li> Нажать на файлы правой кнопкой и объяснить вашей Виндовс, что эти файлы больше не скачаны из интернета и они безопасны. </li> <li> Распаковать (оба) в папку <tt>generator</tt>. </li> <li> Убедиться, что в папке <tt>generator</tt> просто много файлов и нет никаких подпапок (некоторые архиваторы слишком много себе позволяют), </li> <li> И запустить <tt>ru-setup.bat</tt> из папки <tt>generator</tt> (он генерирует интерфейс, который появится в папке <tt>generator\ru</tt>). </li> </ol> <p> Антивирусы не любят исполняемые файлы, скаченные из интернета, да еще и запускаемые с флешки. Так что, возможно, вам придется свой поуговаривать. <p> И даже без установленного TeX генератором можно немного попользоваться <a href=#shinst>(краткую инструкцию уже прочитали?)</a> но задачи будут делаться только в HTML. <h3 id=tex>Установка TeX</h3> TeX - это очень-очень большая, ужасно-ужасно сложная и трудно-труднонастраиваемая издательская система, придуманная самим <a href="http://www-cs-faculty.stanford.edu/~uno/">Дональдом Кнутом</a>. (Вам уже страшно?) <p> Если TeX нужен вам только для генератора, то проще всего <ol> <li>Скачать <a href="http://yadi.sk/d/Qb7aYIymFHPwS">этот файл</a> (примерно 15М )</li> <li> Нажать на файл правой кнопкой мыши, нажать на свойство и объясните вашей Виндовз, что этот файл больше не скачан из интернета и его можно запускать (это у неё называется разблокировать). </li> <li>Распаковать на флешку в папку <tt>tl7m</tt> (займет примерно 35М) </li> <li>После распаковки следует убедиться, что на флешке есть папки <tt>Буква:\tl7m\texmf</tt> и <tt>Буква:\tl7m\texmf-var</tt> и еще пара папок. </li> <li>И это всё. </li> </ol> <p> Теперь вы счастливый обладатель урезанной версии <a href="ftp://tug.org/historic/systems/texlive/">TexLive7 2002 года выпуска</a>, и теперь ваш генератор будет делать задачки в форматах PS, PDF, DVI и даже JPG и PNG. И даже немного <a href=#word>конвертировать в Ворд</a>. <p> Кстати, в папке <tt>generator\files</tt> у вас есть файлик <tt>Перетащи-TeX-на-меня.bat</tt>. Им можно компилировать произвольные tex-файлы. <p> (<a href=#avast>Если ваш антивирус называется аваст, то возможны сложности...</a>) <p> Этого урезанного ТеХа достаточно если вам достаточно русского и английского. Для других языков вам придется установить <a href=#textex>miktex</a>. <h3>Установка на стационарный компьютер</h3> Генератор можно устанавливать не на флешку а на жесткий диск. <p> <b>Но:</b> TeX (т.е папку <tt>tl7m</tt>) следует помещать либо в корневую папку любого диска, либо в папку <tt>generator</tt>, либо в папку соседнюю с папкой <tt>generator</tt>. Пробелы в названии всех вложенных папок в которых находится ТеХ не допускаются. <h2 id=isp>Использование</h2> <h4>Если нужно просто наделать задачек</h4> <ul> <li> Перейдите в нужную подпапку в папке <tt>generator\ru</tt> и "нажмите на файл" <tt>remake25.bat</tt>. (Возможно, Ваша Windows вместо <tt>remake25.bat</tt> показывает вам только <tt>remake25</tt>. Тогда нажмите на него). </li> <li> Появится 25 готовых вариантов задач в нескольких форматах (dvi, ps, pdf и html) вместе с ответами. </li> <li> Если нужно 30 вариантов - переименуйте <tt>remake25.bat</tt> в <tt>remake30.bat</tt> (число в имени файла и есть кол-во вариантов) </li> </ul> <h4>Узнать забытый ответ</h4> по номеру варианта можно тут: <tt>generator\ru\ОТВЕТЫ\Ответы по запросу</tt>. Перейдите туда и нажмите <tt>remake</tt>. <a href="#arh">(как хранятся ответы)</a>. <h4>Можно посмотреть образцы всех задач</h4> тут: <tt>generator\ru\Образцы\Образец всех задач</tt>. Обратите внимание на так называемое "внутреннее имя" задачи. Это понадобится в следующем пункте. <h4 id=fileini>Можно сгруппировать несколько задач в одно задание</h4> И даже с именами студентов. <p> <ol> <li> Для этого сделайте один или несколько файлов с расширением <tt>ini</tt> в папке <tt>generator\ru</tt> (сначала можно сделать пустой файл или скопировать <tt>sampl1.ini</tt>) (Если Ваша Виндовс показывает Вам только <tt>sampl1</tt>, то копируйте и переименовывайте его.) </li> <li> Запустите <tt>ОбновитьБилеты.bat</tt>. Появится папка <tt>generator\ru\Билет</tt>, в ней еще несколько папок, и в них "кнопки" <tt>remake.bat</tt> и <tt>edit.bat</tt>. </li> <li> Затем те самые, созданные Вами <tt>файлы.ini</tt>, следует отредактировать под свои нужды. (Для этого достаточно "нажать на файл" <tt>edit.bat</tt>) Там внутри вы найдете небольшую инструкцию. В самом простом случае достаточно сделать файл с одной строчкой: <pre> 10 ZbernuliZ ZpulemetZ ZshtuchkiZ </pre> </li> <li> Затем, как обычно, запустите <tt>remake</tt>. </li> </ol> <h4 id=add>Обновления и добавление новых задач</h4> Предусмотрена возможность быстро устанавливать обновления из инета. Просто перейдите в папку <tt>generator\ru</tt>, нажмите на файл <tt>update.bat</tt>, и новые файлы скачаются и папки обновятся. (Но перед этим рекомендуется всё же сделать резервную копию). <br> В случае проблем с автоматическим скачиванием следует скачать <a href="http://generatorzadach.ru/upd/gzd-upd.zip">gzd-upd.zip</a> через браузер, нажать на файл правой кнопкой, нажать на свойства и объяснить вашей виндовз, что файл больше не скачан из интернета. После этого разархивировать в папку <tt>generator</tt> руками. И затем нажать на <tt>ru-setup.bat</tt>. <p> Новости про генератор обычно публикуются в <a href="http://generatorzadach.blogspot.com/">блоге</a> (заходите туда иногда) и в телеграммном канале <a href="https://telegram.me/generatorzadach">https://telegram.me/generatorzadach</a>. <p> Версию и дату сборки вашего генератора можно посмотреть в файле <tt>generator\ru-ver.txt</tt>. Доступную для закачки версию <a href="http://generatorzadach.ru/upd/ru-ver.txt"> можно посмотреть тут.</a> (или <a href="http://generatorzadach.1gb.ru/upd/ru-ver.txt"> тут</a> ) <p> Если вы придумали новую задачу и алгоритм генерации, то свяжитесь со мной (generatorzadach @ yandex.ru или <a href="http://generatorzadach.blogspot.com/">через блог</a>) и я, скорее всего, достаточно быстро добавлю её в генератор, и вы через несколько дней сможете ей пользоваться. <p> Поскольку скорость генерации не важна, то и алгоритм можно сильно не оптимизировать. <br> Например, алгоритм генерации квадратного уравнения мог бы быть таким: <pre> Начало цикла: x1 x2 - целые случайные числа в диапазоне от -10 до 10. Если x1=0 или x2=0 или x1=x2 начать цикл с начала. Раскроем скобки в (x-x1)(x-x2) и получим axx+bx+c Дискриминант D = bb-4ac. Если D слишком большой (D > 200) начать цикл с начала. (детям трудно будет решать) Если a b и с равны 6 6 6 начать цикл с начала. (богохульство) Если a b и с равны 1 4 8 8 начать цикл с начала. (пропаганда) (Тут могут быть еще какие-нибудь проверки) Если все в порядке, выйти из цикла. Конец цикла. Формулировка: решить уравнение axx+bx+c=0 Ответ x1 и x2 </pre> <h4>Самостоятельное добавление задач</h4> Если Вам захочется написать свою задачу или исправить уже существующую, то изменять основные файлы не нужно. Для дополнений предусмотрено специальное место - три файла: <ul> <li><tt>ru-user.tex</tt> для текстов задач,</li> <li><tt>user.awk</tt> для самой программы генерации и </li> <li><tt>ru-user.bat</tt> для добавления в общий "интерфейс".</li> </ul> В этих файлах есть образец добавленной задачи. Вам остается сделать все так же :) (<a href="#insrdob">ниже есть более подробная инструкция</a>) Язык AWK очень прост. Тот, кто умеет на чем-нибудь программировать умеет программировать и на AWK (но, быть может, пока об этом не знает). Документацию можно найти <a href="http://ru.wikipedia.org/wiki/AWK">тут</a> или <a href="http://www.math.spbu.ru/user/rus/cluster/Doc/Library/awk_baluev/awk_bal_oglav.shtml">тут</a>. <p> Это дополнение можно подключать и отключать. (Это значит - не стоит бояться ``всё испортить''). Дополнения подключаются при наличии в папке <tt>generator</tt> файла <tt>user.awk</tt> и отключаются при его отсутствии. Так что для отключения дополнений просто переименуйте файл <tt>user.awk</tt>. <p> Было бы просто замечательно, если бы вы присылали мне содержимое своих <tt>...user..</tt> файлов или публиковали их в <a href="http://generatorzadach.blogspot.com/">блоге</a>. <h4>Добавление готовых задач</h4> Если у вас есть уже готовый комплект любимых задачек, то и их можно легко встроить в систему. <ol> <li> Сделайте файл аналогичный <tt>generator\files\samplf.tex</tt> (не рекомендуется использовать в имени файла кириллические буквы, пробелы и особые значки). </li> <li> Внутри него напишите <pre> %%GZD z Тут текст задачи. Можно с формулами в TeX. %%GZD o Тут ответ к задаче. И тоже можно с формулами. %%GZD e %%GZD z Еще задачка. %%GZD o И еще ответ. %%GZD e <pre> </li> <li> Поместите его в папку <tt>generator\files\</tt> и </li> <li> У вас появится задача с внутренним именем <tt>TимяВашегоФайлаT</tt>. </li> <li> Генератор будет выбирать одну задачку из файла случайным образом. </li> </ol> <h4 id=transl>Изменение формулировок и перевод на другие языки</h4> Формулировки задач сделаны с помощью команды \newcommand и находятся в файле <tt>ru-zadan.tex</tt>. Если они вам не нравятся, вы можете переопределить их с помощью команды \renewcommand из файла <tt>ru-uzer.tex</tt>. Примерно так: <p> Было в <tt>ru-zadan.tex</tt>: <pre> \newcommand{\ZsipulkiZ}[1]{% \Nach{#1} Сколько сепулек требуется для сепуления? \Kon } </pre> Добавлено в <tt>ru-user.tex</tt>: <pre> \renewcommand{\ZsipulkiZ}[1]{% \Nach{#1} Сколькими сепулеками должен быть укомплектован сепулярий? \Kon } </pre> Для изменения оформление карточки с заданиями понадобится переопределить команды <tt>\Otvet</tt>, <tt>\Nachh</tt>, <tt>\Kon</tt>, <tt>\Koni</tt> и <tt>\Konn</tt>. <p> Имеется <a href="http://generatorzadach.ru/en-sample.html">англоязычная версия</a> генератора, неполная и с отвратительным переводом. Интерфейс к ней находится в папке <tt>generator\en</tt>, которая появится после запуска <tt>en-setup.bat</tt>. Аналогично с <a href="http://generatorzadach.ru/he-sample.html">ивритом</a>, <a href="http://generatorzadach.ru/pt-sample.html">португальским</a> и <a href="http://generatorzadach.ru/fr-sample.html">французским</a>, но там перевод только начат. <p> В настоящим момент переводами можно пользоваться через бота <a href="https://telegram.me/gzdbot">@gzdbot</a>. Хорошо бы если бы кто-нибудь помог мне с переводом формулировок задач и сообщений бота. Для этого просто напишите правильный перевод в <a href="https://t.me/generatorzadachgroup">@generatorzadachgroup</a> и я внесу его в генератор. <p> <h3 id="bot">Телеграммный бот</h3> К <a href=#begin>Генератору задач</a> есть интерфейс через телеграммный бот. Официальный бот называться <a href="https://telegram.me/gzdbot">@gzdbot</a> (и есть еще запасной - <a href="https://telegram.me/generatorzadachbot">@generatorzadachbot</a>) но они могут и не работать. <p> Откройте <a href=http://generatorzadach.ru/sample.html>каталог задачек</a>, выберите нужную, и нажмите на <em>генерировать</em>. Ваш компутер или телефон запустит телеграмм и откроет в нем бота. Вам остается только нажать на полоску <b>start/выполнить</b> внизу чата. <p> Можно сделать задание с несколькими задачками. Для этого: <ol> <li>Откройте <a href=http://generatorzadach.ru/sample.html>каталог задачек</a>, выберите нужные, и запомните их имена (имя задачи начинается на Z и заканчивается на Z). </li> <li> Пошлите боту команду вида <pre> числоВариантов имяЗадачи ещеИменаЗадач </pre> например <pre> 2 ZplZ ZprprprZ </pre> </li> </ol> <p> Теперь вы можете перейти на безбумажное обучение: заведите канал в телеграмме, заставьте студентов на него подписаться и пересылайте туда задачи от бота. А потом и ответы для самопроверки. <p> Можно попросить бота сделать задачки на английском и/или не присылать вам задачи в png: <pre> 2 ZplZ en nopng </pre> Это полезно если вы хотите сгенерировать много вариантов и не хотите ждать загрузки кучи картинок. <h3 id="bot2">Бот в режиме студент-преподаватель</h3> Напишите боту <tt>/mk ZplZ</tt> и вы станете преподавателем и бот пришлет вам волшебное слово вида <tt>/z12345</tt>. Тот, кто введет в бота это волшебное слово станет студентом и получит задачку без ответа (а ответ бот пришлет вам). В боте всё анонимно, ни студент ни преподаватель через бота ничего друг про друга не узнают. <p> Сбор решений, выставление оценок и другие формы общения ботом не предусмотрены но есть такой Google Classroom (погуглите) или ресурс Задание в Мудле (<s>помудлите</s>). Эти штуки работают так: <ol> <li> Преподаватель придумывает задание, и кладет его в этот самый Classroom или Мудл. </li> <li> Студент заходит в Classroom, видит задание, выполняет на листочке, сканирует сканером из Гугле Диска (погуглите) и кладет в Classroom. </li> <li> Преподаватель получает уведомление, заходит в Classroom, проверяет и выставляет оценку. </li> </ol> Хотелось бы что бы разные студенты получали разные задания. Так вот, это можно организовать с помощью этого самого бота. <p> Это делается так <ol> <li> Преподаватель идет в каталог заданий <a href=http://generatorzadach.ru/sample.html> generatorzadach.ru/sample.html</a>, выбирает задачки и копипастит их внутреннее имя (например ZplZ). </li> <li> Заходит в бот и пишет ему <tt>/mk ZplZ</tt> </li> <li> Бот присылает волшебное слово (например <tt>/z12345</tt>). </li> <li> Преподаватель заходит в Classroom, и в качестве задания оставляет инструкцию с тем самым волшебным словом (например: "Уважаемый студент, зайдите в бота и скажите ему /z12345. И он выдаст вам задание"). </li> <li> Студент вводит волшебное слово, получает задачку без ответа и, в это же самое время, бот присылает ответ преподавателю. </li> <li> Дальше всё как обычно при работе с Classroom или Мудлом. </li> </ol> <p> Можно сделать задачку с таймером, примерно так <tt>/mk ZplZ t10</tt>. В этом случае ответ будет автоматически высылаться студенту примерно через 10 минут после получения им задачки. <h4>Свой собственный бот</h4> <p> Вы и сами можете запустить свой собственный аналогичный бот на любом компьютере с Винодовс 10 (со старыми Виндовс возможны проблемы) который подключен к интернету <s>любым способом если вы не в России</s> <s>через VPN или proxy</s> опять любым способом, даже если в России. <br> Для этого надо: <ol> <li> Завести себе <a href=https://telegram.org/>Телеграмм</a> <s>(Достаточно <a href=https://telegram.org/dl/webogram>открыть в браузере WEB версию</a> и ввести туда свой номер телефона).</s> в телефоне или на компьютере. </li> <li> Погуглить "бот в телеграмм" и узнать что такое бот в Телеграмм. (В данном случае это такая программа в вашем виндовс, которая умеет общаться с пользователями Телеграмм. Точнее, умеет посылать им сгенерированные задачки). </li> <li> Погуглить "завести бот в телеграмм" и узнать как это делается. (Найти в Телеграмме @BotFather, сказать ему /newbot и придумать имя.) </li> <li> Узнать "Token" своего бота (пообщавшись с <tt>@BotFather</tt>) и скопипастить его в надежное место. Он как бы секретный, так что берегите его. </li> <li> <s>Если вы в России и не за VPN, то найти прокси (лучше платный, IPv6, http(s). Они стоят меньше 1 уе в месяц. Я пользуюсь <a href="https://proxy6.net">proxy6.net</a>)</s>. Это теперь пока не нужно, но... </li><li> Перейдите в папку <tt>generator\bot</tt> и нажмите на <tt>botstart.bat</tt>. </li><li> Вас попросят ввести тот самый "Token", скопиапстите его в окошко и нажмите OK. </li> <li> Вас попросят ввести прокси. Если <a href="https://t.me">t.me</a> открывается браузером просто так, то просто нажмите OK. <br> <s>Если вы в России, введите настройки на прокси в виде <tt>login:passwrd@server:port</tt> если он с авторизацией или в виде <tt>server:port</tt> если он без авторизации.</s> Теперь пока ещё и в России можно просто нажать ОК. </li> <li> И это все, бот запущен и работает где-то внутри вашей Виндовс. <br> Найдите своего бота через поиск в своем телеграмме (его имя начинается на @ и заканчивается на bot. Если забыли, спросите у <tt>@BotFather</tt>) и убедитесь, что он работает. <br> В диспетчере задач будет висеть процесс <tt>wscript</tt>, так это и есть ваш бот. </li> <li> Генерируемые файлы будут появляться в папке <tt>generator\bot</tt> и потом исчезать (это прикольно, гыы :) </li> <li> Для выключения бота сотрите файл <tt>generator\bot\bot-enabled.txt</tt> </li> <li> Отредактировав <tt>botstart.bat</tt> можно сделать так, что не придется каждый раз вводить Token и proxy. И еще кое-что дополнительно настроить. </li> <li> Пообщавшись с <tt>@BotFather</tt> можно приделать к боту аватарку. </li> <li> Если вы выключите свой компьютер то и ваш бот тоже выключится. Но он останется в Телеграмм, так что второй раз заводить его не нужно. Для включения просто еще раз запустите <tt>botstart.bat</tt> из папки <tt>generator\bot</tt>. </li> <li> Запуск бота можно вписать в "Управление компьютером" -- "планировщик заданий" и настроить на запуск каждый час (старый бот будет останавливаться и запускаться новый. А если старый завис, то просто новый запустится). Проще всего это делать из под админа. </li> <li> Если вы в России, то через некоторое время <s><a href="https://www.dissernet.org/expertise/zharovaa2003.htm">поциент Диссернета</a> забанит ваш прокси и вам придется заводить новый </s> Он ушёл на повышение, но готовый прокси всё равно держите наготове. </li> </ol> Для работы бота в режиме студент-преподаватель надо кое-что настроить дополнительно. <ol> <li> Исправьте botsatrt.bat (или сделайте botconfig.bat). </li> <li> В него впишите тот самый Token и настройку прокси в виде <pre> set botid=тут токен set http_proxy=тут прокси в виде логин:пароль@адрес:порт </pre> Убедитесь, что botsatrt.bat запускает бота без лишних вопросов. </li> <li> Вам надо завести <a href="https://www.logaster.ru/blog/how-create-telegram-channel/"> три приватных канала в телеграмме</a> (назовем их Db, LogChanel и wasteChannel). Это будут лично ваши каналы, больше никого туда пускать не следует. </li> <li> вам надо завести преватный или публичный канал "для преподавателей". У его подписчикиков будут дополнительные полномочия. </li> <li> И добавить вашего бота в эти каналы администратором. </li> <li> Перешлите что-нибудь из этих каналов в бот @ShowJsonBot и определите ID каналов (id будет после "forward_from_chat"). </li> <li> Через вышеупомянутого @ShowJsonBot узнайте свой собственный ID. </li> <li> Исправьте в botsatrt.bat (или в botconfig.bat) строчки с <pre> set db_id =-12345 set logChanel_id =-678910 set wasteChannel_id=-11121314 set prepChtList=-1234 set adminId=5478 </pre> после = следует вписать ID соответствующих каналов разумеется. </li> <li> Перезапустите бота и всё должно задаботать. </li> </ol> <h3 id=dop>Дополнительные возможности</h3> <a href=#fileini>Подключаются из файлов с расширением ini</a>. (sampl2.ini - образец) <p> Написав в этот файл правильные волшебные слова, вы сможете: <ul> <li> Делать задачи в картинках. </li> <li> Делать задачи в виде красивого HTML и даже конвертировать в *.doc. </li> <li> Делать тесты для Moodle. </li> <li> Автоматически делать табличку с рейтингом студентов. </li> <li> Автоматически выкладывать всё это в интернет. </li> <li> И автоматизировать работу с фотоальбомом фотокопий работ студентов. </li> </ul> Дополнительные возможности подключаются строчкой, начинающейся с Job <h4>Просто генерация</h4> включается так: <pre> Job z </pre> и просто задачи просто генерируются как обычно. <h4 id=pic>Задания в картинках</h4> Если написать "Job j" или "Job p" то после нажатия на remake будут сделаны задачи в картинках и с ответами. <a href="http://generatorzadach.ru/sampl2.html">Примерно такие</a>. <p> Более того, если сделать <tt>ini</tt> файл со строчками <pre> Job p Otv 0 Иван_Студентов ZdrobiZ ZprprxZ Пётр_Абитуриентов ZdveprZ Маша_Аспирантовна ZdrobiZ </pre> а потом нажать на файл <tt>MkNmFl</tt>, то генератор сделает именные задания и без ответов. <h4>Выкладывание в интернет</h4> Существует много бесплатных хостингов (<s><a href=http://www.hostikus.ru/>Тут большой выбор</a></s> погуглите ``бесплатный хостинг''). Туда можно выкладывать эти самые задания в картинках (и не только их). <p> Обычно на эти сайты есть "доступ по Ftp" (выбирайте именно такой).<br> С практической точки зрения "доступ по Ftp" это волшебная строчка похожая на <pre>ftp://ИмяПользователя:Пароль@ftp.сервер.ru/ПапкаДляСодержимого</pre> Итак, Вам нужно: <p> <ol> <li> Выбрать хостиг:<br> вам нужен просто сайт без всяких там PHP и MySQL, но с доступом по ftp. <br> Убедиться, что вам разрешается выкладывать HTML файлы (uCoz.ru не подходит например). <br> Убедиться, что их ftp сервер работает со стандартным, слегка дефективным, виндусовым ftp клиентом (C:\WINDOWS\system32\ftp.exe). <br> Лично я пользуюсь <a href=http://free.1gb.ru>http://free.1gb.ru</a>. </li> <li> Завести себе сайт, т.е. зарегистрироваться и всё такое. </li> <li> Сделать титульную страницу (index.html) и на ней ссылки на файлы. </li> <li> Добавить в ВашФайл.ini строчку с "Ftp Та самая волшебная строчка" (см. sampl2.ini) </li> <li> Как обычно, запустить remake. </li> </ol> <p> После генерации, кроме всего прочего, появится файл ToFtp.bat, после нажатия на который все нужные файлы автоматически загрузятся на сервер и получится <a href="http://generatorzadach.ru/sampl2.html">примерно так</a>. <p> (<tt>ToFtp.bat</tt> загружает вообще все файлы с расширениями html, jpg и png. Так что если в эту самую папку доложить файлов, то он и их загрузит на сервер. А если слегка подредактировать <tt>ToFtp.bat</tt> текстовым редактором, то он будет выкладывать и файлы с расширением pdf.) <h4 id=otv>Ответы в картинках</h4> Нажав на <tt>remake</tt> в <tt>ru\Ответы\Ответы в картинках</tt> вы сможете сгенерировать картинки с ответами. Нажав на <tt>FtpOtv.bat</tt> вы выложите эти картинки на ваш сайт и студенты смогут их смотреть на странице <tt>[ваш сайт]/otv.html</tt>. <h4>Об педагогику</h4> Как известно, студенты бывают разные. Студенты I-го сорта хотят учиться и могут учиться. Студенты II-го сорта могут но не хотят. И есть ещё студенты III сорта. <p> Хотелось бы, чтобы контрольные мероприятия не мешали учиться I-ым, заставляли учиться II-их и убеждали III-их сменить место пребывания. <p> Генератор задач позволяет проводить много-много контрольных и при этом не тратить на проверку больше усилий, чем студент тратит на вождение ручкой по бумаге. Более того, можно задавать одну и ту же задачу много-много раз до её успешного решения. Предполагается, что при этом I-е быстро всё сдадут, II-е будут вынуждены научиться и III-и наконец "осознают". <p> И более того, если партия и правительство не полностью поработили вас бюрократически и вы ещё пока имеете право выставлять студентам оценки, то вы можете оценивать не по количеству пробелов в знаниях а по количеству контрольных, которые понадобились студенту для решения. (<a href="https://cyberleninka.ru/article/n/ispolzovanie-generatora-zadach-dlya-kontrolya-znaniy-po-vysshey-matematike-u-studentov-mladshih-kursov"> Про это даже целая научная статья есть</a>) <p> Волшебное слово "Job r" поможет вам автоматизировать составления кондуита с успехами студентов. <a href="http://generatorzadach.ru/sampl2r.html">Примерно такого</a>. <p> Образец смотрите в <tt>sample3.ini</tt> <p> <h4 id=photo>Фотоальбом</h4> <s>Для объективизации, подстраховки и пр. полезно делать фотокопии работ студентов. А для минимизации вопросов "покажите, что у меня неправильно" (или даже "сделайте мне ксерокопии всех работ. Я буду на вас в суд подавать.") полезно выкладывать эти фотокопии в доступное место.</s> В настоящий момент это всё устарело, ставить двойки преподавателям почти всюду запрещено. <p> Сначала нужно установить <tt>nconvert</tt> и <tt>zbar</tt>. <ul> <li> <tt>nconvert</tt> это такой конвертер из одного графического формата в другой. Для получения сходите сюда: <a href="http://www.xnview.com/en/nconvert.html">http://www.xnview.com/en/nconvert.html</a>, скачайте архив, достаньте из него <tt>nconvert.exe</tt> (Если не справитесь, скачайте <a href="http://generatorzadach.ru/nconvert.exe">это</a>) и, как обычно, положите этот файл в папку <tt>generator</tt>. </li> <li> <tt>zbar</tt> - это распознаватель штрих-кода, он облегчит Вам сортировку фотографий. Скачивать его следует отсюда: <a href="http://zbar.sourceforge.net/">http://zbar.sourceforge.net/</a>. После установки найдите его в вашей Винодвс (скорее всего, он будет тут: <tt>C:\Program Files\ZBar</tt>) и скопируйте все файлы из папки <tt>ZBar\bin</tt> в папку <tt>generator</tt>. (Если не справитесь, скачайте <a href="http://generatorzadach.ru/zbar.zip">это</a>) </li> </ul> <h4 id="barcod">Штрих-код</h4> Если в вашем файл.ini есть команда <tt>Barcode</tt> (См. <tt>sample2.ini</tt>), то на листочках с заданиями появится штрих-код. Он поможет автоматически рассортировать фото по папкам. <h4>Фотографирование</h4> Фотокопии проще всего делать обычным бытовым фотоаппаратом. Это не занимает много времени: в правой руке фотоаппарат, левая перекладывает листочки: щёлк-щёлк-щёлк, и готово. (Советы: фотографии рекомендуется делать на белом фоне, при хорошем освещении или со вспышкой, 5 мегапикселей вполне достаточно. Старайтесь сделать штрих-код горизонтальным или вертикальным.) <h4>Обработка фотографий</h4> Полученные фото нужно затем сжать, рассортировать, связать с ФИО студентов и выложить в инет. Это делается так: <p> если вы вставите в файл.ini команду <pre> PicDir \ИмяПапкиСфото </pre> то в вашем распоряжении (после нажатия на <tt>remake</tt>) появятся дополнительные кнопки: <h5>Сжатие</h5> Кнопка <tt>compress.bat</tt> Сожмет фото до 150-200 килобайт с сохранением читабельности. В папке <tt>\ИмяПапкиСфото</tt> будет создана подпапка <tt>compr-ed</tt>, и в нее и будут сложены сжатые фото. Оригиналы после этого можно удалить для экономии места. <h5>Сортировка</h5> Если на фото есть <a href=#barcod>штрих-код</a>, то кнопка <tt>recognize.bat</tt> попытается его прочитать и разложить фото по папкам, названия которых совпадают с ФИО студентов. (точнее, она сделает еще одну кнопку - <tt>DoMv.bat</tt>, которая и переместит фото по папкам) <p> Разумеется, некоторые фото будут не распознаны. Их вам придется раскладывать по папкам вручную. <h5>Связывание фото с фио</h5> Кнопка <tt>makehtml.bat</tt> просмотрит папки с именами студентов и сделает соответствующие html файлы. <h5>Выкладывание фотографий в интернет</h5> <tt>ToFtp.bat</tt> выложит в то же самое место все html. <p> Фото загружаются кнопкой <tt>syncpic.bat</tt>. <p> Этот самый <tt>syncpic.bat</tt> достаточно умный: <ol> <li> Он умеет заглядывать в подпапки и находить там нужные фото </li> <li> Из файлов с одинаковыми именами (но в разных подпапках) он будет загружать те, у которых самый маленький размер. </li> <li> Если картинка на сервер уже загружена, повторная загрузка не проводится (уникальность файлов проверяется по имени и размеру) </li> </ol> <h4>Использование готового фотохостинга</h4> Для экономии места на основном сайте есть смысл выкладывать фото в другое, более предназначенное для этого место. <p> <s>Достачно удобна <a href="http://picasa.google.com/">пикаса</a> со своим настольным клиентом, так как она умеет синхронизировать папки с инетом (запускаем пикасу, и она сама всё, что надо куда надо выложит в фоновом режиме).</s> Гугл её переоптимизировал, как обычно. :( <p> Похожие функции есть у <a href="http://ru.wikipedia.org/wiki/Dropbox">dropbox</a>, так как подпапки в Photos автоматически превращаются в фотоальбом в интернете. И синхронизация происходит автоматически. <s> <p> У <a href="http://ru.wikipedia.org/wiki/SugarSync">sugarsync</a> - конкурента дропбокс, есть похожая возможность. <a href="http://4sync.com">4sync.com</a> - еще один конкурент. Дает сразу 15Г и папки с фото тоже можно превращать в фотоальбомы. </s> (Теперь оно платное). <p> Итак, находим в соответствующем клиенте соответствующие папки и включаем синхронизацию. Осталось найти ссылки на альбомы и связать эти ссылки со студентами. <p> Для этого делаем в файл.ini раздел <pre> #<Url ... #> </pre> И напишем в него строчки с ФИО и ссылкой на альбом <p> Например, <pre> #<Url ... Иван_Студентов http://picassa.... ... #> </pre> <h3 id="metod">Генератор методичек</h3> Начаты работы по приделыванию к этому генератору ещё и генератора методичек. Пока он в экспериментальном состоянии, но ознакомится с ним уже можно. Начните с чтения <tt>ru\Образцы\Текст методички</tt> и запуска <tt>ru\Билет\sampl5</tt>. <h3 id="moodle">Тесты для Moodle в формате GIFT</h3> Если применить <a href="#dop">волшебное слово</a> <tt>Job t</tt>, то будет сгенерирован тест для <a href="https://moodle.org">Moodle</a> в формате <a href="https://docs.moodle.org/37/en/GIFT_format">GIFT</a>. Для некоторых задач (они перечислены в <tt>ru\Билет\sample8</tt>) эти тесты особенно красиво оформлены. <p> Кстати, методички, которые делаются через <a href=#metod>генератор методичек</a> можно импортировать в Moodle (в ресурс Книга). <h3 id="unix">Запуск под юниксами и прочее</h3> Поскольку основная часть написана на gawk и TeX, то просто генерация задач будет работать и под юниксами. <p> Команда <pre> echo 25 0 ВнутреннееИмя | gawk -f awk-lb.awk -f gzd-lb.awk -f main.awk -f user.awk >main.inp </pre> или <pre> gawk -f awk-lb.awk -f gzd-lb.awk -f main.awk -f user.awk ВашФайл.ini >main.inp </pre> сгенерирует числа для задачи. <p> (Например: <pre> echo 25 0 ZplZ | gawk -f awk-lb.awk -f gzd-lb.awk -f main.awk -f user.awk >main.inp </pre> Сделает 25 вариантов задачи про прямую и плоскость. Список внутренних имен следует искать в <tt>ru-zdn.bat</tt>) <p> и команда <pre> latex ru-main </pre> или <pre> pdflatex ru-main </pre> сделает остальное. <p> <h4 id=mathml>Красивые формулы в HTML</h4> Некоторые браузеры (firefox например) поддерживают так называемый <a href="http://www.w3.org/Math/">MathML</a>. Это значит, что если вы скачаете <tt>ttm.exe</tt> <a href="http://hutchinson.belmont.ma.us/tth/mml/">отсюда</a> или <a href="http://generatorzadach.ru/ttm.exe">отсюда</a> и положите ее в папку <tt>generator</tt> то формулы в HTML станут исключительно красивы. Но не во всех браузерах. <p> Кстати, firefox и разрывы страниц при печати будет делать там где нужно. <h4 id="fleshki">Если вы еще не купили себе флешку для генератора</h4> Выбирайте ту, у которой скорость записи большая. Информация про скорость обычно написана на упаковке большими буквами на самом видном месте. <p> Если не написано, то со скоростью записи всё плохо. <h4>Копирование флешки</h4> Если вы (как и я) используете флешку для рабочих файлов то вы конечно же понимаете, что она у вас скоро сломается или потеряется. Поэтому вы конечно же завели себе запасную флешку и регулярно делаете на неё копии. Так вот, с помощью скрипта <tt>mkcopy.bat</tt> (и <tt>mkcopy.awk</tt> и <tt>gawk.exe</tt>) этот процесс можно значительно ускорить (у меня он занимает меньше минуты). Инструкция по использованию внутри <tt>mkcopy.bat</tt>. <h4>Архивирование флешки</h4> С помощью скрипта <tt>mkarhiv.bat</tt> (и <tt>mkarhiv.awk</tt> и <tt>gawk.exe</tt>) можно делать более продвинутое резервное копирование в стиле <a href="http://ru.bmstu.wiki/Fossil_(%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0)">Plan 9</a>. <h4 id="arh">Технические подробности про старые ответы</h4> Ответы на все задания архивируются в <tt>generator\arh-rez.dat</tt>. Через некоторое время этот файл распухнет до неприличных размеров но стирать его вам будет боязно -- вдруг понадобится ответ на старую задачу узнать. Так вот, можно переименовать <tt>arh-rez.dat</tt> в <tt>arh-rez1.dat</tt> (а потом в <tt>arh-rez2.dat</tt> и так далее:-) Новые ответы будут сохраняться в <tt>arh-rez.dat</tt> но при запросе ответа система будет заглядывать и в <tt>arh-rez1.dat</tt> и в <tt>arh-rez2.dat</tt>... А <s>через несколько лет</s> потом <tt>arh-rez1.dat</tt> можно будет спокойно удалить. Кстати, таким способом можно собрать вместе ответы из нескольких генераторов. <h4>Подготовка сборников задач и т.п.</h4> в <tt>generator\main.out</tt> лежат результаты последней генерации в LaTeX-совместимом формате. <h4>Подробная документация</h4> Тут применена система документирования, в некотором смысле противоположная <a href="https://ru.wikipedia.org/wiki/%D0%93%D1%80%D0%B0%D0%BC%D0%BE%D1%82%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5"> литературному программированию</a>. Документация пишется в отдельный от исходного кода файл (<tt>main.txt</tt>) и собирается вместе с цитатами из исходного кода в смотрибельную форму (в <tt>main.html</tt>) с помощью скрипта <tt>doc.bat</tt>. (Недавно я выяснил, что <s>говорил прозой</s> это называется reverse literate programming). <br> К сожалению, документация эта, мягко говоря, не полна. <h4 id=avast>Если ваш антивирус называется avast</h4> Некотрые антивирусы (avast например) могут обнаружить в дистрибутиве TeX вирус win32:evo-gen[susp]. Так вот, это неправда, нет там вируса, про это можно <a href="http://www.propro.ru/forum/viewtopic.php?t=9328">тут почитать</a> или <a href="https://forum.avast.com/index.php?topic=140712.0">тут</a>. <h4 id=textex>TeX как у всех</h4> Если вам нужен Генератор на иностранном (или TeX нужен вам еще и сам по себе), то следует установить так называемый <a href="http://miktex.org/portable/about">Miktex portable</a> на ту же самую флешку: <ol> <li> Сначала сходите <a href="http://miktex.org/portable/about">сюда</a>, прочитайте инструкцию и скачайте "self-extracting archive" (200 мегабайт) дистрибутива миктеха.exe и переименуйте ее в <tt>miktex-portable.exe</tt> (тогда он догадается, что его будут устанавливать на флешку). В разделе All dounloads можно найти и 32 битную версию. </li> <li> При установке попросите его установиться на флешку в папку <tt>miktex</tt>. (Это займёт примерно 500M на флешке и примерно полчаса времени) </li> <li> Учтите, что антивирус может существенно замедлить этот процесс. </li> <li> Еще раз убедитесь, что миктех скопировался куда надо, т.е. убедитесь, что у Вас на флешке есть <tt>(буква):\miktex\miktex-portable.cmd</tt> и прочие файлы. (В этом случае генератор сам на него настроится). </li> <li> Этот самый Miktex-portable умеет сам докачивать из инета недостающие компоненты. При первом запуске он захочет скачать русификацию и еще кое-что. Это довольно медленный процесс, будьте терпеливы и позвольте ему это сделать. (рекомендуется сгенерировать образцы всех задач из <tt>generator\Образцы\ОбразецВсехЗадач</tt>) </li> <li> Это вполне нормальный дистрибутив TeX, им можно пользоваться и по прямому назначению. Главное меню запускается файлом <tt>(буква):\miktex\miktex-portable</tt> и появляется в виде <s>бело-синего квадратика</s> темно-синего кружочка в правом нижнем углу около часиков. (Но для работы генератора это не нужно). </li> <li> В настройках можно выбрать опцию MiKTeX Option - General - Package instalation - install mission pakages on-fli - Yes и тогда всё будет доустанавливаться автоматически. </li> </ol> <h4>Иврит в Миктехе</h4> Почему-то поломался много лет назад и и вам придется доустановить его руками: <ol> <li> Сходите <a href="http://www.ma.huji.ac.il/~sameti/tex/culmusmiktex.html"> сюда</a> и прочитайте инструкцию. </li> <li> Рекомендуется скачать culumbus в виде <a href="http://www.ma.huji.ac.il/~sameti/tex/culmusmiktex0.2.2.zip">in non-executable format</a> </li> <li> Там есть файлик (culumusmiktex.bat) для автоматической установки, но пользоваться им не советую. Вам надо установить иврит в ваш миктех на флешке а не туда, куда он будет устанавливаться автоматически. </li> <li> Посмотрите на папки в culumbes-е. Они почти совпадают с папками в \miktex\texmfs\config и это не случайно. </li> <li> Для ручной установки просто скопируйте папки из culumbes-а в \miktex\texmfs\config. Новые папки должны записаться поверх старых. </li> <li> Затем, надо приучить миктех к новым файлам. </li> <li> Для этого приручения откройте меню Миктеха (запустите (буква):\miktex\miktex-portable.cmd и нажмите правой кнопкой на темно-синий кружочек в правом нижнем углу около часиков) </li> <li> Нажмите там Restore - Task (на панели вверху) - Refresh file name database и дождитесь завершения этого рефреша. </li> <li> Потом нажмите Task (на панели вверху) - Refresh font map files и тоже дождитесь завершения. </li> <li> После этого Генератор начнет генерировать задачки и на иврите. </li> </ol> <h4>TeXLive</h4> Это еще один <a href="http://www.tug.org/texlive/">дистрибутив</a>, способный <a href="http://www.tug.org/texlive/doc/texlive-en/texlive-en.html#tlportable">работать с флешки</a> и под Виндовс. <p> Если вы установите его так, что на флешке будут папки <tt>буква:\texlive\texmf-dist</tt> и <tt>буква:\texlive\texmf-var</tt>, то генератор сам его найдет и на него настроится. <p> Ах да, устанавливать все три ТеХа необязательно :) <p> <h4>Польза от большого TeXа</h4> После установки полноразмерного ТеХа (и удаления урезанного) pdf-ы будут чуть-чуть лучше, в них будет работать поиск по русским словам. И штрих код в методичке будет не code129 а qrcode. <h4 id=word>Как бы конвертирование в Ворд</h4> Даже без установленного TeX задачи делаются в HTML посредством <a href="http://hutchinson.belmont.ma.us/tth/">T<sub><font size="-1">T</font></sub>H</a>. Их можно "открыть Вордом" и "сохранить в doc", но сложные формулы будут совершенно неудовлетворительными. <p> Если применить <a href="#dop">волшебное слово Job w</a>, то будет сгенерирован HTML со вставленными внутрь картинками с задачами. Для сохранения картинок внутри doc нужно будет найти в Ворде кнопочку "разорвать связь" и нажать на нее. (Она может быть в "Панель сверху - Правка - Cвязи" или в "Большая круглая кнопка слева вверху - Подготовить - ссылки на файл" или в "Файл" - "сведения" - правый нижний угол - "связи" или в каком-нибудь другом непредсказуемом месте.) <p> Если применить <a href="#dop">волшебное слово Job f</a>, то генератор попытается сконвертировать в картинки только наиболее сложные формулы а основную часть текста оставить в виде текста. Но это пока недоделанная <a href="http://lurkmore.to/%D0%A4%D0%B8%D1%87%D0%B0">фичя</a>, чтоб она работала во всех задачах мне надо будет кое-что переделать в этих самых сложных формулах. Когда-нибудь я это может быть сделаю. <h4 id="insrdob">Инструкция для самостоятельного добавления задач </h4> <ol> <li> Придумайте имя. Лучше то-то типа <tt>UtestU</tt>, <tt>UtestiU</tt> или <tt>UtestiiU</tt>. Числа в имени лучше не использовать. </li> <li> Впишите строчку в <tt>ru-user.bat</tt>, примерно такую: <pre> call .\mdir.bat ru "Образцы" "Задача про что-то" test Z 5 UtestiiU </pre> </li> <li> Запустите ru-user.bat. Появится папка с заданиями, но в ней пока ничего работать не будет. </li> <li> Сделайте текст задачи в <tt>ru-user.tex</tt>. Примерно так: <pre> \newcommand{\UtestiiU}[3]{ \Nach{#1} Вычислить #2 а потом $#3$ \Kon } </pre> Это значит, у задачи будет три параметра, первый не используется. </li> <li> Сделайте вызов генератора задачи в <tt>user.awk</tt> внутри функции <tt>RunUserZDN</tt>. должно получится примерно так: <pre> function RunUserZDN(ParamLine){ if (ParamLine ~ "UtestU") { UtestU(0); } if (ParamLine ~ "UtestiiU"") { # функция для генерации будет с тем же именем UtestiiU(); } #if (ParamLine ~ "имя_другой_задачи") { # Функция_генерирующая_другую_задачу(0); #} } </pre> Функция для генерации - <tt>UtestiiU()</tt>, это её вам и предстоит придумать. </li> <li> Сделайте саму генерирующую функцию внутри <tt>user.awk</tt> (уже в другом месте). Можно начать с такой (она просто числа 1 2 3 напечатает) <pre> function UtestiiU(Tip,a,b) { print("\\UtestiiU{"NumberOfVar"}"); print("{" 1 "}{" 2 "}"); OTV("$" 3 "$"); }#END </pre> </li> <li> Запустите <tt>remake.bat</tt> из папки "ru" "Образцы" "Задача про что-то" и посмотрите на результат :) </li> <li> Для быстрого тестирования можно вписать имя задачи в <tt>00main.bat</tt> или аналогичный файл. </li> <li> Если всё поломалось и не работает не паникуйте, просто переименуйте <tt>user.awk</tt> в что-нибудь другое, дополнения отключатся и всё опять заработает. </li> </ol> <h4>Другие генераторы задач</h4> Тут я буду собирать ссылки на другие генераторы задач. <p> <a href="http://kafedra.sepetov.ru">Денис Петрович Сепетов. Кафедра, версия 3.1. Полезный инструмент в работе преподавателей и учителей - генератор контрольных заданий по физике.</a> <p> <a href="http://cyberleninka.ru/article/n/obzor-generatorov-i-metodov-generatsii-uchebnyh-zadaniy"> Статья про гененаторы (в pdf)</a> <p> Статьи про автоматическое генерирование заданий в "Инженерном вестнике" <a href="http://engbul.bmstu.ru/doc/771454.html">тут</a> и <a href="http://engbul.bmstu.ru/doc/771442.html"> тут </a>. <p> <a href="http://vuz.exponenta.ru">Генератор Кирсанова М.Н.</a> <p> <a href="http://www.yaklass.ru">Большое и платное но для школьников.</a> <p> <a href="http://free-math.ru/load/math_po/genko/41"> Genko (Генератор контрольных) </a> <p> <a href="http://www.swsys.ru/index.php?page=article&id=2568"> Статья ``Компьютерная программа генерации контрольных работ на базе системы latex''. Автор: Карнаухов В.М. </a> <p> <a href="https://e-koncept.ru/2016/16158.htm"> С. В. Юдин. Генератор контрольных (расчетно-графических) работ по математике для студентов первых курсов университетов </a> <p> <a href="http://cyberleninka.ru/article/n/avtomatizatsiya-sostavleniya-zadaniy-po-matematike-metodom-variatsii-parametrov"> Костюченко Е.В. Автоматизация составления заданий по математике методом вариации параметров </a> <p> <a href="http://www.ict.edu.ru/vconf/files/11668.pdf"> П.Ю. Маврин, В.Г. Парфенов, А.С. Станкевич Автоматизация составления вариантов заданий для проверочных работ </a> <p> <a href="http://journals.rudn.ru/informatization-education/article/view/6826"> Муханова А.А., Муханов С.А., Нижников А.И. Разработка генератора тестовых заданий по дифференциальным уравнениям для системы дистанционного обучения Moodle </a> <p> <a href="https://mir-nauki.com/PDF/56PDMN318.pdf"> Окишев Сергей Владимирович. Проблема создания и использования генераторов и решателей математических задач. </a> В ней рассказывается, почему генераторы никто не использует :( <p> <a href="http://www.dissercat.com/content/avtomatizatsiya-protsessa-razrabotki-i-ispolzovaniya-mnogovariantnykh-uchebnykh-zadanii"> Целая диссертация ``Автоматизация процесса разработки и использования многовариантных учебных заданий''.</a> <p> <a href="http://fan-5.ru/entry/work-142976.php"> И даже реферат ученицы 11/А класса г. Гомеля Прохоренко Елены Александровны !!!.</a> <p> <a href="http://generatorzadach.ru/gzd_1_0.zip"> gzd_1_0.zip.</a> Первая публичная версия, 2005 год. :) <h4 id=sv>Обратная связь</h4> с разработчиком может быть осуществлена через <a href="http://generatorzadach.blogspot.com/">блог</a> или почту generatorzadach @ yandex.ru. <br>Оповещения об ошибках и новых версиях будут производится через <a href="https://ru.wikipedia.org/wiki/Telegram_(%D0%BC%D0%B5%D1%81%D1%81%D0%B5%D0%BD%D0%B4%D0%B6%D0%B5%D1%80)">телеграммный</a> канал <a href="https://telegram.me/generatorzadach">https://telegram.me/generatorzadach</a>. Имеется чат для обсуждения <a href="https://telegram.me/generatorzadachgroup">https://telegram.me/generatorzadachgroup</a>. <p> <h4>Лицензия</h4> (c) Антон Финогенов generatorzadach @ yandex.ru <br><a href="http://generatorzadach.blogspot.com/">Блог проекта</a> <br>лицензия <a href="http://ru.wikipedia.org/wiki/GNU_General_Public_License">GPL</a>. Полный исходный код можно посмотреть <a href= "https://sourceforge.net/projects/generatorzadach/" >тут</a>. <p> </BODY></HTML>