Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КУРСОВАЯ РАБОТА (Методичка)_1.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
260.61 Кб
Скачать

ДВНЗ «Донецкий Национальный Технический Университет»

Кафедра систем искусственного интеллекта

Методические указания

Для студентов дневной формы обучения специальности «Системы искусственного интеллекта»

к курсовому проектированию

по дисциплине «Алгоритмизация и программирование»

Семестр 2

Старший преподаватель Патрушев В. А.

Зав. кафедрой СИИ,

проф., к.м-ф.н. Шелепов В.Ю.

Донецк 2013

Содержание

1. Цели и задачи курсовой работы

3

2. Тематика курсовых работ

3

3. Порядок выполнения курсовой работ

5

4. Основные требования к выполнению и оформлению курсовой

работы

5

5. Список рекомендуемой литературы

7

Приложение А (справочное)

8

1. Цели и задачи курсовой работы

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

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

- углубление практических навыков;

- формирование умений применять теоретические знания при решении поставленных практических вопросов;

- раскрытие содержательной характеристики выбранной темы;

- приобретение и закрепление навыков самостоятельной работы;

- проверка умения формулировать основные выводы по результатам анализа конкретной темы.

Курсовой проект представляет собой результат выполнения следующих взаимосвязанных этапов:

1. Выбор темы;

2. Разработка рабочего плана, проектирование структуры программного продукта;

3. Сбор, анализ и обобщение материалов исследования, формулирование основных теоретических положений;

4. Разработка алгоритмов и составление программ на выбранном языке (тестирование, отладка).

5. Документирование созданного программного продукта и оформление курсового проекта;

6. Защита.

Работа выполняется самостоятельно в произвольное время и сдается в строго оговоренные сроки.

2. Тематика курсовых проектов

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

1. Инженерный калькулятор.

2. Программа-игра "Электропианино".Под каждой клавишей написана буква, нажав клавишу с которой на клавиатуре, вы активируете клавишу на "пианино".

3. Игра «Поле чудес».

4. Игра «Блэк Джек».

5. Игра "15". Вот ее правила. В прямоугольной коробочке находятся 15 фишек, на которых написаны числа от 1 до 15. Размер коробочки — 4 x 4, таким образом, в коробочке есть одна пустая ячейка. В начале игры фишки перемешаны. Задача игрока состоит в том, чтобы, не вынимая фишки из коробочки, выстроить фишки в правильном порядке.

6. "Собери картинку" — аналог игры "15", в которой игрок будет перемещать не цифры, а фрагменты картинки.

7. Игра «Балда».

8. Игра "Парные картинки" развивает внимание. Вот ее правила. Игровое поле разделено на клетки, за каждой из которых скрыта картинка. Картинки — парные, т. е. на игровом поле есть две клетки, в которых находятся одинаковые картинки. В начале игры все клетки "закрыты". Щелчок левой кнопкой мыши "открывает" клетку, в клетке появляется картинка. Теперь надо найти клетку, в которой находится такая же картинка, как и в открытой клетке. Щелчок к другой клетке открывает вторую картинку. Если картинки в открытых клетках одинаковые, то эти клетки "исчезают". Если разные — то клетки ос таются открытыми. Очередной щелчок закрывает открытые клетки и открывает следующую. Следует обратить внимание, что две открытые клетки закрываются даже в том случае, если открытая картинка такая же, как и одна из двух открытых. Игра заканчивается, когда игрок откроет ("найдет") все пары картинок.

9. Игра "Сапер".

10. Программа тестирования общих знаний пользователя полученных по школьной программе.

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

12. Разработать программу, моделирующую игру “Морской бой”. На поле 10 на 10 позиций стоят невидимые вражеские корабли: 4 корабля по 1 клетке, 3 корабля по 2 клетки, 2 корабля по 3 клетки, 1 корабль в 4 клетки. Необходимо поразить каждую из клеток кораблей. Два игрока вводят позиции кораблей в виде цифр (1, 2, 3, 4) в соответствующие элементы матрицы, тем самым определяя конфигурацию и положение кораблей. Игроки по очереди “наносят удары” по кораблям противника. Если позиция корабля указана верно, то она помечается крестиком на поле. Предусмотреть вариант игры, когда одним из играющих является ЭВМ.

13. Разработать программу, моделирующую игру “Кости”. Играющий называет любое число в диапазоне от 2 до 12 и ставку, которую он делает в этот ход. Программа с помощью датчика случайных чисел дважды выбирает числа от 1 до 6 (“бросает кубик”, на гранях которого цифры от 1 до 6). Если сумма выпавших цифр меньше 7 и играющий задумал число меньшее 7, он выигрывает сделанную ставку. Если сумма выпавших цифр больше 7 и играющий задумал число большее 7, он также выигрывает сделанную ставку. Если играющий угадал сумму цифр, он получает в четыре раза больше очков, чем сделанная ставка. Ставка проиграна, если не имеет место ни одна из описанных ситуаций. В начальный момент у играющего 100 очков. В программе должно присутствовать графическое изображение поверхности кубика при каждом ходе игрока.

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

15 Напишите программу, которая генерирует или считывает шахматную позицию и определяет, не находится ли один из королей под шахом и не является ли шах матом. В программе предусмотреть два варианта ввода исходных данных: 1) шахматная позиция генерируется с помощью датчиков случайных чисел; 2) шахматная позиция вводится с клавиатуры ЭВМ.

16 Игра «О счастливчик».

17 Игра «Змейка»

18 Обучающая программа с системой тестирования полученных знаний по курсу «Основы программирования и алгоритмические языки».

19 Программа справочник «Чемпионат мира по футболу 2012» с возможностью тотализатора на результаты матчей.

20 Программа «Меню». Программа предоставляет список блюд с ценами и определяет стоимость заказа.

21 Программа «Деканат». Ведет список студентов, выставляет оценки за сессию и определяет студентов, которые будут получать стипендию.

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

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

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

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