Что это такое:

Набор скриптов, в основном на gawk, и несколько файлов на LaTeX с шаблонами задач.

Всё это позволяет генерировать пригодные к печати (разрезанию ножницами и раздаче студентам) комплекты заданий по высшей математике (Образец). Числа в задачах генерируются автоматически и почти никогда не повторяются (т.е. списывать бесполезно)

Тут около 300 задач, что почти покрывает потребности не математических факультетов не продвинутых вузов. Но и преподавателям математических факультетов они тоже будут полезны. (тут образец всех задач в pdf, а тут в HTML).

Краткая инструкция

Генератором можно пользоваться через телеграммного бота (ничего никуда не устанавливая). Тут написано как это делать.

А можно обычным способом, с компьютера.
Предположим, вам уже кто-то дал флешку с Генератором. Просто воткните её в любой компьютер с Windows, ничего никуда устанавливать не надо.
Интерфейс представляет из себя дерево папок (начинающееся с generator\ru), в которых расположены папки с названиями задач.
Внутри есть файл remake25 (или remake25.bat), "нажав" на который, вы получите 25 вариантов заданий в различных форматах.
Посмотреть на них проще всего, нажав на файл view (или view.bat).
Можно приготовить и другое количество вариантов, если переименовать remake25.bat в remake30.bat, например (число в названии это и есть количество вариантов).
Образцы всех задач можно найти в ru\Образцы\ОбразецВсехЗадач

Оглавление

Установка
Использование
Обновление и добавление новых задач
Изменение формулировок и перевод на другие языки
Телеграммный бот
Дополнительные возможности
Ответы в картинках
Генератор методичек
Тесты для Moodle в формате GIFT
Запуск под юниксами, красивые формулы в HTML, архивирование флешки и прочие мелочи
Конвертирование в Ворд
Как связаться с разработчиком

Инструкция по установке

Проще всего найти у своих коллег уже установленный на флешку генератор и просто скопировать все файлы на другую флешку. Всё это помещается в двух папках и занимает меньше двух сотен мегабайт.
Если это невозможно, вы можете скачать всё необходимое и установить Генератор самостоятельно.

Что именно вы будете устанавливать

(Если не интересно, то можно сразу перейти к установке) Учтите, что ваша шибко умная Виндовс может показывать Вам gawk вместо gawk.exe, tth вместо tth.exe и т.п. Не пугайтесь.

Установка

Устанавливать можно в любую папку на флешку. (Про флешки). Давайте для единообразия называть эту папку generator.

Итак, первый способ:

  1. Создайте на флешке папку с именем generator
  2. Скачайте в нее файл getgzd.bat (или его же в zip упаковке)
  3. Нажмите на файл правой кнопкой мыши, нажмите на свойство и объясните вашей Виндовз, что эти файлы больше не скачаны из интернета и их можно запускать (это у неё называется разблокировать).
  4. Ваша Виндовз попытается изменить расширение, запретить запуск, выдать кучу табличек с угрозами и сделать ещё много всяких непредсказуемых действий. Если не сможете с ней справиться, то переходите ко второму способу установки.
  5. Запустите из папки generator файл getgzd.bat.
  6. Ждите. Он сам всё скачает и установит.
  7. ``Интерфейс'' появится в папке generator\ru.

Если возникнут проблемы с автоматическим скачиванием, то эти же самые действия можно проделать вторым способом:

  1. Скачать gzd-last.zip и gzd-upd.zip (пол мегабайта примерно),
  2. Нажать на файлы правой кнопкой и объяснить вашей Виндовс, что эти файлы больше не скачаны из интернета и они безопасны.
  3. Распаковать (оба) в папку generator.
  4. Убедиться, что в папке generator просто много файлов и нет никаких подпапок (некоторые архиваторы слишком много себе позволяют),
  5. И запустить ru-setup.bat из папки generator (он генерирует интерфейс, который появится в папке generator\ru).

Антивирусы не любят исполняемые файлы, скаченные из интернета, да еще и запускаемые с флешки. Так что, возможно, вам придется свой поуговаривать.

И даже без установленного TeX генератором можно немного попользоваться (краткую инструкцию уже прочитали?) но задачи будут делаться только в HTML.

Установка TeX

TeX - это очень-очень большая, ужасно-ужасно сложная и трудно-труднонастраиваемая издательская система, придуманная самим Дональдом Кнутом. (Вам уже страшно?)

Если TeX нужен вам только для генератора, то проще всего

  1. Скачать этот файл (примерно 15М )
  2. Нажать на файл правой кнопкой мыши, нажать на свойство и объясните вашей Виндовз, что этот файл больше не скачан из интернета и его можно запускать (это у неё называется разблокировать).
  3. Распаковать на флешку в папку tl7m (займет примерно 35М)
  4. После распаковки следует убедиться, что на флешке есть папки Буква:\tl7m\texmf и Буква:\tl7m\texmf-var и еще пара папок.
  5. И это всё.

