Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Лабораторная работа Теоретические основы объектноориентированного программирования Цель данной ла

Работа добавлена на сайт samzan.net:


Тема 5.2. Лабораторная работа

«Теоретические основы объектно-ориентированного программирования»

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

5.2.1. Задание

  1.  Выбрать вариант задания из пункта 5.2-2.
  2.  Провести формализацию задачи, для чего необходимо:
  3.  определить перечень исходных данных;
  4.  представить смысловые данные, которые будут использоваться в ходе решения задачи в виде переменных или массивов, присвоив им соответствующие имена;  
  5.  определить размерности и типы используемых данных;
  6.  привести геометрическую иллюстрацию решения задачи;
  7.  при необходимости привести расчетные формулы, которые будут использоваться для преобразования исходных данных в результаты.

  1.  Разработать объектную  модель решения задачи, для чего необходимо:
  2.  провести  объектно-ориентированную декомпозицию;
  3.  разработать объектную модель задачи, т.е. определить данные и действия, которые имеются или необходимы  для решения задачи.

5.2.2.  Варианты задания

Для решения задачи данной лабораторной  работы можно воспользоваться заданием из табл. 5.1-1 (Лабораторная работа темы 5.1) или получить вариант задание у преподавателя.

5.2.3. Содержание отчета

  1.  Тема и название работы.
  2.  Задание на разработку модели и вариант задания.
  3.  Формализация задания.
  4.  Геометрическая иллюстрация получения результата.
  5.  Объектная  модель решения задачи:
  6.  данные (поля) класса;
  7.  свойства для чтения и записи полей класса;
  8.  свойства только для чтения полей класса;
  9.  свойства только для записи полей класса;
  10.  методы класса (процедуры и функции, которые реализуют действия с полями класса, необходимые для решения задачи)

5.2.4. Пример выполнения задания

  1.  Тема  и название работы:

Теоретические основы объектно-ориентированного программирования – Формирование списка фамилий студентов, которым по итогам сессии необходимо повысить успеваемость до фактического среднего уровня.

  1.  Задание:

Разработать объект (класс), который может быть использован для решения задачи формирования списка фамилий студентов, которым по итогам сессии необходимо повысить успеваемость до фактического среднего уровня, при условии, что для каждого студента известны по 5 оценок, полученных им в сессию, а  всего в группе  n студентов. Формируемый список фамилий студентов должен быть представлен в порядке убывания среднего балла, полученного за сессию. Исходные списки студентов и результатов сессии могут находиться как в текстовом файле, так, и введены с клавиатуры.

  1.  Формализация задания:

Для решения всех вариантов задач необходимо  определить:

  1.  данные (имена и тип):
  2.   входные:
  3.  kg – число групп студентов  (если число групп > 1) (As Integer);
  4.  n – количество студентов в одной группе  (As Integer);
  5.  fam(n-1) – одномерный массив фамилий студентов одной группы
    (
    As String);
  6.  oc(n-1,5) – двумерный массив оценок студентов одной группы  
    (
    As Integer);

  1.  выходные:

                      средние баллы за сессию so(i) каждого из n студентов одной группы;

фамилии студентов, для которых  средняя оценка so(i) меньше средней по группе sr;

  1.   действия:
  2.  вычисление sr - среднего балла за сессию студентов одной группы; для получения этого среднего бала следует  накопить сумму баллов, полученных n студентами за 5 экзаменов, а затем разделить эту сумму на количество оценок 5*n (As Single);
  3.  вычисление so(n-1) - среднего балла за сессию каждого из n студентов одной группы; для получения каждого  i-го элемента следует  накопить сумму баллов, полученных i-м студентом за 5 экзаменов, а затем разделить эту сумму на 5 (As Single);
  4.  формирование списка фамилий студентов, которым необходимо повысить  успеваемость;  
  5.  сортировка баллов (массив so( )) и соответственно фамилии студентов   (массив fam( )) в порядке убывания.

  1.  
    Геометрическая иллюстрация получения результата:

Приведем геометрическую иллюстрацию вычисления so(n-1) (рис. 5.2-1).

Массив фамилий

fam( )

 0

Шакин

Сосновиков

Кравченко

Загвоздкина

Минязов

 n-1

Массив оценок

oc ( , )

   0                                4

2

3

3

4

2

3

3

3

3

3

4

4

4

4

4

4

5

4

5

4

5

5

5

5

5

   n-1

Средние балы студентов

so( )

             0

         n-1

Рис. 5.2-1.

  1.  Определение объектной  модели решения задачи.

           Определим члены класса Студенты:

  1.  Поля :
  2.  число студентов в одной группе  n (As Integer) ;
  3.  одномерный  строковый массив фамилий студентов fam( );
  4.  двумерный целочисленный массив оценок oc( , );
  5.  вещественный  массив средних оценок каждого  студента so( );
  6.  общий средний балл за сессию студентов одной группы sr (As Single).

  1.  Свойства для чтения и записи полей класса:  
  2.  Famil –  для чтения и записи фамилий студентов;
  3.   ocen  –  для чтения и записи массива оценок;  
  4.   num    –  для чтения и записи количества студентов в группе.

  1.   Свойства только для чтения полей класса:
  2.  SrStud - для чтения средних оценок студентов;
  3.  SrGrup - для чтения общего среднего балла в группе.

