Как проверять задачи по программированию онлайн
Если использовать для этого традиционные способы, то алгоритм действий будет приблизительно таким:
1) Выдать задание студенту (выложить на сайте или отправить на email)
2) Получить от студента код решения (получить на email).
3) Запустить код для проверки на компьютере преподавателя.
4) Найти ошибки и отправить студенту резюме по коду.
5) На второй итерации сравнить новый код со старым, повторить пункты 2,3.
6) В случае успеха отправить сообщение что работа принята и сообщить оценку.
Очевидно, если студентов много, то легко запутаться и трудно вести учет выполненных работ.
Но, это все можно значительно упростить, если воспользоваться онлайн-компилятором с возможностью сохранения в облако кодов програм. Приведем пример. Пусть есть вот такая задача, которую надо решить, используя язык программирования Паскаль:
Массив заполнен случайными величинами в диапазоне от -50 до 50 и состоит из N элементов. Подсчитать сколько в нём отрицательных, положительных и нулевых элементов.
Вот готовый код решения задачи, записанный на языке Паскаль:
program Numbers; // Pascal [fpc 3.0.4] const n=30; var M: Array [1..N] of Integer; i,k,s,p:integer; // счетчики begin k:=0; s:=0; p:=0; randomize(); for i := 1 to n do begin M [i]:= random (101) - 50; // из диапазона от -50 до 49 if M=0 then k:=k+1; if M<0 then s:=s+1; if M>0 then p:=p+1; end; writeln ('отрицательных чисел: ', s); writeln ('положительных чисел: ', p); writeln ('нулевых чисел: ', k); end.
http://primat.org/index/0-128?CjmEГлавное преимущество такого способа - не надо скачивать код, выполнять его оффлайн, потом писать письма студенту. В комментариях к коду можно указывать ошибки, исправления и даже в комментариях написать оценку. Все просто. Да и запутаться с кодами невозможно. Можно просто требовать от студентов, чтобы в заголовке кода по установленной форме в комментариях писали свою фамилию, группу, номер задачи, версию кода и дату. Это очень удобно.
Кроме классического компилятора Паскаль, есть еще и часто используемый для обучения Python онлайн и конечно же компилятор С++.