Добавил:
Developer Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
2
Добавлен:
02.01.2024
Размер:
614.63 Кб
Скачать
  1. Концептуальная объектная модель предметной области и задачи:

  1. Проведите объектно-ориентированную декомпозицию, определив множество образующих классов.

В результате анализа предметной области задачи и объектно-ориентированной декомпозиции определены два класса СТУДЕНТ и ГРУППА (рис. 2.7-1). Класс СТУДЕНТ содержит сведения об одном студенте (моделирует одного студента), а класс ГРУППА будет моделировать группу из n студентов (т.е. содержать массив из n объектов класса СТУДЕНТ). Кроме того, в классе ГРУППА будут содержаться общий средний балл всей группы и полученный список (фамилии и средние оценки) тех студентов, у которых средняя оценка ниже общего среднего балла группы, т.е. которым надо повысить успеваемость.

Рис. 2.7-1. Объектная модель программного проекта на концептуальном уровне

  1. Определите для выделенных классов существенные в заданной предметной области члены класса.

Класс СТУДЕНТ:

Входные атрибуты:

  • fam – фамилия студента;

  • m – количество экзаменов в сессию;

  • Oc(m-1) - одномерный массив оценок студента.

Выходные атрибуты:

  • so - средняя оценка студента;

Операции:

  • процедура Sred() нахождения средней оценки студента;

  • две перегружаемые процедуры vvod() для ввода сведений о студенте с клавиатуры и из текстового файла;

  • процедура vivod() для вывода сведений о студенте («собирает» все сведения о студенте в одну строку).

Класс ГРУППА:

Входные атрибуты:

  • n – количество студентов в группе;

  • Stud(n-1) – одномерный массив, хранящий сведения о студентах группы (массив объектов класса студент).

Выходные атрибуты:

  • sr - общий средний балл за сессию студентов группы;

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

  • f(k-1) - одномерный массив их фамилий;

  • Sb(k-1) – одномерный массив их средних оценок.

Операции:

  • процедура Sred() нахождения общего среднего балла группы;

  • две перегружаемые процедуры vvodGr() для ввода данных о группе студентов с клавиатуры и из текстового файла;

  • процедура vivod() для вывода сведений о группе студентов («собирает» все сведения обо всех студентах группы в одну строку);

  • процедура FormirSpisok() формирования списка студентов, имеющих средний балл ниже общего среднего балла группы;

  • процедура sort()- сортировка сформированного списка студентов по убыванию среднего балла;

  • две перегружаемые процедуры vivodMas() для вывода результирующих массивов.

Объектная модель программного проекта на концептуальном уровне с учетом интерфейсных членов класса представлена на рис. 2.7-2. !!!ПОМЕНЯТЬ в рис2.7-2, 2.7-3 названия классов – атрибуты и операции ГРУППЫ принадлежат СТУДЕНТУ и наоборот

Рис. 2.7-2. Объектная модель программного проекта на концептуальном уровне с учетом интерфейсных членов классов

  1. Объектная модель программного проекта на логическом уровне и ее геометрическая иллюстрация:

    1. Уточните состав классов объектной модели, ее логическую структуру и связи между классами.

Рис. 2.7-3. Объектная модель программного проекта на логическом уровне с учетом интерфейсных членов классов

По условию задачи исходные данные могут как вводиться с клавиатуры, так и считываться из файла, поэтому классы СТУДЕНТ и ГРУППА будут содержать по две перегружаемые процедуры ввода данных (ввод с клавиатуры и из файла).

Диаграмма классов объектной модели на логическом уровне представлена на рис. 2.7-3.

Геометрическая иллюстрация решения задачи (класс ГРУППА содержит сведения об n объектах класса СТУДЕНТ) приведена на рис. 2.7-4.

Соседние файлы в папке Раздел-05-Информатика-11.03.02