Значения этих полей не могут изменяться вне класса, а вычисляются методами класса из значений массива oc(,).

  1.  Методы :
  2.  процедура-подпрограмма нахождения средних оценок каждого студента и общего среднего балла в группе sred( );
  3.   процедура-подпрограмма сортировки по убыванию поля средних оценок студентов с одновременной перестановкой их фамилий sort( );
  4.  процедура-функция vivod( ) формирования строки из фамилий и средней оценки тех студентов, которым надо повысить успеваемость до фактического среднего уровня.


5.2.5. Контрольные вопросы по теме
«Теоретические основы объектно-ориентированного программирования»

  1.  Что означает объектно-ориентированный подход в программировании?
  2.  Что является классом в ООП?
  3.  Что является объектом в ООП?
  4.  Какие основополагающие свойства ООП известны?
  5.  Что лежит в основе ООП?
  6.  Что такое инкапсуляция?
  7.  Что такое наследование?
  8.  Что такое полиморфизм?
  9.  Из каких элементов состоит класс?
  10.  Какие модификаторы доступа известны?
  11.  Что такое модификаторы, устанавливающие принадлежность к классу или  к экземпляру класса?
  12.  Как описывается класс?
  13.  Что может быть членом класса?
  14.  Какие правила обращения к переменным и процедурам?
  15.  Какие области видимости известны?
  16.  Каким образом можно изменять состояние объекта,
  17.  Какие средства описания свойства класса известны?
  18.  Что такое конструкторы и для чего они используются?
  19.  Какие члены класса называются разделяемыми (статическими)?
  20.  Какие члены класса называются экземплярными?
  21.  В чем сходство и различие стандартных модулей, форм и классов?
  22.  Что такое поле класса?
  23.  Что такое свойство класса?
  24.  Что такое конструктор класса?
  25.  Для  чего нужен конструктор?
  26.  2. Какая концепция искусственного интеллекта является наиболее близкой к понятию объекта?
  27.  а) слот
  28.  б) механизм вывода
  29.  в) база знаний
  30.  г) фрейм
  31.  д) фацет
  32.  е) правило
  33.  
  34.  3. Какая разница между перечисленными ниже понятиями (сформулируйте по одному предложению для каждого пункта)?
  35.  а) экземпляр и класс
  36.  б) тип данных и класс
  37.  в) класс и роль
  38.  г) тип объекта и тип сущности
  39.  д) класс и компонент
  40.  е) динамическое связывание и полиморфизм
  41.  ж) обобщение и наследование
  42.  з) наследование и классификация
  43.  
    5. Укажите различия между чисто ОО стилем наследования и наследованием, применяемым в ИИсистемах. Проследите, поддерживают ли они перечисленные ниже концепции.
  44.  а) динамическая классификация
  45.  б) динамическая специализация
  46.  в) множественное наследование
  47.  г) множественная классификация
  48.  д) наследования значений
  49.  е) перекрытие
  50.  ж) заменяемость
  51.  
  52.  6. Дайте определение идентичности объекта.
  53.  
  54.  7. Сформулируйте определения и приведите примеры следующих понятий.
  55.  а) атрибут/метод класса
  56.  б) атрибут/метод экземпляра
  57.  
  58.  
  59.  
  60.  8. Что такое множественное наследование? Когда оно используется?
  61.  
  62.  9. Прокомментируйте следующее высказывание. “Множественное наследование чрезвычайно опасно; его необходимо запретить. Даже одиночное наследование необходимо устранить из наших языков и методов.”
  63.  
  64.  10. Прокомментируйте следующее высказывание. “Объектная технология умерла. Ей насмену пришла компонентно-ориентированная разработка.”
  65.  
  66.  11. Постройте диаграммы структур наследования и композиции для классов, упомянутых при обсуждении системы SACIS выше в этой главе.




1. Тема- Музика Виконала Бєлєнко Олександра Анатоліївна Київ2013 MINISTRY OF EDUCTION ND SCIENCE OF UKRINE YOUTH ND SPO
2. Вишня
3. а. Если страница позволяет решить сразу несколько задач для запросов с несколькими потребностями инфо.html
4. ТЕМА 9. ИНФЛЯЦИЯ И БЕЗРАБОТИЦА Сущность и причины инфляции
5. Об основах обязательного социального страхования
6. Особо охраняемые природные территории это участки земли водной поверхности и воздушного пространства на
7. Не навреди помогает нам направить свое внимание на те цели которых мы не достигаем
8. Контрольная работа- Страхование- теория и задачи
9. ПЛАНоказания транспортных услуг Иванов Иван Иванович 01 января 1955 года рождения проживающий по адресу Пер
10. Огляд традиційних теорій особистості
11. усреднители промывных вод сгустители накопители и площадки подсушивания осадка
12. тема командРежимы адресации операндовКоличество и распределение регистров
13. Стан та напрямки удосконалення бухгалтерського обліку тварин на вирощуванні та відгодівлі
14. Новая заимствованная общественно-политическая лексика в языке российских СМИ
15. МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ УШИБЫ ВЫВИХИ ПЕРЕЛОМЫ.
16. Лекция 3 ДТ~ны~ ~ызметі Жоспар- Ма~саты мен міндеттері ДТ~ны~ ~йымды~ ~~рылымы Ба~ылау с~р
17. Тема- Природні угруповання рідного краю
18. ЭБаумана ТАТЬЯНА САДОВСКАЯдоктор технических наук профессорВЯЧЕСЛАВ АКОПОВдоктор технических наукМо
19. нибудь туда где о Новом годе срубленных елках жутких пробках и прочей праздничной атрибутике слыхом не слы.html
20. Кальдерон. Саламейский алькальд