Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LR_OOP.doc
Скачиваний:
61
Добавлен:
10.03.2016
Размер:
268.8 Кб
Скачать

Литература

  1. Стефен Моррис. Объектно-ориентированное программирование. Серия «Enter». – Ростов-на-Дону: «Феникс», 1997.

  2.  Скляров В.А. Язык С++ и объектно-ориентированное программирование. – Мн.: Выш. шк., 1997.

  3. Фаронов В.В. Турбо Паскаль 7.0. Начальный курс/ Учебное пособие. – М.: «Нолидж», 1997.

  4. Бондарев В.М., Рублинецкий В.И., Качко Е.Г. Основы программирования. – Харьков: Фолио; Ростов н/Д: Феникс, 1998.

  5. Марченко А.И., Марченко Л.М. Программирование в среде TurboPascal7.0. – К.: ВЕК+, М.: ДЕСС, 1999.

  6. Грызлов В.И., Грызлова Т.П. Турбо Паскаль 7.0 – М.: ДМК, 1998.

  7. Бабушкина И. А. Практикум по объектно-ориентированному программированию./ Бабушкина И. А., Окулов С. М. – М.: БИНОМ, Лаборатория Знаний, 2004. – 366 с.

Задания по объектно-ориентированному программированию Минимальный уровень:

Для получения зачета по теме «Объектно-ориентированное программирование» необходимо выполнить следующие задания:

  1. Набрать, отладить и проверить работу программы «Аквариум»;

  2. Модифицировать программу, добавив метод движения для рыб;

  3. «Поселить» в аквариуме созданный вами объект, придумать его свойства и методы, а также взаимодействие с рыбами.

Максимальный уровень:

Для получения зачета на этом уровне вам необходимо самостоятельно решить одну из предложенных задач, используя описание объектов и принципы ООП.

Задачи:

  1. Решить задачу «Аквариум» в графическом режиме, используя следующие рекомендации для развития задачи и изменения законов обитания рыб:

  • определить объект «аквариумная рыбка», имеющий свойства (координаты, скорость движения, размер, цвет, направление движения) и методы Init (устанавливает значения полей и рисует рыбу на экране методом Draw), Draw (рисует рыбу в виде уголка с острием в точке с координатами (x, y) и направленного острием по ходу движения), Look (проверяет несколько точек на линии движения рыбы. Если хоть одна точка отличается по цвету от воды, возвращаются ее цвет и расстояние до рыбы), Run (перемещает рыбу в текущем направлении на расстояние, зависящее от скорости. Иногда случайным образом меняет направление движения рыбы. Если рыба видит препятствие, направление движения меняется, пока препятствие не исчезнет из поля зрения рыбы).

  • объединить «съедобных» рыб и «хищников» в две стаи. Позвольте пользователю пополнять стаи, вводя рыб с клавиатуры.

  • позволить «хищникам» поедать «съедобных» рыб как только они их увидят или догонят (на ваше усмотрение).

  • Составить программу для игры в шашки. Шашка каждого цвета выступает в качестве отдельного объекта. Характеристики шашки – цвет и позиция на доске. Методы – перемещение. Не забудьте о таких объектах, как «дамки».

  • Волчий остров (Ван Тассел Д. Стиль, разработка, эффективность, отладка и испытание программ. М.: Мир, 1981.)

    Волчий остров размером 20 * 20 заселен дикими кроликами, волками и волчицами. Имеется по несколько представителей каждого вида. Кролики довольно глупы: в каждый момент времени они с одинаковой вероятностью 1/9 передвигаются в один из восьми соседних квадратов (за исключением участков, ограниченных береговой линией) или просто сидят неподвижно. Каждый кролик с вероятностью 0.2 превращается в двух кроликов. Каждая волчица передвигается случайным образом, пока в одном из соседних восьми квадратов не окажется кролик, за которым она охотится. Если волчица и кролик оказываются в одном квадрате, волчица съедает кролика и получает одно "очко". В противном случае она теряет 0.1 "очка". Волки и волчицы с нулевым количеством очков умирают.

    В начальный момент времени все волки и волчицы имеют 1 очко. Волк ведет себя подобно волчице до тех пор, пока в соседних квадратах не исчезнут все кролики; тогда если волчица находится в одном из восьми близлежащих квадратов, волк гонится за ней. Если волк и волчица окажутся в одном квадрате и там нет кролика, которого нужно съесть, они производят потомство случайного пола.

    Запрограммируйте предполагаемую экологическую модель, понаблюдайте за изменением популяции в течение некоторого периода времени.

    1. Задача об инфекции стригущего лишая (Ван Тассел Д. Стиль, разработка, эффективность, отладка и испытание программ. М.: Мир, 1981.)

    Промоделируйте процесс распространения инфекции стригущего лишая по участку кожи размером n * n (n — нечетное) клеток. Предполагается, что исходной зараженной клеткой кожи является центральная. В каждый интервал времени пораженная инфекцией клетка может с вероятностью 0,5 заразить любую из соседних здоровых клеток. По прошествии шести единиц времени зараженная клетка становится невосприимчивой к инфекции, возникший иммунитет действует в течение последующих четырех единиц времени, а затем клетка оказывается здоровой. В ходе моделирования описанного процесса выдавать текущее состояние моделируемого участка кожи в каждом интервале времени, отмечая зараженные, невосприимчивые к инфекции и здоровые клетки.

    1. Игра "Две лисы и 20 кур"

    На поле указанной формы (см. рисунок ниже) находятся две лисы и 20 кур. Куры могут перемещаться на один шаг вверх, влево или вправо, но не назад и не по диагонали. Лисы также могут перемещаться только на один шаг, но также и вверх — как вниз, влево и вправо. Лиса может съесть курицу — как в игре в шашки: если в горизонтальном или вертикальном направлении за курицей на один шаг следует свободное поле, то лиса перепрыгивает через курицу и берет ее. Лисы всегда обязаны есть и, когда у них есть выбор, — они обязаны осуществлять наиболее длинное поедание. Если два приема пищи имеют одинаковую длину, осуществляется один из них — по выбору лисы.

    Составить программу, которая играет за лис. Игрок перемещает кур. Партнеры играют по очереди, причем куры начинают. Они выигрывают партию, если девяти из них удается занять 9 полей, образующих верхний квадрат игры.

    Начальное положение кур и лис изображено на рисунке.

    Л

    Л

    К

    К

    К

    К

    К

    К

    К

    К

    К

    К

    К

    К

    К

    К

    К

    К

    К

    К

    К

    К

    Лисы выигрывают, если им удается съесть 12 кур, так как тогда оставшихся кур недостаточно, чтобы занять 9 верхних полей.

    1. Морской бой

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

  • Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]