5120

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

Курсовая

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

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

Русский

2012-12-03

932 KB

138 чел.

Введение

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

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

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

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

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

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

           }

       }

   }


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

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

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

Форма

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

Форма

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

Форма

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


 

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

45721. Возникновение и становление периодической печати в России в XVIIIв 50.5 KB
  Ведомости Но подлинным первенцем русской печати были все же Ведомости которые стали издаваться по личному указанию и при личном участии русского царя Петра I типографским способом т. В том же году стала издаваться газета СанктПетербургские ведомости при Академии наук в Петербурге сменившая петровские Ведомости. Ломоносов являлся фактически редактором газеты СанктПетербургские ведомости. Московские ведомости 1755 г.
45722. Основные тенденции развития газетной и журнальной периодики в России в XIX в 63.5 KB
  Основные тенденции развития газетной и журнальной периодики в России в XIX в. Герцен много сделал для развития газетножурнальных жанров революционного издания. В журналистике много места занимает личностный элемент авторитет лидера. Журнал Каткова орагнизованный в 1856.
45723. Журналистика России в период социально-экономических преобразований конца ХХ – начала XXI вв 41 KB
  Журналистика России в период социально-экономических преобразований конца ХХ начала XXI вв. у федерального правительства из печатных СМИ имелись: Российская газета Российские вести Россия из электронных телеканалы ОРТ РТР Культура Радио 1 Радио России радиостанция Маяк а также информационные агентства ИТАРТАСС РИАНовости Интерфакс. В постсоветский период в газетном мире России произошли значительные типологические изменения. начала вещание коммерческая российскофранцузская радиостанция Радио России ...
45725. Характеристика групп общественности в связях с общественностью 50.5 KB
  Целевая аудитория - субъект коммуникационных технологических отношений Для PRкомпаний: целевая общсть это те социальные субъекты социальные группы организации институты массовые аудитории которые согласно замыслам разработчиков PRкомпании являются или способны быть получателями PRсообщений. Сотрудники менеджеры и организации их объединяющие. Понятия внешней и внутренней общественности связаны с организаций PRмероприятий для социальной организации или института. Внешней открытой общественностью для любого социального...
45726. Структура отечественного PR-рынка 73 KB
  Довольно быстро был пройден период 1988-1991 годов когда на российском рынке PR доминировали зарубежные агентства. Создаются первые отечественные PRагентства: Николо М Имидж-ленд ПР Имидж-контакт. Прежде всего агентства различного типа и специализации prагентства.субъекты: ПР-агентства.
45727. Основные этапы развития слуховой функции у ребенка. Особенности исследования слуха у детей (шепотной, разговорной речью, камертонами) 15.49 KB
  Закладка слухового анализатора происходит на 5–7 неделе внутриутробной жизни. Начиная с 20–й недели беременности, плод различает частоту и интенсивность звука.
45728. Рото- и гортаноглотка, строение, назначение и иннервация, возможные заболевания 16.18 KB
  Ротоглотка - это щелевидное пространство спереди которой располагается зев, который образован сверху мягким небом и передней и задней дужками по бокам, передняя небно-язычная мышца, между ними располагаются небные миндалины.
45729. Субъектное пространство и сферы паблик рилейшнз 49 KB
  Вопросы которые задают субъектное пространство PRдеятельности: Кому чему делается PR предметный Для кого функциональностратегический = базисный. Базисный субъект: Именно он выступает основанием для начала PRдеятельности у него образуется потребность в оптимизации коммуникационного пространства он задает исходные параметры PRдеятельности часто формирует заказ подписывает и финансирует контракт. Для кого функциональностратегический Исходный технологический субъект лицо осуществляющее PRдеятельность которое может...