Программная реализация задачи определения статистических данных по успеваемости на факультете


ФЕДЕРАЛЬНОЕ Государственное АВТОНОМНОЕ образовательное учреждение Высшего профессионального образования

«БЕЛГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ НАЦИОНАЛЬНЫЙ

ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ»

(НИУ «БелГУ»)

ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И ЕСТЕСТВЕННЫХ НАУК

ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ И ПРИКЛАДНОЙ МАТЕМАТИКИ

Кафедра прикладной математики и информатики

ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ЗАДАЧИ ОПРЕДЕНИЯ СТАТИСТИЧЕСКИХ ДАННЫХ ПО УСПЕВАЕМОСТИ НА ФАКУЛЬТЕТЕ

Курсовая работа

студента заочной формы обучения

направления подготовки

230400.61 Прикладная информатика и математика

2 курса группы 83001361

Богданова Георгия,

по дисциплине: «Информатика и программирование»

Научный руководитель:

к. т.н. Н. Н.Гахова

БЕЛГОРОД 2014

ПЛАН КУРСОВОЙ РАБОТЫ

По дисциплине «Информатика и программирование»

На тему: «ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ЗАДАЧИ ОПРЕДЕНИЯ СТАТИСТИЧЕСКИХ ДАННЫХ ПО УСПЕВАЕМОСТИ НА ФАКУЛЬТЕТЕ»

Введение

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

2. Решение задачи средствами прикладных программ

3. Разработка алгоритмов и структур данных

4. Программная реализация алгоритмов на языке программирования

5. Тестирование разработанного программного обеспечения

Заключение

Список использованных источников

Приложения

Исполнитель: ___________________________________ Богданов Г.

Руководитель: ____________________________к. т.н., доц. Гахова Н. Н.

Содержание

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

2. Решение задачи средствами прикладных программ

3. Разработка алгоритмов и структур данных

4. Программная реализация задачи определения статистических данных по успеваемости на факультете на языке программирования C#

5. Тестирование разработанного программного обеспечения

Заключение

Список использованных источников

Приложение

Введение

Современное учебное заведение — это находящаяся в постоянном развитии, динамическая система со сложными иерархическими организационно-управленческими структурами и подразделениями. Достижение стоящих перед ВУЗом стратегических целей может осуществляться путем разработки и внедрения информационной системы управления учебным заведением, либо его подразделениями. Информационная система должна позволять решать ряд задач по сбору, учету, хранению, контролю, обработке и анализу информации об основных процессах высшего учебного заведения.

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

Информационные системы и технологии становятся средством повышения эффективности и производительности работы человека, позволяют быстро и качественно анализировать информацию, принимать правильные решения. Подготовка курсовой работы способствует:

- закреплению, углублению и обобщению знаний, полученных студентами в процессе изучения лекционных курсов по дисциплине «Информатика и программирование»;

- развитию умений и навыков, полученных при выполнении лабораторных работ;

- применению этих знаний, умений и навыков к решению конкретных задач;

- развитию навыков работы со специальной литературой и разработки программного обеспечения.

Язык программирования С# отличается минимализмом. Программы компилируются с помощью однопроходного компилятора, чтобы каждой элементарной составляющей программы после компиляции соответствовало небольшое число машинных команд, а использование базовых элементов языка не задействовало библиотеку времени выполнения C# — это язык программирования, предназначенный для разработки самых разнообразных приложений, предназначенных для выполнения в среде. NET Framework. Язык C# прост, строго типизирован и объектно-ориентирован. Благодаря множеству нововведений C# обеспечивает возможность быстрой разработки приложений.

Курсовая работа состоит из трех разделов, введения, заключения, списка использованной литературы и приложения.

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

Факультет компьютерных наук и телекоммуникаций был основан 26 августа 2002 г. Первоначально на факультете подготовка велась по трем специальностям — «Математическое обеспечение и администрирование информационных систем», «Прикладная информатика в экономике» и «Сети связи и системы коммутации». В 2005 году спектр специальностей был расширен за счет специальности «Радиосвязь, радиовещание и телевидение».

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

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

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

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

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

2. Решение задачи средствами прикладных программ

