Вход

Кроссворд

Рекомендуемая категория для самостоятельной подготовки:
Курсовая работа*
Код 387718
Дата создания 2018
Страниц 40
Мы сможем обработать ваш заказ (!) 29 мая в 12:00 [мск]
Файлы будут доступны для скачивания только после обработки заказа.
3 560руб.
КУПИТЬ

Описание

1.2 Основание для разработки

Программа выполняется в целях выполнения курсовой работы.

1.3 Назначение разработки

Отображение кроссворда.

1.4 Требование к программе

1.4.1 Требования к функциональным характеристикам
Программа обладает следующим функционалом:
1. Загрузка кроссворда;
2. Загрузка ответов;
3. Загрузка вопросов.
...

Содержание

Содержание
1 Теоретическая часть. Техническое задание 4
1.1 Введение 4
1.2 Основание для разработки 6
1.3 Назначение разработки 6
1.4 Требование к программе 6
1.5 Требования к программной документации 7
1.6 Технико-экономические показатели 7
1.7 Стадии и этапы разработки 8
1.8 Порядок контроля и приемки8
1.9 График работ 8
2 Спецификация 9
2.1 Документация 9
2.2 Комплексы 9
2.3 Компоненты 9
3 Формуляр 10
3.1 Общие указания 10
3.2 Общие сведения 10
3.3 Основные характеристики 10
3.4 Комплектность 10
3.5 Периодический контроль основных характеристик при эксплуатации и хранении 10
3.6 Свидетельство о приёмке 11
3.7 Свидетельство об упаковке и маркировке 11
3.8 Гарантийные обязательства 11
3.9 Сведения о рекламациях 11
3.10 Сведения о хранении 11
3.11 Сведения о закреплении программного изделия при эксплуатации 11
3.12 Сведения об изменениях 11
3.13 Особые отметки 12
4 Руководство оператора 13
4.1 Назначение программы 13
4.2 Условия выполнения программы 13
4.3 Выполнение программы 13
4.4 Сообщения оператору 13
5 Практическая часть. Описание программы 14
5.1 Общие сведения 14
5.2 Функциональное назначение 14
5.3 Описание логической структуры 14
5.4 Используемые технические средства 15
5.5 Вызов и загрузка 15
5.6 Входные данные 16
5.7 Выходные данные 16
Заключение 17
Список использованных источников 19
Приложение А 21

Введение

Требуется разработать программу, позволяющую составлять кроссворд и отображать его в удобном виде.
Кроссвордовые сетки, например, появляющиеся в большинстве газет и журналов, имеют сплошные участки белых квадратов. Каждая буква проверяется (т. е. является частью слова «поперек» и «вниз»), и обычно каждый ответ должен содержать как минимум три буквы. В таких головоломках затененные квадраты обычно ограничены примерно одной шестой от общего числа
Еще одна традиция в дизайне головоломок (в Северной Америке, Индии и Великобритании) заключается в том, что сетка должна иметь вращательную (также известную как «радиальную») на 180 градусов, так что ее структура выглядит одинаково, если бумага перевернута, Большинство конструкций головоломок также требуют, чтобы все белые клетки были ортогонально с межными (то есть соединены одним словом через общие стороны, чтобы образовать одно общее слово).

Фрагмент работы для ознакомления

