Контрольная работа
Цель:Целью данной работы является закрепление навыков, полученных в ходе выполнения предыдущих лабораторных работ.
Задание:Разработать и реализовать приложение, состоящее из двух модулей:
- 1. «Генератор уровней» – набор функций для генерации поля заданного размера и проверки допустимости действий пользователя
- Размеры поля являются переменными параметрами и задаются пользователем.
- Логически поле представлено в виде двумерного массива.
- Каждое действие пользователя приводит к изменению состояния поля.
- После каждого действия, совершаемого над полем, должны проверяться условия победы и поражения.
- 2. «Графический интерфейс» – окно WPF и связанные с ней функции для отображения игрового поля и обработки действий пользователя.
Вариант Задание1 Разработать и реализовать игру «Сапёр».
Правила игры «Сапёр» http://www.gamefile.ru/games/minesweeper/
2 Разработать и реализовать игру «Пятнашки».
Правила игры «Пятнашки» https://scanvord.net/pyatnashki/
3 Разработать и реализовать игру «Память».
Правила игры «Память» http://testbrain.ru/tests/viewMemory
4 Разработать и реализовать игру «2048».
Правила игры «2048» https://2048game.com/ru/
Результаты выполнения задания представить в виде:
архив с проектом приложения.
Если размер архива больше 2 Мбайт, то рекомендуется загрузить проект на https://github.com/
(или на другое общедоступное облачное хранилище) и предоставить ссылку
отчет по контрольной работе в формате Microsoft Word, который содержит следующие разделы:
1. титульный лист
2. постановка задачи и вариант
3. описание хода работы и используемых алгоритмов
4. описание разработанной программы со скриншотами
5. вывод с результатами работы
6. список используемых источников
=============================================Лабораторная работа 1
Тема: Основы программирования на языке C#
Цель: Целью данной работы является получение базовых навыков программирования на языке высокого уровня C# в среде разработки Microsoft Visual Studio
Задание: необходимо разработать и реализовать 7 консольных приложений, описание которых приведено ниже.
1) Разработайте и реализуйте консольное приложение, которое выводит на экран таблицу умножения.
2) Разработайте и реализуйте консольное приложение, которое считывает введённый пользователем символ и выводит на экран сообщение о том, является ли введённый символ цифрой.
3) Разработайте и реализуйте консольное приложение, которое содержит функцию для обмена значениями содержимого двух переменных типа double.
4) Разработайте и реализуйте консольное приложение, которое:
- запрашивает у пользователя минимальное и максимальное значения
- создаёт двумерный массив целых чисел (размер на ваше усмотрение)
- заполняет массив случайными числами в диапазоне, введённом пользователем
- выводит значения двумерного массива на экран
5) Разработайте и реализуйте консольное приложение, которое:
- запрашивает у пользователя число
- содержит функцию для определения, является ли число простым
- выводит на экран все простые числа от 0 до числа, введённого пользователем
6) Разработайте и реализуйте консольное приложение, которое:
- запрашивает у пользователя номер месяца от 1 до 12
- выводит на экран название времени года, соответствующему номеру месяца, введённому пользователем
7) Разработайте и реализуйте консольное приложение, которое:
- запрашивает у пользователя данные о студенте, ФИО + оценки (запрос данных нужно оформить в виде функции)
- хранит информацию о студенте и его успеваемости в некоторой структуре данных
- хранит список студентов в массиве, состоящем из 10 элементов
- позволяет пользователю либо добавить данные о новом студенте, либо прекратить добавление данных
- выводит на экран полный список студентов; список студентов, имеющих только отличные оценки; список студентов, имеющих хотя бы одну неудовлетворительную оценку
Лабораторная работа 2
Тема: Компоненты и события
Цель: Целью данной работы является получение базовых навыков использования компонентов и описания событий на языке высокого уровня C# в среде программирования Microsoft Visual Studio
Задание: необходимо разработать и реализовать 5 приложений WPF, описание которых приведено ниже.
1) Разработайте и реализуйте приложение WPF, которое:
- содержит 2 тестовых поля подписанных как «А» и «Б»
- четыре кнопки подписанных как «+», «-», «*» и «/»
- поле для вывода текста
- пользователь может ввести числа в текстовые поля, нажать кнопку и получить в текстовом поле результат, соответствующей арифметической операции над введёнными числами в текстовом поле
Пример выполнение операции сложения:
2) Разработайте и реализуйте приложение WPF, которое:
- содержит текстовое поле
- содержит текстовый список
- содержит кнопку, подписанную как “Добавить”
- при нажатии на кнопку, текст, записанный в текстовом поле, должен добавляться как новая строка в текстовый список, после добавления, текстовое поле должно быть очищено
Пример работы программы:
3) Разработайте и реализуйте приложение WPF, которое:
- содержит текстовый список, содержащий названия планет солнечной системы
- содержит поле для вывода текста
- при выборе названия планеты из текстового списка, выводит краткую информацию о ней в поле для вывода текста
Пример работы программы:
4) Разработайте и реализуйте приложение WPF, которое:
- содержит три выпадающих списка, с помощью которых можно выбрать год, месяц и день
- количество дней в месяце определяется только после выбора года и месяца, до этого, выпадающий список с выбором дня должен быть не активен
- после выбора всех трёх параметров, должно появляться сообщение с информацией о том, сколько лет, месяцев и дней прошло с выбранной даты до текущего момента
Пример работы программы:
5) Разработайте и реализуйте приложение WPF, которое:
- содержит меню и текстовый список
- содержит в меню два пункта, позволяющие загрузить текст из выбранного, с помощью диалога открытия, файла текст в текстовый список, и сохранить текст из текстового списка в выбранный, при помощи диалога сохранения, файл
=============================================ЛАБОРАТОРНАЯ РАБОТА 1. Компоненты и событияЦель: Целью данной работы является получение базовых навыков использования компонентов и описания событий на языке высокого уровня C# в среде программирования Microsoft Visual Studio
Задание: необходимо разработать и реализовать 5 приложений WPF, описание которых приведено ниже. 1) Разработайте и реализуйте приложение WPF, которое: - содержит 2 тестовых поля подписанных как «А» и «Б» - четыре кнопки подписанных как «+», «-», «*» и «/» - поле для вывода текста - пользователь может ввести числа в текстовые поля, нажать кнопку и получить в текстовом поле результат, соответствующей арифметической операции над введёнными числами в текстовом поле Пример выполнение операции сложения: 2) Разработайте и реализуйте приложение WPF, которое: - содержит текстовое поле - содержит текстовый список - содержит кнопку, подписанную как “Добавить” - при нажатии на кнопку, текст, записанный в текстовом поле, должен добавляться как новая строка в текстовый список, после добавления, текстовое поле должно быть очищено Пример работы программы: 3) Разработайте и реализуйте приложение WPF, которое: - содержит текстовый список, содержащий названия планет солнечной системы - содержит поле для вывода текста - при выборе названия планеты из текстового списка, выводит краткую информацию о ней в поле для вывода текста Пример работы программы: 2 4) Разработайте и реализуйте приложение WPF, которое: - содержит три выпадающих списка, с помощью которых можно выбрать год, месяц и день - количество дней в месяце определяется только после выбора года и месяца, до этого, выпадающий список с выбором дня должен быть не активен - после выбора всех трёх параметров, должно появляться сообщение с информацией о том, сколько лет, месяцев и дней прошло с выбранной даты до текущего момента Пример работы программы: 5) Разработайте и реализуйте приложение WPF, которое: - содержит меню и текстовый список - содержит в меню два пункта, позволяющие загрузить текст из выбранного, с помощью диалога открытия, файла текст в текстовый список, и сохранить текст из текстового списка в выбранный, при помощи диалога сохранения, файл
ЛАБОРАТОРНАЯ РАБОТА 2. Работа с базами данныхЦель работы: получение навыков работы с базами данных на языке C#; знакомство с принципами построения SQL-запросов.
Задание: Разработать WPF-приложение с графическим интерфейсом и реализовать следующие функции: 1) ввод данных о студентах: уникальный номер, ФИО, оценка по физике, оценка по математике; 2) добавление данных в базу данных SQLite (далее - БД) через интерфейс приложения; 3) чтение данных из БД и отображение их в окне приложения; 4) редактирование данных в БД через интерфейс приложения; 5) удаление данных из таблиц. БД должна содержать две таблицы, связанные через уникальный номер: 1. таблица, содержащая уникальный номер и ФИО; 2. таблица, содержащая уникальный номер и оценки. Дополнительное задание в зависимости от последней цифры пароля: Вариант 1: реализовать хранение и редактирование даты рождения студента; Вариант 2: реализовать хранение и редактирование номера телефона студента; Вариант 3: реализовать хранение и редактирование названия группы студента; Вариант 4: реализовать хранение и редактирование признака наличия стипендии у студента (есть стипендия/нет стипендии).
ЛАБОРАТОРНАЯ РАБОТА 3. Разработка клиент-серверных приложенийЦель работы: изучение принципов построения клиент-серверных приложений; получение навыков разработки клиент-серверных приложений на языке C#.
Задание: Разработать сетевой чат. Клиентская часть должна быть реализована в виде WPF-приложения. На интерфейсе должны присутствовать: окно просмотра входящих сообщений; поле выбора адресата; поле ввода сообщения; кнопка отправки сообщения. Серверная часть может быть реализована как с графическим интерфейсом, так и без него (например, в виде консольного приложения или фоновой службы). Сервер должен поддерживать подключение более двух клиентов. Схема работы сетевого чата: 1. запуск сервера; 2. запуск клиентов с указанием имени пользователя; 3. подключение клиентов к серверу; 4. клиент отправляет сообщение на сервер с указанием адресата; 5. сервер получает сообщение и переотправляет его указанному адресату; 6. адресат получает сообщение от другого клиента; 7. повторение шагов 4-6; 8. отключение клиентов от сервера. Дополнительное задание в зависимости от последней цифры пароля: Вариант 1: реализовать отправку сообщений нескольким адресатам сразу; Вариант 2: реализовать отправку сообщений всем адресатам сразу; Вариант 3: реализовать отображение времени получения сообщения; Вариант 4: реализовать счётчик входящих/исходящих сообщений.