Вы находитесь на странице: 1из 27

Частное образовательное учреждение высшего образования

«Международный Институт Дизайна и Сервиса»


(ЧОУВО МИДиС)
Кафедра математики и информатики

КУРСОВАЯ РАБОТА
по дисциплине ОП.05 Основы программирования
На тему: Разработка программного комплекса «Система тестирования»

специальности: 09.02.03 Программирование в компьютерных системах

Научный руководитель
Методист КМиИ
Е.В. Прилепина

Автор работы
студент группы П-35
В. А. Сверчков

Челябинск 2021
Содержание

ВВЕДЕНИЕ..............................................................................................................3
ГЛАВА 1. ТЕСТИРОВАНИЕ, ИСТОРИЯ СОЗДАНИЯ ТЕСТА........................4
1.1 История возникновения тестирования............................................................4
1.1. Определение тестирования..............................................................................5
1.2. Виды тестов.......................................................................................................5
1.3 Примеры тестирующих программ...................................................................6
1.4. Положительные и отрицательные стороны тестирования.........................12
1.4.1. Положительные стороны метода тестирования.......................................12
1.4.2 Недостатки метода тестирования...............................................................13
ГЛАВА 2. РАЗРАБОТКА ПРОГРАММЫ ТЕСТИРОВАНИЯ.........................15
2.1 Выбор языка программирования...................................................................15
2.2 История языка программирования................................................................15
2.3 Техническое задание для разработки программы........................................19
2.4 Словесный алгоритм приложения.................................................................20
2.5 Описание использованных команд, объектов, свойств, методов...............21
ЗАКЛЮЧЕНИЕ.....................................................................................................25
ИСПОЛЬЗОВАННЫЕ ИСТОЧНИКИ.................................................................26

2
ВВЕДЕНИЕ11

Так как для преподавателей и студентов важно в процессе обучения


отрабатывать полученные умения и навыки им необходим способ для
достижения этих целей. Тестирование отлично для этого подходит и хорошо
вписывается в текущий учебный процесс. С помощью тестирования можно
легко узнать, как ученик усвоил тот или иной учебный материал, а также
сравнить его результат с показателями других учащихся и выявить
пропущенные или плохо усвоенные знания группы или конкретного
человека.
Целью курсовой работы является: Проектирования и разработка
программного комплекса «Система тестирования» по теме «Выполение
алгоритмов для исполнителей».
Объектом исследования данной курсовой работы является «тест».
Предметом исследования является тестирующая программа.
Процесс подготовки к непосредственной реализации данного
программного продукта можно разделить на следующие задачи:
 Изучение предметной области;
 Анализ существующих решений;
 Разработка технического задания;
 Разработка десктопного приложения;
 Тестирование программного продукта;
Программа будет использоваться для дальнейшего тестирования
учащихся по направлению «Информатики» и «Программирования».

3
ГЛАВА 1. ТЕСТИРОВАНИЕ, ИСТОРИЯ СОЗДАНИЯ
ТЕСТИРОВАНИЯ И ЕГО ВИДЫ.

1.1 История возникновения тестирования.

История развития тестов своими корнями уходит в глубину веков, она


связана с измерением различных способностей, знаний, умений и навыков.
Эти измерения можно считать предысторией тестов. Уже в середине 3-его
тысячелетия до нашей эры в Древнем Вавилоне проводились испытания
выпускников в школах писцов на знание арифметических действий, умение
измерять поля, распределять рационы, делить имущество, владение
искусством пения и игры на музыкальных инструментах.
Первым этапом применения тестов в мировой практике можно считать
период с 80-х годов XIX века до 20-х годов XX века. Этот период
характеризуется зарождением и становлением тестирования.
К концу XIX века практическая проблема исследования
индивидуальных различий стала толчком к появлению первых тестов.
Известный английский психолог Ф. Гальтон провёл серию испытаний, в
которых можно было проверить свои физические качества (силу, быстроту
реакции), физиологические возможности организма и психические свойства.
Родоначальником тестологии по праву считается Дж. Кэттелл, так как
именно он увидел в тестах средство измерения свойств человеческой
психики. Ученый считал, что применение тестов к большому числу
индивидов позволит открыть закономерности психических процессов.
Исследователь полагал, что научная и практическая ценность тестов
возрастёт, если условия их проведения будут однообразными. Так было
впервые сказано о необходимости стандартизации тестов, чтобы можно было
сравнить результаты, полученные разными исследователями на разных
испытуемых. [11]
4
1.1. Определение тестирования.

Тестирование – (от англ. Test – опыт, проба) – метод психологической


диагностики, использующий стандартизированные вопросы и задачи (тесты),
имеющие определённую шкалу значений. Применяются тестирования для
стандартизированного измерения индивидуальных различий. Тестирование
позволяет с известной вероятностью определить актуальный уровень
развития у человека необходимых навыков, знаний, личностных
характеристик и т.д. [4]

1.2. Виды тестов.

Традиционные тесты.
Традиционный тест обладает составом, целостностью и структурой. Он
состоит из заданий, правил их применения, оценок за выполнение каждого
задания и рекомендаций по интерпретации тестовых результатов.  Результат
традиционного теста зависит от количества вопросов, на которые был дан
правильный ответ.
Нетрадиционные тесты.
К нетрадиционным тестам можно отнести тесты интегративные,
адаптивные, многоступенчатые и так называемые критериально-
ориентированные тесты.
Интегративные тесты
Интегративным можно назвать тест, состоящий из системы заданий,
нацеленных на обобщенную итоговую диагностику подготовленности
выпускника образовательного учреждения. Диагностика проводится
посредством предъявления таких заданий, правильные ответы на которые
требуют интегрированных (обобщенных, явно взаимосвязанных) знаний двух
и большего числа учебных дисциплин.
5
Адаптивные тесты
Адаптивный тест представляет собой вариант автоматизированной
системы тестирования, в которой заранее известны параметры трудности и
дифференцирующей способности каждого задания. Эта система создана в
виде компьютерного банка заданий, упорядоченных в соответствии с
интересующими характеристиками заданий. Самая главная характеристика
заданий адаптивного теста — это уровень их трудности, полученный
опытным путем, что означает: прежде чем попасть в банк, каждое задание
проходит эмпирическую апробацию на достаточно большом числе типичных
учащихся интересующего контингента. [2,4]

1.3 Примеры тестирующих программ

В современной практике обучения программированию широкое


распространение получили тестирующие системы, с помощью которых
производится автоматическое тестирование кода программ и проверка их на
правильность. На данный момент существует множество тестирующих
систем, интегрированных в различные онлайн сервисы, позволяющих
автоматически проверять задачи. Некоторые из сайтов с заданиями
насчитывают тысячи задач, подготовленных для онлайн-тестирования. В
качестве примеров можно рассмотреть архив задач Уральского федерального
университета – Timus Online Judge, сайт сообщества спортивных
программистов Саратовского государственного университета Codeforces,
сайт компании TopCoder, специализирующейся на соревнованиях по
программированию, учебный комплекс задач по информатике Московского
центра непрерывного математического образования – Информатикс.
Стоит отметить, что у всех вышеперечисленных интернет-ресурсов
есть две глобальные проблемы. Во-первых, онлайн взаимодействие требует
постоянного интернет-подключения на довольно высокой скорости, что
зачастую сложно, особенно в отдаленных регионах Российской Федерации.
6
Таким образом, необходимость постоянного подключения к сети Интернет
сужает круг пользователей данных ресурсов. Во-вторых, все подобные
архивы задач, за исключением разве что сайта Дистанционной подготовки
Московского центра непрерывного математического образования, хорошо
структурированы в областях сложных задач и соревнований по
программированию, но обладают слабой и не вполне стройной структурой в
области учебных задач для начинающих. Все перечисленные архивы задач
ориентированы в первую очередь на соревнования высокого уровня по
программированию, например, чемпионат ACM International Collegiate
Programming Contest, International Olympiad in Informatics и другие. Таким
образом, все перечисленные интернет-ресурсы обладают рядом
существенных недостатков, что делает невозможным их использование в
рамках создаваемого учебного курса. [10,11,12,13]
За основу для рассмотрения были взяты единый государственные
экзамен – ЕГЭ, тесы в различных учебных заведениях и учебный комплекс
задач по информатике Московского центра непрерывного математического
образования – Информатикс.
В последние годы наибольший интерес у преподавателей вызывают
тесты адаптивного контроля обучения – подбор и разброс заданий на
соответствующие и не соответствующие зонам актуального и ближайшего
развития учащихся. Если задания соответствуют уровню знаний
обучающихся и подразумевают решение без посторонней помощи, такие
задания относят в зону актуального развития, иначе – к зоне ближайшего
развития.
Хорошие примеры заданий из зоны актуального развития по нашей
специальности «Программирование в компьютерных системах» можно найти
на сайте Информатикс –задания подобраны таким образом, что по
прохождению лекции или урока по теме студент может выполнить
необходимый минимум задач (рис. 1).

7
Рисунок 1 - Пример задачи на сайте informatics.mccme.ru по теме «Матрицы»

В интернете есть множество способов расширить возможности


тестирований, позволяя отслеживать статистику тестов – на платформах
AnsTester и MultiTester можно воспользоваться редактором для создания
своих тестов, которые не только позволяют получать результаты в удобной
форме, но и исследовать статистику отвечающих – пол, возраст, частоту
выбора того или иного ответа. MultiTester, также, имеет способность
проведения тестирования знаний с возможностью наблюдать за ходом
работы тестируемых в режиме реального времени. Статистические данные
позволяют исследовать не только результат одного студента и его уровень
знаний, но и всю совокупность полученных результатов максимально
удобным способом. Это одно из главных преимуществ программного
тестирования.
Айрен — это бесплатная программа, позволяющая создавать тесты для
проверки знаний и проводить тестирование в локальной сети, через интернет
или на одиночных компьютерах (рис. 2).
Тесты могут включать в себя задания различных типов: с выбором
одного или нескольких верных ответов, с вводом ответа с клавиатуры, на
установление соответствия, на упорядочение и на классификацию.
8
При сетевом тестировании преподаватель видит на своем компьютере
подробные сведения об успехах каждого из учащихся. По окончании работы
эти данные сохраняются в архиве, где их в дальнейшем можно
просматривать и анализировать с помощью встроенных в программу средств.

Рисунок 2 - Главная страница Айрен

Уже давно программные тесты используются не только на


компьютерах – на мобильных сервисах давно появились приложения
дополнительного образования, использующие систему тестирования.
Набирая определенный прогресс или баллы, пользователь открывает новые
уровни сложности, темы и вопросы для теста, а возможность
перепрохождения позволяет закрепить изученный материал.
Подобные программы чаще носят развлекательный характер, однако
тоже выполняют контролирующе-обучающую функцию, что делает их более

9
привлекательными для детей младшего возраста. Например, интересная
программа Math| Riddles and Puzzles.
Math Riddles — это не простая головоломка со словами или загадками,
весь смысл крутится вокруг математики. Пользователю необходимо будет
провести параллель между цифрами и геометрическими фигурами.
Возможно, первые уровни покажутся простыми, ведь они основаны на
элементарных правилах. Но дальше сложность будет увеличиваться.
Разработчик заявляет, что игра хорошо подойдёт детям, но у меня есть
сомнения по этому поводу (рис 3,4).

Рисунок 3 - Рекламное изображение №1 с главной страницы Math | Riddles and


Puzzles в Play Store

10
Рисунок 4 - Рекламное изображение №2 с главной страницы Math | Riddles and
Puzzles в Play Store

1.4. Положительные и отрицательные стороны тестирования.

11
1.4.1. Положительные стороны метода тестирования

Простота процедуры. В отличие от других методов исследования,


тесты являются одним из самых простых инструментов. Это совершенно не
означает, что они тривиальны. В отличие от целенаправленных исследований
или каких-нибудь многофакторных методов, тесты позволяют
воспользоваться преимуществами современных технологий. Сегодня можно
создавать и проходить тестовые опросы даже на мобильном телефоне.
Положительно влияет на успеваемость. Согласно исследованию, в
области тестирования более 90% студентов обнаружили, что
стандартизированные тесты положительно влияют на их достижения.
Студенты чувствуют себя лучше в отношении их способности понимать и
знать предметные материалы, которые представлены в тесте.
Легко добраться до респондентов. Упомянутая простота связана с
легкостью охвата респондентов. Опросы не слишком сложные и не отнимают
много времени, поэтому существует больше шансов привлечь кого-то к
участию. Тем более на сегодня мнохугйие люди сами заинтересованы в
прохождении разнообразных тестов для определений своих способностей.
Автоматизация. Сегодня технологии позволяют без особых трудностей
и даже при отсутствии специализированных знаний создавать тестовые
опросы. Самое главное, что система, которая предоставляет респонденту
задания, является автоматизированной. Это позволяет существенно
сократить издержки на разработку тестовых заданий, их обработку и
определение результатов. Помимо этого, с помощью тех данных, которые
получены в результате опросов, можно создавать огромные по объёму
информации выкладки с применением разного рода фильтров и параметров.
Без использования автоматизированных систем, работа с таким объёмом
данных является очень затратной, а во многих случаях фактически
невозможной.

12
Объективность. Процедура тестирования является объективной. За
идентичные решения все испытуемые получают одинаковое количество
баллов. Кроме того, многие считают, что именно компьютер обеспечивает
абсолютную честность оценки.

1.4.2 Недостатки метода тестирования

Нельзя проверить глубину знаний. Тесты дают поверхностную оценку


знаний респондента. Возможна ситуация, при которой тестируемый человек
хорошо знает тему вопроса и может раскрыть ее достаточно глубоко, но не
помнит отдельных фактов или точных значений (например, дат, имен,
названий, разного рода высказываний и определений).
Угадывания. Очень часто тесты составлены так что, даже не зная
правильного ответа можно определить его с помощью метода исключения.
Бывает, что все или несколько предоставленных вариантов (кроме
правильного) не подходят по контексту, они могут быть просто
некорректными, шуточными или глупыми. Поэтому итоговая оценка
респондента может быть несправедливой. Но даже если задания составлены
правильно, все равно не исключено угадывание, в отличие от других методов
оценивания (например, заданий, где нет вариантов ответов и нужно указать
полный ответ на вопрос).
Отсутствие творческой составляющей. Тест не показывает творческих
или исследовательских наклонностей респондента. Негативным фактором
также является привыкание тестируемых к данному виду опросов, что ведет
к потере мотивации развития в сторону свободного творческого мышления.
Человек знает, что для прохождения теста ему достаточно знать какие-то
разрозненные факты и пользуется этим, не углубляясь в тему.
Трудности повторного применения. Для повторного использования
теста по той же теме, необходимо пересоздавать тест или хотя
бы переформулировать вопросы. Иногда используется перестановка
13
вопросов, но это может привести к механическому запоминанию без
вникания в суть задания.
Предсказуемость стандартизированного тестирования. Студенты,
которые знают о шаблонах, могут определить, какими будут ответы на
стандартизированный тест, зная при этом только несколько ответов из всего
задания. Это означает, что результаты тестов могут быть высокими без
должных знаний респондента. [8]

Вывод по главе 1: мы рассмотрели историю и общую информацию о тестах,


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

14
ГЛАВА 2. РАЗРАБОТКА ПРОГРАММЫ ТЕСТИРОВАНИЯ.

2.1 Выбор языка программирования.

Для разработки теста я выбрал такой язык программирования, как – C#,


программа для написания кода – Visual Studio. Сделал я такой выбор из-за
того, что C# – основной язык, изучаемый на 2 курсе. Разработка в Visual
Studio на языке C# позволяет создать приложение для Windows самым
простым способом – с помощью Windows Forms.

2.2 История языка программирования

Основоположником программирования можно считать английского


математика Чарлза Бэббиджа. В 20-х годах XIX века ему пришла идея
создать такую механическую машину для вычислений, что порядок ее
действий можно было предварительно записывать и впоследствии выполнять
эти действия на машине автоматически. Это была идея, положившая начало
программированию. Дальнейшего прогресса в программировании пришлось
ждать почти 100 лет, и связан он был с появлением в середине 1940-х годов
электромеханических и электронных вычислительных машин — родителей
современных компьютеров. Для программирования этих машин
использовались машинные коды — цифровые комбинации, "понятные"
только данной машине. Такое программирование было чрезвычайно
трудоемким и сложным делом, доступным лишь небольшому кругу
специалистов.
В современном мире данные технологии устарели, им на пользу
пришли более усовершенствованные и лёгкие в освоении языки
программирования.
В 1951 г. был создан первый в мире компилятор. Компилятор
осуществлял функцию объединения команд и в ходе трансляции производил

15
организацию подпрограмм, выделение памяти компьютера, преобразование
команд высокого уровня в машинные команды
Одними из первых языков программирования были “BASIC” и
“PASCAL”, созданы они были в середине 1960-х и 1970-х годов, но остаются
актуальными и по сей день.
Большой отпечаток на современное программирование наложил язык
Си (первая версия — 1972 г.), являющийся очень популярным в среде
разработчиков систем программного обеспечения (включая операционные
системы). Си сочетает в себе черты как языка высокого уровня, так и
машиноориентированного языка, допуская программиста ко всем машинным
ресурсам, чего не позволяют такие языки, как Бейсик и Паскаль.
C# (произносится как “си шарп”) – современный объектно-и
компонентно-ориентированный язык программирования. Он относится к
широко известному семейству языков Си.
Разработка C# началась в декабре 1998 года. Первая бета-версия C# 1.0
увидела свет в 2000 году. В 2020 году вышла последняя версия на данный
момент C# 9.0
Язык С# разработан прежде всего для платформы .NET, которая
является средой, объединяющей программные технологии, для разработки
Web- и Windows-приложений (отсюда и название). Основу среды .NET
составляет CLR (Common Language Runtime) – общеязыковая среда
исполнения, которая состоит из двух основных частей:
 Ядра (набор служб, управляющих загрузкой приложения в память, собраны
в библиотеке mscoree.dll);
 Библиотеки базовых классов (главная сборка в библиотеке mscorlib.dll)
Разработка приложений на языке C# ведётся на платформе Visual
Studio.Net., куда помимо C# встроены такие языки программирования, как
Visual Basic.net и Visual C++. На этой платформе и написана практическая
часть курсовой работы.

16
По современным меркам C# версии 1.0 не предоставлял практически
никаких возможностей. Вам пришлось бы писать довольно подробный код.
Однако надо же было с чего-то начинать. C# версии 1.0 был достойной
альтернативой Java на платформе Windows.
Основные возможности C# 1.0 включали следующие компоненты:
 Классы;
 Структуры;
 Интерфейсы;
 События;
 Свойства;
 Делегаты;
 Операторы и выражения;
 Операторы;
 Атрибуты.
Версия C# 1.2 входит в состав Visual Studio .NET 2003. Она содержит
ряд небольших улучшений языка. Наиболее значительным изменением
является то что, начиная с этой версии код, создаваемый в цикле foreach,
вызывает Dispose в IEnumerator, если IEnumerator реализует IDisposable.
Вот теперь все становится гораздо интереснее. Давайте рассмотрим
некоторые основные возможности языка C# 2.0, выпущенного в 2005 году
вместе с Visual Studio 2005:
 Универсальные шаблоны;
 Разделяемые типы;
 Анонимные методы;
 Типы значений, допускающие значение NULL;
 Итераторы;
 Ковариантность и контравариантность.
Другие возможности C# 2.0 расширяли существующие возможности:
 Отдельный доступ к методу получения и методу задания;
 Преобразования групп методов;
17
 Статические классы;
 Выведение делегата.