1.8 Порядок контроля и приемкиПрограмма принимается согласно распорядку на принимающей кафедре.1.9 График работСовокупность работ можно представить в виде следующей таблицы:Название стадииСрокиИзучение теоретического материала03.08.2017 – 01.09.2017Изучение среды и языка разработки02.09.2017 –01.10.2017Реализация программы02.10.2017 –01.11.2017Тестирование программы02.11.2017 –01.12.2017Оформление документации02.12.2017 –31.12.2017Таблица 1 - График работСпецификация2.1 ДокументацияПрограммная документация состоит из пояснительной записки к программе. Дополнительная документация не предполагается.2.2 КомплексыПрограмма использует сторонние комплексы для работы алгоритма..NET Framework, Entity Framework, MS SQL Server.2.3 КомпонентыПрограмма не предполагает дополнительных компонентов.Программа состоит из единого программного проекта.Формуляр3.1 Общие указанияПеред эксплуатацией необходимо внимательно ознакомиться с соответствующими эксплуатационными документами: пояснительная записка. Формуляр должен находиться в подразделении, ответственном за эксплуатацию программного изделия.3.2 Общие сведенияПрограмма предназначена для составления кроссворда.Программа визуализирует и составляет кроссворд по исходным данными.3.3 Основные характеристикиЯзык разработки: C#.Среда разработки: VisualStudio.3.4 КомплектностьПрограмма поставляется в виде исполняемого файла с программным проектом. Дополнительная комплектация не предполагается.3.5 Периодический контроль основных характеристик при эксплуатации и храненииХарактеристики программы с течением времени не изменяются.Характеристики программы задаются в момент ее запуска.3.6 Свидетельство о приёмкеКафедра принимает конечную программу.3.7 Свидетельство об упаковке и маркировкеПрограмма не маркируется.3.8 Гарантийные обязательстваГарантийные обязательства отсутствуют, программа поставляется в конечном виде.3.9 Сведения о рекламацияхРекламации отсутствуют.3.10 Сведения о храненииПрограмма может храниться сколь угодно долго.3.11 Сведения о закреплении программного изделия при эксплуатацииПрограмма закрепляется за автором разработки.3.12 Сведения об измененияхПрограмма не может изменяться.3.13 Особые отметкиРуководство оператора4.1 Назначение программыПрограмма для составления кроссворда.4.2 Условия выполнения программыТребуемые компоненты:.NET Framework 4.5.2 и выше;MS SQL SERVER 2012 и выше.4.3 Выполнение программыЗапустите программу, нажав на исполняемый файл.Вы увидите вопросы к кроссворду в правой части приложения.Нажмите кнопку, чтобы показать сетку для ответов.Постарайтесь самостоятельно угадать ответы на вопросы кроссворда.Нажмите на кнопку еще раз, чтобы увидеть ответы.При необходимости нажмите на кнопку еще раз, чтобы скрыть ответы.4.4 Сообщения операторуСообщения оператору появляются только в случае аварийной работы программы: отсутствуют компоненты для запуска или недостаточно оперативной памяти.Практическая часть. Описание программы5.1 Общие сведенияНазвание программы: CrosswordAppПрограммное обеспечение, необходимое для функционирования программы:.NETFramework 4.5.2 и MSSQLServer 2012.Язык программирования:C#.5.2 Функциональное назначениеСоставление кроссворда.5.3 Описание логической структурыАлгоритм программы:Считывание информации из базы данных (или генерация в случае первого запуска);Обработка данных;Отображение на экран.Используемые методы:Инициализация базы данных;Загрузка базы данных;Обработка базы данных;Вывод на экран сетки кроссворда;Вывод на экран ответов и вопросов кроссворда.Структура программыРисунок 1 - Структура программы в виде UML-диаграммы Связи программы с другими программамиПрограмма связывается только с компонентами, необходимыми для работы.5.4 Используемые технические средстваПрограмме нужны только компонент, необходимые для работы.5.5 Вызов и загрузкаПрограмма запускается посредством исполняемого файла.Точка входа:Program.Main5.6 Входные данныеПредварительно составленный кроссворд в виде базы данных.5.7 Выходные данныеВизуализация кроссворда.ЗаключениеИзучен язык C# и приобретены навыки составления высокоуровневых программ.Благодаря созданной программе автор глубже и понял структуру объектно-ориентированного программирования. Именно по данной причине было принято решение хранить кроссворд не в жестком программном виде, а интерактивно, используя базы данных и компоненты для работы с ними. Используя данные технологии, были созданы несколько классов, которые отображаются в проекции объектов на базе данных – в таблицы.Каждый созданный класс имеет четкую выраженную структуру и определение, каждый класс предназначен для выполнения одной поставленной задачи. К примеру, есть класс хранения всего слова целиком и есть класс для хранения одного символа – вполне понятно, что слово состоит из совокупности таковых символов. Есть класс для взаимодействия с формой, и есть класс для связи с базой данных и класс для генерации кроссворда.Наиболее интересным будет выделить то, что дизайн кроссворда может легко меняться – из-за правильной организованности программы все необходимые переменные, такие как цвет, размер и форма – вынесены в отдельный участок кода, благодаря чему их удобно редактировать и представлять в документации.Безусловно, необходимо понимать, что созванное приложение – только базис для более конструктивных и функциональных программ. Данна работа является примером, как можно организовать взаимодействие с такой структурой, как кроссворд.Благодаря использованию технологии WindowsForms кроссворд визуализируется на форме, и пользователь может видеть всю картину целиком.Список использованных источников1.Гуриков С. Р. Введение в программирование на языке Visual C#; Форум, Инфра-М, 2013. - 448 c.2.Мартин Р. С., Мартин М. Принципы, паттерны и методики гибкой разработки на языке C#; Символ-Плюс, 2014. - 768 c.3.Пугачев С., Шериев А., Кичинский К. Разработка приложений для Windows 8 на языке C#; БХВ-Петербург, 2013. - 416 c.4.Фленов Михаил Библия C#; БХВ-Петербург, 2014. - 560 c.5.Акулов О. А. Информатика: базовый курс : [учебник для вузов по направлениям «Информатика и вычислительная техника»] / Акулов О. А., Медведев Н. В. — М.: Омега-Л, 2014. — 551с.6.Бабэ, Бруно Просто и ясно о Borland C++; М.: БИНОМ, 2013. - 400 c.7.Дейтел, Х.М.; Дейтел, П.Дж. Как программировать на С++; М.: Бином; Издание 4-е, 2014. - 390 c.8.Джейсон, Прайс; Майк, Гандэрлой Visual C# .NET. Полное руководство; КОРОНА принт, 2014. - 960 c.9.Нейгел, К. C# 2013 для профессионалов; Вильямс, 2006. - 763 c.10.Рихтер, Джефри CLR via C#. Программирование на платформе Microsoft .NET Framework 2.0 на языке C#; Питер, 2014. - 656 c.11.Робинсон, С.; Корнес, О.; Глинн, Д. и др. C# для профессионалов; М.: Лори, 2013. - 396 c.12.Саттер, Герб Новые сложные задачи на C++; Вильямс, 2014. - 272c.13.Холзнер, С. Visual C++ 6. Учебный курс; Питер, 2013. - 576 c.14.Васильев, Алексей C#. Объектно-ориентированное программирование / Алексей Васильев. - М.: Питер, 2014. - 320 c.15.Зиборов, В. В. Visual C# 2012 на примерах / В.В. Зиборов. - М.: БХВ-Петербург, 2013. - 480 c.Приложение А.Листинг программыusing System.Collections.Generic;using System.Drawing;using System.Windows.Forms;namespace CrosswordApp{publicclassPuzzle {publicstaticint BitSize = 30;publicstaticint BitWidth = BitSize;publicstaticint BitHeight = BitSize;publicstaticint BitPadding = 2;publicstaticint BitBorder = 2;publicstaticint ScreenWidth = -1;publicstaticint ScreenHeight = -1;publicstaticint StartX = -1;publicstaticint StartY = -1;publicstaticint CountWidth = -1;publicstaticint CountHeight = -1;publicstaticColor EmptyColor = Color.Black;publicstaticColor BackColor = Color.White;publicstaticColor BorderColor = Color.Blue;publicstaticint LetterFontSize = 12;publicstaticstring LetterFontName = "Arial";privateGraphics g;public Puzzle(Graphics g, int width, int height, int x, int y, int N, int M, Color backC) { StartX = x; StartY = y; CountWidth = N; CountHeight = M; BackColor = backC; SetScreen(g, width, height); }publicvoid SetScreen(Graphics g, int width, int height) {this.g = g; ScreenWidth = width; ScreenHeight = height;if ((ScreenWidth / CountWidth) < (ScreenHeight / CountHeight)) { BitSize = ScreenWidth / CountWidth; }else BitSize = ScreenHeight / CountHeight; BitWidth = BitSize; BitHeight = BitSize; }privatevoid DrawBit(int x, int y, Color c, Color bc, string letter = "") { g.DrawRectangle(newPen(bc, BitBorder), x, y, BitWidth, BitHeight); g.FillRectangle(newSolidBrush(c), x + BitBorder, y + BitBorder, BitWidth - BitBorder * 2, BitHeight - BitBorder * 2);if (letter != "") { g.DrawString(letter.ToUpper(),newFont(LetterFontName, LetterFontSize, FontStyle.Regular),newSolidBrush(Color.Black),newPoint(x + BitBorder * 2, y + BitBorder * 2)); } }publicvoid DrawEmptyGrid(List<Word> words) {for(int i = 0; i < CountWidth; i++) {for (int j = 0; j < CountHeight; j++) { DrawBit(StartX + i * BitWidth + i * BitPadding, StartY + j * BitHeight + j * BitPadding, EmptyColor, EmptyColor); } }foreach (Word word in words) {foreach (Bit b in word.Bits) { DrawBit(b.CoordX * (BitSize + BitPadding), b.CoordY * (BitSize + BitPadding), BackColor, BorderColor); } } }void DrawAnswers(List<Word> words) {foreach (Word word in words) {foreach (Bit b in word.Bits) { DrawBit(b.CoordX * (BitSize + BitPadding), b.CoordY * (BitSize + BitPadding), BackColor, BorderColor, b.Character); } } }publicvoid PaintPuzze(List<Word> words, bool showAnswers) { g.Clear(BackColor);if (showAnswers) DrawEmptyGrid(words);else DrawAnswers(words); } }}using System;using System.Collections.Generic;using System.ComponentModel.DataAnnotations.Schema;using System.Linq;using System.Text;using System.Threading.Tasks;namespace CrosswordApp{publicclassBit { [DatabaseGenerated(DatabaseGeneratedOption.Identity)]publicGuid Id { get; set; }publicint CoordX { get; set; }publicint CoordY { get; set; }publicstring Character { get; set; }publicGuid WordId { get; set; }publicvirtualWord Word { get; set; }publicPuzzleContext PuzzleContext {get =>default(PuzzleContext);set { } } }}using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Linq;using System.Text;using System.Threading.Tasks;namespace CrosswordApp{publicstaticclassDataTableExtensions {publicstaticDataTable ToDataTable<T>(thisIList<T> data) {PropertyDescriptorCollection properties =TypeDescriptor.GetProperties(typeof(T));DataTable table = newDataTable();foreach (PropertyDescriptor prop in properties) table.Columns.Add(prop.Name, Nullable.GetUnderlyingType(prop.PropertyType) ?? prop.PropertyType);foreach (T item in data) {DataRow row = table.NewRow();foreach (PropertyDescriptor prop in properties) row[prop.Name] = prop.GetValue(item) ?? DBNull.Value; table.Rows.Add(row); }return table; }publicstaticDataTable ListToDataTable<T>(IList<T> data) {DataTable table = newDataTable();//special handling for value types and stringif (typeof(T).

