5120

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

Курсовая

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

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

Русский

2012-12-03

932 KB

137 чел.

Введение

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

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

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

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

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

Для достижения цели, необходимо выполнить следующие задачи: рассмотреть теоретические вопросы о языке программирования 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;

           }

       }

   }


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

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

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

Форма

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

Форма

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

Форма

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


 

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

42902. Комплексный анализ проблем оплаты труда на предприятии питания и предложение направлений совершенствования оплаты труда на предприятии 67.08 KB
  Формы и системы оплаты труда. Фонд оплаты труда и его структура. Направления совершенствования системы оплаты труда на предприятии. Администрация предприятий питания самостоятельно выбирает и применяет различные системы оплаты труда работников.
42903. Розробка блоку зв’язку з електроавтоматикою верстата 16Б16. Пристрій управління шпінделем 875.86 KB
  Числове програмне керування (ЧПК) (англ. Computer numerical control) - комп'ютеризована система керування, яка зчитує командні інструкції спеціалізованої мови програмування (наприклад, G-код) і керує приводами метало-, дерево- чи пластмасообробних верстатів та верстатним оснащенням.
42904. Предпримемательство: эволюционный подход 33.65 MB
  Предпринимательство есть способ хозяйствования, который в результате многовековой эволюции утвердился в экономике всех развитых стран. Первоначально предпринимателями называли предприимчивых людей, действующих на рынке, или просто людей энергичных, азартных, склонных к рискованным операциям. В дальнейшем к предпринимательству стали относить любую деятельность, направленную на увеличение прибыли и не запрещённую законом. Однако возникновение предпринимательства как оформившегося устойчивого явления относят к XVII веку.
42905. Сестринский процесс при ожирении 186.5 KB
  Эта проблема касается всех слоев населения независимо от социальной и профессиональной принадлежности, возраста, места проживания и пола. Так, в странах Западной Европы избыточную массу тела имеет от 10 до 20% мужчин и от 20 до 25% женщин. В некоторых регионах Восточной Европы доля людей, страдающих ожирением, достигла 35%. В России в среднем 30% трудоспособного населения имеют ожирение и 25% - избыточную массу тела.
42906. Разработка программы для реализации модели боя типа «Б» с учетом корректировки огня 66.8 KB
  Исходные данные В качестве исходных данных задачи принимаются следующие величины: N1 численность наших войск на момент начала бояN2 численность войск противника на момент начала бояn1 численность при которой наши подразделения выходят из бояn2 численность при которой подразделения противника выходят из бояλ1 скорострельность наших подразделенийλ2 скорострельность подразделений противникаP1 вероятность поражения БЕ противника при попаданииP2 вероятность поражения нашей БЕ при попаданииK1 коэффициент корректировки огня наших...
42907. Розробка алгоритмів покриття та сортування 733.57 KB
  Алгоритм - це точний припис, що визначає обчислювальний процес, що веде від варійованих вихідних даних до шуканого результату. Саме слово «алгоритм» походить від латинської форми написання імені великого математика IX століття Аль Хорезмі (Мухаммеда ібн Муса аль Horesmi)
42908. Разработка программы по учету покупок 4.71 MB
  Стек это линейный список в котором добавление новых элементов и удаление существующих производится только с одного конца называемого вершиной стека. Это сокращение помогает запомнить механизм работы стека. Значением указателя представляющего стек является ссылка на вершину стека и каждый элемент стека содержит поле ссылки на соседний нижний элемент.Описание процедур Процедура Функция Параметры Описание dd b:Integer Общее колво элементов p:TPElemВершина стека В стек добавляется элемент.
42910. Генератор с широтно-импульсной модуляции 667.11 KB
  Сфера применения: в схемах управления скоростью вращения электродвигателей постоянного тока преобразователях напряжения в импульсных блоках питания и т. Схема ШИМ в своём составе обычно содержит сравнивающий элемент для сравнения управляющего и опорного напряжения генератор сигналов опорного напряжения выходной каскад для обеспечения нужного уровня выходного сигнала по напряжению и мощности. В приведён пример схемы генератора пилообразного напряжения генератора импульсов прямоугольной формы мультивибратора необходимых для работы...