
- •Глава 1.Изучение теоретического материала 6
- •Глава2. Практическая часть курсовой работы 22
- •Введение
- •Глава 1.Изучение теоретического материала
- •Историческая справка
- •1.2 Принципы фон Неймана
- •1.3 Принципы работы компьютера
- •1.4 Микропроцессор
- •1.5 Внутренняя память
- •1.6 Начальная загрузка пк
- •1.7 Логическая структура пк
- •1.8 Команда
- •Глава2. Практическая часть курсовой работы
- •2.1 Сведения о программе
- •2.2 Разработка тестирующей программы
- •Заключение
- •Приложение
2.2 Разработка тестирующей программы
Всего в программе представлено 5 тестов, каждый из которых находиться на своей форме и задан с помощью элемента управления TabControl. TabControl – элемент управления с помощью которого создаются вкладки (Рисунок 4). Каждый тест имеет вкладки с 3-4 –мя вопросами, справкой и завершением тестирования. Также для разработки использовались такие элементы как: RadioButton, CheckBox, TextBox, ListBoxи Button. RadioButton –это элемент управления, который позволяет пользователю выбрать определённый параметр из группы с комбинациями с другими флаговыми кнопкам. CheckBox– элемент управления, который позволяет пользователю выбрать или удалить соответствующий параметр. TextBox – это текстовое поле, в которое вводятся данные или какие-либо слова. ListBox –отображает список из которого пользователь может выбрать элементы. Button– кнопка, при нажатии на которую возникает какое-либо событие. Рассмотрим тестирование №2. В этом тесте представлены все элементы управления перечисленные выше. Остальные тесты будут делаться по такому же принципу, что и тест №2.
Рисунок 4. Тестирование №2 с элементом управления TabControl
Все вопросы вводятся в элемент управления Label. Этот элемент управления служит в качестве элемента в который вводится текст. Кнопки (Button) «Узнать результат» и «Завершить тестирование» первоначально находятся в выключенном состоянии (Рисунок 5), то есть их нельзя использовать до тех пор, пока не будут даны все ответы на вопросы. После ответов на все вопросы возникает событие EnableChange, которое служит для того, что когда изменяется включённое состояние этого элемента управления, то происходит это событие. В данной программе оно служит для вывода сообщения, что можно будет узнать свой результат (Рисунок 6). Листинг 3 представляет код программы, отвечающий за событие EnabledChanged.
privatevoid button10_EnabledChanged(object sender, EventArgs e)
{
MessageBox.Show("Вы ответили на все вопросы, теперь вы можете узнать свой результат", "Результат");//текстовое окно в котором будет выведено сообщение в ковычках
}
Листинг 3
Рисунок 5. Выключенные кнопки
Рисунок 6. Событие EnableChange
Рассмотрим вопрос №1. В этой вкладке расположены элементы управления ListBox, 6 Button и 5 TextBox.Перед выполнением каждого задания, нужно читать справку. Чтобы ответить на этот вопрос, мы должны выбрать правильный ответ из элемента управления ListBox и перенести с помощью стрелочки в соответствующий TextBox(Рисунок 7). После этого нажать кнопку «Ответить». После нажатия этой кнопки произойдет выключения всех Textbox’ов кнопок и всего что расположено на кнопки, в том числе и кнопку «Ответить». Тем самым запрещая что–либо менять после того как ответ был дан.
Рисунок 7. Ответ на вопрос №1
Листинг 4 представляет код программы Вопроса №1 из теста №1.
double k = 0;//переменная которая отвечает за кол-во ответов
double i = 0;//переменная которая служит за кол-во правильных ответов
privatevoidТест_номер_2_Load(object sender, EventArgs e)
{
listBox1.Items.Clear();
listBox1.Items.Add("Оперативнаяпамять");//вводим в листбокс текст
listBox1.Items.Add("");//сделал, чтобы показать промежуток между текстом
listBox1.Items.Add("");
listBox1.Items.Add("");
listBox1.Items.Add("Постоянная память");
listBox1.Items.Add("");
listBox1.Items.Add("");
listBox1.Items.Add("");
listBox1.Items.Add("КЭШ-память");
listBox1.Items.Add("");
listBox1.Items.Add("");
listBox1.Items.Add("");
listBox1.Items.Add("Полупостояннаяпамять");
listBox1.Items.Add("");
listBox1.Items.Add("");
listBox1.Items.Add("");
listBox1.Items.Add("Видеопамять");
if ((button7.Enabled == false) && (button8.Enabled == false) && (button9.Enabled == false) && (button6.Enabled == false)) // если все кнопки со словом "Ответить" будут выключены, то включается кнопка узнать результат
button10.Enabled = true;
}
privatevoid button1_Click(object sender, EventArgs e)
{
textBox1.Text = listBox1.SelectedItem.ToString();// при нажатии на кнопку, в текстбокс 1 переместиться те слова, которые вы выбрали в листбоксе
}
privatevoid button2_Click(object sender, EventArgs e)
{
textBox2.Text = listBox1.SelectedItem.ToString();
}
privatevoid button3_Click(object sender, EventArgs e)
{
textBox3.Text = listBox1.SelectedItem.ToString();
}
privatevoid button4_Click(object sender, EventArgs e)
{
textBox4.Text = listBox1.SelectedItem.ToString();
}
privatevoid button5_Click(object sender, EventArgs e)
{
textBox5.Text = listBox1.SelectedItem.ToString();
}
privatevoid button6_Click(object sender, EventArgs e)
{
int a = 0;
if ((textBox1.Text == "") && (textBox2.Text == "Постоянная память") && (textBox3.Text == "") && (textBox4.Text == "Полупостоянная память") && (textBox5.Text == "Видеопамять"))// если в текстбоксах введено то что написано в " "
a = 1; //переменная а =1 если выполнено условие выше,
if ((textBox1.Text == "") && (textBox2.Text == "") && (textBox3.Text == "") && (textBox4.Text == "") && (textBox5.Text == ""))//Если в текстбоксах нечего не введенео
a = 2; // то а = 2
switch (a) //Инициализируем обработку значений a
{
case 1: // если а = 1 , то отключаются кнопки и текстовые поля расположенные ниже, и изменяются счетчики k и i
k =k+1;
i =i+1;
button1.Enabled = false;
button2.Enabled = false;
button3.Enabled = false;
button4.Enabled = false;
button5.Enabled = false;
button6.Enabled = false;
textBox1.Enabled = false;
textBox2.Enabled = false;
textBox3.Enabled = false;
textBox4.Enabled = false;
textBox5.Enabled = false;
break;// закрываем обработку значений a
case 2://если а = 2 , то отключаются кнопки и текстовые поля расположенные ниже, и изменяются счетчики k и i
MessageBox.Show("Выберите ответы!");//сообщение что должны быть выбраны ответы
break;
default:
k += 1;
button1.Enabled = false;
button2.Enabled = false;
button3.Enabled = false;
button4.Enabled = false;
button5.Enabled = false;
button6.Enabled = false;
textBox1.Enabled = false;
textBox2.Enabled = false;
textBox3.Enabled = false;
textBox4.Enabled = false;
textBox5.Enabled = false;
break;
}
if ((button7.Enabled == false) && (button8.Enabled == false) && (button9.Enabled == false) && (button6.Enabled == false))
button10.Enabled = true; // если все кнопки со словом "Ответить" будут выключены, то включается кнопка узнать результат
}
Листинг 4
Перейдём к вопросу №2. На форме в этой вкладке присутствует новый элемент управления, помимо тех которые были, RadioButton (Рисунок 8).Для чего он служит рассказано выше. Чтобы ответить на этот вопрос, следует отметить правильный ответ. Он может быть только 1. Это отличает CheckBox от RadioButton.В CheckBox можно отметить несколько значений.
Рисунок 8. Вопрос №2
В вопросе происходят те же самые события, что и в вопросе №1. Поэтому перейдем к рассмотрению листинга вопроса №2. Листинг 5 представляет код программы отвечающий за вопрос №2 тестирования №1
privatevoid button7_Click(object sender, EventArgs e)
{
int a = 0;
if (radioButton3.Checked == true)//если выбран 3 радиобаттон, то а = 1
a = 1;
if ((radioButton1.Checked == false) && (radioButton2.Checked == false) && (radioButton3.Checked == false) && (radioButton4.Checked == false))//еслинечегоневыбрано, тоа =2
a = 2;
switch (a)//Инициализируем обработку значений a
{
case 1://если а = 1 , то отключаются радиобаттоны расположенные ниже, и изменяются счетчики k и i
i = i + 1;
k = k + 1;
radioButton1.Enabled = false;
radioButton2.Enabled = false;
radioButton3.Enabled = false;
radioButton4.Enabled = false;
button7.Enabled = false;
break;
case 2://если а = 2 , то отключаются радиобаттоны расположенные ниже, и изменяются счетчики k
MessageBox.Show("Вы не выбрали ответ! Если вы не знаете как выполнить тест, то обратитесь к справке");
break;
default:
k =k+ 1;
button7.Enabled = false;
radioButton1.Enabled = false;
radioButton2.Enabled = false;
radioButton3.Enabled = false;
radioButton4.Enabled = false;
break;
}
if ((button7.Enabled == false) && (button8.Enabled == false) && (button9.Enabled == false) && (button6.Enabled == false))
button10.Enabled = true;
}
Листинг 5
Перейдём к вопросу №3. На форме в этой вкладке присутствует элемент управления CheckBox (Рисунок 9). Чтобы ответить на этот вопрос, нужно поставить галочки около тех ответов, которые вы считаете правильными.
Рисунок 9. Вопрос №3
В листинге 6 представлен текст программы, отвечающий за тестирование с элементом управления CheckBox.
privatevoid button8_Click(object sender, EventArgs e)
{
int a = 0;
if ((checkBox1.Checked == true) && (checkBox3.Checked == true))//если выбраны определённые checkbox то
a = 1;//переменная а приравнивается к 1
if ((checkBox1.Checked == false) && (checkBox2.Checked == false) && (checkBox3.Checked == false) && (checkBox4.Checked == false))//если в текстбоксах ничего не введено, то
a = 2;//а = 2
switch (a)//Инициализируем обработку значений a
{
case 1://если а = 1 , то отключаются кнопки и чекбоксы расположенные ниже, и изменяются счетчики k и i
i = i + 1;
k = k + 1;
checkBox1.Enabled = false;
checkBox2.Enabled = false;
checkBox3.Enabled = false;
checkBox4.Enabled = false;
button8.Enabled = false;
break;
case 2://если а = 1 , то отключаются кнопки и чекбоксы расположенные ниже, и изменяются счетчики k
MessageBox.Show("Выберите ответ! Если вы не знаете как выполнить тест, то обратитесь к справке");
break;
default:
k = k + 1;
checkBox1.Enabled = false;
checkBox2.Enabled = false;
checkBox3.Enabled = false;
checkBox4.Enabled = false;
button8.Enabled = false;
break;
}
if ((button7.Enabled == false) && (button8.Enabled == false) && (button9.Enabled == false) && (button6.Enabled == false))
button10.Enabled = true;// если все кнопки со словом "Ответить" будут выключены, то включается кнопка узнать результат
}
Листинг 6
Вопрос №4. В этом вопросе используется только button и TextBox (Рисунок 10). Чтобы ответить на этот вопрос мы должны ввести слово или словосочетание в текстовое поле.
Рисунок 10. Вопрос 4
В листинге 7 представлен текст программы, отвечающий за выполнение этой части тестирования.
privatevoid button9_Click(object sender, EventArgs e)
{
string a = Convert.ToString(textBox6.Text);//В текстбокс номер 6 вводится текст форматаToString то есть строчный.
string b = "Хранения параметров конфигурации компьютера";//Переменной b присваивается тект типа string
if (a == "")//если в текстбокс нечего не введено, то выдаётся сообщение, о том что нужно ввести ответ
MessageBox.Show("Введите ответ!");
else
if (a == b)//если в текстбокс 6 будут введён текст который присвоен к значению b, то изменяютсяя счетчики i и k
{
i = i + 1;
k = k + 1;
button9.Enabled = false; //происходит выключение кнопки
textBox6.Enabled = false;// выключение текстбокса
}
else//если не выполнилось условие выше, то выполняется условие иначе(else)
{
k = k + 1;
button9.Enabled = false;
textBox6.Enabled = false;
}
if ((button7.Enabled == false) && (button8.Enabled == false) && (button9.Enabled == false) && (button6.Enabled == false))
button10.Enabled = true; //если все кнопки со словом "Ответить" будут выключены, то включается кнопка узнать результат
}
Листинг 7
После того как были даны все ответы, то происходит событие EnableChange (об этом событии написано выше). Все кнопки становятся недоступны, а кнопка «Узнать результат» становится активной (Рисунок 11). После клика по кнопке «Узнать результат» выполняется еще одна программа, которая считает количество выполненных заданий, количество правильных ответов и процент выполнения (Рисунок 12). После всех этих процедур открывается кнопка «Завершить тестирование»
Рисунок 11. Результат
Рисунок 12. Кол-во выполненных заданий
В листинге 8 представлен текст программы, отвечающий за подсчёта результата
privatevoid button10_Click(object sender, EventArgs e)
{
MessageBox.Show("Вами отвечено на " + k.ToString("n") + " вопросов.Из них правильных ответов дано " + i.ToString("n") + " Процент выполнения " + (i / k * 100) + "%", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Information);//выводит сообщение, где происходит подсчёт i(правильных ответов) и подсчет по формуле процентов выполнения
button11.Enabled = true;//включается кнопка "завершить тестирование"
}
Листинг 8
Все ответы приведены в приложении.