Список литературы

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

1. Гуриков С. Р. Введение в программирование на языке Visual C#; Форум, Инфра-М, 2013. - 448 c.
2. Мартин Р. С., Мартин М. Принципы, паттерны и методики гибкой разработки на языке C#; Символ-Плюс, 2014. - 768 c.
3. Пугачев С., Шериев А., Кичинский К. Разработка приложений для Windows 8 на языке C#; БХВ-Петербург, 2013. - 416 c.
4. Фленов Михаил Библия C#; БХВ-Петербург, 2014. - 560 c.
5. Акулов О. А. Информатика: базовый курс : [учебник для вузов по направлениям «Информатика и вычислительная техника»] / Акулов О. А., Медведев Н. В. — М.: Омега-Л, 2014. — 551с.
6. Бабэ, Бруно Просто и ясно о Borland C++; М.: БИНОМ, 2013. - 400 c.
7. Дейтел, Х.М.; Дейтел, П.Дж. Как программировать на С++; М.: Бином; Издание 4-е, 2014. - 390 c.
8. Джейсон, Прайс; Майк, Гандэрлой Visual C# .NET. Полное руководство; КОРОНА принт, 2014. - 960 c.
9. Нейгел, К. C# 2013 для профессионалов; Вильямс, 2006. - 763 c.
10. Рихтер, Джефри CLR via C#. Программирование на платформе Microsoft .NET Framework 2.0 на языке C#; Питер, 2014. - 656 c.
и т
Очень похожие работы
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
bmt: 0.01138
© Рефератбанк, 2002 - 2024