Теперь вы счастливый обладатель урезанной версии TexLive7 2002 года выпуска, и теперь ваш генератор будет делать задачки в форматах PS, PDF, DVI и даже JPG и PNG. И даже немного конвертировать в Ворд.

Кстати, в папке generator\files у вас есть файлик Перетащи-TeX-на-меня.bat. Им можно компилировать произвольные tex-файлы.

(Если ваш антивирус называется аваст, то возможны сложности...)

Этого урезанного ТеХа достаточно если вам достаточно русского и английского. Для других языков вам придется установить miktex.

Установка на стационарный компьютер

Генератор можно устанавливать не на флешку а на жесткий диск.

Но: TeX (т.е папку tl7m) следует помещать либо в корневую папку любого диска, либо в папку generator, либо в папку соседнюю с папкой generator. Пробелы в названии всех вложенных папок в которых находится ТеХ не допускаются.

Использование

Если нужно просто наделать задачек

Узнать забытый ответ

по номеру варианта можно тут: generator\ru\ОТВЕТЫ\Ответы по запросу. Перейдите туда и нажмите remake. (как хранятся ответы).

Можно посмотреть образцы всех задач

тут: generator\ru\Образцы\Образец всех задач. Обратите внимание на так называемое "внутреннее имя" задачи. Это понадобится в следующем пункте.

Можно сгруппировать несколько задач в одно задание

И даже с именами студентов.

  1. Для этого сделайте один или несколько файлов с расширением ini в папке generator\ru (сначала можно сделать пустой файл или скопировать sampl1.ini) (Если Ваша Виндовс показывает Вам только sampl1, то копируйте и переименовывайте его.)
  2. Запустите ОбновитьБилеты.bat. Появится папка generator\ru\Билет, в ней еще несколько папок, и в них "кнопки" remake.bat и edit.bat.
  3. Затем те самые, созданные Вами файлы.ini, следует отредактировать под свои нужды. (Для этого достаточно "нажать на файл" edit.bat) Там внутри вы найдете небольшую инструкцию. В самом простом случае достаточно сделать файл с одной строчкой:
    10 ZbernuliZ ZpulemetZ ZshtuchkiZ
    
  4. Затем, как обычно, запустите remake.

Обновления и добавление новых задач

Предусмотрена возможность быстро устанавливать обновления из инета. Просто перейдите в папку generator\ru, нажмите на файл update.bat, и новые файлы скачаются и папки обновятся. (Но перед этим рекомендуется всё же сделать резервную копию).
В случае проблем с автоматическим скачиванием следует скачать gzd-upd.zip через браузер, нажать на файл правой кнопкой, нажать на свойства и объяснить вашей виндовз, что файл больше не скачан из интернета. После этого разархивировать в папку generator руками. И затем нажать на ru-setup.bat.

Новости про генератор обычно публикуются в блоге (заходите туда иногда) и в телеграммном канале https://telegram.me/generatorzadach.

Версию и дату сборки вашего генератора можно посмотреть в файле generator\ru-ver.txt. Доступную для закачки версию можно посмотреть тут. (или тут )

Если вы придумали новую задачу и алгоритм генерации, то свяжитесь со мной (generatorzadach @ yandex.ru или через блог) и я, скорее всего, достаточно быстро добавлю её в генератор, и вы через несколько дней сможете ей пользоваться.

Поскольку скорость генерации не важна, то и алгоритм можно сильно не оптимизировать.
Например, алгоритм генерации квадратного уравнения мог бы быть таким:


Начало цикла:
 
 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

Самостоятельное добавление задач

Если Вам захочется написать свою задачу или исправить уже существующую, то изменять основные файлы не нужно. Для дополнений предусмотрено специальное место - три файла: В этих файлах есть образец добавленной задачи. Вам остается сделать все так же :) (ниже есть более подробная инструкция) Язык AWK очень прост. Тот, кто умеет на чем-нибудь программировать умеет программировать и на AWK (но, быть может, пока об этом не знает). Документацию можно найти тут или тут.

Это дополнение можно подключать и отключать. (Это значит - не стоит бояться ``всё испортить''). Дополнения подключаются при наличии в папке generator файла user.awk и отключаются при его отсутствии. Так что для отключения дополнений просто переименуйте файл user.awk.

Было бы просто замечательно, если бы вы присылали мне содержимое своих ...user.. файлов или публиковали их в блоге.

Добавление готовых задач

Если у вас есть уже готовый комплект любимых задачек, то и их можно легко встроить в систему.
  1. Сделайте файл аналогичный generator\files\samplf.tex (не рекомендуется использовать в имени файла кириллические буквы, пробелы и особые значки).
  2. Внутри него напишите
    %%GZD z
    	Тут текст задачи. Можно с формулами в TeX.
    %%GZD o
    	Тут ответ к задаче. И тоже можно с формулами.
    %%GZD e
    
    
    %%GZD z
    	Еще задачка.
    %%GZD o
    	И еще ответ.
    %%GZD e
    
    
    
  3. Поместите его в папку generator\files\ и
  4. У вас появится задача с внутренним именем TимяВашегоФайлаT.
  5. Генератор будет выбирать одну задачку из файла случайным образом.