Microsoft Excel (также иногда называется Microsoft Office Excel) — программа для работы с электронными таблицами, созданная корпорацией Microsoft для Microsoft Windows, Windows NT и Mac OS. Она предоставляет возможности экономико-статистических расчетов, графические инструменты и, за исключением Excel 2008 под Mac OS X, язык макропрограммирования VBA (Visual Basic for Application). Microsoft Excel входит в состав Microsoft Office и на сегодняшний день Excel является одним из наиболее популярных приложений в мире. Ценной возможностью Excel является возможность писать код на основе Visual Basic для приложений (VBA). Этот код пишется с использованием отдельного от таблиц редактора. Управление электронной таблицей осуществляется посредством объектно-ориентированной модели кода и данных. С помощью этого кода данные входных таблиц будут мгновенно обрабатываться и отображаться в таблицах и диаграммах (графиках). Таблица становится интерфейсом кода, позволяя легко работать изменять его и управлять расчётами

При помощи программы Microsoft Excel необходимо решить следующую задачу: в рабочей книге создать таблицы с данными об успеваемости по двум предметам на 3-х факультетах (каждый факультет на отдельном листе). Посчитать количество отличных, хороших, удовлетворительных и неудовлетворительных оценок по двум предметам и вывести результат в строку «Всего». Посчитать процент всех оценок в сумме по двум предметам. Выполнить консолидацию и получить на отдельном листе итоговую таблицу. Построить графики

3. Разработка алгоритмов и структур данных

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

Рисунок 2 — Блок-схема программы для вывода статистики факультета

4. Программная реализация задачи определения статистических данных по успеваемости на факультете на языке программирования C#

C# — объектно-ориентированный язык программирования. Разработан в 1998—2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как язык разработки приложений для платформы Microsoft. NET Framework и впоследствии был стандартизирован как ECMA-334 и ISO/IEC 23270.

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

Переняв многое от своих предшественников — языков C++, Pascal, Модула, Smalltalk и, в особенности, Java — С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем, например, C# в отличие от C++ не поддерживает множественное наследование классов (между тем допускается множественное наследование интерфейсов).

Синтаксис C# очень выразителен, но прост в изучении. Все, кто знаком с языками C, C++ или Java с легкостью узнают синтаксис с фигурными скобками, характерный для языка C#. Разработчики, знающие любой из этих языков, как правило, смогут добиться эффективной работы с языком C# за очень короткое время. Синтаксис C# делает проще то, что было сложно в C++, и обеспечивает мощные возможности, такие как типы значений Nullable, перечисления, делегаты, лямбда-выражения и прямой доступ к памяти, чего нет в Java. C# поддерживает универсальные методы и типы, обеспечивая более высокий уровень безопасности и производительности, а также итераторы, позволяющие при реализации коллекций классов определять собственное поведение итерации, которое может легко использоваться в клиентском коде. Выражения LINQ делают строго типизированный запрос очень удобной языковой конструкцией.

Как объектно-ориентированный язык, C# поддерживает понятия инкапсуляции, наследования и полиморфизма. Все переменные и методы, включая метод Main — точку входа приложения — инкапсулируются в определения классов. Класс может наследовать непосредственно из одного родительного класса, но может реализовывать любое число интерфейсов. Для методов, которые переопределяют виртуальные методы в родительском классе, необходимо ключевое слово override, чтобы исключить случайное повторное определение. В языке C# структура похожа на облегченный класс: это тип, распределяемый в стеке, реализующий интерфейсы, но не поддерживающий наследование.

При реализации программы на C# есть ряд преимуществ, а именно:

- расширяемость системы (в С# можно подгружать любые exe, импортировать классы и объекты из других программ);

- кросплатформенность (mono, концепция NET);

- сложность разработки и сопровождения (подбор кадров, читаемость кода, документированность языка);

- степень открытости исходных текстов библиотек, исполняемых программ, количество литеретуры и помощь (MSDN);

- возможность привлечения сторонних разработчиков при разработке системы для программирования узко-специализированных задач (сборки, модули, теже exe);

- защищенность и контроль версий подключаемых алгоритмов (концепция NET);

- трудоемкость написания;

- скорость работы (распределение процессов, распределение данных скорость работы с данными);

- удобство разработки (среда разработки по сравнению с Delphi7)

На рисунке 3 предоставлена форма программы перевода чисел в различные системы счисления, код программного обеспечения предоставлен в приложении 1.

Рисунок 3 — Форма программы перевода чисел в различные системы счисления

5. Тестирование разработанного программного обеспечения

программа статистический алгоритм прикладной

Существует несколько видов процедур тестирования программного обеспечения, которые приходится выполнять:

- модульное тестирование;

- комплексное тестирование;

- подтверждение правильности и верификация;

- тестирование в условиях нехватки ресурсов, ошибки и их исправление;

- тестирование производительности;

- тестирование удобства использования.

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

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

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

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

Если тестировщик обнаруживает дефект, это должно быть в первый и последний раз — обнаружение дефекта человеком. Автоматизированные тесты должны быть модифицированы для проверки наличия этого дефекта, начиная с момента его первоначального обнаружения, потому что это снова случится. У разработчиков нет времени гоняться за дефектами, которые автоматизированные тесты не могли обнаружить. Приходиться тратить время на написание новой программы — с новыми дефектами.

Заключение

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

Несмотря на многообразие решаемых с помощью компьютера задач, принцип его применения в каждом случае один и тот же: информация, поступающая в компьютер, обрабатывается с целью получения требуемых результатов. Компьютер может обрабатывать только информацию, представленную в числовой форме. Вся другая информация (звуки, изображения и т. д.) для обработки должна быть преобразована в числовую форму. Для обработки на компьютере текстовой информации обычно при вводе в компьютер каждая буква кодируется определённым числом, а при выводе на внешние устройства для восприятия человеком по этим числам строятся соответствующие изображения букв В данной работе был проведен анализ методов перевода чисел в различные системы счисления, а так же рассмотрены особенности обратного перевода чисел.

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

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

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

Список использованных источников

1. C# Language Specification. Microsoft Corporation, 2005.

2. А. Хейлсберг, М. Торгерсен, С. Вилтамут, П. Голд Язык программирования C#. Классика Computers Science. 4-е издание = C# Programming Language (Covering C# 4.0), 4th Ed. — СПб.: «Питер», 2012. — 784 с. — ISBN 978-5-459-00283-6.

3. Герберт Шилдт. C# 4.0: полное руководство = C# 4.0 The Complete Reference. — М.: «Вильямс», 2010. — С. 1056. — ISBN 978-5-8459-1684-6.

4. Гуннерсон Э. Введение в C#. СПб.: Питер, 2005.

5. Джесс Либерти «Программирование на С#» 2-е издание, 456с.,2005г

6. Джозеф Албахари, Бен Албахари C# 5.0. Справочник. Полное описание языка = C# 5.0 in a Nutshell: The Definitive Reference. — М.: «Вильямс», 2013. — 1008 с. —ISBN 978-5-8459-1819-2.

7. Джон Скит C# для профессионалов: тонкости программирования, 3-е издание, новый перевод = C# in Depth, 3rd ed.. — М.: «Вильямс», 2014. — 608 с. — ISBN 978-5-8459-1909-0.

8. Кристиан Нейгел и др. C# 5.0 и платформа. NET 4.5 для профессионалов = Professional C# 5.0 and. NET 4.5. — М.: «Диалектика», 2013. — 1440 с. — ISBN 978-5-8459-1850-5.

9. Кристиан Нейгел, Карли Уотсон и др. Visual C# 2010: полный курс = Beginning Microsoft Visual C# 2010. — М.: Диалектика, 2010. — ISBN 978-5-8459-1699-0.

10. Обширнейшая информация по платформе. NET: www. gotdotnet. com.

11. Олливерсон М. Методы высокоуровневого программирования.:Москва,2005.

12. Официальная конференция по языку C#: news://msnews. microsoft. com/ microsoft. public. dotnet. languages. csharp.

13. Полный справочник по С#. : Пер. с англ. — М. : Издательский дом

14. Си Шарп: Создание приложений для Windows/ В. В. Лабор.— Мн.: Харвест, 384 с.,2003.

15. Шатрова, Т. И. Языковая игра в текстах комической направленности: процессы кодирования и декодирования [Текст] : дис. … канд. филол. наук / Т. И. Шатрова ; Тульский гос. пед. ун-т им. Л. Н. Толстого. — Белгород, 2006. — 159 с.

16. Э. Стиллмен, Дж. Грин Изучаем C#. 2-е издание = Head First C#, 2ed. — СПб.: «Питер», 2012. — 704 с. — ISBN 978-5-4461-0105-4.

17. Эндрю Троелсен Язык программирования C# 5.0 и платформа. NET 4.5, 6-е издание = Pro C# 5.0 and the. NET 4.5 Framework, 6th edition. — М.: «Вильямс», 2013. — 1312 с. — ISBN 978-5-8459-1814-7.

Приложение

using System;

using System. Collections. Generic;

using System. ComponentModel;

using System. Data;

using System. Drawing;

using System. Linq;

using System. Text;

using System. Windows. Forms;

namespace WindowsFormsApplication1

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void maskedTextBox1_MaskInputRejected(object sender, MaskInputRejectedEventArgs e)//параметры вводимых зачений для оценок и группы

{

TextBox TextBox1 = new TextBox();

[STAThread]

public static void Main()

{

Application. EnableVisualStyles();

Application. Run(new Form1());

}

public Form1()

{

this. AutoSize = true;

FlowLayoutPanel panel = new FlowLayoutPanel();

panel. AutoSize = true;

panel. FlowDirection = FlowDirection. TopDown;

panel. Controls. Add(TextBox1);

this. Controls. Add(panel);

this. KeyPreview = true;

this. KeyPress +=

new KeyPressEventHandler(Form1_KeyPress);

TextBox1.KeyPress +=

new KeyPressEventHandler(TextBox1_KeyPress);

}

private void maskedTextBox2_MaskInputRejected(object sender, MaskInputRejectedEventArgs e)

{

TextBox TextBox2 = new TextBox();

[STAThread]

public static void Main()

{

Application. EnableVisualStyles();

Application. Run(new Form1());

}

public Form1()

{

this. AutoSize = true;

FlowLayoutPanel panel = new FlowLayoutPanel();

panel. AutoSize = true;

panel. FlowDirection = FlowDirection. TopDown;

panel. Controls. Add(TextBox2);

this. Controls. Add(panel);

this. KeyPreview = true;

this. KeyPress +=

new KeyPressEventHandler(Form1_KeyPress);

TextBox1.KeyPress +=

new KeyPressEventHandler(TextBox2_KeyPress);

}

private void maskedTextBox3_MaskInputRejected(object sender, MaskInputRejectedEventArgs e)

{

}

……………………………

private void textBox31_TextChanged(object sender, EventArgs e)

{

TextBox TextBox31 = new TextBox();

[STAThread]

public static void Main()

{

Application. EnableVisualStyles();

Application. Run(new Form1());

}

public Form1()

{

this. AutoSize = true;

FlowLayoutPanel panel = new FlowLayoutPanel();

panel. AutoSize = true;

panel. FlowDirection = FlowDirection. TopDown;

panel. Controls. Add(TextBox31);

this. Controls. Add(panel);

this. KeyPreview = true;

this. KeyPress +=

new KeyPressEventHandler(Form1_KeyPress);

TextBox1.KeyPress +=

new KeyPressEventHandler(TextBox31_KeyPress);

}

private void numericUpDown1_ValueChanged(object sender, EventArgs e)// параметры для кол-ва человек в группе (максимальное значнение=150

void umericUpDown1_ValueChanged(object sender, KeyPressEventArgs e)

{

if (e. KeyChar >= 48 && e. KeyChar <= 57)

{

MessageBox. Show(«umericUpDown1_ValueChanged ‘» +

e. KeyChar. ToString() + «umericUpDown1_ValueChanged.»);

switch (e. KeyChar)

{

case (char)150:

MessageBox. Show(«Control. KeyPress:

e. KeyChar. ToString() + «»);

e. Handled = true;

break;

}

}

private void domainUpDown1_SelectedItemChanged(object sender, EventArgs e)//выпадающий список дисциплин

{

foreach(CultureInfo ci in domainUpDown1_SelectedItemChangeds(CultureTypes. WindowsOnlyCultures))

domainUpDown1_SelectedItemChanged. Items. Add(ci. NativeName);

}

private void button3_Click(object sender, EventArgs e)//обработка кнопки закрыть

{

[BrowsableAttribute(false)]

public event CancelEventHandler Closing;

private void button2_Click(object sender, EventArgs e)//обработка кнопки очистить

{

button2_Click. Controls. Cleare();

}

private void textBox63_TextChanged(object sender, EventArgs e)//вывод общего кол-ва человек в группах

{

string inWord = textBox63.Text;

char[] separators = { ‘.’, ‘!’, ‘?’ };

string[] sentences = File. ReadAllText(, Encoding. Default).Split(separators, StringSplitOptions. RemoveEmptyEntries);

textBox63.Text = «»;

foreach (string sentence in sentences)

label1.Text += sentence + » «

+ sentence. Split(‘ ‘).Where(a => a == inWord).Count() + «»;

}

}

Если вы думаете скопировать часть этой работы в свою, то имейте ввиду, что этим вы только снизите уникальность своей работы! Если вы хотите получить уникальную курсовую работу, то вам нужно либо написать её своими словами, либо заказать её написание опытному автору:
УЗНАТЬ СТОИМОСТЬ ИЛИ ЗАКАЗАТЬ »