Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Строковые данные и текстовые файлы




Игры

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

a. шахматная позиция генерируется с помощью датчиков случайных чисел;

b. шахматная позиции вводится с клавиатуры ЭВМ.

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

a. На доске стоят два ферзя. Указать поля, на которые может пойти белый ферзь так, чтобы не попасть под удар черного ферзя.

b. У белых на доске остался только король, у черных - король, конь, слон. Охарактеризовать положение белых с помощью слов: мат, шах, пат, обыкновенная позиция.

c. Получить m расстановок 8 ферзей на шахматной доске, при которых ни один из ферзей не угрожает другому.

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

4. Разработать программу, моделирующую игру. Игра имеет следующие правила. Перед Вами большое число ящиков с деньгами. Сумма денег в каждом ящике - случайная величина, равномерно распределенная на отрезке [0, 1]. Вы выбираете ящик, открываете его и или берете деньги из ящика, или отказываетесь от них. Если Вы берете деньги, игра кончается. В противном случае Вы можете выбрать другой ящик. Эта процедура повторяется максимум до пяти ящиков (деньги из/пятого ящика должны быть взяты, если он открыт).

5. Разработайте программу, моделирующую игру. Два игрока, "нечетный" и "четный", по очереди ставят единицы и нули в незанятые позиции поля N на N. Каждый из игроков может ставить 1 или 0 в произвольную свободную позицию, тем самым, занимая ее. Игра продолжается до заполнения всех позиций. После этого суммируются числа вдоль каждой строки, каждого столбца и главных диагоналей. Число ODD нечетных сумм сравнивается с числом EVEN четных сумм. Если ODD > EVEN, выигрывает "нечетный"; если EVEN > ODD, выигрывает "четный"; если ODD = EVEN, результат считается ничейным. Если одним из игроков
является ЭВМ, то постройте для нее выигрышную стратегию.

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

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

8. Разработать программу, моделирующую игру "Сбей самолет". По экрану летят вражеские самолеты. Цель играющего — сбить их. Пусковая установка находится в нижней строке экрана. Пусковую установку можно перемещать по строке вперед и назад.

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

10. Разработать программу, моделирующую игру "Скачки". В игре участвуют 10 наездников; за каждый тур игры каждый из них продвигается вперед на расстояние от 1 до 5 км случайным образом. Длина дистанции — 50 км. Всего проводится 5 заездов, победителю каждого заезда начисляется 5 очков. Победителем считается наездник, набравший наибольшее количество очков во всех заездах. Перед началом заездов участник игры выбирает номер наездника, с которым он будет идентифицироваться во время игры. Количество участников игры не превышает 10. В каждом туре с вероятностью 0.1 каждый наездник может упасть, т.е. продвинуться за этот тур на ноль км. Передвижение наездников
отобразить графически на экране. Предусмотреть возможность случайного распределения номеров наездников.

11. Игра "Ханойская башня" с визуализацией каждого хода. Правила игры следующие. Есть три стержня. На первый из них надета пирамидка из N колец (большие кольца снизу, меньшие сверху). Требуется переместить кольца на другой стержень. Разрешается перекладывать кольца со стержня на стержень, но класть большее кольцо поверх меньшего нельзя.

12. Игра "Морской бой" с компьютером.

13. Игра "Тетрис".

14. Игра Конуэя "Жизнь".

1. Текст программы на Паскале хранится в файле на диске. Составить программу обработки текста программы: 1) подсчитать, какие ключевые слова Паскаля и в каком количестве использованы в обрабатываемом тексте; 2) составить перечень имен простых переменных, используемых в левой части оператора присваивания; 3) представить перечень меток программы в алфавитном порядке.

2. Текст программы на Паскале хранится в файле на диске. Составить программу обработки текста программы: 1) определить максимальную степень вложенности циклов в программе; 2) определить общее количество строк и количество символов, отличных от пробела; 3) удалить из текста программы все комментарии.

3. Текст программы на Паскале хранится в файле на диске. Составить программу обработки текста программы: 1) первые буквы служебных слов сделать заглавными; 2) текст комментария заменить на номер комментария по порядку. Переписать текст программы в новый файл с минимальным количеством пробелов, сохранив пробелы только там, где они необходимы.

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

5. Текст программы на Паскале хранится в файле на диске. Распечатать на экране текст программы таким образом, чтобы в каждой строке размещался только один оператор. Организовать смещение операторов относительно операторных скобок, как это принято в Паскале.

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

7. Текстовый файл содержит данные по отпечаткам пальцев известных преступников. Разработать программу, которая печатает информацию обо всех преступниках, чьи отпечатки совпадают с отпечатками, найденными на месте преступления Отпечаток пальцев, найденный на месте преступления, вводится с клавиатуры. Отпечаток пальцев может быть представлен кодом из 36 символов и 12 вещественных чисел, полученных в результате измерений отпечатка. Отпечатки пальцев считаются идентичными, если 35 символов из 36 совпадают и множества действительных чисел совпадают. Два действительных числа считаются "равными", если разница.между ними составляет не более 5% от большего числа. Два множества измерений считаются совпадающими, если не менее 9 из 12 пар "равны".

8. Разработать программу "Выравнивание". Исходная информация: текст, записанный в текстовом файле. Программа выводит этот текст с выравниванием по краям Текст выводится без переносов слов. Параметры абзаца задаются в диалоговом режиме.

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

10. Составить программу, определяющую наличие неописанных идентификаторов в тексте программы на Паскале, Текст программы хранится в файле на диске.




Поделиться с друзьями:


Дата добавления: 2014-10-17; Просмотров: 914; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.018 сек.