Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

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




4. Разработать программу для игры «Ним».
В игре используются спички, разложенные в N кучек. Игроки поочередно берут из любой кучки произвольное число спичек (можно все). Побеждает игрок, который берет последнюю спичку.

5. Разработать программу для игры «Калах».
В калах играют на доске с двумя рядами из шести лунок, расположенных друг против друга. Каждый игрок владеет рядом из шести лунок и еще одной лункой справа, называемой калахом. В исходной позиции в каждой из шести лунок находится по шесть камешков, а лунка калах – пуста.
Игрок начинает свой ход с изъятия всех камешков из одной из своих лунок. Затем, обходя доску против часовой стрелки, он раскладывает камешки по лункам, по одному камешку в лунку, включая собственный калах, но пропуская калах противника, до тех пор, пока не будут разложены все вынутые из лунки камешки. При этом возможны три исхода. Если последний из раскладываемых камешков попадает в калах, то игрок делает еще один ход. Если последний камешек попадает в собственную пустую лунку, а находящаяся напротив лунка противника содержит хотя бы один камешек, то игрок забирает все камешки из это лунки противника и вместе с последним из раскладываемых камешков помещает их в свой калах. В остальных случаях ход игрока завершается, и следующий ход делает противник.

6. Разработать программу для игры «Тригекс».
Игра проводится на игровом поле, изображенном на рисунке. В игре участвуют двое, ходят по очереди. Один из соперников ходит белыми фишками, другой – черными. Сделать ход – это значит установить фишку своего цвета в один из кружков игрового поля. Победителем считается тот, кто сумеет первым поставить три своих фишки вдоль одной из девяти прямых.

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

8. Разработать программу для составления кроссвордов.
Слова для кроссворда хранятся в файле.

9. Определение связности графа на Лиспе.Напишите программу, определяющую, является ли данный неориентированный граф связным. Указание: запрограммируйте предварительно предикат (path X Y), проверяющий, существует ли путь из вершины X в вершину Y.

10. Реализовать переборный алгоритм для игры "Четыре в ряд" (Four in a row; правила игры см. в википедии). Программа должна по некоторому представлению игровой позиции предлагать оптимальный или близкий к нему ход за одну из сторон. Поиск оптимального хода следует осуществлять посредством перебора вариантов. См., например, статью Minimax в английской Википедии.

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

12.Для каждого жителя города (по его имени) задано множество (возможно, пустое) имен его детей; каждый житель города имеет уникальное имя. Жители x и y считаются родственниками, если либо x - ребенок y, либо y - ребенок x, либо существует некий z, являющийся родственником x и y одновременно. Вывести все подмножества родственников (в виде списков имен).

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

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

15. Разработать программу для игры в морской бой.
Игровое поле – 10х10 позиций. Корабли на игровом поле: четыре одноклеточных, три двухклеточных, два трехклеточных и один четырехклеточный. Корабли расставляются случайным образом. Программа должна работать в режиме «человек-машина».

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

17. Разработать программу для разбиения текста, находящегося в файле, на строки длиной около 80 символов с переносом слов.
Исходный и обработанный тексты хранятся в файле.
Для разбиения слова на части для переноса использовать следующие правила:
– две идущие подряд гласные можно разделить, первой из них предшествует согласная, а за второй идет хотя бы одна буква (буква й при этом рассматривается вместе с предшествующей гласной как единое целое);
– две идущие подряд согласные можно разделить, если первой из них предшествует гласная, а той части слова, которая идет за второй согласной, имеется хотя бы одна гласная (буквы ь, ъ вместе с предшествующей согласной рассматриваются как единое целое);
– если не удается применить указанные выше два пункта, то следует попытаться разбить слово так, чтобы первая часть содержала более чем одну букву и оканчивалась на гласную, а вторая содержала хотя бы одну гласную.
Вероятность правильного разбиения увеличивается, если предварительно воспользоваться хотя бы неполным списком приставок, содержащих гласные, и попытаться, прежде всего, выделить из слова такую приставку.

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

19. Разработать программу для игры «Угадывание слова».
Слова для угадывания хранятся в файле. Предусмотреть подсчет числа попыток и ограничить их количество. Программа должна работать в режиме «человек-машина» и «машина-человек».

20. Разработать программу для игры «Жизнь».
Игра моделирует жизнь поколений гипотетической колонии живых клеток, которые выживают, размножаются или погибают в соответствии со следующими правилами. Клетка выживает, если и только если она имеет двух или трех соседей из восьми возможных. Если у клетки только один сосед или вовсе ни одного, она погибает в изоляции. Если клетка имеет четырех или более соседей, она погибает от перенаселения. В любой пустой позиции, у которой ровно три соседа, в следующем поколении появляется новая клетка. Предусмотреть задание размеров поля и случайную или ручную расстановку клеток.

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

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

23. Разработать программу для игры в морской бой.
Игровое поле – 10х10 позиций. Корабли на игровом поле: четыре одноклеточных, три двухклеточных, два трехклеточных и один четырехклеточный. Корабли расставляются случайным образом. Программа должна работать в режиме «человек-машина».

24. Разработать программу для игры «Быки и коровы».
Требуется угадать случайное четырехзначное число. Называются пробные цифры. Если цифра по значению и позиции совпала с цифрой в исходном числе, то эта цифра – «корова». Если же цифра совпала по значению, но не совпала по позиции с цифрой в исходном числе, то эта цифра – «бык». Программа должна работать в режиме «человек-машина» и «машина-человек». Например, если загадано число 1294, а названо число 1429, то это одна «корова» и три «быка». Программа должна работать в режиме «человек-машина» и «машина-человек».

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

ЗАДАНИЕ
на курсовой проект
по дисциплине «Функциональное программирование и интеллектуальные системы»

Тема:    Разработка программы с использованием языка функционального программирования Lisp

Задание:

Пояснительная записка к курсовому проекту:

Содержание пояснительной записки:

- титульный лист;

- задание на курсовой проект (данный лист);

- введение;

- назначение программного продукта;

- описание алгоритма работы программы;

- описание данных;

- описание методов решения;

- описание программы;

- описание пользовательского интерфейса;

- список использованной литературы и/или адресов www;

- приложение: исходные тексты с комментариями.

Календарный план-график:

- получение задания                    8 неделя

- анализ задания, постановка задачи,   8 – 9 недели
изучение литературы

- разработка структуры программы     10 – 11 недели

- отладка программы                  12 – 14 недели

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

- защита курсового проекта        16 неделя

 










Последнее изменение этой страницы: 2018-04-12; просмотров: 226.

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