Лабораторные работы №№1-3 по дисциплине: Объектно-ориентированное программирование. Вариант №16

Состав работы

material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon EGAVGA.BGI
material.view.file_icon LABR1.EXE
material.view.file_icon LABR1.PAS
material.view.file_icon Задание.doc
material.view.file_icon Программа.doc
material.view.file_icon
material.view.file_icon EGAVGA.BGI
material.view.file_icon Figura.doc
material.view.file_icon FIGURA.PAS
material.view.file_icon FIGURA.TPU
material.view.file_icon LABR2.EXE
material.view.file_icon LABR2.PAS
material.view.file_icon Задание.doc
material.view.file_icon Программа.doc
material.view.file_icon
material.view.file_icon EGAVGA.BGI
material.view.file_icon Figura.doc
material.view.file_icon FIGURA.PAS
material.view.file_icon FIGURA.TPU
material.view.file_icon LABR3.EXE
material.view.file_icon LABR3.PAS
material.view.file_icon Задание.doc
material.view.file_icon Программа.doc
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
  • Microsoft Word

Описание

Лабораторная работа №1

Тема: Принцип инкапсуляции. Описание класса.

Задание:
Часть 1. Описать класс tPoint, инкапсулирующий основные свойства и методы точки на плоскости. При написании программы на С++ или С# инициализировать поля с помощью конструктора (объявить два конструктора: по умолчанию и с параметрами). Создать массив из 100 точек. Нарисовать точки случайным образом случайным цветом на экране.
Часть 2. Сделать защиту полей класса (т.е. работать с полями в основной программе не напрямую, а используя соответствующие методы записи в поле и чтения из поля). Добавить методы движения точек: случайное движение, движение по нажатию клавиш со стрелками.

Рекомендации к выполнению части 1:
Продумайте, какие характеристики есть у объекта Точка, и какие действия можно над ним проделывать. Затем опишите класс tPoint, включив соответствующие поля и методы. Далее продумайте и запишите код каждого метода.
После окончания всех описаний можно переходить к написанию кода основной программы.
Задайте одномерный массив из 100 элементов типа tPoint, т.е. у Вас будет 100 объектов класса tPoint. Далее в цикле (используйте любой известный Вам циклический оператор ) вызывайте метод рисования для каждого объекта. Данный метод можно сделать с тремя параметрами для передачи ему координат и цвета, а в основной программе соответствующие фактические параметры задавать с помощью генератора случайных чисел. Пусть, например, имя массива – Mas, а имя метода рисования Draw. Тогда можно записать: Mas[i].Draw(x,y,color); , где Mas[i] - объект класса tPoint (значения x,y,color предварительно задавать с помощью генератора случайных чисел).
В результате, после запуска программы на выполнение на экране появится 100 точек в случайном месте случайного цвета.

Рекомендации к выполнению части 2 на Паскале:
Для работы с полями используйте, например, следующие методы: процедуру инициализации полей Init, функции GetX и GetY для чтения данных из полей x и y, процедуры SetX и SetY для записи данных в поля x и y, а также любые другие методы на Ваше усмотрение.
 Приведем пример возможной реализации метода SetX:


Procedure имя класса.SetX(NewX:integer);
 begin
  x:=NewX;
 end;

В программе, если надо, например, присвоить полю x значение 25, то вместо команды присваивания x:=25 запишем вызов метода SetX(25);
Перечисленные методы нам нужны, чтобы не напрямую работать с полем, а через соответствующий метод. Возможную реализацию метода инициализации полей Init можно посмотреть в примере 2.4 (п.6) конспекта лекций, а методов GetX и GetY – в примере 2.7 (п.10).
 У метода рисования Draw можно теперь убрать параметры (т.е., например, Mas[i].Draw;). Перед его вызовом добавьте (конечно же, в цикле) инициализацию (при помощи метода Init) всех 100 объектов, сначала задавая параметры метода инициализации с помощью генератора случайных чисел, а затем вызывая метод с данными параметрами. Таким образом, во все 100 объектов, в поля, например, x и y запишутся какие-то случайные числа – координаты точки (цвет точки задайте аналогично).
 Далее вызывайте метод рисования для каждого объекта (Mas[i].Draw;). Метод рисования можно сделать с одним параметром для передачи ему цвета (тогда параметр цвета надо убрать из метода инициализации), а в основной программе соответствующий фактический параметр задавать с помощью генератора случайных чисел.
 Следующий пункт задания: добавить методы движения точек. Посмотрите описание класса tPoint примере 2.4 (п.6) конспекта лекций.
Чтобы реализовать случайное движение надо координатам в методе движения Move присваивать случайные значения с помощью генератора случайных чисел. Чтобы реализовать движение по нажатию клавиш со стрелками, надо координаты изменять с шагом h в зависимости от того, на какую стрелку нажал пользователь. Как определить какая клавиша была нажата, и как в зависимости от этого изменять координаты можно посмотреть либо в примере 2.8 (п.10), либо в примере 2.7 (п.10) конспекта лекций в программе GRAFICA, не вдаваясь в подробности описания классов и другие детали.
Предусмотрите возможность выбора режима движения (посмотрите в примерах 2.8 или 2.7 как выбираются фигуры, а также как пользователь выбирает продолжить программу или нет, и напишите что-то подобное для выбора режима).