Хотя сначала C# и был универсальным объектно-ориентированным
языком, в C# версии 2.0 все кардинально изменилось. Нащупав опору под
ногами, команда уделила внимание решению серьезных проблем, с которыми
сталкивались разработчики. И они подошли к делу с огоньком.
C# версии 3.0 был выпущен в конце 2007 года вместе с Visual Studio
2008, однако существенно набор возможностей языка пополнится только
в .NET Framework версии 3.5. Эта версия ознаменовала кардинальное
изменение развития C#. Она доказала, что C# действительно является
достойным языком программирования. Давайте рассмотрим некоторые
основные возможности в этой версии:
 Автоматически реализуемые свойства;
 Анонимные типы;
 Выражения запросов;
 Лямбда-выражения;
 Деревья выражений;
 Методы расширения;
 Неявно типизированные локальные переменные;
 Разделяемые методы;
 Инициализаторы объектов и коллекций.
Если оглянуться назад, становится ясно, что многие из этих
возможностей не могли не появиться или появиться отдельно друг от друга.
Все они образуют единый и стратегически значимый набор. Принято
считать, что уникальным преимуществом C# было выражение запроса,
которое также называется LINQ.
Разработчикам версии C# 4.0, выпущенной вместе с Visual Studio 2010,
пришлось приложить серьезные усилия, чтобы не отставать от новаторской
версии 3.0. С появлением версии 3.0 язык C# смог выйти из тени Java и

18
занять доминирующее положение. Он быстро становился утонченным и
элегантным.
Следующая версия представила ряд интересных функций:
 Динамическая привязка
 Именованные/дополнительные аргументы
 Универсальная ковариантность и контравариантность
 Внедренные типы взаимодействия
Также были такие версии как 4.0, 5.0, 6.0, 7.0, 7.1,7.2,7.3 и на данный
момент самая актуальная 8.0.
C# 8.0 — это первый основной выпуск C#, специально
предназначенный для .NET Core. Некоторые функции основаны на новых
возможностях среды CLR, другие — на типах библиотек, добавленных
только в .NET Core. В C# 8.0 добавлены следующие функции и улучшения
языка C#:
1. Члены только для чтения.
2. Методы интерфейса по умолчанию.
3. Улучшения сопоставления шаблонов:
3.1. выражения switch;
3.2. шаблоны свойств;
3.3. шаблоны кортежей;
3.4. Позиционные шаблоны.
4. Объявления using.
5. Статические локальные функции.
6. Удаляемые ссылочные структуры.
7. Ссылочные типы, допускающие значение NULL.
8. Асинхронные потоки.
9. Индексы и диапазоны.
10. Присваивание объединения со значением NULL.
11. Неуправляемые сконструированные типы.
12. Выражение stackalloc во вложенных выражениях. [3, 12, 10]
19
2.3 Техническое задание для разработки программы

Данная программа является приложением Windows, значит для ее


реализации будем использовать стандартный подход при написании
программ под Windows с использованием графического интерфейса. Так
отдельно создадим форму с визуальными компонентами, для различных
визуальных компонент сопоставляем процедуры – обработчики. Далее, как
только происходит событие на каком-то из визуальных компонент, (щелчок
мыши, нажатие на кнопку или пункт меню), операционная система посылает
приложению соответствующее сообщение, и запускается соответствующий
обработчик именно для этого события.
Программа используется для проверки знаний. В первой форме
выводится окно ввода для имени, фамилии и группы ученика с кнопкой
начать тестирование. В формах quest1-quest20 выводятся вопросы с
вариантами ответов или с полем для ввода ответа. На заключительной форме
выводится имя, фамилия тестируемого, так же кол-во очков, процентное
соотношение и оценка. Критерии оценки: 0-10 баллов – 2; 11-13 баллов – 3;
14-16 баллов – 4; больше 16 баллов – оценка 5.

2.4 Словесный алгоритм приложения.

Запустить экранную форму авторизации «Form1»;