Изменение формулировок и перевод на другие языки

Формулировки задач сделаны с помощью команды \newcommand и находятся в файле ru-zadan.tex. Если они вам не нравятся, вы можете переопределить их с помощью команды \renewcommand из файла ru-uzer.tex. Примерно так:

Было в ru-zadan.tex:

\newcommand{\ZsipulkiZ}[1]{%
       \Nach{#1} 
       Сколько сепулек требуется для сепуления?
       \Kon
}
Добавлено в ru-user.tex:
\renewcommand{\ZsipulkiZ}[1]{%
       \Nach{#1} 
       Сколькими сепулеками должен быть укомплектован сепулярий?
       \Kon
}
Для изменения оформление карточки с заданиями понадобится переопределить команды \Otvet, \Nachh, \Kon, \Koni и \Konn.

Имеется англоязычная версия генератора, неполная и с отвратительным переводом. Интерфейс к ней находится в папке generator\en, которая появится после запуска en-setup.bat. Аналогично с ивритом, португальским и французским, но там перевод только начат.

В настоящим момент переводами можно пользоваться через бота @gzdbot. Хорошо бы если бы кто-нибудь помог мне с переводом формулировок задач и сообщений бота. Для этого просто напишите правильный перевод в @generatorzadachgroup и я внесу его в генератор.

Телеграммный бот

К Генератору задач есть интерфейс через телеграммный бот. Официальный бот называться @gzdbot (и есть еще запасной - @generatorzadachbot) но они могут и не работать.

Откройте каталог задачек, выберите нужную, и нажмите на генерировать. Ваш компутер или телефон запустит телеграмм и откроет в нем бота. Вам остается только нажать на полоску start/выполнить внизу чата.

Можно сделать задание с несколькими задачками. Для этого:

  1. Откройте каталог задачек, выберите нужные, и запомните их имена (имя задачи начинается на Z и заканчивается на Z).
  2. Пошлите боту команду вида
    числоВариантов имяЗадачи ещеИменаЗадач
    
    например
    2 ZplZ ZprprprZ
    

Теперь вы можете перейти на безбумажное обучение: заведите канал в телеграмме, заставьте студентов на него подписаться и пересылайте туда задачи от бота. А потом и ответы для самопроверки.

Можно попросить бота сделать задачки на английском и/или не присылать вам задачи в png:

2 ZplZ en nopng
Это полезно если вы хотите сгенерировать много вариантов и не хотите ждать загрузки кучи картинок.

Бот в режиме студент-преподаватель

Напишите боту /mk ZplZ и вы станете преподавателем и бот пришлет вам волшебное слово вида /z12345. Тот, кто введет в бота это волшебное слово станет студентом и получит задачку без ответа (а ответ бот пришлет вам). В боте всё анонимно, ни студент ни преподаватель через бота ничего друг про друга не узнают.

Сбор решений, выставление оценок и другие формы общения ботом не предусмотрены но есть такой Google Classroom (погуглите) или ресурс Задание в Мудле (помудлите). Эти штуки работают так:

  1. Преподаватель придумывает задание, и кладет его в этот самый Classroom или Мудл.
  2. Студент заходит в Classroom, видит задание, выполняет на листочке, сканирует сканером из Гугле Диска (погуглите) и кладет в Classroom.
  3. Преподаватель получает уведомление, заходит в Classroom, проверяет и выставляет оценку.
Хотелось бы что бы разные студенты получали разные задания. Так вот, это можно организовать с помощью этого самого бота.

Это делается так

  1. Преподаватель идет в каталог заданий generatorzadach.ru/sample.html, выбирает задачки и копипастит их внутреннее имя (например ZplZ).
  2. Заходит в бот и пишет ему /mk ZplZ
  3. Бот присылает волшебное слово (например /z12345).
  4. Преподаватель заходит в Classroom, и в качестве задания оставляет инструкцию с тем самым волшебным словом (например: "Уважаемый студент, зайдите в бота и скажите ему /z12345. И он выдаст вам задание").
  5. Студент вводит волшебное слово, получает задачку без ответа и, в это же самое время, бот присылает ответ преподавателю.
  6. Дальше всё как обычно при работе с Classroom или Мудлом.

Можно сделать задачку с таймером, примерно так /mk ZplZ t10. В этом случае ответ будет автоматически высылаться студенту примерно через 10 минут после получения им задачки.

Свой собственный бот

Вы и сами можете запустить свой собственный аналогичный бот на любом компьютере с Винодовс 10 (со старыми Виндовс возможны проблемы) который подключен к интернету любым способом если вы не в России через VPN или proxy опять любым способом, даже если в России.
Для этого надо:

  1. Завести себе Телеграмм (Достаточно открыть в браузере WEB версию и ввести туда свой номер телефона). в телефоне или на компьютере.
  2. Погуглить "бот в телеграмм" и узнать что такое бот в Телеграмм. (В данном случае это такая программа в вашем виндовс, которая умеет общаться с пользователями Телеграмм. Точнее, умеет посылать им сгенерированные задачки).
  3. Погуглить "завести бот в телеграмм" и узнать как это делается. (Найти в Телеграмме @BotFather, сказать ему /newbot и придумать имя.)
  4. Узнать "Token" своего бота (пообщавшись с @BotFather) и скопипастить его в надежное место. Он как бы секретный, так что берегите его.
  5. Если вы в России и не за VPN, то найти прокси (лучше платный, IPv6, http(s). Они стоят меньше 1 уе в месяц. Я пользуюсь proxy6.net). Это теперь пока не нужно, но...
  6. Перейдите в папку generator\bot и нажмите на botstart.bat.
  7. Вас попросят ввести тот самый "Token", скопиапстите его в окошко и нажмите OK.
  8. Вас попросят ввести прокси. Если t.me открывается браузером просто так, то просто нажмите OK.
    Если вы в России, введите настройки на прокси в виде login:passwrd@server:port если он с авторизацией или в виде server:port если он без авторизации. Теперь пока ещё и в России можно просто нажать ОК.
  9. И это все, бот запущен и работает где-то внутри вашей Виндовс.
    Найдите своего бота через поиск в своем телеграмме (его имя начинается на @ и заканчивается на bot. Если забыли, спросите у @BotFather) и убедитесь, что он работает.
    В диспетчере задач будет висеть процесс wscript, так это и есть ваш бот.
  10. Генерируемые файлы будут появляться в папке generator\bot и потом исчезать (это прикольно, гыы :)
  11. Для выключения бота сотрите файл generator\bot\bot-enabled.txt
  12. Отредактировав botstart.bat можно сделать так, что не придется каждый раз вводить Token и proxy. И еще кое-что дополнительно настроить.
  13. Пообщавшись с @BotFather можно приделать к боту аватарку.
  14. Если вы выключите свой компьютер то и ваш бот тоже выключится. Но он останется в Телеграмм, так что второй раз заводить его не нужно. Для включения просто еще раз запустите botstart.bat из папки generator\bot.
  15. Запуск бота можно вписать в "Управление компьютером" -- "планировщик заданий" и настроить на запуск каждый час (старый бот будет останавливаться и запускаться новый. А если старый завис, то просто новый запустится). Проще всего это делать из под админа.
  16. Если вы в России, то через некоторое время поциент Диссернета забанит ваш прокси и вам придется заводить новый Он ушёл на повышение, но готовый прокси всё равно держите наготове.
Для работы бота в режиме студент-преподаватель надо кое-что настроить дополнительно.
  1. Исправьте botsatrt.bat (или сделайте botconfig.bat).
  2. В него впишите тот самый Token и настройку прокси в виде
    set botid=тут токен
    set http_proxy=тут прокси в виде логин:пароль@адрес:порт
    
    Убедитесь, что botsatrt.bat запускает бота без лишних вопросов.
  3. Вам надо завести три приватных канала в телеграмме (назовем их Db, LogChanel и wasteChannel). Это будут лично ваши каналы, больше никого туда пускать не следует.
  4. вам надо завести преватный или публичный канал "для преподавателей". У его подписчикиков будут дополнительные полномочия.
  5. И добавить вашего бота в эти каналы администратором.
  6. Перешлите что-нибудь из этих каналов в бот @ShowJsonBot и определите ID каналов (id будет после "forward_from_chat").
  7. Через вышеупомянутого @ShowJsonBot узнайте свой собственный ID.
  8. Исправьте в botsatrt.bat (или в botconfig.bat) строчки с
    set db_id =-12345
    set logChanel_id =-678910
    set wasteChannel_id=-11121314
    set prepChtList=-1234
    set adminId=5478
    
    после = следует вписать ID соответствующих каналов разумеется.
  9. Перезапустите бота и всё должно задаботать.

Дополнительные возможности

Подключаются из файлов с расширением ini. (sampl2.ini - образец)

Написав в этот файл правильные волшебные слова, вы сможете:

Дополнительные возможности подключаются строчкой, начинающейся с Job

Просто генерация

включается так:
Job z 
и просто задачи просто генерируются как обычно.

Задания в картинках

Если написать "Job j" или "Job p" то после нажатия на remake будут сделаны задачи в картинках и с ответами. Примерно такие.

Более того, если сделать ini файл со строчками

Job p
Otv 0

Иван_Студентов 		ZdrobiZ  ZprprxZ 
Пётр_Абитуриентов 	ZdveprZ
Маша_Аспирантовна	ZdrobiZ  

а потом нажать на файл MkNmFl, то генератор сделает именные задания и без ответов.

Выкладывание в интернет

Существует много бесплатных хостингов (Тут большой выбор погуглите ``бесплатный хостинг''). Туда можно выкладывать эти самые задания в картинках (и не только их).

Обычно на эти сайты есть "доступ по Ftp" (выбирайте именно такой).
С практической точки зрения "доступ по Ftp" это волшебная строчка похожая на

ftp://ИмяПользователя:Пароль@ftp.сервер.ru/ПапкаДляСодержимого
Итак, Вам нужно:

  1. Выбрать хостиг:
    вам нужен просто сайт без всяких там PHP и MySQL, но с доступом по ftp.
    Убедиться, что вам разрешается выкладывать HTML файлы (uCoz.ru не подходит например).
    Убедиться, что их ftp сервер работает со стандартным, слегка дефективным, виндусовым ftp клиентом (C:\WINDOWS\system32\ftp.exe).
    Лично я пользуюсь http://free.1gb.ru.
  2. Завести себе сайт, т.е. зарегистрироваться и всё такое.
  3. Сделать титульную страницу (index.html) и на ней ссылки на файлы.
  4. Добавить в ВашФайл.ini строчку с "Ftp Та самая волшебная строчка" (см. sampl2.ini)
  5. Как обычно, запустить remake.

После генерации, кроме всего прочего, появится файл ToFtp.bat, после нажатия на который все нужные файлы автоматически загрузятся на сервер и получится примерно так.

(ToFtp.bat загружает вообще все файлы с расширениями html, jpg и png. Так что если в эту самую папку доложить файлов, то он и их загрузит на сервер. А если слегка подредактировать ToFtp.bat текстовым редактором, то он будет выкладывать и файлы с расширением pdf.)

Ответы в картинках

Нажав на remake в ru\Ответы\Ответы в картинках вы сможете сгенерировать картинки с ответами. Нажав на FtpOtv.bat вы выложите эти картинки на ваш сайт и студенты смогут их смотреть на странице [ваш сайт]/otv.html.

Об педагогику

Как известно, студенты бывают разные. Студенты I-го сорта хотят учиться и могут учиться. Студенты II-го сорта могут но не хотят. И есть ещё студенты III сорта.

Хотелось бы, чтобы контрольные мероприятия не мешали учиться I-ым, заставляли учиться II-их и убеждали III-их сменить место пребывания.

Генератор задач позволяет проводить много-много контрольных и при этом не тратить на проверку больше усилий, чем студент тратит на вождение ручкой по бумаге. Более того, можно задавать одну и ту же задачу много-много раз до её успешного решения. Предполагается, что при этом I-е быстро всё сдадут, II-е будут вынуждены научиться и III-и наконец "осознают".

И более того, если партия и правительство не полностью поработили вас бюрократически и вы ещё пока имеете право выставлять студентам оценки, то вы можете оценивать не по количеству пробелов в знаниях а по количеству контрольных, которые понадобились студенту для решения. ( Про это даже целая научная статья есть)

Волшебное слово "Job r" поможет вам автоматизировать составления кондуита с успехами студентов. Примерно такого.

Образец смотрите в sample3.ini

Фотоальбом

Для объективизации, подстраховки и пр. полезно делать фотокопии работ студентов. А для минимизации вопросов "покажите, что у меня неправильно" (или даже "сделайте мне ксерокопии всех работ. Я буду на вас в суд подавать.") полезно выкладывать эти фотокопии в доступное место. В настоящий момент это всё устарело, ставить двойки преподавателям почти всюду запрещено.

Сначала нужно установить nconvert и zbar.

Штрих-код

Если в вашем файл.ini есть команда Barcode (См. sample2.ini), то на листочках с заданиями появится штрих-код. Он поможет автоматически рассортировать фото по папкам.

Фотографирование

Фотокопии проще всего делать обычным бытовым фотоаппаратом. Это не занимает много времени: в правой руке фотоаппарат, левая перекладывает листочки: щёлк-щёлк-щёлк, и готово. (Советы: фотографии рекомендуется делать на белом фоне, при хорошем освещении или со вспышкой, 5 мегапикселей вполне достаточно. Старайтесь сделать штрих-код горизонтальным или вертикальным.)

Обработка фотографий

Полученные фото нужно затем сжать, рассортировать, связать с ФИО студентов и выложить в инет. Это делается так:

если вы вставите в файл.ini команду

PicDir \ИмяПапкиСфото
то в вашем распоряжении (после нажатия на remake) появятся дополнительные кнопки:
Сжатие
Кнопка compress.bat Сожмет фото до 150-200 килобайт с сохранением читабельности. В папке \ИмяПапкиСфото будет создана подпапка compr-ed, и в нее и будут сложены сжатые фото. Оригиналы после этого можно удалить для экономии места.
Сортировка
Если на фото есть штрих-код, то кнопка recognize.bat попытается его прочитать и разложить фото по папкам, названия которых совпадают с ФИО студентов. (точнее, она сделает еще одну кнопку - DoMv.bat, которая и переместит фото по папкам)

Разумеется, некоторые фото будут не распознаны. Их вам придется раскладывать по папкам вручную.

Связывание фото с фио
Кнопка makehtml.bat просмотрит папки с именами студентов и сделает соответствующие html файлы.
Выкладывание фотографий в интернет
ToFtp.bat выложит в то же самое место все html.

Фото загружаются кнопкой syncpic.bat.

Этот самый syncpic.bat достаточно умный:

  1. Он умеет заглядывать в подпапки и находить там нужные фото
  2. Из файлов с одинаковыми именами (но в разных подпапках) он будет загружать те, у которых самый маленький размер.
  3. Если картинка на сервер уже загружена, повторная загрузка не проводится (уникальность файлов проверяется по имени и размеру)

Использование готового фотохостинга

Для экономии места на основном сайте есть смысл выкладывать фото в другое, более предназначенное для этого место.

Достачно удобна пикаса со своим настольным клиентом, так как она умеет синхронизировать папки с инетом (запускаем пикасу, и она сама всё, что надо куда надо выложит в фоновом режиме). Гугл её переоптимизировал, как обычно. :(

Похожие функции есть у dropbox, так как подпапки в Photos автоматически превращаются в фотоальбом в интернете. И синхронизация происходит автоматически.

У sugarsync - конкурента дропбокс, есть похожая возможность. 4sync.com - еще один конкурент. Дает сразу 15Г и папки с фото тоже можно превращать в фотоальбомы. (Теперь оно платное).

Итак, находим в соответствующем клиенте соответствующие папки и включаем синхронизацию. Осталось найти ссылки на альбомы и связать эти ссылки со студентами.

Для этого делаем в файл.ini раздел

#<Url 
...
#>
И напишем в него строчки с ФИО и ссылкой на альбом

Например,

#<Url
...
Иван_Студентов http://picassa....
...
#>

Генератор методичек

Начаты работы по приделыванию к этому генератору ещё и генератора методичек. Пока он в экспериментальном состоянии, но ознакомится с ним уже можно. Начните с чтения ru\Образцы\Текст методички и запуска ru\Билет\sampl5.

Тесты для Moodle в формате GIFT

Если применить волшебное слово Job t, то будет сгенерирован тест для Moodle в формате GIFT. Для некоторых задач (они перечислены в ru\Билет\sample8) эти тесты особенно красиво оформлены.

Кстати, методички, которые делаются через генератор методичек можно импортировать в Moodle (в ресурс Книга).

Запуск под юниксами и прочее

Поскольку основная часть написана на gawk и TeX, то просто генерация задач будет работать и под юниксами.

Команда

echo 25 0 ВнутреннееИмя  | gawk -f awk-lb.awk -f gzd-lb.awk -f main.awk -f user.awk >main.inp
или
gawk -f awk-lb.awk -f gzd-lb.awk -f main.awk -f user.awk ВашФайл.ini >main.inp
сгенерирует числа для задачи.

(Например:

echo 25 0 ZplZ  | gawk -f awk-lb.awk -f gzd-lb.awk -f main.awk -f user.awk >main.inp
Сделает 25 вариантов задачи про прямую и плоскость. Список внутренних имен следует искать в ru-zdn.bat)

и команда

latex ru-main
или
pdflatex ru-main
сделает остальное.

Красивые формулы в HTML

Некоторые браузеры (firefox например) поддерживают так называемый MathML. Это значит, что если вы скачаете ttm.exe отсюда или отсюда и положите ее в папку generator то формулы в HTML станут исключительно красивы. Но не во всех браузерах.

Кстати, firefox и разрывы страниц при печати будет делать там где нужно.

Если вы еще не купили себе флешку для генератора

Выбирайте ту, у которой скорость записи большая. Информация про скорость обычно написана на упаковке большими буквами на самом видном месте.

Если не написано, то со скоростью записи всё плохо.

Копирование флешки

Если вы (как и я) используете флешку для рабочих файлов то вы конечно же понимаете, что она у вас скоро сломается или потеряется. Поэтому вы конечно же завели себе запасную флешку и регулярно делаете на неё копии. Так вот, с помощью скрипта mkcopy.batmkcopy.awk и gawk.exe) этот процесс можно значительно ускорить (у меня он занимает меньше минуты). Инструкция по использованию внутри mkcopy.bat.

Архивирование флешки

С помощью скрипта mkarhiv.batmkarhiv.awk и gawk.exe) можно делать более продвинутое резервное копирование в стиле Plan 9.

Технические подробности про старые ответы

Ответы на все задания архивируются в generator\arh-rez.dat. Через некоторое время этот файл распухнет до неприличных размеров но стирать его вам будет боязно -- вдруг понадобится ответ на старую задачу узнать. Так вот, можно переименовать arh-rez.dat в arh-rez1.dat (а потом в arh-rez2.dat и так далее:-) Новые ответы будут сохраняться в arh-rez.dat но при запросе ответа система будет заглядывать и в arh-rez1.dat и в arh-rez2.dat... А через несколько лет потом arh-rez1.dat можно будет спокойно удалить. Кстати, таким способом можно собрать вместе ответы из нескольких генераторов.

Подготовка сборников задач и т.п.

в generator\main.out лежат результаты последней генерации в LaTeX-совместимом формате.

Подробная документация

Тут применена система документирования, в некотором смысле противоположная литературному программированию. Документация пишется в отдельный от исходного кода файл (main.txt) и собирается вместе с цитатами из исходного кода в смотрибельную форму (в main.html) с помощью скрипта doc.bat. (Недавно я выяснил, что говорил прозой это называется reverse literate programming).
К сожалению, документация эта, мягко говоря, не полна.

Если ваш антивирус называется avast

Некотрые антивирусы (avast например) могут обнаружить в дистрибутиве TeX вирус win32:evo-gen[susp]. Так вот, это неправда, нет там вируса, про это можно тут почитать или тут.

TeX как у всех

Если вам нужен Генератор на иностранном (или TeX нужен вам еще и сам по себе), то следует установить так называемый Miktex portable на ту же самую флешку:
  1. Сначала сходите сюда, прочитайте инструкцию и скачайте "self-extracting archive" (200 мегабайт) дистрибутива миктеха.exe и переименуйте ее в miktex-portable.exe (тогда он догадается, что его будут устанавливать на флешку). В разделе All dounloads можно найти и 32 битную версию.
  2. При установке попросите его установиться на флешку в папку miktex. (Это займёт примерно 500M на флешке и примерно полчаса времени)
  3. Учтите, что антивирус может существенно замедлить этот процесс.
  4. Еще раз убедитесь, что миктех скопировался куда надо, т.е. убедитесь, что у Вас на флешке есть (буква):\miktex\miktex-portable.cmd и прочие файлы. (В этом случае генератор сам на него настроится).
  5. Этот самый Miktex-portable умеет сам докачивать из инета недостающие компоненты. При первом запуске он захочет скачать русификацию и еще кое-что. Это довольно медленный процесс, будьте терпеливы и позвольте ему это сделать. (рекомендуется сгенерировать образцы всех задач из generator\Образцы\ОбразецВсехЗадач)
  6. Это вполне нормальный дистрибутив TeX, им можно пользоваться и по прямому назначению. Главное меню запускается файлом (буква):\miktex\miktex-portable и появляется в виде бело-синего квадратика темно-синего кружочка в правом нижнем углу около часиков. (Но для работы генератора это не нужно).
  7. В настройках можно выбрать опцию MiKTeX Option - General - Package instalation - install mission pakages on-fli - Yes и тогда всё будет доустанавливаться автоматически.

Иврит в Миктехе

Почему-то поломался много лет назад и и вам придется доустановить его руками:
  1. Сходите сюда и прочитайте инструкцию.
  2. Рекомендуется скачать culumbus в виде in non-executable format
  3. Там есть файлик (culumusmiktex.bat) для автоматической установки, но пользоваться им не советую. Вам надо установить иврит в ваш миктех на флешке а не туда, куда он будет устанавливаться автоматически.
  4. Посмотрите на папки в culumbes-е. Они почти совпадают с папками в \miktex\texmfs\config и это не случайно.
  5. Для ручной установки просто скопируйте папки из culumbes-а в \miktex\texmfs\config. Новые папки должны записаться поверх старых.
  6. Затем, надо приучить миктех к новым файлам.
  7. Для этого приручения откройте меню Миктеха (запустите (буква):\miktex\miktex-portable.cmd и нажмите правой кнопкой на темно-синий кружочек в правом нижнем углу около часиков)
  8. Нажмите там Restore - Task (на панели вверху) - Refresh file name database и дождитесь завершения этого рефреша.
  9. Потом нажмите Task (на панели вверху) - Refresh font map files и тоже дождитесь завершения.
  10. После этого Генератор начнет генерировать задачки и на иврите.

TeXLive

Это еще один дистрибутив, способный работать с флешки и под Виндовс.

Если вы установите его так, что на флешке будут папки буква:\texlive\texmf-dist и буква:\texlive\texmf-var, то генератор сам его найдет и на него настроится.

Ах да, устанавливать все три ТеХа необязательно :)

