Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
8
Добавлен:
27.11.2024
Размер:
319.68 Кб
Скачать
    1. Разработать программу тестирования

Требования к выполняемой программе:

1. Вопросов должно быть не менее 10

2. Должны быть представлены следующие виды вопросов:

  • Вопрос с одним вариантом ответа

  • Вопрос с множественными вариантами ответа

  • Вопрос с возможностью ввода ответа

3. Итог теста должен быть представлен в процентном соотношении

4. Должна быть предусмотрена возможность просмотра списка неправильных ответов

Номер варианта

Задание

10

Тест по школьной дисциплине “История”

Для достижения поставленной цели сделаем форму с необходимыми для теста компонентами. Данные компоненты указаны в следующей таблице.

Компонент

Свойство

Значение

Описание

Form1

Text

Контрольная работа №10

Заголовок окна

Groupbox1

Text

Вопрос + № вопроса

Отдельный заголовок вопроса

Groupbox

Теxt

Варианты ответов

Заголовок для отдельной группы объектов выбора ответа

Label 5

Техт

Текст вопроса

Текст вопроса

RadioButton1

Text

RadioButton1

Первый вариант ответа радиокнопкой

RadioButton2

Text

RadioButton2

Второй вариант ответа радиокнопкой

RadioButton3

Text

RadioButton3

Третий вариант ответа радиокнопкой

RadioButton4

Text

RadioButton4

Четвертый вариант ответа радиокнопкой

Checkbox1

Text

Checkbox1

Первый вариант ответа чекбоксом

Checkbox2

Text

Checkbox2

Второй вариант ответа чекбоксом

Checkbox3

Text

Checkbox3

Третий вариант ответа чекбоксом

Checkbox4

Text

Checkbox4

Четвертый вариант ответа чекбоксом

TextBox3

Text

TextBox3

Ввод ответа вручную

Button2

Text

Дальше

Переход к следующему вопросу и вывод результатов

Сформированная форма компонентов проиллюстрирована на рисунке 5.

Рисунок 5 - Сформированная форма компонентов теста

Все компоненты группы «Варианты ответов» получили свойство Visible = false и были выставлены друг за другом.

Следующим шагом нужно подставить вопросы после инициализации компонентов и включение определенных компонентов для вопроса.

public Form1()

{

InitializeComponent();

label1.Text = "Сколько республик изначально вошло в состав СССР?";

radioButton1.Text = "4";

radioButton2.Text = "5";

radioButton3.Text = "7";

radioButton4.Text = "10";

groupBox1.Text = "Вопрос " + numbervv;

radioButton1.Visible = true;

radioButton2.Visible = true;

radioButton3.Visible = true;

radioButton4.Visible = true;

}

Далее создадим сброс всех нажатий на компонентах входящие в группу варианты ответов:

private void Uncheck_All()

{

radioButton1.Checked = false;

radioButton2.Checked = false;

radioButton3.Checked = false;

radioButton4.Checked = false;

checkBox1.Checked = false;

checkBox2.Checked = false;

checkBox3.Checked = false;

checkBox4.Checked = false;

textBox3.Text = ""; }

Далее был описан обработчик кнопки:

private void button2_Click(object sender, EventArgs e)

