Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Урок 14. Программирование теста






 

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

Ход работы:

1. Создайте новое приложение WindowsForms.

2. Задайте заголовок формы.

3. Разместите на форме три панели, задав свойство Dock: для верхней – Top, для нижней - Bottom, для средней – Fill.

4. В нижнюю панель поместите кнопку «Начать» и в центр надпись «ТЕСТ».

5. Далее разместите следующие элементысо свойствами:

Label2: TextAlign=MiddleCenter, AutoSize=false, Dock=Fill, Visible=false;

RadioButton1, RadioButton2, RadioButton3: Visible=false, Anchor=Left;

CheckBox1, CheckBox2, CheckBox3, CheckBox4: Visible=false, Anchor=Left;

TextBox1: Visible=false;

ListBox1: Visible=false;

Button2: Visible=false;

У всех этих компонентов свойство Visible=false, что значит, при запуске программы они будут не видны. Мы их будем отображать по мере необходимости.

6. При нажатии на кнопку «Начать» должен появляться первый вопрос теста. Но и эта же кнопка будет использоваться при переходе к последующим вопросам. Поэтому введем переменную n, в которой будет фиксироваться количество нажатий кнопки. Также объявим переменную S, в которой будут суммироваться правильные ответы. Объявим эти переменные глобально и присвоим им начальные значения: intn=1, s=0;

7. Процедура кнопки «Начать» будет содержать следующие команды:

switch (n)

{

case 1:

label1.Visible = false;

panel1.Size = newSize(486, 100);

label2.Text = " 1. Какой компонент служит для ввода данных? ";

label2.Visible = true;

button1.Text = " Далее";

radioButton1.Text = " label"; radioButton2.Text = " textBox"; radioButton3.Text = " button";

radioButton1.Visible = true; radioButton2.Visible = true; radioButton3.Visible = true;

n++;

break;

case 2:

if (radioButton2.Checked == true) s++;

label2.Text = " 2. На каких языках в Visual Studio можно писать программы? ";

radioButton1.Visible = false; radioButton2.Visible = false; radioButton3.Visible = false;

checkBox1.Visible = true; checkBox2.Visible = true; checkBox3.Visible = true; checkBox4.Visible = true;

checkBox1.Text = " Visual Basic"; checkBox2.Text = " Pascal"; checkBox3.Text = " Visual C#";

checkBox4.Text = " Visual Fortran";

n++;

break;

case 3:

if ((checkBox1.Checked) & (! checkBox2.Checked) & (checkBox3.Checked) & (! checkBox4.Checked)) s++;

label2.Text = " 3. Какое свойство управляет видимостью компонента? ";

checkBox1.Visible = false; checkBox2.Visible = false; checkBox3.Visible = false; checkBox4.Visible = false;

textBox1.Visible = true;

n++;

break;

case 4:

if ((textBox1.Text == " Visible") | (textBox1.Text == " visible")) s++;

label2.Text = " 4. Расставьте этапы решения задач на компьютере в правильном порядке.";

textBox1.Visible = false; listBox1.Visible = true; button2.Visible = true;

n++;

break;

case 5:

if ((listBox1.Items[0] == " Постановказадачи; ") & (listBox1.Items[1] == " Математическаяформализация; ") & (listBox1.Items[2] == " Построениеалгоритма; ") & (listBox1.Items[3] == " Составлениепрограммынаязыкепрограммирования; ") & (listBox1.Items[4] == " Отладкаитестирование; ") & (listBox1.Items[5] == " Проведениерасчетовианализрезультатов; ")) s++;

label2.Text = " Тестокончен! Вынабрали - " + Convert.ToString(s);

listBox1.Visible = false; button2.Visible = false;

n++;

break;

}

 

При нажатии на Button2[^] выделенная строка в ListBox должна перемещаться на позицию вверх. Процедурадляэтойкнопки:

 

string m = " ";

int i;

i = listBox1.SelectedIndex;

if (listBox1.SelectedIndex! = 0)

{

m = listBox1.Items[listBox1.SelectedIndex - 1].ToString();

listBox1.Items[listBox1.SelectedIndex - 1] = listBox1.Items[listBox1.SelectedIndex];

listBox1.Items[listBox1.SelectedIndex] = m;

listBox1.SelectedIndex = i - 1;

}

 

 

Задания для самостоятельного выполнения:

1. Добавить к тесту еще несколько своих вопросов разного типа.

2. Добавить кнопку, перемещающую выделенную в ListBoxстроку на одну позицию вниз.

 

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.