5120

Программа – тест: Годны ли вы к службе в армии

Курсовая

Информатика, кибернетика и программирование

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

Русский

2012-12-03

932 KB

135 чел.

Введение

Польза тестов для человека

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

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

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

Целью курсовой работы является разработка программного приложения «Программа – тест «Годны ли вы к службе в армии?».

Для достижения цели, необходимо выполнить следующие задачи: рассмотреть теоретические вопросы о языке программирования C#; разработать пользовательский интерфейс приложения; написать программный код; протестировать разработанную программу.


1 Теоретическая часть

Данное приложение было разработано  при помощи языка программирования C#, в среде программирования Microsoft Visual Studio 2008.

C# (Си-шарп) — объектно-ориентированный язык программирования для платформы .NET. Разработан в 2000 году Андерсом Хейлсбергом, Скоттом Вилтамутом и Питером Гольде под эгидой Microsoft Research. Основным постулатом С# является высказывание: "всякая сущность есть объект". Язык основан на строгой компонентной архитектуре и реализует передовые механизмы обеспечения безопасности кода.

Вместе с выпуском новой платформы .NET компания Microsoft представила новый язык, идеально подходящий для новой платформы - C#.

Тем более, что в нем многие найдут любимые черты. Он близок и Delphi, и C++, и Java программистам.

 

Основные характеристики языка.

Программист, привыкший к платформе Майкрософт, может представить себе C# как промежуточный вариант между C++ и Visual Basic, если рассматривать сложность языковых конструкций и возможности языка.

C# имеет C стиль синтаксиса (для управляющих конструкций, блоков кода, описания сигнатуры методов и др.), много общего с Java (отсутствие множественного наследования и шаблонов, наличие сборщика мусора) и Дельфи (ориентированность на создание компонент), в то же время имеет и свой колорит.

C# был создан специально для технологии ASP.NET.  В то же время на C# полностью написана и сама ASP.NET.

При создании языка в основу дизайна легла легкость использования, доминирующая над мощностью языка и скоростью выполнения. Отсюда и сборщик мусора с управляемыми объектными ссылками, который автоматически освобождает за Вас память. Вы также получаете безопасность работы с типами, а это, по мнению многих, является вторым важнейшим фактором избежание ошибок.

C# объектно-ориентированный язык, как и вся платформа .NET. Более того, это язык, ориентированный на написание компонент. C# создан для программирования в управляемой среде с присутствующим сборщиком мусора, но позволяет писать и неуправляемый (unmanaged) код.

Цельность концепции видна, скажем в реализации упаковки/распаковки. Это позволяет рассматривать все типы (даже примитивные) как объекты, что разрешает многие проблемы дизайна приложений.

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

Помимо сборщика мусора и безопасности работы с типами для избежания ошибок в языке также применяется автоматическая инициализация переменных. Все типы, которые размещаются в стеке (value types, к которым относятся примитивные типы, структуры и прочие наследники класса ValueType) инициализируются нулями. Объекты остальных типов размещаются в куче, доступ к ним осуществляется по объектной ссылке, и ссылки эти инициализируются в значение null (которая говорит, что данная ссылка не имеет ассоциированного объекта в куче).

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

Есть ли альтернативные технологии?

Сегодня платформа .NET - лучшее решение для разработки корпоративных приложений и Интернет систем. Платформа предоставляет возможность писать программы любого уровня сложности и назначения с использованием единой среды разработки.

Выделение и объединение лучших идей современных языков программирования делает язык C# не просто суммой их достоинств, а языком программирования нового поколения.

Версии языка C#:  

  •  Первая версия языка C# стандартизированa в ECMA и ISO
  •  Вторая версия языка C#  2.0 вышла 7 ноября 2005 вместе с Visual Studio 2005 и .NET 2.0.
  •  Третья версия языка C# была представлена в сентябре 2005 в виде проекта спецификации C# 3.0 и бета-версии C# 3.0, устанавливаемой в виде дополнения к Visual Studio 2005.


2 Практическая часть

Постановка задачи. Составить программу – тест «Годны ли вы к службе в армии?». На экране по очереди появляются 12 вопросов. На каждый из них нужно ввести ответ (да или нет). Результат теста оценивается в баллах. В зависимости от вопроса и ответа к общей сумме баллов прибавляется определённое число очков. После окончания опроса по общей сумме очков делается заключение по поводу годности опрашиваемого.

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

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

Рисунок1 – Блок-схема взаимодействия форм

Разработка интерфейса. Для создания приложения «Тест» потребуется разработать 6 форм в соответствии с рисунками:

Рисунок 2 – форма  приветствие

Рисунок 3 – главная кнопочная форм

