Курсовые для Исб-2012 по ТП


3Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
«Пермская государственная сельскохозяйственная академия имени академика Д.Н.Прянишникова»
Кафедра информационных систем
Технология программирования
Указания для выполнения курсовой работы студентами ЗО направления «Информационные системы и технологии»
Пермь 2014
Список рекомендуемой литературы
Козлов А.Н., Кочкина М.А. Язык программирования С# в среде MicrosoftVisual Studio.NET 2008 : учебное пособие - Пермь : Пермская ГСХА, 2011. - 149с.
Фаронов В.В. Программирование на языке С#. Учебный курс : В. В. Фаронов. - М. : Питер, 2007. - 239с.
Альмухаметов В. Программирование в С# : учебно-практическое пособие / В. Альмухаметов ; рец.: И. В. Пьянкова, Э. Л. Аксенова. - Пермь : Пермская ГСХА, 2013. - 77с.
Васильев А.Н. С#. Объектно-ориентированное программирование : учебный курс / А.Н. Васильев. - Москва : Питер, 2012. - 315с.
Орлов С.А. Технологии разработки программного обеспечения. Современный курс по программной инженерии : учебник* / С. А. Орлов, Б. Я. Цилькер. - Москва : Питер, 2012. - 608с.
Приемы объектно-ориентированного проектирования. Паттерны проектирования : Э. Гамма [и др.] ; пер. с англ. А. Слинкин. - М. : Питер, 2008. - 366с.

