Разработать программу, реализующую функции кодирования и декодирования секретных сообщений.
Текст кодируется или декодируется по выбору пользователя по одному из следующих алгоритмов:
- цезаревской подстановки;
- транспозиции по типу “частокола”;
- метода Гронсфельда;
- транслитерации.
2.Разработать программу, реализующую функции
электронной игры «Ловушка снаряда». Игра состоит в следующем: по экрану движется снаряд, управляемый на основании датчика случайных чисел. Необходимо поймать его ловушкой, которая управляется клавиатурой. За каждый пойманный снаряд игроку дается очко.
3. Разработать программу “Стиль программирования”,
реализующую следующие функции:
- чтение исходного текста программы на языке Turbo Pascal (СИ);
- анализ программы на предмет соблюдения стиля
программирования;
- выдача сообщений о нарушении стиля программирования;
- запись правильной программы в новый файл;
- просмотр исходного и нового файла одновременно на
экране (экран разделить на два окна).
Список рекомендаций по стилю программирования разработать самостоятельно.
4. Разработать программу, реализующую функции логической игры «Шарики».
Программа представляет собой программную реализацию известной логической игры. Цель игры состоит в том, чтобы набрать максимальное количество очков. Суть игры состоит в следующем: на игровом поле отображаются круги разного цвета, игроку предлагается создать линию из кругов одинакового цвета, расположенных по горизонтали или по вертикали, созданная линия сгорает. Причем линия может сгореть, только в том случае если количество элементов в ней равно 3. После этой процедуры пустые места на игровом поле заполняются новыми элементами. Линию можно создать путем перестановки по горизонтали или по вертикали соседних элементов. Игра заканчивается тогда, когда невозможно создать ни одной линии. Приложение должно обеспечивать возможность задания количества цветов элементов (кругов). Следует учесть, что цвета кругов выбираются произвольным образом исходя из заданного количества. Кроме того, линии (3 и более элементов), получаемые при произвольной расстановки элементов “сгорают”.
5. Разработать программу «Подземный ход»
В средние века между двумя замками часто необходимо было вырыть подземный ход. При этом, конечно, длина подземного хода должна была быть минимальной. На карте средневековый замок представляет собой выпуклый многоугольник. Необходимо написать программу, которая по заданной карте с расположением двух замков находит минимальную длину подземного хода между ними. Местоположение и количество углов для каждой крепости задается пользователем в виде входных данных:
- в первой строке входного файла записано целое число m,
1<m<20 - количество углов первой крепости;
- каждая из следующих m строк содержит два вещественных
числа xi и yi, -1 000 000<xi, yi<1 000 000 - декартовы
координаты первого замка;
- затем в таком же формате записаны количество углов и
координаты второго замка.
6. Разработать программу “Экзамен”, реализующую
функции составителя вопросов экзаменационных билетов. ПК по запросу пользователя из файла, в котором вопросы сформированы по темам, формирует билеты. Число вопросов в билете, по каким темам и возможность повторения указывает пользователь. Необходимо предусмотреть ввод данных (темы и вопросов) и формирование файла- вопросника на диске. Программу должна быть универсальной (не делать привязки к конкретному предмету).
Результатом обработки запросов пользователя является файл - билеты, который также сохраняется на диске. Пользователь должен иметь возможность просматривать этот файл и редактировать.
7. Разработать программу “Дельта-волна”
На треугольном поле, устроенном так, как показано на рисунке слева, клетки пронумерованы последовательными натуральными числами от единицы до бесконечности.
Путешественнику требуется пройти из клетки с номером M в клетку с номером N. Путешественник может попадать в соседние клетки только через ребра треугольников (не через вершины). Количество ребер, которое ему нужно будет пересечь в пути, называется длиной маршрута.
Напишите программу, которая вычисляет длину кратчайшего маршрута для заданных точек M и N.