Рекомендации к выполнению части 2 на C++:
Для работы с полями используйте, например, следующие методы: процедуру инициализации полей Init, функции GetX и GetY для чтения данных из полей x и y, процедуры SetX и SetY для записи данных в поля x и y, а также любые другие методы на Ваше усмотрение.
 Приведем пример возможной реализации метода SetX:


void имя класса::SetX(int NewX);
 {
  x=NewX;
 }

В программе, если надо, например, присвоить полю x значение 25 то вместо команды присваивания запишем вызов метода SetX(25);
Перечисленные методы нам нужны, чтобы не напрямую работать с полем, а через соответствующий метод. Инициализацию полей осуществлять с помощью конструкторов (по умолчанию и с параметрами).
 Далее вызывайте метод рисования для каждого объекта (Mas[i].Draw;). Метод рисования можно сделать с одним параметром для передачи ему цвета (тогда параметр цвета надо убрать из метода инициализации), а в основной программе соответствующий фактический параметр задавать с помощью генератора случайных чисел.
 Следующий пункт задания: добавить методы движения точек. Чтобы реализовать случайное движение надо координатам в методе движения Move присваивать случайные значения с помощью генератора случайных чисел. Чтобы реализовать движение по нажатию клавиш со стрелками, надо координаты изменять с шагом h в зависимости от того, на какую стрелку нажал пользователь. Предусмотрите возможность выбора режима движения.

Лабораторная работа №2

Тема: Принцип наследования. Статические методы.

Задание:
Создать иерархию графических классов в соответствии с рисунком (или использовать свой вариант). Описания классов желательно оформить в отдельном модуле.

   ТОЧКА ОКРУЖНОСТЬ  ЭЛЛИПС
   
ОТРЕЗОК  ТРЕУГОЛЬНИК
   
ПРЯМОУГОЛЬНИК

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

Рекомендации к выполнению на Паскале:
В данной лабораторной работе Вы должны написать, откомпилировать и сохранить модуль, содержащий описание классов графических фигур. Для этого изучите в лекциях §9 “Классы и модули” и разберите в примере 2.7 (п.10) конспекта лекций модуль FIGURA.
Сам модуль запускать на выполнение не пытайтесь, только откомпилируйте. Все что описано в модулях вызывается из программ, к которым они подключены.
См. пример 2.7 (п.10) конспекта лекций (только виртуальные методы в данной лабораторной не используйте. Тогда метод движения должен быть описан в каждом классе, чтобы все работало правильно).

Лабораторная работа №3

Тема: Принцип полиморфизма. Использование виртуальных методов.

Задание:
Внести следующие изменения в программу, разработанную в лабораторной работе №2:
Использовать общий метод движения фигур, описанный в родительском классе самого верхнего уровня иерархии (т.е. описание самого метода движения Move убрать из всех классов, кроме самого верхнего родительского).
Использовать виртуальные методы для корректной работы программы после внесенных изменений.

Рекомендации к выполнению на Паскале:
См. пример 2.7 (п.10) конспекта лекций.

Дополнительная информация

Оценка: Зачет
Дата оценки: 29.12.2021

