Философия науки

Автор работы: Пользователь скрыл имя, 03 Сентября 2011 в 13:28, реферат

Описание работы

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

Содержание работы

Оглавление 2
Задание на курсовую работу 3
Введение 4
1. Постановка задачи 5
2. Анализ задания 6
2.1. Методы решения 6
2.2. Подробный анализ выбранного метода решения 7
3. Описание классов и структур 8
4. Основные алгоритмы методов класса LIST 9
4.1. Чтение данных 9
4.2. Добавление записи 10
4.3. Удаление записи 10
4.4. Сохранение изменений 11
5. Результат работы программы 12
Список использованной литературы 15
Приложение 16
faculty.h: 16
abiturient.h 16
list.h 17
proc.cpp 17
menu.cpp 21
main.cpp 22

Файлы: 1 файл

Пояснительная.doc

— 174.00 Кб (Скачать файл)

Чувашский государственный университет им. И.Н.Ульянова

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

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

Пояснительная записка к курсовой работе

по дисциплине

«Объектно-ориентированное программирование» 
 
 
 
 
 
 

                Выполнил:

                студент группы  ИВТ- 42-08

                Кузнецов  Алексей Петрович 

                Руководитель:

                   кандидат  технических наук, доцент Обломов Игорь Александрович  
                 
                 
                 
                 
                 
                 
                 
                 
                 

Чебоксары 2011

Оглавление 

 

Задание на курсовую работу 

       Разработать информационно-поисковую систему  «Абитуриент»

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

 

       Введение 

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

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

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

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

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

 

       1. Постановка задачи 

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

    • включение нового элемента;
    • удаление элемента;
    • корректировка элемента;
    • сохранение изменений в базу данных.

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

       Взаимодействие  пользователя с программой осуществляется через меню.

 

2. Анализ задания

2.1. Методы решения 

       В системе «Абитуриент» существуют две  сущности – «Абитуриент» и «ВУЗ». Главная проблема разработки системы – определение связи между этими сущностями1.

       Объект  А содержит данные об абитуриенте:

    • ФИО
    • Дата рождения
    • Серия и номер паспорта
    • Баллы за экзамен

       Объект  ВУЗ содержит данные о ВУЗе, в  которую желает поступить абитуриент:

    • Название ВУЗа
    • Название факультета
    • Название специальности
    • Проходной балл(сумма)

       Идея  1 метода решения поставленной задачи состоит в том, чтобы отдельно организовать объекты А и В. В этом случае необходимо программно организовать взаимодействие между объектами, на что потратится кучу времени, но не будет никаких конфликтов между ними.

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

       В силу очевидных превосходств2 между методами в курсовой работе будет рассматриваться 2 метод решения поставленной задачи. 

 

2.2. Подробный анализ выбранного метода решения 

       Объединив два объекта – Абитуриент и  ВУЗ – в один.

       Рассмотрим  объект ВУЗ. В общем случае иерархия объекта будет иметь следующий  вид:

       Из  рисунка видно, что необходимо создать  базовый класс ВУЗ, наследник класса ВУЗ – Факультет и наследник класса Факультет – Специальность.

       Поля  класса решения поставленной задачи LIST и Абитуриент:

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

 

3. Описание классов и структур 

Класс Факультет:

class Faculty

{

public:

      char nameFaculty[15];

public:

      void SetParam(char *name);

      void Print();

}; 

Класс Специальность:

class Speciality: public Faculty

{

public:

      char nameSpeciality[15];

      int sumBalls;

public:

      void SetParam(char *nameF, char *nameS, int sumBalls);

      void Print();

      void PrintBalls()

}; 

Структура ФИО:

struct sfio  

            {

                  char surname[15];

                  char name[15];

                  char father[15];

            }; 

Структура ДатаРождения:

            struct sdr

            {

                  int day;

                  int month;

                  int year;

            }; 

Структура Абитуриент:

struct Abiturient

      {

      public:

            bool deleted;

            Speciality speciality;

            sfio fio;

            sdr dr;

            int balls[5];

            char pasport_s[4];

            char pasport_n[6];

      public:

            const Abiturient& operator = (const Abiturient &abit);

            void Print();

      };

 

Класс LIST: 

class List

{

private:

      int count;

      Abiturient list[10];

public:

      List()

      {

            count=0;

            for(int i=0;i<10; i++) list[i].deleted=false;

      };

      void ReadData(char *name);

      void SaveData(char *name);

      void PrintList(void);

      void AddRecord();

      void DelRecord();

      void ChangeRecord();

      void RestoreRecord();

}; 

4. Основные алгоритмы методов класса LIST

4.1. Чтение данных

4.2. Добавление записи 

 

4.3. Удаление записи 

 

4.4. Сохранение изменений 

 

Информация о работе Философия науки