Потому что составители тестов ленивые и больше четырех вариантов не могут придумать. Кстати, когда я еще ходил на интуит, я там заметил, что самые интересные курсы содержат тесты с бóльшим количеством вариантов.
Если будет 20 вариантов, то сильнее проявятся проблемы неоднозначности восприятия. Я и так, выполняя тесты в универе, постоянно думаю «А что думал автор, когда это писал?». Кроме того, апелляция - необходимый компонент проведения тестирования, усложняется в разы.
Приведу пример. Недавно был у нас предмет «Вычислительные сети». Дак вот там в тесте был вопрос «Начиная с какого уровня модели OSI возможна передача данных?». И как варианты ответов эти самые уровни. Ответ преподавателя: транспортный.
Насчёт вопроса, чтоль? Да на любом уровне можно гонять данные, просто для этого необходимо предпринять разные действия. :) Можно даже на физическом, без каких-либо надстроек: есть_сигнал/нет_сигнала. Всё, это уже передача данных. Медленная, убогая, но передача данных.
Просто оцените по вероятности, каков шанс проверяемому получить ту-то оценку зная столько-то. И когда вероятности вас устроят, отсеките все лишние варианты.
#include <iostream>
using namespace std;
class mod
{
int * id;
public:
mod(int n = 0) : id(new int(n)) {}
~mod() {delete id;}
int f() const {return *id;}
mod operator<(mod s) const;
};
mod mod::operator<(mod s) const
{
if (s.id < id)
return s;
else
return *this;
}
int main()
{
mod a = 5, b = 7, c = 2, d;
d = a < b;
d = b < a;
d = c < b;
cout << d.f() << endl;
return 0;
}
Какой будет результат выполнения программы?
a) 5;
b) 2;
c) 7;
d) 0;
e) результат выполнения программы отображён не будет;
f) ошибка при компиляции программы;
g) ошибка при выполнении программы.
Это был даже не экзамен, это был тест для получения автомата за экзамен.
Да, ещё у нас есть Теория вероятностей, которую никто вот уже много лет не сдавал на 5 (у препода система баллов «на понижение», т.е. нельзя получить 5 или 4, если в семестре баллов недобрал). Есть экономика, на которую дано 100 вопросов к экзамену, каждый по 1 стр. А4. Не сессия, а цирк. Сдают практически только те, кто умеет списывать. Я к таким не отношусь, хотя и сдаю.
Ну надо как-то типа «какой тип аргумента может встретиться при перегрузке опрератора» или что-то типа того, а то так можно понять как обязательный аттрибут при любой перегрузке.
> Просто ставится задача придумать не мение 200 вопросов.
Если это куски программ, то можно просто сделать шаблон, в котором будут меняться константы для каждого варианта. И автоматически вычисляться неправильные значения при условии, что проверяемый не знает того-то.
В данном случае необязательно всё читать, достаточно найти в списке нужный ответ. Это если будет вопрос типа «какой из перечисленных вариантов правильный» (но при этом правильным ответом может быть и другой, которого нет в списке вариантов, то тогда придётся всё читать.
Помню у меня классе в 9м был тест по информатике. Никто из класса не ответил на все вопросы. Абсолютно все провалили как минимум один - «оператор присваивания в Basic».
Конечно. Если хотя бы один из нижележащих слоёв данные не умеет пересылать то хана :). Наверно имелось в виду «на каком уровне работают пользовательские приложения». Или «начиная с какого».
Я против тестов. Я против шаблонности в речи и поведении. Я против конформизма. Я против шпор.
Если говорить об учёбе: я за устную беседу по всему материалу курса с каверзными вопросами, вопросами-детекторами и вопросами-«порассуждайте и покажите что умеете логически мыслить»