Тематика курсовых работ:
- Разработка приложений на языке С# для работы с базами данных (для различных предметных областей) в среде MS Visual Studio.NET:
- Разработки игровых приложений;
- Разработка Web страниц в ASP.NET
- Разработка Windows- приложений на C#, решающих специфические задачи пользователей
Рекомендации к выполнению работы:
Реализовать многооконный интерфейс:
- на главной форме расположите меню;
- каждую операцию выполняйте в отдельном окне.
В программе должны присутствовать как функции-обработчики событий, так и пользовательские подпрограммы-функции;
Для наглядной демонстрации работоспособности программы вставить в работу изображения окон в рабочем состоянии.
Работа должна включать:
1. Титульный лист (см. приложение 1)
2. Содержание;
3. Введение (описание задания, планы по его реализации);
4. Обзор выбранной системы программирования и языка
5. Пошаговое описание процесса создания проекта:
-Распечатка внешнего вида всех форм программы как на этапе проектирования, так и в «рабочем» состоянии;
- Алгоритм работы программы в виде блок-схемы
-Включить тексты всех функций-обработчиков событий и вспомогательных пользовательских функций, прокомментировать их.
6. Полный код всех модулей программы;
7. Заключение (Соответствует ли программа поставленным задачам, где ее можно использовать, что можно улучшить, оптимизировать, какие функции можно еще добавить, общие выводы о проделанной работе )
8. Инструкция для пользователя программы;
9. Список литературы (как печатные, так и электронные ресурсы)
ФИО Вариант ФИО Вариант
Белоглазов 1 Подюков 11
Белочкин 2 Цанцук 12
Зеленин 3 Чесноков 13
Казакова 4 Шестакова 14
Калганова 5 Архипов 15
Коробейникова 6 Васев 16
Кучукбаев 7 Гордеев 17
Лисин 8 Зенков 18
Мартев 9 Кобелев 19
Останин 10 Ковина 20
Кузьминых 1 Салабуда 6
Лобанов 2 Филимонов 7
Мосягин 3 Чирва 8
Никитин 4 Шарапов 9
Приходько 5 Темы:
Разработать программу «Орфография», которая проверяла бы правильность написания слов в некотором введенном пользователем тексте, сравнивая их со словами из словаря (словарь находится во внешнем текстовом файле). Протестировать с помощью этой программы 10 пользователей. Вывести во внешний файл их результаты (ФИО пользователя; количество ошибок; слова, в которых пользователь допустил ошибки; процент слов с ошибками относительно общего количества слов в тексте; оценка (5- если процент ошибочных слов составляет менее 10%, 4- если менее 20%, 3- если менее 30%, иначе - 2)).
Разработать программу «Проверка грамотности», которая проверяла бы правильность написания слов в некотором введенном пользователем тексте, сравнивая их со словами из словаря (словарь находится во внешнем текстовом файле). Протестировать с помощью этой программы 10 пользователей. Вывести во внешний файл их результаты (ФИО пользователя; количество ошибок; оценка (нет ошибок- «5», 1 или 2 ошибки- «4», до 3-4 ошибки – «3», иначе –«2» )). Определить процент пользователей, получивших 2, 3, 4, 5. Представить результаты наглядно через круговую диаграмму. Определить ФИО пользователей с оценкой «2».
Составить программу для проверки знаний слов иностранного языка. Программа должна предлагать слова из некоторого списка на одном языке, обучающийся - дать перевод этого слова на другой язык. Список слов с их переводами находится во внешнем файле. Протестировать 10 пользователей, во внешний файл вывести их фамилии и результаты. Для каждого нового тестируемого программа подбирает новый вариант теста, произвольным образом комбинируя 20 слов из словаря. Определить 5 студентов с наилучшими результатами. Предусмотреть тренировочный режим работы, когда возможен вывод правильных ответов на представленные вопросы. Доступ к тренировочному режиму работы предоставляется по паролю.
Написать программу ScreenSaver. После нескольких секунд бездействия пользователя (временной интервал настраиваться пользователем), по экрану должен начать перемещение некоторый графический объект. При движении объект должен изменять свой цвет и размер. После того, как объект достигнет границы окна, траектория его движения должна измениться. Анимация прекращается, когда пользователь возобновит свою работу с мышью.
Разработать программу, моделирующую игру “Скачки”. В игре участвуют 10 наездников; за каждый тур игры каждый из них продвигается вперед на расстояние от 1 до 5 км случайным образом. Длина дистанции — 50 км. Всего проводится 5 заездов, победителю каждого заезда начисляется 5 очков. Победителем считается наездник, набравший наибольшее суммарное количество очков во всех заездах. Перед началом заездов участник игры выбирает номер наездника, с которым он будет идентифицироваться во время игры. Перемещения наездников в каждом туре игры необходимо наглядно демонстрировать.
Написать приложение «Пирамида», используемое для обучения детей. В произвольном месте формы появляются три прямоугольных объекта, со случайными значениями ширины и высоты. Используя интерфейс «drag-and-drop»  составить пирамиду. После очередного перетаскивания, если центры объектов стали находятся на одной вертикали и между ними не осталось существенных «зазоров», программа должна выдать оценку «Верно!».Протестировать 10 пользователей. Определить среднее время, за которое ребенок справляется с этой задачей.
Разработка приложения «Анализ данных по телефонным соединениям» в системе MS Visual Studio.NET 2008 (2010) на языке C#
Исходные данные по телефонным соединениям за месяц содержаться в текстовом файле (Столбцы:«Номер телефона», «Категория звонка» (исходящий/входящий), «Дата», «Время начала», «Время окончания»).
1) Сформировать второй текстовый файл, ставящий в соответствие каждому номеру телефона ФИО его владельца; По введенному ФИО пользователя определить, сколько исходящих и сколько входящих соединений было им произведено.
2) Сформировать третий и четвертый внешних текстовых файла, в третий поместить данные только по исходящим соединениям, в четвертый- только по входящим.
3) Определить суммарную длительность звонков в ночное или в дневное время (выбирается из списка);
4) Сколько исходящих звонков было совершено в пн, вт,…,вс? (день недели выбирается пользователем из списка. Наглядно продемонстрировать процентное соотношение количества звонков по дням недели через круговую диаграмму.
Выбор подзадачи реализовать через меню.
Разработка приложения «Анализ данных по телефонным соединениям» в системе MS Visual Studio.NET 2008 (2010) на языке C#
Исходные данные по телефонным соединениям за месяц содержаться в текстовом файле (Столбцы:«Номер телефона», «Категория звонка» (исходящий/входящий), «Дата», «Время начала», «Время окончания»).
1) Сформировать второй текстовый файл, ставящий в соответствие каждому номеру телефона ФИО его владельца; Показать информацию по переговорам только с конкретным абонентом (ФИО вводится пользователем).
Показать данные только по тем звонкам, которые были совершены в указанный диапазон дат (задается пользователем); 3) Определить ФИО абонента, с которым было наибольшее количество телефонных разговоров. 4) Через гистограмму наглядно показать соотношение количества телефонных соединений по месяцам.
Выбор подзадачи реализовать через меню.
9. Разработка приложения «Анализ данных по телефонным соединениям» в системе MS Visual Studio.NET 2008 (2010) на языке C#
Исходные данные по телефонным соединениям за месяц содержаться в текстовом файле (Столбцы:«Номер телефона», «Категория звонка» (исходящий/входящий), «Дата», «Время начала», «Время окончания»).
1)Сформировать второй текстовый файл, ставящий в соответствие каждому номеру телефона ФИО его владельца; Вывести фамилии абонентов, с которым были телефонные соединения в указанный пользователем диапазон дат. 2) Для каждого абонента определить количество телефонных соединений (любых) в указанный месяц (выбирается из списка). 3) Через круговую диаграмму продемонстрировать процентное соотношение количества исходящих и входящих вызовов. 4) Через гистограмму показать соотношение количества телефонных соединений по сезонам (напр. Летом- 42%, зимой-25% и т.д.).
Выбор подзадачи реализовать через меню.
10. Создание приложения для обработки результатов сессии в системе MSVisualStudio.NET 2008 (2010) на языке C#
В файле имеются результаты сессии студенческой группы (ФИО, оценка по математике, информатике, английскому языку, физике). 1)Вывести фамилии отличников. 2)Рассчитать и вывести среднюю для группы оценку по каждой из дисциплин. 3)Рассчитать процентное отношение этих оценок для каждой дисциплины (например для информатики: «Отлично»- 45%, «Хорошо»- 20%, «Удовлетворительно»- 30%, «Неудовлетворительно»- 5%) Результаты показать через четыре круговых диаграммы (по одной для каждой из дисциплин). 4) Вывести для каждого студента его средний балл.
Выбор подзадачи реализовать через меню.
11. Написать программу, которая позволяет зашифровывать и расшифровывать некоторый текст, написанный на русском языке. 1) С помощью «шифра Цезаря». Этот шифр реализует следующее преобразование текста: каждая буква исходного текста заменяется третьей после нее буквой в алфавите, который считается написанным по кругу. 2) С помощью «шифра перестановки». Этот шифр меняет местами две соседние буквы.
Выбор подзадачи реализовать через меню.
12. Составьте программу обучения работе с клавиатурой. Программа должна выдавать на экран буквы, цифры, слова и фразы, которые следует набрать на клавиатуре, и оценивать правильность и скорость набора. В программе предусмотреть три уровня подготовленности обучающегося.Использовать программу для обучения 10 человек, их результаты вывести во внешний файл.13. Написать программу «Графический пароль». На первом этапе пользователь задает пароль, кликая мышью в произвольных местах формы. На втором этапе пользователь пытается повторить заданный им графический пароль. Если ему это удается – программа выдает ссообщение «Вы успешно вошли в систему», если по истечению трех попыток пароль не был набран верно, программа завершает свою работу, во внешний текстовый файл добавляется запись о дате и времени неудачной попытки входа в систему.
Количество контрольных точек на форме при задании пароля- произвольно При попытках повтора заданного пароля допустимы некоторые погрешности в координатах и времени.
14. Разработайте программу, моделирующую игру “Кости”. Играющий называет любое число в диапазоне от 2 до 12 и ставку, которую он делает в этот ход. Программа с помощью датчика случайных чисел дважды выбирает числа от 1 до 6 (“бросает кубик”, на гранях которого цифры от 1 до 6). Если сумма выпавших цифр меньше 7 и играющий задумал число меньшее 7, он выигрывает сделанную ставку. Если сумма выпавших цифр больше 7 и играющий задумал число большее 7, он также выигрывает сделанную ставку. Если играющий угадал сумму цифр, он получает в четыре раза больше очков, чем сделанная ставка. Ставка проиграна, если не имеет место ни одна из описанных ситуаций. В начальный момент у играющего 100 очков. В программе должно присутствовать графическое изображение поверхности кубика при каждом ходе игрока. Определить, сколько очков будет у игрока через 1 минуту после начала игры.
15. В старояпонском календаре был принят 12-ти летний цикл. Годы внутри цикла носили названия животных: крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, петуха, собаки и свиньи.
Внешний текстовый файл содержит ФИО и даты рождения нескольких людей. 1) Дописать в каждую строку внешнего файла соответствующий дате символ года. 2) Определить, какой символ встречается наиболее часто. 3) Определить процентное соотношение людей, родившихся в год с тем или иным символом (например, тигр-9% и т.д.) Результаты представить через круговую диаграмму. 4) Определить и наглядно продемонстрировать через гистограмму процентное соотношение людей, родившихся в том или ином сезоне.

16. В файле хранится информация о днях рождениях друзей (имя, дата рождения). 1) Добавить в файл и заполнить столбец «возраст» (на текущую дату запуска приложения).
2)Добавить в файл и заполнить столбец «Знак зодиака». 3)Через круговую диаграмму наглядно показать процентное соотношение количества людей, родившихся под тем или иным знаком зодиака. 4) Вывести имена людей, чей день рождения выпадет на ближайший месяц (на ближайшие 30 дней относительно даты запуска приложения)
17. Разработать программу, моделирующую игру “Сбей самолет”. По экрану летит вражеский самолет. Цель играющего — сбить его. Пусковая установка находится в нижней строке экрана. Пусковую установку можно перемещать влево-вправо. Задача «минимум»- в качестве оружия использовать лазер (луч достигает цели мгновенно), задача «максимум»- использовать постепенно перемещающийся по экрану снаряд.
18. Написать программу «Ежедневник». Информация о предстоящих событиях находится во внешнем файле и содержит дату, время, краткое описание события. 1) При запуске приложения должен выдаваться список дел на сегодняшнюю дату, начиная с текущего момента времени. 2) Реализовать возможность просмотра событий для произвольной даты (дата вводится пользователем) 3) Реализовать возможность просмотра событий на выбранный пользователь месяц. 4)Реализовать возможность добавления в ежедневник новых событий через отдельное окно.
19. Разработать приложение “Помощник экзаменатора”. Экзаменационные вопросы и ответы к ним хранятся в файлах на диске. Каждый вопрос имеет балл сложности. Необходимо подобрать пять вопросов из разных разделов курса, имеющих в сумме балл сложности N, и вывести их на экран. Предусмотреть тренировочный режим работы, когда возможен вывод ответов на представленные вопросы. Доступ к тренировочному режиму работы предоставляется по паролю.
20. Написать приложение «Расчет зарплаты сотрудников торговой точки». Во внешнем текстовом файле содержаться записи о продажах товаров сотрудниками торговой точки: Фамилия, сумма продаж за день, дата. Всего в фирме работают пять продавцов, по каждому из них есть несколько записей в файле. 1) Разбить исходный файл на несколько, в каждый новый файл поместить записи за один конкретный месяц. 2) Для каждого месяца определить итоговую сумму продаж для каждого продавца, начислить им зарплату в размере 5% от этой суммы. 3) Для каждого месяца определить лидера по продажам.
Контрольные вопросы по дисциплине
Базовые концепции технологий программирования.
Модели жизненного цикла программы.
Этапы жизненного цикла программы.
Принципы объектно-ориентирпорванного пррограмммирования.
Понятие класса. Понятие полей и методов класса. Модификаторы доступа.
Конструкторы класса.
Стратегии доступа клиента к закрытым полям класса. Методы-свойства.
Операции, как частные случаи методов класса. Перегрузка операций.
Понятие наследования.
Типы данных C#.
Математические функции C#.
Операторы C#.
Обработка исключительных ситуаций в C#.
Концепция событийного программирования.
Задание реакции компонентов на то или иное событие. Кодирование функций-обработчиков событий.
Работа с кнопками, переключателями, списками.
Кодирование диалоговых окон.
Работа с компонентом «таймер».
Создание меню программы. Кодирование контекстных подсказок.
Работа с несколькими формами в приложении.
Работа с закладками, регуляторами, изображениями, панелью состояния, индикатором завершенности процесса, деревьями.
Работа с датами и временем.
Использование пользовательских подпрограмм-функций для обработки данных.
Работа с коллекциями и массивами. Представление табличной информации в приложении.
Обработка текстовой информации: строки и символы. Методы для работы с ними. Фрагментация текста на составляющие элементы.
Работа с внешними файлами. Запись и чтение текстовых файлов.
Графика в С#.
На экзамене студент получает практическое задание, для выполнения которого необходимы знания материала по вышеперечисленным вопросам.
Приложение 1
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
«Пермская государственная сельскохозяйственная академия имени академика Д.Н.Прянишникова»
Кафедра информационных систем
Курсовая работа по дисциплине
«Технология программирования»
Тема: _________________________
Выполнил___________________
Проверил_ст.преподаватель Кочкина М.А.
Оценка/Дата _________________
Пермь 2014

Приложенные файлы

  • docx 9115611
    Размер файла: 56 kB Загрузок: 0

Добавить комментарий