Польза от большого TeXа

После установки полноразмерного ТеХа (и удаления урезанного) pdf-ы будут чуть-чуть лучше, в них будет работать поиск по русским словам. И штрих код в методичке будет не code129 а qrcode.

Как бы конвертирование в Ворд

Даже без установленного TeX задачи делаются в HTML посредством TTH. Их можно "открыть Вордом" и "сохранить в doc", но сложные формулы будут совершенно неудовлетворительными.

Если применить волшебное слово Job w, то будет сгенерирован HTML со вставленными внутрь картинками с задачами. Для сохранения картинок внутри doc нужно будет найти в Ворде кнопочку "разорвать связь" и нажать на нее. (Она может быть в "Панель сверху - Правка - Cвязи" или в "Большая круглая кнопка слева вверху - Подготовить - ссылки на файл" или в "Файл" - "сведения" - правый нижний угол - "связи" или в каком-нибудь другом непредсказуемом месте.)

Если применить волшебное слово Job f, то генератор попытается сконвертировать в картинки только наиболее сложные формулы а основную часть текста оставить в виде текста. Но это пока недоделанная фичя, чтоб она работала во всех задачах мне надо будет кое-что переделать в этих самых сложных формулах. Когда-нибудь я это может быть сделаю.

Инструкция для самостоятельного добавления задач

  1. Придумайте имя. Лучше то-то типа UtestU, UtestiU или UtestiiU. Числа в имени лучше не использовать.
  2. Впишите строчку в ru-user.bat, примерно такую:
    call .\mdir.bat ru "Образцы"  "Задача про что-то" test Z 5 UtestiiU
    
  3. Запустите ru-user.bat. Появится папка с заданиями, но в ней пока ничего работать не будет.
  4. Сделайте текст задачи в ru-user.tex. Примерно так:
    \newcommand{\UtestiiU}[3]{
    	\Nach{#1}
    	Вычислить #2 а потом $#3$
    	\Kon
    }
    
    Это значит, у задачи будет три параметра, первый не используется.
  5. Сделайте вызов генератора задачи в user.awk внутри функции RunUserZDN. должно получится примерно так:
    function RunUserZDN(ParamLine){
    
    	if (ParamLine ~ "UtestU")  { 
            	UtestU(0);
            }
    
    	if (ParamLine ~ "UtestiiU"")  {
    	        # функция для генерации будет с тем же именем
            	UtestiiU();
            }
    
    	#if (ParamLine ~ "имя_другой_задачи")  {
            #	Функция_генерирующая_другую_задачу(0);
            #}
    }
    
    Функция для генерации - UtestiiU(), это её вам и предстоит придумать.
  6. Сделайте саму генерирующую функцию внутри user.awk (уже в другом месте). Можно начать с такой (она просто числа 1 2 3 напечатает)
    function UtestiiU(Tip,a,b)  {           
    	
    	print("\\UtestiiU{"NumberOfVar"}");
    
    	print("{" 1 "}{" 2 "}");
    
    	OTV("$" 3 "$");
    
    }#END
    
  7. Запустите remake.bat из папки "ru" "Образцы" "Задача про что-то" и посмотрите на результат :)
  8. Для быстрого тестирования можно вписать имя задачи в 00main.bat или аналогичный файл.
  9. Если всё поломалось и не работает не паникуйте, просто переименуйте user.awk в что-нибудь другое, дополнения отключатся и всё опять заработает.

