Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
РПЗ ПЯВУ.doc
Скачиваний:
2
Добавлен:
15.09.2019
Размер:
251.39 Кб
Скачать

ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ

ФИЛИАЛ ГОСУДАРСТВЕННОГО ОБРАЗОВАТЕЛЬНОГО УЧРЕЖДЕНИЯ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«МОСКОВСКИЙ ЭНЕРГЕТИЧЕСКИЙ ИНСТИТУТ

(ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ)» В ГОРОДЕ СМОЛЕНСКЕ

Кафедра информатики

Расчетно-пояснительная записка

по курсу «Программирование на языке высокого уровня»

тема

«Моделирование хода Второй Мировой Войны»

Студент: Шорохов А.А.

Группа: ВМ – 08

Преподаватель: Нестеров А.П.

Смоленск 2010

Техническое задание.

Группа: ВМ – 08

Студент: Шорохов А.А.

Тема: «Моделирование хода Второй Мировой Войны»

Описание:

В своем проекте я постараюсь спроектировать образный ход военных действий, в ходе которых, как это ни парадоксально, могут возникнуть ситуации, которых не было в реальности. К примеру, одно из покушений на Гитлера будет успешным, или война вообще не начнется. Единственное, что произойдет со стопроцентной вероятностью, будет падение Третьего Рейха.

Ограничение:

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

Введение

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

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

От любого метода программирования мы ждем, что он поможет нам в решении наших проблем. Но одной из самых значительных проблем в программировании является сложность. Чем больше и сложнее программа, тем важнее становится разбить ее на небольшие, четко очерченные части. Чтобы побороть сложность, мы должны абстрагироваться от мелких деталей. В этом смысле классы представляют собой весьма удобный инструмент.

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

  • Данные и операции вместе образуют определенную сущность, и они не «размазываются» по всей программе, как это нередко бывает в случае процедурного программирования.

  • Инкапсуляция информации защищает наиболее критичные данные от несанкционированного доступа.

ООП дает возможность создавать расширяемые системы – это одно из самых значительных достоинств ООП и именно оно отличает данный подход от традиционных методов программирования. Расширяемость (extensibility) означает, что существующую систему можно заставить работать с новыми компонентами, причем без внесения в нее каких-либо изменений.

Анализ предметной области

Всем известно, что невозможно переместиться во времени назад, это доказал еще А. Эйнштейн (но все же, если мы сумеем разогнаться до скорости близкой к скорости света, при этом не распавшись на элементарные частицы, то время для нас будет течь медленней, то есть таким образом можно как бы переместиться в будущее, обратный процесс невозможен). Однако почти каждый человек, изучавший историю в школе, институте или самостоятельно, хоть раз задумывался: «А что было бы, если вместо одного события (или само по себе) произошло другое?»

Естественно вернуться и изменить что-либо мы не в силах, а вот отчасти материализовать свои мысли, вполне. И здесь на помощь приходит определенные компьютерные программы, которые позволяют смоделировать что-нибудь. Существуют пакеты моделирующие определенные процессы, но ничто не мешает написать программу, которая будет моделировать именно то, что нужно вам.

Это позволяет любителям истории с хорошей фантазией увидеть, пусть только на мониторе, измененный ход тех или иных исторических событий.

В данном проекте частично смоделирован ход Второй Мировой Войны, а именно некоторые возможные взаимодействия между СССР и фашистской Германией, а именно будут ли воевать эти страны между собой, если да – то можно будет рассмотреть атаки на стратегические точки и варианты их развития (то есть, отступить ли защищающейся стороне или нет, задействовать резерв для того, чтобы разгромить превосходящие силы нападающих); попытки покушения на наиболее значимых военных и политических деятелей Третьего Рейха.

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

Германия может проиграть по нескольким причинам:

  • разбиты все ее дивизии

  • заняты все ее стратегические точки

  • в результате диверсий убиты определенные военно-политические деятели

  • кроме того, возможна добровольная капитуляция

Аналоги:

Наибольшее число аналогов нашло широкое распространение, как это не парадоксально в игровой индустрии. Многие компьютерные игры дают возможность игроку, как бы лично, поучаствовать в исторических событиях, и иногда даже изменить их по своему усмотрению.

Наиболее известные из них: «Блицкриг», «Rome total war», «Civilization» и т.п., в основном, относящиеся к жанру «стратегия».

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

Для моделирования своего проекта был выбран язык программирования С++, из-за его гибкости, достаточно удобного пользовательского интерфейса, обеспеченного оболочкой С++Builder, и из-за требований, которые предъявляются кафедрой информатики.

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