![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Урок 14. Программирование теста
Создадим программу для тестирования. Тест будет включать различные виды вопросов: одиночный выбор, множественный выбор, открытый ответ, порядок следования. Ход работы: 1. 2. Задайте заголовок формы. 3. Разместите на форме три панели, задав свойство Dock: для верхней – Top, для нижней - Bottom, для средней – Fill. 4. В нижнюю панель поместите кнопку «Начать» и в центр надпись «ТЕСТ». 5. Далее разместите следующие элементысо свойствами: Label2: TextAlign=MiddleCenter, AutoSize=false, Dock=Fill, Visible=false; RadioButton1, RadioButton2, RadioButton3: 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строку на одну позицию вниз.
|