Другие генераторы задач

Тут я буду собирать ссылки на другие генераторы задач.

Денис Петрович Сепетов. Кафедра, версия 3.1. Полезный инструмент в работе преподавателей и учителей - генератор контрольных заданий по физике.

Статья про гененаторы (в pdf)

Статьи про автоматическое генерирование заданий в "Инженерном вестнике" тут и тут .

Генератор Кирсанова М.Н.

Большое и платное но для школьников.

Genko (Генератор контрольных)

Статья ``Компьютерная программа генерации контрольных работ на базе системы latex''. Автор: Карнаухов В.М.

С. В. Юдин. Генератор контрольных (расчетно-графических) работ по математике для студентов первых курсов университетов

Костюченко Е.В. Автоматизация составления заданий по математике методом вариации параметров

П.Ю. Маврин, В.Г. Парфенов, А.С. Станкевич Автоматизация составления вариантов заданий для проверочных работ

Муханова А.А., Муханов С.А., Нижников А.И. Разработка генератора тестовых заданий по дифференциальным уравнениям для системы дистанционного обучения Moodle

Окишев Сергей Владимирович. Проблема создания и использования генераторов и решателей математических задач. В ней рассказывается, почему генераторы никто не использует :(

Целая диссертация ``Автоматизация процесса разработки и использования многовариантных учебных заданий''.

И даже реферат ученицы 11/А класса г. Гомеля Прохоренко Елены Александровны !!!.

gzd_1_0.zip. Первая публичная версия, 2005 год. :)

Обратная связь

с разработчиком может быть осуществлена через блог или почту generatorzadach @ yandex.ru.
Оповещения об ошибках и новых версиях будут производится через телеграммный канал https://telegram.me/generatorzadach. Имеется чат для обсуждения https://telegram.me/generatorzadachgroup.

Лицензия

(c) Антон Финогенов generatorzadach @ yandex.ru
Блог проекта
лицензия GPL. Полный исходный код можно посмотреть тут.