Ввести имя, фамилию и группу;
При нажатии на кнопку «Начать тестирование» следует выполнить
действия:
Обнулить счетчик правильных ответов «points»;
Присвоить переменной «username» значение textBox’а «textBox1»;
20
Присвоить переменной «userfamily» значение textBox’а «textBox2»;
Присвоить переменной «usergroup» значение textBox’а «textBox3»;
Скрыть форму «Form1» и показать форму «quest1»;
Показать первый вопрос и варианты его ответов на форме;
Ожидать нажатия на кнопку «Ответить».
При нажатии на кнопку «Продолжить» следует выполнить действия:
Проанализировать выбранный вариант ответа и сравнить его с
правильным, и если ответ правильный, то прибавить 1 к переменной «points».
Если ответ не правильный, то прибавление не засчитывается.
Если текущий вопрос – последний, то при нажатии кнопки «Ответить»:
Загрузить форму «Form2»;
Вывести кол-во баллов при нажатии кнопки «Проверить свой балл»;
Подсчитать оценку пропорционально количеству баллов;

2.5 Описание использованных команд, объектов, свойств, методов

Важные элементы на форме, стандартные элементы:


1) Button – основной объект на всех формах. Интерактивный объект,
служит для разных целей в зависимости от функционала, чаще всего служит
для перехода по формам с вопросами и записыванию ответов пользователя
2) Label – объект, цель которого выводить различные надписи на
экран. Вопросы, название формы и т.д.
3) TextBox - в этот объект пользователь записывает свой ответ.
4) RadioButton – служит для выбора ответа
Программа содержит 22 формы, 20 из которых это вопросы, а
остальные-начальный экран для ввода данные и форма с выводом результата.
Свойства формы начало указаны в соответствии с табл. 1.1:
1) BackColor – LightCoral
2) Name - Start

21
3) Size-816;489
4) StartPosition - CenterScreen
5) Text – Заполнение данных
Свойства форм с вопросами:
1) BackColor – Coral
2) Name – Form1-20
3) Size-816;489
4) StartPosition - CenterScreen
5) Text – Вопрос 1-20
Свойства формы с результатом:
1) BackColor – LimeGreen
2) Name – Form22
3) Size-816;489
4) StartPosition - CenterScreen
5) Text – Результат
Таблица 1.1 - Описание объектов экранной формы Start
Имя Тип Назначение
Label1 Описание теста.
Label2 Текст. Имя.
string
Label3 Текст. Фамилия.
Label4 Текст. Номер группы.
PictureBox2 PictureBox Показ изображения.
Button1 Проверка введённых данных.
button Переход на форму Form2.
Button2 Закрытие теста.
Метод button1_Click:
При нажатии на кнопку присваивается значение переменным Fam,
Imya, Group: значения имени, фамилии и группы тестируемого. Закрывает
форму «Start» и в соответствии с табл. 1.2 открывает форму «Form1»;
Метод button2_Click:
При нажатии на кнопку закрывает текущую форму без открытия
другой формы.

22
Таблица 1.2 - Описание объектов на форме с выбором ответа
Имя Тип Назначение
Label1 Текст с вопросом.
string
Label3 Текст. Черновик.
RadioButton1 RadioButton Текст с ответом на вопрос и выбор ответа.
-4 При выборе одного из ответов кнопка
”Следующий вопрос” становится доступной.
Button1 Вернуться на предыдущую форму.
Button2 Проверяет, выбран ли один из вариантов
ответа, если да, то сравнивает с правильным
Button
ответом и записывает в переменную a1-a20
значение 1 или 0.
Button3 Показать пользователю текст с подсказкой.
TextBox1 TextBox Используется как поле для черновика
Метод button1_Click:
При нажатии на кнопку проверяется правильность ответа. Если ответ
правильный, переменной а1-20 присваивается значет1, счетчик правильных
ответов увеличивается на 1, если ответ неверный, то переменной
присваивается 0 и счетчик не изменяется; скрывается текущая форма и в
соответствии с табл. 1.3 открывается следующая.
Метод button2_Click:
При нажатии на кнопку скрывает текущую форму и открывает
предыдущую
Таблица 1.1 - Описание объектов на форме с открытым ответом
Имя Тип Переменная
Label1 Текст с вопросом.
Label2 Текст. Ответ.
string
Label3 Текст. Черновик.
textBox1 Поле для ввода ответа.
Button1 Вернуться на предыдущую форму.
Button2 Проверяет, выбран ли один из
вариантов ответа, если да, то
Button
сравнивает с правильным ответом и
записывает в переменную a1-a20
значение 1 или 0.
TextBox2 TextBox Используется как поле для черновика.
Метод button1_Click:

23
При нажатии на кнопку проверяется правильность ответа. Если ответ
правильный, переменной а1-20 присваивается значет1, счетчик правильных
ответов увеличивается на 1, если ответ неверный, то переменной
присваивается 0 и счетчик не изменяется; скрывается текущая форма и в
соответствии с табл. 1.4 открывается следующая.
Метод button2_Click:
При нажатии на кнопку скрывает текущую форму и открывает
предыдущую
Таблица 1.2 - описание объектов на форме результат

Имя Тип Переменная


Button1 Вернуться на форму регистрации.
Button
Button2 Закрыть программу.
Label3 Текст. Количество правильных
ответов.
Label2 Текст. Поздравление ФИО
пользователя и номер группы.
Label1 String Текст. Количество правильных
ответов.
Label4-13 и label24-33 Текст. Номер вопроса.
Label14-23 и label34-43 Текст. 1 или 0, зависит от
правильности ответа.
Метод button1_Click:
При нажатии на кнопку закрывается текущая форма и открывается
форма с регистрацией.
Метод button2_Click:
При нажатии на кнопку закрывает текущую форму без открытия другой
формы. [5, 10, 13]

Вывод по главе 2: Во второй главе был определен язык программирования


для проекта – С#. Так же была описана история этого языка. Было составлено
техническое задание, словесный алгоритм работы программы и описаны
команды и методы, использованные в программе.

24
ЗАКЛЮЧЕНИЕ

В результате выполнения курсовой работы я ознакомился с


понятием теста, были обозначены положительные и отрицательные стороны
тестирования и разобрана его история. Была разработана программа с
использованием визуального интерфейса Windows Forms и языка
программирования C#. Эта программа предназначена для тестирования
учащихся. После окончания теста выдается результат в виде количества
правильных ответов и оценки.
В ходе выполнения курсовой работы был получен опыт
разработки программ с использованием Windows Forms.

25
ИСПОЛЬЗОВАННЫЕ ИСТОЧНИКИ

1. Могилев А.В, Листрова Л.В. Методы программирования.


Компьютерные вычисления. – Санкт-Петербург «БХВ-Петербург», 2008.
2. Мещеряков Б.Г, Зинченко В.П. Большой психологический
словарь. - АСТ, АСТ Москва, Прайм-Еврознак, 2009 .
3. Шарп Д. Microsoft Visual C#. Подробное руководство. — Питер,
2017 г.
4. Ушаков Д.Н. Толковый словарь Ушакова. -
Хранитель, АСТ, Астрель, 2007.
5. Керниган Б., Ритчи Д. Язык программирования C. — Вильямс,
2019.
6. Карпенко Л.А. Краткий психологический словарь. - Издательство
политической литературы, 1990.
7. Медведев М.А, Медведев А.Н. Программирования на СИ#. -
Екатеринбург, 2015.
8. Желнин М.Э, Кудинов В.А, Белоус Е.С. Преимущества и
недостатки тестирование в сравнении с другими методами контроля знаний. -
[cyberleninka.ru], 2012 .
9. Олешков М.Ю, Уваров В.М. Современный образовательный
процесс: основные понятия и термины. – Москва: Компания Спутник+, 2006.
10. Мартин Р. Принципы, паттерны и методики гибкой разработки на
C# — Символ-Плюс, 2011.
11. Каплун О.А. История возникновения и развития тестирования. –
[cyberleninka.ru], 2008.
12. Котов О.М. Язык C#: краткое описание и введение в технологии
программирования. - Екатеринбург, Издательство Уральского Университета,
2014.
13. Петцольд Ч. Программирование с использованием Microsoft
Windows Forms. — Русская Редакция, 2006.
26
14. Аванесов С.В. Композиция тестовых заданий. – М.: Адепт, 1998.
15. Сдам ГИА: Решу ЕГЭ [Электронный ресурс] – Режим доступа:
https://inf-ege.sdamgia.ru/

27

Вам также может понравиться