Лабораторная работа № 1 По дисциплине: Объектно-ориентированное программирование Вариант 4
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Необходимые программы
Работа представляет собой 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 точек. Нарисовать точки случайным образом случайным цветом на экране.
Часть 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 по дисциплине: Объектно-ориентированное программирование
vohmin
: 3 июня 2018
Тема: Принцип инкапсуляции. Описание класса.
Задание:
Описать класс tPoint, инкапсулирующий основные свойства и методы точки на плоскости. Создать массив из 100 точек. Нарисовать точки случайным образом случайным цветом на экране.
Рекомендации к выполнению:
Продумайте, какие характеристики есть у объекта Точка, и какие действия можно над ним проделывать. Затем опишите класс tPoint, включив соответствующие поля и методы. Далее продумайте и запишите код каждого метода.
50 руб.
Лабораторная работа № 1 По дисциплине: Объектно-ориентированное программирование
Loviska
: 26 января 2015
Тема: Принцип инкапсуляции. Описание класса.
Задание:
Описать класс tPoint, инкапсулирующий основные свойства и методы точки на плоскости. Создать массив из 100 точек. Нарисовать точки случайным образом случайным цветом на экране.
100 руб.
Лабораторная работа №1 по дисциплине: «Объектно-ориентированное программирование». Все варианты
Roma967
: 21 марта 2015
Задание:
Описать класс tPoint, инкапсулирующий основные свойства и методы точки на плоскости. Создать массив из 100 точек. Нарисовать точки случайным образом случайным цветом на экране.
Рекомендации к выполнению:
Продумайте, какие характеристики есть у объекта Точка, и какие действия можно над ним проделывать. Затем опишите класс tPoint, включив соответствующие поля и методы. Далее продумайте и запишите код каждого метода.
После окончания всех описаний можно переходить к написанию кода осн
300 руб.
Лабораторная работа №1 по дисциплине: Объектно-ориентированное программирование. Вариант №7
kiana
: 27 октября 2014
Лабораторная работа №1
Тема: Принцип инкапсуляции. Описание класса.
Задание:
Описать класс tPoint, инкапсулирующий основные свойства и методы точки на плоскости. Создать массив из 100 точек. Нарисовать точки случайным образом случайным цветом на экране.
Рекомендации к выполнению:
Продумайте, какие характеристики есть у объекта Точка, и какие действия можно над ним проделывать. Затем опишите класс tPoint, включив соответствующие поля и методы. Далее продумайте и запишите код каждого метода.
Посл
50 руб.
Лабораторная работа №1 по дисциплине: Объектно-ориентированное программирование. Вариант №02
Jack
: 4 сентября 2014
Тема: Принцип инкапсуляции. Описание класса.
Задание:
Описать класс tPoint, инкапсулирующий основные свойства и методы точки на плоскости. Создать массив из 100 точек. Нарисовать точки случайным образом случайным цветом на экране.
100 руб.
Лабораторная работа №1-5 по дисциплине "Объектно-ориентированное программирование"
kanchert
: 17 мая 2015
1.Описать класс tPoint, инкапсулирующий основные свойства и методы точки на плоскости. Создать массив из 100 точек. Нарисовать точки случайным образом случайным цветом на экране.
2.Сделать защиту полей класса (т.е. работать с полями в основной программе не напрямую, а используя соответствующие методы записи в поле и чтения из поля). Добавить методы движения точек: случайное движение, движение по нажатию клавиш со стрелками.
...
Объектно-ориентированное программирование
studypro3
: 6 августа 2018
«Работа со стандартной библиотекой шаблонов».
На языке С++ реализовать класс, описывающий товар на складе, содержащий поля: наименование, артикул, дата поступления на склад, количество товара, цена за единицу товара. Реализовать класс контейнер - вектор, содержащий объекты класса «Товар». Отсортировать контейнер. С использованием алгоритма двоичного поиска, провести поиск в контейнере по артикулу, названию, и дате поступления. При поиске осуществлять запись найденных объектов в контейнер-список
400 руб.
Объектно-ориентированное программирование
Mikola456
: 27 мая 2016
Курсовая работа на тему "Морской бой"
700 руб.
Другие работы
Теория вероятностей и математическая статистика Вариан 2 Контрольная работа
Nina1987
: 21 ноября 2018
Дистанционное обучение
Дисциплина «Теория вероятностей и математическая статистика»
Вариант № 2
1. Вероятность выхода из строя каждого из 4-х блоков равна 0,8. Найти вероятность разрыва цепи.
2. Изделие, изготовленное на первом станке, является бракованным с вероятностью 0,01, для второго станка эта вероятность равна 0,02, для третьего – 0,025. Четверть всех изделий изготовлены первым станком, половина – вторым, остальные – третьим. Случайно взятое изделие оказалось бракованным. К
50 руб.
Контрольная работа по социологии Тема: «Семья как социальный институт» 2 семестр.
Uliya
: 23 января 2020
Содержание:
Введение…………………………………………………………………………………стр. 3
1. Понятие и функции семьи как социального института ………………………..….стр. 4
2. Тенденции изменения семьи. Основные формы современной семьи……………………………………………………………………………………..стр.6
3. Проблемы брака и семьи в современном российском обществе…………….........стр.9
4. Социологический опрос "Отношение молодежи к браку и семье"……………….стр.11
Заключение……………………………………………………......................................стр.14
Список литературы………………………………………………………
120 руб.
«Основы построения инфокоммуникационных систем и сетей». Билет №3
Jerryamantipe03
: 23 июня 2021
Билет №3
1. Виды и принципы построения телеграфных сетей.
2. Способы коммутации. Преимущества и недостатки.
3. Помехи в каналах тональной частоты.
250 руб.
Симптомы и лечение осложненного ревматоидного артрита
alfFRED
: 30 января 2013
Основные жалобы: Боль и ограничение движений в суставах, особенно со стороны плечевого сустава, в левом голеностопе, боль в пояснично-крестцовом отделе, меньше в грудном отделе позвоночника. Снижение чувствительности, боль в мышцах нижних конечностей, утренняя скованность до 2-х часов.
Общие жалобы: Общая слабость, утомляемость, головокружения, головные боли, тахикардия, потливость.
Жалобы по системным уточнениям:
Сердечнососудистая система
Периодически возникают ощущения сердцебиения, сжимания