Разработать программу, реализующую функции тренировки памяти.
Программу должна высветить на экране несколько точек, играющий указать, в каком порядке эти точки были высвечены. Координаты точек выбираются в программе с помощью датчика случайных чисел.
25. Разработать программу, реализующую функции обучения работе с клавиатурой.
Программу должна выдавать на экран буквы, цифры, слова и фразы, которые следует набрать на клавиатуре. Предусмотреть возможность работы с пользователями разных уровней. Уровень определяется:
- степенью сложности вводимых слов (количество символов в слове);
- ограничением времени набора слов.
26. Разработать программу «Ханойская башня».
Доска имеет три колышка. На первом нанизано m дисков убывающего вверх диаметра. Расположить диски в том же порядке на другом колышке. Диски можно перекладывать с колышка на колышек по одному. Класть больший диск на меньший не разрешается.
27. Разработать программу, реализующую функции логической игры «Мозаика».
Программа представляет собой программную реализацию популярной игры «Мозаика» (Puzzle), цель которой заключается в создании игроком полного изображения путем упорядочивания его фрагментов последовательным перемещением и соединением соответствующих сторон. Приложение должно обеспечивать:
· просмотр исходного изображения во время игры, а также поиск подходящих друг к другу фрагментов (функция подсказки);
· возможность перемещать фрагменты за пределы рабочего поля или в другое окно и обратно для улучшения наглядности.
Следует учесть, что при создании новой игры все фрагменты должны быть разъединены и размещены беспорядочно в области рабочего поля или в области, отведенной специально для фрагментов. При использовании отдельной области для отображения фрагментов может быть применена ее прокрутка и изменение масштаба.
28. Разработать программу “Алгоритм”,
реализующую следующие функции:
- чтение исходного текста программы на языке Turbo Pascal (СИ);
- составление алгоритма программы.
29. Разработать программу"хранитель экрана" - Screen Saver, реализующую трехмерную сцену с полигональными моделями и анимацией.
Программу должна иметь диалог настройки для назначения детализации, выбора текстур и т.п. Включаются эффекты прозрачности, преломления, отражения от нескольких источников света и др. Возможно использование моделей, подготовленных в пакетах трехмерной графики типа 3DS Max (*.X, *.3DS).
Примеры сцен: аквариум, шахматы, калейдоскоп, трехмерные снежинки, часы (песочные, со стрелками, кукушкой), морфинг.
30. Разработать программу «Перекрестки».
Даны декартовы координаты N перекрестков города, которые пронумерованы от 1 до N. На каждом перекрестке имеется светофор. Некоторые из перекрестков соединены дорогами с двусторонним (правосторонним) движением, которые пересекаются только на перекрестках. Для каждой дороги известно время, которое требуется для проезда по ней от одного перекрестка до другого. Необходимо проехать от перекрестка с номером А до перекрестка с номером В за минимальное время.
31. Разработать программу «Карточки».
Есть N карточек. На каждой из них черными чернилами написан ее уникальный номер – число от 1 до N. Также на каждой карточке красными чернилами написано еще одно целое число, лежащее в промежутке от 1 до N (некоторыми одинаковыми «красными» числами могут помечаться несколько карточек). Необходимо выбрать из данных N карточек число карточек таким образом, чтобы множества «красных» и «черных» чисел на них совпадали.
32. Разработать программу «Электронная таблица»,
реализующую функции простой электронной таблицы. Таблица состоит из 9 строк от 1 до 9 и 26 столбцов от A до Z. Клетки таблицы обозначаются именами, составленными из кодов столбца и строки (B1, S8). Каждая клетка содержит выражение. Выражения используют целые константы, ссылки на клетки, скобки, бинарные операторы +, -, * и / (целочисленное деление). Например, 567, E8|2, (3+B3)*(C4-1) являются правильными выражениями. Все операторы целочисленные. Деление на ноль дает в результате ноль. Если значение ячейки, на которую ссылается некоторое выражение, не определено, оно считается равным нулю. Ситуация, когда две или более ячейки зависят друг от друга, является отдельным случаем – циклической ссылкой. Ограничения: длина выражения в одной ячейке до 255 символов, все аргументы и результаты меньше 1 000 000.
33. Разработать программу, реализующую функции игры «Самолет».
Самолет, управляемый клавишами «стрелка вправо» и «стрелка влево», должен избежать столкновений со снарядами. Снаряды располагаются случайным образом внизу экрана, а затем непрерывно перемещаются вверх.
34. Разработать программу, реализующую функции игры «Мосты».
Правила игры: есть игровое поле N × N, где N нечетное число.
Каждой клетке этого поля сопоставим пару координат (x, y), x = 1, 2, ... N, y = 1,2,..., N.
В начале игры клетки, у которых обе координаты имеют одинаковую четность, имеют белый цвет, остальные клетки либо красные, либо синие, а именно, клетки с чётной координатой x синие, а с нечетной — красные.
Игроки по очереди ходят, закрашивая за один ход одну белую клетку в свой цвет: один красит в красный цвет, другой — в синий. Первым ходит "красный" игрок. "Красный" игрок хочет построить красный мост, соединяющий левую и правую стороны квадрата, синий игрок — синий мост, соединяющий верхнюю и нижнюю стороны квадрата.
На входе дана корректная ситуация — ситуация, которая в принципе может возникнуть, если игроки будут ходить по очереди. Это означает, что красных клеток либо больше на один, чем синих, либо их количества равны, и, кроме того, ни синий, ни красный мост еще не построены. Напишите программу, которая определяет, является ли ситуация "матовой" или игрок следующим ходом строит мост. Мы называем ситуацию "матовой", если как бы ни сходил тот игрок, чей сейчас ход, следующим ходом второй игрок сможет построить мост своего цвета.
Вход. На вход поступает описание состояние поля. В первой строчке находится нечетное натуральное число N 1 < N ≤ 100. Затем идет N строчек длины N, состоящих их символов
W R B,
которые соответствуют белому, красному и синему цвету.
Выход. Если до постройки моста остался один ход, то выведите число 1. Если независимо от следующего хода игрока, другой игрок следующим ходом сможет построить мост, выведите 2. В остальных случаях выводите 0.
35. Разработать программу, реализующую функции игры «Хамелеон».
Правила игры: игра происходит в квадрате 3×3, в клетках которого находятся 8 фишек с буквами этого слова, а одна из клеток пуста. За один ход разрешается одну из фишек переместить на соседнюю пустую клетку. Цель игры – достигнуть расположения фишек, указанного на рисунке:
X | A | M |
E | L | E |
O | N |
Напишите программу, которая определяет за какое минимально возможное число ходов можно достичь цель игры, либо сообщает, что цели достичь нельзя. Во входном файле находится матрица 3×3, составленная из заглавных букв латинского алфавита.
36. Разработать программу, реализующую функции игры «Города».
Всем известна игра в “города”, когда нужно называть города, первая буква которого совпадает с последней буквой предыдущего. Дано несколько названий городов (на английском/русском языке с маленькой буквы), требуется определить какой максимальной длины можно составить из них цепочку.
Входные данные:
N - количество городов (не больше 20)
name1 - название 1го города (не больше 255 символов)
...
nameN - название последнего города.
37. Разработать программу, реализующую функции игры «Мост».
Дан мост с арками разной ширины, в нижней строке экрана расположен мяч, которым можно управлять: мяч можно перемещать по строке, останавливать в нужной позиции строки и катить к мосту. Очки начисляются, если мяч проходит через арку.
38. Разработать программу, реализующую функции игры «Подбери ключ».
Перед играющим четыре запертые двери. Открыть все двери, располагая десятью ключами, каждый из которых может открыть несколько дверей. Предоставляется ограниченное число попыток (например, 14 попыток).
39. Разработать программу, реализующую функции игры «Ипподром».
Играющий выбирает одну из трех лошадей, состязающихся на бегах, и выигрывает, если его лошадь приходит первой. Скорость передвижения лошадей на разных этапах выбирается программой с помощью датчика случайных чисел.
40. Разработать программу, реализующую функции игры «Кости».
Играющий называет любое число в диапазоне от 2 до 12 и ставку, которую он делает в этот ход. Программа с помощью датчика случайных чисел дважды выбирает числа от 1 до 6 («бросает кубик», на гранях которого цифры от 1 до 6). Если сумма выпавших цифр меньше 7 и играющий задумал число меньшее 7, он выигрывает сделанную ставку. Если сумма выпавших цифр больше 7, и играющий задумал число большее 7, он также выигрывает сделанную ставку. Если играющий угадал сумму цифр, он получает в четыре раза больше очков, сделанная ставка. Ставка проиграна, если не имеет место ни одна из описанных ситуаций. В начальный момент у играющего 100 очков.
41. Разработать программу, реализующую функции игры «Семь лунок».
Вдоль доски расположено 7 лунок, в которых лежат 3 черных и 3 белых шара. Передвинуть черные шары на место белых, а белые - на место черных. Шар можно передвинуть либо в соседнюю с ним пустую лунку, либо в пустую лунку, находящуюся непосредственно за ближайшим шаром.
42. Разработать программу, реализующую функции логической игры “Крестики-нолики” на неограниченном поле.
Программа является реализацией известной логической игры “Крестики-нолики” В данной реализации предусматривается игра двух игроков на неограниченном поле. Цель игры: построить непрерывную линию из пяти или более фишек (крестиков или ноликов) по горизонтали, вертикали или диагонали. Возможны два режима игры, когда выигрывает тот, кто первым построит линию, или кто больше наберет очков за определенное количество времени. Во втором случае количество построенных линий не ограничено, каждая фишка в линии приносит игроку одно очко. Приложение должно обеспечивать начало новой игры на чистом поле, а также проверку соответствия действий игроков правилам игры и условия окончания игры. Роль одного из игроков (по выбору пользователя) может выполнять компьютер. Для исключения возможности образования изолированных игр на одном поле и неоправданного увеличения размера поля следует установить максимально допустимое расстояние (не более пяти) от уже существующих фишек до новой, размещаемой игроком.
43. Разработать программу, реализующую функции логической игры “Цепь”.
Программа является реализацией известной логической игры. В данной реализации предусматривается игра двух игроков на квадратном поле фиксированного размера. Цель игры - построить непрерывную линию, соединяющую горизонтальные или вертикальные (для каждого из игроков соответственно) стороны игрового поля, причем линия считается непрерывной, если фишки граничат друг с другом по горизонтали, вертикали или диагонали. Выигрывает тот игрок, который первым построит свою линию. Приложение должно обеспечивать начало новой игры на чистом поле, а также проверку соответствия действий игроков правилам игры и условия окончания игры. Роль одного из игроков (по выбору пользователя) может выполнять компьютер.