Рисунок 4 – форма инструкция

                                           Рисунок 5 – форма тестирование

Рисунок 6 форма выхода

                      

Рисунок 7 – форма выдачи результата

 Таблица 1 – Свойства объектов

Объект

   Наименование свойств объекта

Значение свойства объекта

Форма приветствия

1

Form1

BackGroundImage

Вставьте любой рисунок

2

Form1

Text

Тест: Годны ли вы к службе в армии?

3

Label1

Text

Годны ли вы к службе в армии?

4

Label2

Text

Выполнил студен: Белогубцев А.

5

Form1

Button1

Далее

6

Form1

Button2

Выход

Главная кнопочная форма

1

Form2

Text

Добро пожаловать

2

PictureBox1

Image

Вставьте любой рисунок

3

Button1

Text

Инструкция

4

Button2

Text

Тестирование

5

Button3

Text

Титул

6

Button4

Text

Выход

Инструкция

1

Form3

Text

Инструкция

2

PictureBox1

Image

Вставьте любой рисунок

3

Label1

Text

Инструкция

4

Label2

Text

На экране по очереди появляются 12 вопросов. На каждый из них нужно ввести ответ (да или нет). В зависимости от вопроса и ответа к общей сумме прибавляется определённое число очков. После окончания опроса по общей сумме очков делается заключение по поводу годности  тестируемого к службе.

5

Button1

Text

Тестирование

6

Button2

Text

Выход

Форма тестирования

1

Form4

Text

Тестирование

2

PictureBox

Image

Вставьте любой рисунок

3

Button1

Text

Следующий вопрос

4

Button2

Text

Результаты тестирования

5

GroupBox1

RadioButton1

RadioButton2

RadioButton3

Text

Переключатели (Да, Нет, Наверное), объединенные рамкой

6

CheckBox1

Text

 Отказываюсь отвечать

7

Label1

Text

 № вопроса

8

Label2

Text

Вопрос

9

Button1

Text

Далее

10

Button2

Text

Выход

11

Buttin3

Text

Инструкция

Форма выдачи результата

1

Form5

Text

Результата тестирования

2

PictureBox

Image

Вставьте любой рисунок

3

TextBox

Text

4

Label1

Text

5

Button1

Text

Далее

Форма выхода

1

Form6

Text

До новых встреч

2

BackGroundImage

Image

Вставьте любой рисунок

3

Button1

Text

Выход

Создание файлов с вопросами для теста и баллами. Заходим в директорию, где располагается наш проект, далее следуем в папку  bin, далее открываем  папку Debuge, где создаем два текстовых файла носящих названия  Questions.txt и Points.txt. Номер вопроса и сам вопрос будут считываться построчно в текстовые поля в форме №4 «Тестирование». Файл Questions.txt содержит следующую информацию :

Файл Points.txt содержит баллы, которые в зависимости от ответа, прибавляются к общей сумме очков (первая строка – очки ля ответа «Да», вторая строка – для ответа «Нет», третья строка – очки для ответа «Наверное»):

yes,3,4,3,2,0,2,3,2,0,0,1,3

no,0,0,0,0,4,0,0,0,2,3,0,0

nav,4,2,2,4,1,5,3,3,2,1,3,1

otka


Заключение

Цель курсовой работы достигнута Выполнены все поставленные задачи

Заключение

Целью данной работы являлось создание программы – теста «Годны ли вы к  

Службе в армии?»

В процессе работы были:

  1.  Выполнены следующие поставленные задачи: проанализирована предметная область, составлена блок-схема приложения, выбран подход решения данной задачи, разработан дружественный пользовательский интерфейс, написан программный код.

  1.  Изучены и использованы средства реализации выбранного подхода решения задачи.

  1.  Выполнена цель курсовой работы: разработана программа

  1.  Проверена работоспособность, проведeно тестирование разработанной программы на тестовых данных


Библиографический список

www.obninx.ru  Статья : Польза тестов для человека. http://www.obninx.ru/publications/interesting/polza-tjestov-dlja-chjelovjeka.html

www.corpsite.ru  Статья : Язык программирования С# (Си-шарп). http://corpsite.ru/Service/Technology/Language/CSharp.aspx?AspxAutoDetectCookieSupport=1.html

 

www.infoshell.ru Статья : Язык программирования С# http://infoshell.ru/articles/63-programming-language-c.html

C#. Программирование на языке высокого уровня

Жанр: Учебник

Автор: Павловская Т.А.

Год выпуска: 2009
Приложения

Приложение А Программный код формы «Тестирование»

Форма «Тестирование».