Помогу с вашим вариантом, другой работой, дисциплиной или онлайн-тестом.
E-mail: sneroy20@gmail.com
E-mail: ego178@mail.ru
Лабораторные работы №№1-3 по дисциплине: Объектно-ориентированное программирование. Вариант №16
Лабораторная работа №1 Тема: Принцип инкапсуляции. Описание класса. Задание: Часть 1. Описать класс tPoint, инкапсулирующий основные свойства и методы точки на плоскости. При написании программы на С++ или С# инициализировать поля с помощью конструктора (объявить два конструктора: по умолчанию и с параметрами). Создать массив из 100 точек. Нарисовать точки случайным образом случайным цветом на экране. Часть 2. Сделать защиту полей класса (т.е. работать с полями в основной программе не напр
User IT-STUDHELP : 29 декабря 2021
300 руб.
promo
Лабораторная работа №1 "Объектно-ориентированное программирование"
Уважаемый студент дистанционного обучения, Оценена Ваша работа по предмету: Объектно-ориентированное программирование Вид работы: Лабораторная работа 1 Оценка:Зачет Дата оценки: 20.02.2022 Рецензия:Уважаемый -------, Ситняковская Елена Игоревна
User Daniil2001 : 20 февраля 2022
25 руб.
Лабораторная работа №1 "Объектно-ориентированное программирование"
Объектно-ориентированное программирование. Лабораторная работа №1
Тема: Принцип инкапсуляции. Описание класса. Задание Описать класс tPoint, инкапсулирующий основные свойства и методы точки на плоскости. Создать массив из 100 точек. Нарисовать точки случайным образом случайным цветом на экране.
User sibguter : 5 июня 2018
39 руб.
Объектно-ориентированное программирование. Лабораторная работа №1.
Тема: Принцип инкапсуляции. Описание класса. Задание: Описать класс tPoint, инкапсулирующий основные свойства и методы точки на плоскости. Создать массив из 100 точек. Нарисовать точки случайным образом случайным цветом на экране. Рекомендации к выполнению: Продумайте, какие характеристики есть у объекта Точка, и какие действия можно над ним проделывать. Затем опишите класс tPoint, включив соответствующие поля и методы. Далее продумайте и запишите код каждого метода. После окончания всех опис
User zhekaersh : 18 марта 2015
35 руб.
Объектно-ориентированное программирование. Лабораторная работа №1.
Объектно-ориентированное программирование. Лабораторная работа №1
Задание: Описать класс tPoint, инкапсулирующий основные свойства и методы точки на плоскости. Создать массив из 100 точек. Нарисовать точки случайным образом случайным цветом на экране.
User wchg : 4 сентября 2013
98 руб.
Объектно-ориентированное программирование, Лабораторная работа №1
Описать класс tPoint, инкапсулирующий основные свойства и методы точки на плоскости. Создать массив из 100 точек. Нарисовать точки случайным образом случайным цветом на экране.
User GTV8 : 10 сентября 2012
150 руб.
Лабораторные работы №№1-3 по дисциплине: Объектно-ориентированное программирование. Вариант №03
Лабораторная работа №1 Тема: Принцип инкапсуляции. Описание класса. Задание: Часть 1. Описать класс tPoint, инкапсулирующий основные свойства и методы точки на плоскости. При написании программы на С++ или С# инициализировать поля с помощью конструктора (объявить два конструктора: по умолчанию и с параметрами). Создать массив из 100 точек. Нарисовать точки случайным образом случайным цветом на экране. Часть 2. Сделать защиту полей класса (т.е. работать с полями в основной программе не напрямую
User holm4enko87 : 20 ноября 2024
220 руб.
promo
Лабораторные работы №1-3 по дисциплине: Объектно-ориентированное программирование. Вариант общий
Задание: Часть 1. Описать класс tPoint, инкапсулирующий основные свойства и методы точки на плоскости. При написании программы на С++ или С# инициализировать поля с помощью конструктора (объявить два конструктора: по умолчанию и с параметрами). Создать массив из 100 точек. Нарисовать точки случайным образом случайным цветом на экране. Часть 2. Сделать защиту полей класса (т.е. работать с полями в основной программе не напрямую, а используя соответствующие методы записи в поле и чтения из поля).
User holm4enko87 : 12 ноября 2024
500 руб.
promo
Беспроводные технологии передачи данных. Вариант 11. Контрольная работа №1.
Сотовые сети стандарта NTT NTT (Nippon Telephone and Telegraph system — японская система телефона и телеграфа, диапазон 800—900 МГц) — используется в Японии. Характеристика NTT Диапазон частот, МГц 925—940 870—885 Радиус соты, МГц 5—10 Число каналов подвижной станции до 1000 Мощность передатчика подвижной станции, Вт — Число каналов базовой станции 120 Мощность передатчика базовой станции, Вт 25 Ширина полосы частот канала, кГц 25 Время переключения канала на границе соты, мс 800 Максимальная
User Gennady : 2 апреля 2023
800 руб.
Беспроводные технологии передачи данных. Вариант 11. Контрольная работа №1.
Физическая организация файловой системы
Контрольная работа № 2 по дисциплине «Операционные системы» Физическая организация файловой системы Оглавление Диски, разделы, секторы, кластеры 3 Физическая организация и адресация файла 7 Физическая организация FAT 12 Представление пользователя о файловой системе как об иерархически организованном множестве информационных объектов имеет мало общего с порядком хранения файлов на диске. Файл, имеющий образ цельного, непрерывающегося набора байт, на самом деле очень часто разбросан «кусочками»
User Aronitue9 : 17 марта 2012
20 руб.
Разработать проект отделения по ремонту сеялки СПУ-6 в условиях ОАО «Лидагропроммаш» (курсовой проект)
В курсовом проекте представлен проект участка по ремонту сеялок. Описан технологический процесс ремонта сеялок, приведена структура производственной программы. В данном курсовом проекте приведена компоновка производственного здания ремонтного предприятия, дана характеристика объекта ремонта; рассчитаны производственные и вспомогательные площади; спроектирован участок по ремонту сеялок; произведен расчет количества рабочих и рабочих мест, подобрано необходимое оборудование и инструмент, а также
User maobit : 9 апреля 2018
590 руб.
Разработать проект отделения по ремонту сеялки СПУ-6 в условиях ОАО «Лидагропроммаш» (курсовой проект)
Гидравлика Пермская ГСХА Задача 15 Вариант 5
Определить величину абсолютного ро и избыточного давления рм на свободной поверхности в сосуде и высоту h1, если высота поднятия ртути в ртутном манометре h2. Построить эпюру избыточного гидростатического давления на плоскую поверхность АВ.
User Z24 : 3 ноября 2025
180 руб.
Гидравлика Пермская ГСХА Задача 15 Вариант 5
up Наверх