Лабораторная работа № 1 По дисциплине: Объектно-ориентированное программирование Вариант 4

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

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
Работа представляет собой zip архив с файлами (распаковать онлайн), которые открываются в программах:
  • 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 в зависимости от того, на какую стрелку нажал пользователь. Предусмотрите возможность выбора режима движения.
Лабораторная работа №1 по дисциплине: Объектно-ориентированное программирование
Тема: Принцип инкапсуляции. Описание класса. Задание: Описать класс tPoint, инкапсулирующий основные свойства и методы точки на плоскости. Создать массив из 100 точек. Нарисовать точки случайным образом случайным цветом на экране. Рекомендации к выполнению: Продумайте, какие характеристики есть у объекта Точка, и какие действия можно над ним проделывать. Затем опишите класс tPoint, включив соответствующие поля и методы. Далее продумайте и запишите код каждого метода.
User vohmin : 3 июня 2018
50 руб.
Лабораторная работа № 1 По дисциплине: Объектно-ориентированное программирование
Тема: Принцип инкапсуляции. Описание класса. Задание: Описать класс tPoint, инкапсулирующий основные свойства и методы точки на плоскости. Создать массив из 100 точек. Нарисовать точки случайным образом случайным цветом на экране.
User Loviska : 26 января 2015
100 руб.
Лабораторная работа №1 по дисциплине: «Объектно-ориентированное программирование». Все варианты
Задание: Описать класс tPoint, инкапсулирующий основные свойства и методы точки на плоскости. Создать массив из 100 точек. Нарисовать точки случайным образом случайным цветом на экране. Рекомендации к выполнению: Продумайте, какие характеристики есть у объекта Точка, и какие действия можно над ним проделывать. Затем опишите класс tPoint, включив соответствующие поля и методы. Далее продумайте и запишите код каждого метода. После окончания всех описаний можно переходить к написанию кода осн
User Roma967 : 21 марта 2015
300 руб.
promo
Лабораторная работа №1 по дисциплине: Объектно-ориентированное программирование. Вариант №7
Лабораторная работа №1 Тема: Принцип инкапсуляции. Описание класса. Задание: Описать класс tPoint, инкапсулирующий основные свойства и методы точки на плоскости. Создать массив из 100 точек. Нарисовать точки случайным образом случайным цветом на экране. Рекомендации к выполнению: Продумайте, какие характеристики есть у объекта Точка, и какие действия можно над ним проделывать. Затем опишите класс tPoint, включив соответствующие поля и методы. Далее продумайте и запишите код каждого метода. Посл
User kiana : 27 октября 2014
50 руб.
Лабораторная работа №1 по дисциплине: Объектно-ориентированное программирование. Вариант №02
Тема: Принцип инкапсуляции. Описание класса. Задание: Описать класс tPoint, инкапсулирующий основные свойства и методы точки на плоскости. Создать массив из 100 точек. Нарисовать точки случайным образом случайным цветом на экране.
User Jack : 4 сентября 2014
100 руб.
Лабораторная работа №1-5 по дисциплине "Объектно-ориентированное программирование"
1.Описать класс tPoint, инкапсулирующий основные свойства и методы точки на плоскости. Создать массив из 100 точек. Нарисовать точки случайным образом случайным цветом на экране. 2.Сделать защиту полей класса (т.е. работать с полями в основной программе не напрямую, а используя соответствующие методы записи в поле и чтения из поля). Добавить методы движения точек: случайное движение, движение по нажатию клавиш со стрелками. ...
User kanchert : 17 мая 2015
Объектно-ориентированное программирование
«Работа со стандартной библиотекой шаблонов». На языке С++ реализовать класс, описывающий товар на складе, содержащий поля: наименование, артикул, дата поступления на склад, количество товара, цена за единицу товара. Реализовать класс контейнер - вектор, содержащий объекты класса «Товар». Отсортировать контейнер. С использованием алгоритма двоичного поиска, провести поиск в контейнере по артикулу, названию, и дате поступления. При поиске осуществлять запись найденных объектов в контейнер-список
User studypro3 : 6 августа 2018
400 руб.
Объектно-ориентированное программирование
Смоделировать движение шариков в замкнутом сосуде Целью моей курсовой работы являлось моделирование движения шариков в замкнутом сосуде (форма сосуда может быть различной). Шарики должны двигаться прямолинейно с отражением от стенок сосуда и от других шариков. При запуске программы для пользователя появляется меню, в котором он может выбрать форму сосуда с помощью клавиш «вправо», «влево», «Enter». Сосуды имеют форму бутылки, колбы и вазы.
User Mikola456 : 27 мая 2016
700 руб.
Теплотехника Часть 1 Теплопередача Задача 18 Вариант 5
Горизонтальный трубопровод с наружным диаметром d=0,25 м, длиной l=20 м имеет температуру поверхности tст, степень черноты поверхности ε1=0,72. Определить количество тепла, которое отдает трубопровод в окружающую среду излучением и конвекцией, кВт (в условиях свободного движения воздуха), если температура воздуха tв=23ºС. Как изменится суммарный коэффициент теплоотдачи конвекцией и излучением (отношение суммарного удельного теплового потока к разности температур поверхности в среды), если при пр
User Z24 : 14 октября 2025
200 руб.
Теплотехника Часть 1 Теплопередача Задача 18 Вариант 5
Физика. Контрольная работа №1. Вариант №5
Конькобежец, стоя на коньках на льду, бросает камень массой 2,5 кг под углом 30° к горизонту со скоростью 10 м/с. Какова будет начальная скорость движения конькобежца, если его масса 60 кг? Перемещением конькобежца во время броска пренебречь. 2. Вычислите КПД неупругого удара бойка массой 0,5 т, падающего на сваю массой 120 кг. Полезной считать энергию, затраченную на вбивание сваи. 3. Скорость электрона составляет 80 % от скорости света в вакууме. Вычислите кинетическую энергию такого
User gnv1979 : 23 апреля 2016
30 руб.
Инженерная и компьютерная графика. Экзамен. Вариант №2. 2016
Вариант 2 Задача №1 – плоские сечения. По двум заданным проекциям (фронтальной и горизонтальной), построить третью (профильную). Отверстие, показанное на фронтальной плоскости, построить на горизонтальную и профильную плоскость с помощью плоских сечений. Обязательно показав мнимые участки плоских сечений. Все характерные точки обозначить цифрами. Задача №2 - проекционное черчение По двум заданным проекциям (фронтальной и горизонтальной) построить третью (профильную), выполнить разрезы на видах
User Cole82 : 21 мая 2016
111 руб.
Инженерная и компьютерная графика. Экзамен. Вариант №2. 2016
Гидромеханика ГУМРФ им. адм. С. О. Макарова 2017 Задача 5.16
По паропроводу диаметром 0,22 м подается пар в количестве 220 м³/ч. Определите скорость пара в расширенном сечении диаметром 44 мм.
User Z24 : 28 октября 2025
150 руб.
Гидромеханика ГУМРФ им. адм. С. О. Макарова 2017 Задача 5.16
up Наверх