namespace WindowsFormsApplication1

   public partial class Form4 : Form

   {

       public Form4()

       {

           InitializeComponent();

       }

       //для чтения вопросов из файла Questions.txt:

       string s;

       const int n = 13;

       int numb = 0;

       string[] bufq = new string[n];

       //для чтения ответов из файла Points.txt и записи ответов в массивы yes и no, nav, otkaz:

       const int m = 13;

       int[] yes = new int[m];

       int[] no = new int[m];

       int[] nav = new int[m];

       int[] otkaz = new int[m];

       string[] buf;

       int ball=0;//баллы

       string t1, t2, t3;

       //результаты

       private void button2_Click(object sender, EventArgs e)

       {

           Form3 f3 = new Form3();

           f3.Show();

           this.Close();

       }

       private void button3_Click(object sender, EventArgs e)

       {

           Form6 f6 = new Form6();

           f6.Show();

           this.Close();

       }

       private void Form4_Load(object sender, EventArgs e)

       {

           //чтение из Points.txt в массивы yes и no, nav, otkaz

           try

           {

               StreamReader fp = new StreamReader("Points.txt");

               while (fp.Peek() > -1)

               {

                   buf = fp.ReadLine().Split(',');

                   if (buf[0].ToString() == "yes")

                       for (int i = 1; i < buf.Length ; ++i)

                           yes[i] = int.Parse(buf[i]);

                   else if (buf[0].ToString() == "no")

                       for (int i = 1; i < buf.Length ; ++i)

                           no[i] = int.Parse(buf[i]);

                   else if (buf[0].ToString() == "nav")

                       for (int i = 1; i < buf.Length; ++i)

                           nav[i] = int.Parse(buf[i]);

                   else if (buf[0].ToString() == "otkaz")

                       for (int i = 1; i < buf.Length; ++i)

                           nav[i] = int.Parse(buf[i]);

               }

               fp.Close();

               StreamReader fq = new StreamReader("Questions.txt", System.Text.Encoding.Default);

               while ((s = fq.ReadLine()) != null)

               {

                   bufq[numb] = s;

                   numb++;

               }

               numb = 0;

               fq.Close();

           }

           catch (FileNotFoundException ex)

           {

               MessageBox.Show(ex.Message);

               MessageBox.Show("Проверьте правильность имени файла!");

               return;

           }

           catch (Exception ex)

           {

               MessageBox.Show("Error: " + ex.Message);

               return;

           }

           //отображение первого вопроса при запуске формы:

           textBox1.Text = (numb + 1).ToString();

           richTextBox1.Text = bufq[numb];

           numb++;

           //При загрузке формы выбран один из вариантов ответа:

           radioButton1.Checked = false;

           radioButton2.Checked = false;

           checkBox1.Checked = false;

       }

       private void button1_Click(object sender, EventArgs e)

       {

           switch (Convert.ToInt32(textBox1.Text))

           {

               case 4:

                   {

                       checkBox1.Visible = true;

                       break;

                   }

               default:

                   {

                       checkBox1.Visible = false;

                       break;

                   }

           }

           //Показываем результаты тестирования в зависимости от набранных баллов

           if (button1.Text == "Результаты")

           {

               if (ball <= 9)

               {

                   t1 = "От 0 до 9";//результат

                   t2 = "ВЫ ГОДНЫ, обладаете отличным здоровьем!!!";

                         

                   t3 = "0_9.jpg";

                  // 'Указывается путь и имя картинки, соответствующей   

                  Соответсвующей набранному колличеству баллов.                                  

               }

               if (ball > 9 && ball <= 19)

               {

                   t1 = "От 9 до 19";

                   t2 = "Вы обладаете  хорошим здоровьем, ВЫ ГОДНЫ к службе";

                   t3 = "10_18.jpg";

               }

               if (ball > 19 && ball <= 28)

               {

                   t1 = "От 19 до 28";

                   t2 = "Ваши показатели в пределах нормы,вы ОГРАННИЧЕННО ГОДНЫ к службе в армии.";

                        

                   t3 = "19_28.jpg";

               }

               if (ball >= 29)

               {

                   t1 = "Более 29.";

                   t2 = "ВЫ НЕ ГОДНЫ!!! Сходите на консультацию к специалисту!";

                         

                   t3 = "от_29.jpg";

               }

               Form5 f5 = new Form5();

               f5.TBtext = t1;

               f5.TBtext1 = t2;

               f5.Picture = t3;

               f5.Show();

               this.Close();

           }

           //считываем из буфера bufq, в котором находятся вопросы:

           if (numb < n - 1)

           {

               textBox1.Text = (numb + 1).ToString();

               richTextBox1.Text = bufq[numb];

               numb++;

           }

           else

           {

               textBox1.Text = "";

               richTextBox1.Text = "Тестирование завершено.";

               button1.Text = "Результаты";

           }

           radioButton1.Checked = false;

           radioButton3.Checked = false;

           radioButton2.Checked = false;

           checkBox1.Checked = false;

           radioButton1.Enabled = true;

           radioButton3.Enabled = true;

           radioButton2.Enabled = true;

           checkBox1.Enabled = true;

       }

       private void radioButton1_CheckedChanged(object sender, EventArgs e)

       {

           if (radioButton1.Checked == true)

           {

               ball += yes[numb];

               radioButton2.Enabled = false;

               radioButton3.Enabled = false;

           }

       }

       private void radioButton2_CheckedChanged(object sender, EventArgs e)

       {

           if (radioButton2.Checked == true)

           {

               ball += no[numb];

               radioButton1.Enabled = false;

               radioButton3.Enabled = false;

               checkBox1.Enabled = false;

           }

       }

       private void radioButton3_CheckedChanged(object sender, EventArgs e)

       {

           if (radioButton3.Checked == true)

           {

               ball += nav[numb];

               radioButton1.Enabled = false;

               radioButton2.Enabled = false;

               checkBox1.Enabled = false;

           }

       }

       private void checkBox1_CheckedChanged(object sender, EventArgs e)

       {

           if (checkBox1.Checked == true)

           {

               ball += otkaz[numb];

               radioButton1.Enabled = false;

               radioButton2.Enabled = false;

               radioButton3.Enabled = false;

           }

       }

   }


