Развернутое индивидуальное задание




Федеральное государственное бюджетное образовательное учреждение высшего образования «Чувашский государственный университет имени И. Н. Ульянова»

Факультет информатики и вычислительной техники

Кафедра вычислительной техники

 

 

Отчет по курсовой работе

по дисциплине объектно-ориентированное программирование

на тему «Игровая программа “Пятнадцать”»

 

 

Работу выполнила: студентка группы ИВТ-41-15 Иванова Алена

Работу проверил: Обломов И.А.

 

 

г. Чебоксары, 2017

Оглавление

 

1. ВВЕДЕНИЕ……………………………………………………….......................................  
1.1. Цель курсовой работы…………………………………….………………….......  
1.2. Основные сведения……………………………………….………………….….  
2. развернутое индивидуальное задание……………………………….……  
3. ВЫБор метода решения задачи ……………………….…………………….....  
3.1. Выбор метода хранения данных об игровом поле….………………………..  
3.2. Обоснование метода решения задачи……………............................................  
3.2.1. Анализ задачи……………………………………………….……… ……………..  
3.2.2. Общий алгоритм работы………………………………….……… …………….  
3.2.3. Алгоритм работы программы……………………………………………………  
4. Описание классов……………….…………………….............................................  
4.1. Диаграмма классов……………...........................................................................  
4.2. Структура классов……………………...…………..............................................  
5. Общие сведения о программе………………....................................................  
6. Функциональное назначение………………....................................................  
7. используемые технические средства..........................................................  
8. Вызов и загрузка……………….................................................................................  
9. выводы………………......................................................................................................  
10. СПИСОК литературы....................................................................................................  
   
Приложение…………………………………………………………………………………….  
1. Тестовые данные........................................................................................................  
2. Тексты программ........................................................................................................  

 

 


 

Введение

Цель курсовой работы

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

 

Основные сведения

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

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

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

Суть основных компонентов можно раскрыть следующим образом:

1. Объект (Object). Вот несколько определений объекта.

· В наиболее широком смысле это совокупность данных, существующих в машинном представлении как единое целое, допускающее обращение по имени, указателю или ссылке.

· С точки зрения ООП, объект – это сущность, обладающая состоянием и поведением.

· Объект – это инкапсулированная абстракция, которая включает информацию о состоянии и чётко определённое множество протоколов доступа.

2. Сообщение (Message) – это специальный символ, идентификатор или ключевое слово с параметром или без, которое представляет выполняемое объектом действие.

3. Класс (Class). Представляет тип данных, определяемых программистом, который специфицирует как представление объектов этого класса, так и операции, которые можно выполнять с объектами. Во многих случаях класс следует понимать, как абстрактный тип данных.

4. Экземпляр (Instance) – объект, принадлежащий конкретному классу.

5. Метод (Method) – функция, вызываемая в ответ на запрос к объекту некоторого класса совершить какое-либо действие. Можно сказать, что метод определяет реакцию объекта на общение. Совокупность методов класса определяет поведение объектов данного класса.

Несколько слов об основных свойствах ООП:

1. Инкапсуляция (Encapsulation) – сокрытие информации или определение пользователем новых типов данных. Каждый такой тип содержит определение набора значений и операций, которые могут быть выполнены над этими значениями, и образует так называемый абстрактный тип данных.

2. Наследование (Inheritance) – это механизм, позволяющий стоить иерархию типов. Механизм наследования предполагает определение базового типа, а затем использование его для построения производных типов. Причем каждый из производных типов наследует свойства базового типа, включая характеристики (данные) и набор операций (методов, функций).

3. Полиморфизм (Polymorphism) – свойство объекта отвечать на направленный к нему запрос сообразно своему типу.

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

 

 


 

Развернутое индивидуальное задание

 

 

Вариант 6. Игровая программа «Пятнадцать».

Разработать на языке C++ реализацию компьютерной версии игры «Пятнадцать», придерживаясь принципов объектно-ориентированного программирования. Игра ведется на поле, представляющем собой таблицу размером 4x4, разделенную на 16 ячеек одинакового размера, заполненных числами от 1 до 15, одна ячейка пустая. В свободную клетку можно передвигать соседние с ней заполненные ячейки. Цель игры – двигая ячейки по одной, упорядочить их по номерам, сделав как можно меньше перемещений.

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

 

 


 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-06-12 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: