Главная » Просмотр файлов » Е.И. Большакова - Задания практикума по объектно-ориентированному программированию

Е.И. Большакова - Задания практикума по объектно-ориентированному программированию (1162571), страница 12

Файл №1162571 Е.И. Большакова - Задания практикума по объектно-ориентированному программированию (Е.И. Большакова - Задания практикума по объектно-ориентированному программированию) 12 страницаЕ.И. Большакова - Задания практикума по объектно-ориентированному программированию (1162571) страница 122019-09-20СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 12)

В частности, чем больше население городаи насыщеннее его транспортное сообщение, тем выше процент заболевающих внем при прочих равных условиях; а чем больше сделано профилактическихпрививок, тем меньше заболевающих.Визуализация процесса распространения вируса должна предусматриватьизображение городов страны в виде кругов (размер круга зависит отчисленности населения города), показ текущей заболеваемости (на каждом кругеопределенным цветом высвечивается часть, пропорциональная числузаболевшего населения), а также особую расцветку городов, в которых началасьэпидемия. На каждом шаге моделирования должна быть также доступна болееподробная информация о заболеваемости в каждом городе (число привитых,заболевших, здоровых людей и др.).Графические редакторыСпециализированный графический редакторГрафический экранный редактор позволяет оперировать плоскимифигурами N типов (1≤ N ≤ 5), точнее, их изображениями.

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

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

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

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

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

В простейшем случае шаг цикла не связан непосредственно среальным временем. Как следствие, визуализация изменений процесса (событий)42при методе пошаговой фиксации может быть слишком быстрой или медленнойдля пользователя системы (зависит от производительности компьютера).Поэтому более гибкое решение – выполнять шаг пересчета характеристикмоделируемого процесса по системному таймеру, увязав тем самым отрезокреального времени (измеряемый в мсек) с отрезком времени этогопроцесса/события. В таком случае можно опытным путем подобрать шаг,приемлемый для визуализации процесса, или даже включить этот шаг впараметры моделируемого процесса, позволив тем самым пользователюустанавливать удобный для него темп визуализации процесса.Проектирование пользовательского интерфейсаПользовательский интерфейс обычно разрабатывается средствамивизуального программирования, предоставляемыми большинством современныхинтегрированных сред разработки (IDE).

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

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

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

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

Объекты – экземпляры соответствующих классов. Обычнооперации объявляются как методы класса, к объектам которого они относятся.Поскольку в процессе работы одни объекты связаны с другими, эти связимоделируются как отношения между соответствующими классами. Сначалафиксируются общие семантические связи (зависимости) классов – ассоциации. Входе дальнейшего проектирования эти связи конкретизируются. Будемразличать следующие виды отношений между двумя классами:• наследование: отношение обобщения, или общего и частного: например,“небесное тело” и “планета”; в общем случае подклассом наследуетсяструктура и поведение более общего класса (суперкласса), в то же времяподкласс обладает дополнительными/уточненными атрибутами и операциями.• агрегация: отношение включения, или целого и части между экземплярамиклассов: например: “Солнечная система” и “планета”; обычно объект-частьвключается в состояние объекта-целого.• использование: связь между экземплярами классов, при которой одинпользуется услугами другого (отношение клиент-сервер): например,использование операции.Все перечисленные связи – направленные (в отличие от ассоциации).Составление диаграмм и спецификацийВыявленные связи классов необходимо зафиксировать в диаграммеклассов.

Класс обычно обозначается прямоугольником, в котором записываетсяего имя (часто записываются также его атрибуты и операции). Связи классовизображаются соединяющими их линиями. Наследование графическиизображается в виде стрелки с полым треугольником, идущей от подкласса ксуперклассу, агрегация – в виде незакрашенного ромба у класса-агрегата, аиспользование – в виде пунктирной стрелки, идущей от клиента к серверу.На диаграмме полезно указывать мощность (множественность) связей,определяющая, сколько экземпляров одного класса могут быть связаны с однимэкземпляром другого класса. На практике важно различать три случая: один кодному, один ко многим (1 : N) и многие ко многим (M : N).Нередко при проектировании классов необходимо выбирать междуотношениями наследования, агрегации и использования, как при выявлениисвязи между “планетой” и “спутником” в модели Солнечной системы.Отношения между классами А и В можно считать наследованием, еслиобъект класса А может одновременно рассматриваться и как объект В, в иномслучае лучше ввести другой вид связи.При выявлении агрегации классов важно понять, существуют ли ихэкземпляры по отдельности и независимо друг от друга.

Композиция – это44разновидность агрегации [4], при которой часть не существует без целого иобъект-агрегат несет полную ответственность за создание и уничтожение своихчастей (графически композиция изображается в виде закрашенного ромба укласса-агрегата). Распознать этот вид агрегации важно для правильногоопределения конструкторов и деструкторов классов, входящих в агрегацию.В общем случае объект-целое и объект-часть существуют независимо другот друга, и их можно создавать/уничтожать по отдельности.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6510
Авторов
на СтудИзбе
302
Средний доход
с одного платного файла
Обучение Подробнее