Форма «Выдача результата»

Форма «Выход»

Форма «Тестирование»

Форма

«Инструкция тестирования»

Форма

«Главная кнопочная»

Форма

«Приветствие»


 

А также другие работы, которые могут Вас заинтересовать

53706. В доме у москвича 89 KB
  Сегодня мы с вами заглянем в древний поселок. Во время путешествия будьте внимательны, ведь полученные вами знания нам обязательно пригодятся в дальнейшем.
53707. Масленица в музыке 184 KB
  Ключевая компетенция - способность личности мобилизовать свои знания умения а также способы выполнения действий необходимых для адаптации и продуктивной деятельности в различных профессиональных сообществах...
53708. Реализация гражданских прав в современном мире 75 KB
  Учащиеся приобретают опыт ведения дискуссий. Беседа с учащимися Учитель: Перед тем как познакомиться с нашими правами давайте вспомним что такое право Учащиеся: называют несколько определений права: Правоэто величайшая ценность и элемент правовой культуры человечества. Учитель: Скажите пожалуйста а какие права существуют Учащиеся: Естественные и позитивные. Учитель: Какие права считаются естественными Учащиеся: Право на жизнь на свободу.
53709. Растениеводство 88.5 KB
  На какие две группы можно их разделить Дикорастущие одуванчик береза подорожник. Какие еще прядильные культуры вы знаете Овощеводство это выращивание овощных культур.Ответ Редиска Чем занимается эта отрасль – Какие овощные культуры вам известны Какие овощи бывают Какие части мы едим: Листовые салат Плодовые томат кабачок Корнеплоды морковь свёкла репа редис петрушка Цветковые артишок цветная капуста...
53710. Объемная открытка. Бумажная пластика 64.5 KB
  Обучить: выполнять поделки в стиле бумажная пластика видам бумажной пластики приёмам складывания технике безопасности при использовании ножниц клея. Оборудование урока: для учителя: ПТК открытки шаблоны конспект урока. Изделие План урока № этапа урока вида работ Название этапа урока вида работ Время Всего 45 минут I.
53711. Безличные глаголы 75 KB
  Вызванный к доске должен назвать наклонение определить число выделить окончание и суффикс если не справляется вызывается желающий ответить с места а стоящий у доски подписывает выделяет части слова. наклонение от глагола подержать т.
53712. Виды односоставных предложений 37.5 KB
  Совершенствовать умение различать виды односоставных предложений. Развитие умений определять стилистическую роль односоставных предложений. А сейчас мы познакомимся с видами односоставных предложений.
53713. Определенно-личные предложения 31.5 KB
  Но сначала я проведу небольшую самостоятельную работу по односоставным предложениям в целом.С Есенин Задание: найти односоставные предложения подписать над предложениями выделить грамматические основы. Определите тип предложения: односоставное двусоставное.
53714. Безличные предложения 131.5 KB
  Вначале повторим что же такое безличные предложения и чем в них выражено сказуемое. Здесь надо найти односоставные предложения определить их тип объяснить постановку знаков препинания. Личные предложения замените безличными.