Разработать программу, реализующую функции составителя кроссворда.
Задано n слов. Составить программу составления из этих слов кроссворда с наибольшим возможным числом пересечений. Исходные слова записаны в файле input.txt. Результат должен быть представлен в файле output.txt, содержащем n строк с информацией о расположении каждого слова, включающей:
- координаты первой буквы слова в кроссворде (2 числа);
- число, указывающее горизонтальное или вертикальное расположение слова в кроссворде (0 - горизонтальное, 1 - вертикальное);
Считается, что кроссворд записывается на клетчатом листе бумаги, на которой строки нумеруются сверху вниз, а столбцы - слева направо. Координаты клетки - пара чисел: номер строки и номер столбца.
10. Разработать программу, выполняющие функции режима автозаполнения(аналог функции "Автозаполнения" пакета EXCEL).
При наборе текста с клавиатуры программа анализирует набираемый текст и сравнивает его с имеющимися в памяти элементами текста. Если после нажатия на очередную клавишу уже набранное сочетание символов совпадает с началом одной из строк текста в памяти, то эта строка из памяти автоматически вставляется в набираемый текст. Пользователь либо принимает выданную подстановку (переходит на конец строки), либо отвергает, т. е. продолжает набор, не обращая внимания на подстановку, тогда подстановка удаляется с экрана. Способ определения сочетаний символов для подстановки задается студентом. Набранный текст может быть сохранен в файле.
11. Разработать программу, реализующую функции построителя
Графиков.
Программу должна осуществлять следующие функции:
- ввод начального, конечного значений и приращения аргумента х;
- ввод функции F(x);
- вычислять N значений функции F(x);
- строить график по точкам;
- выполнять масштабирование графика (по осям х и F(x));
- выполнять сдвиг построенного графика вдоль оси х и оси у.
В программе предусмотреть сохранение вводимых значений х и F(x) в
файлах и их просмотр в табличном виде.
12. Разработать программу, реализующую функции логической игры «Водопроводчик».
Суть игры заключается в постройке трубопровода от одного края игрового поля к другому за определенное время. Играет один игрок. Компьютер предлагает очередной узел трубопровода, игрок может присоединить его к концу трубопровода, предварительно повернув его нужной стороной. В определенный момент времени с начала игры, в трубопровод начинает подаваться вода, которая медленно заполняет трубопровод. Если трубопровод будет заполнен до того, как игрок закончит строительство - игрок проиграл.
13. Разработать программу “Орнамент”.
Программу выполняет следующие функции:
- рисует геометрические фигуры (треугольник, ромб,
прямоугольник),
состоящие из символоввведенных пользователем;
- печатаетквадрат и ромб, составленные из чисел от 0 до n (n<=9);
- печатает симметричные рисунки, составленные из отдельных
символов (используя поворот и отражение);
- увеличивает заданный рисунок в n раз;
- создает орнамент из небольшого исходного рисунка;
- печатает буквы и цифры большого формата.
14. Разработать программу “составление и оценка турнира”.
Программа выполняет функции организатора турниров по одной из
трех систем:
- турнир с немедленным выбыванием ( жеребьевка производится
случайным образом);
- круговой турнир ( все соперники играют друг с другом ровно один
раз и победителем оказывается игрок с лучшим результатом);
- турнир по швейцарской системе.
Швейцарская система состоит в следующем: в первом круге соперник, “посеянный” первым, встречается с последним, второй - с предпоследним и т.д. После каждого круга соперники упорядочиваются по среднему числу очков у побежденных ими противников (ничья не учитывается). В следующем круге соперник, стоящий в описанной классификации на первом месте, встречается с соперником, занимающем наиболее высокое место из тех, с кем он еще не играл. Остальные пары определяются аналогичным образом: соперники должны иметь равное количество очков, причем повторные встречи не допускаются.
Основные правила проведения турниров:
- ни один из соперников не должен участвовать более чем в одном матче одного круга, а число кругов должно примерно равняться логарифму числа участников;
- никакие два соперника не должны встречаться больше одного раза.
15. Разработать программу, реализующую задачу определения степени сложности программы.
Степенью сложности программы могут служить следующие ее характеристики:
- число различных логических путей в программе;
- число операторов IF и их процент относительно использования всех операторов;
- средний размер модуля.
ПК реализует следующие функции:
- считывание из файла исходной программы;
- анализ сложности;
- выдача результатов проверки.
16. Разработать программу, реализующую работу логической игры “Уголки”.
Известная игра на шашечном поле. Противники расставляют свои шашки симметрично в противоположных углах доски в виде прямоугольников 3x4. Ходы осуществляются по очереди. За один ход можно двинуть одну шашку на одну свободную клетку. Если к шашке примыкает шашка противника, а за ней есть свободное поле, можно «прыгнуть» через шашку противника на это свободное поле. За один ход можно делать несколько последовательных прыжков одной шашкой. Выигрывает тот, кто быстрее выстроит свои шашки на позиции противника.