{

if (numbervv == 1)

{

if (radioButton1.Checked)

{

PravOtv++;

OtvText += groupBox1.Text + " - верно\n";

}

else

{

OtvText += groupBox1.Text + " - неверно\n";

}

numbervv++;

label1.Text = "Как, согласно договору об образовании Советского Союза, назывался верховный орган власти в СССР?";

radioButton1.Text = "Совет народных комиссаров";

radioButton2.Text = "Верховный Совет СССР";

radioButton3.Text = "Федеральный саммит СССР";

radioButton4.Text = "Съезд Советов СССР";

groupBox1.Text = "Вопрос " + numbervv;

Uncheck_All();

}

else if (numbervv == 2)

{

if (radioButton4.Checked)

{

PravOtv++;

OtvText += groupBox1.Text + " - верно\n";

}

else

{

OtvText += groupBox1.Text + " - неверно\n";

}

numbervv++;

label1.Text = "Конституция СССР — основной закон Советского Союза. Сколько всего версий конституции было принято за время существования СССР?";

radioButton1.Text = "2";

radioButton2.Text = "3";

radioButton3.Text = "4";

radioButton4.Text = "5";

groupBox1.Text = "Вопрос " + numbervv;

Uncheck_All();

}

else if (numbervv == 3)

{

if (radioButton2.Checked)

{

PravOtv++;

OtvText += groupBox1.Text + " - верно\n";

}

else

{

OtvText += groupBox1.Text + " - неверно\n";

}

numbervv++;

label1.Text = "1929 году был утверждён первый пятилетний план развития СССР. За какой период была выполнена эта пятилетка?";

radioButton1.Text = "3 года";

radioButton2.Text = "3 года и 4 месяца";

radioButton3.Text = "4 года";

radioButton4.Text = "4 года и 3 месяца";

groupBox1.Text = "Вопрос " + numbervv;

Uncheck_All();

}

else if (numbervv == 4)

{

if (radioButton4.Checked)

{

PravOtv++;

OtvText += groupBox1.Text + " - верно\n";

}

else

{

OtvText += groupBox1.Text + " - неверно\n";

}

numbervv++;

label1.Text = "23 августа 1939 года СССР и Германия заключили договор о ненападении, известный как пакт Молотова — Риббентропа. Сколько лет должен был действовать этот договор";

radioButton1.Text = "2 года";

radioButton2.Text = "4 года";

radioButton3.Text = "5 лет";

radioButton4.Text = "10 лет";

groupBox1.Text = "Вопрос " + numbervv;

Uncheck_All();

}

else if (numbervv == 5)

{

if (radioButton4.Checked)

{

PravOtv++;

OtvText += groupBox1.Text + " - верно\n";

}

else

{

OtvText += groupBox1.Text + " - неверно\n";

}

numbervv++;

label1.Text = "В 1989 году прошла последняя перепись населения СССР. Сколько человек, по данным переписи, проживало в Советском Союзе?";

radioButton1.Text = "208,8 миллиона человек";

radioButton2.Text = "262,4 миллиона человек";

radioButton3.Text = "286,7 миллиона человек";

radioButton4.Text = "306,7 миллиона человек";

groupBox1.Text = "Вопрос " + numbervv;

Uncheck_All();

}

else if (numbervv == 6)

{

if (radioButton3.Checked)

{

PravOtv++;

OtvText += groupBox1.Text + " - верно\n";

}

else

{

OtvText += groupBox1.Text + " - неверно\n";

}

numbervv++;

label1.Text = "5 марта 1953 года скончался Иосиф Сталин. Напишите в ответе фамилию того кто сменил его на посту председателя Совета министров СССР.";

radioButton1.Visible = false;

radioButton2.Visible = false;

radioButton3.Visible = false;

radioButton4.Visible = false;

textBox3.Visible = true;

groupBox1.Text = "Вопрос " + numbervv;

Uncheck_All();

}

else if (numbervv == 7)

{

if (textBox3.Text == "Маленков")

{

PravOtv++;

OtvText += groupBox1.Text + " - верно\n";

}

else

{

OtvText += groupBox1.Text + " - неверно\n";

}

numbervv++;

label1.Text = "Республики Союза обладали правом на свободный выход из состава СССР. Какая из них первой воспользовалась этим правом и провозгласила независимость? (Пример: Грузинская)";

groupBox1.Text = "Вопрос " + numbervv;

Uncheck_All();

}

else if (numbervv == 8)

{

if (textBox3.Text == "Литовская")

{

PravOtv++;

OtvText += groupBox1.Text + " - верно\n";

}

else

{

OtvText += groupBox1.Text + " - неверно\n";

}

label1.Text = "Какие руководители были СССР?";

textBox3.Visible = false;

checkBox1.Visible = true;

checkBox2.Visible = true;

checkBox3.Visible = true;

checkBox4.Visible = true;

checkBox1.Text = "Владимир Ильич Ленин";

checkBox2.Text = "Иосиф Виссарионович Сталин";

checkBox3.Text = "Никита Сергеевич Хрущёв";

checkBox4.Text = "Лев Данилович Троцкий";

numbervv++;

groupBox1.Text = "Вопрос " + numbervv;

Uncheck_All();

}

else if (numbervv == 9)

{

if (checkBox2.Checked & checkBox1.Checked & checkBox3.Checked)

{

PravOtv++;

OtvText += groupBox1.Text + " - верно\n";

}

else

{

OtvText += groupBox1.Text + " - неверно\n";

}

label1.Text = "Какие республики входили в состав СССР?";

checkBox1.Text = "Болгария";

checkBox2.Text = "Киргизия";

checkBox3.Text = "Армения";

checkBox4.Text = "Беларусь";

numbervv++;

groupBox1.Text = "Вопрос " + numbervv;

Uncheck_All();

}

else if (numbervv == 10)

{

if (checkBox2.Checked & checkBox4.Checked & checkBox3.Checked)

{

PravOtv++;

OtvText += groupBox1.Text + " - верно\n";

}

else

{

OtvText += groupBox1.Text + " - неверно\n";

}

label1.Text = "Вы выполнили тест на " + Convert.ToString(PravOtv * 10) + "%.";

checkBox1.Visible = false;

checkBox2.Visible = false;

checkBox3.Visible = false;

checkBox4.Visible = false;

button1.Text = "Подробнее";

numbervv = 100;

Uncheck_All();

}

else if (numbervv == 100)

{

MessageBox.Show(OtvText, "Отчет");

}

}

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

Работа данной программы на разных этапах проиллюстрирована на рисунке 6.

Рисунок 6 - Этапы выполнения теста

Соседние файлы в папке Выполненная работа