Лабораторная работа № 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 руб.
Объектно-ориентированное программирование
studypro3
: 6 августа 2018
«Работа со стандартной библиотекой шаблонов».
На языке С++ реализовать класс, описывающий товар на складе, содержащий поля: наименование, артикул, дата поступления на склад, количество товара, цена за единицу товара. Реализовать класс контейнер - вектор, содержащий объекты класса «Товар». Отсортировать контейнер. С использованием алгоритма двоичного поиска, провести поиск в контейнере по артикулу, названию, и дате поступления. При поиске осуществлять запись найденных объектов в контейнер-список
400 руб.
Объектно-ориентированное программирование
Mikola456
: 27 мая 2016
Курсовая работа на тему "Морской бой"
700 руб.
Объектно-ориентированное программирование
Mikola456
: 27 мая 2016
Смоделировать движение шариков в замкнутом сосуде
Целью моей курсовой работы являлось моделирование движения шариков в замкнутом сосуде (форма сосуда может быть различной). Шарики должны двигаться прямолинейно с отражением от стенок сосуда и от других шариков.
При запуске программы для пользователя появляется меню, в котором он может выбрать форму сосуда с помощью клавиш «вправо», «влево», «Enter». Сосуды имеют форму бутылки, колбы и вазы.
700 руб.
Другие работы
Операционные системы. Лабораторная работа № 3. Работа с экраном («часы»)
nik200511
: 11 марта 2014
1. Постановка задачи
Написать программу «часы», которая будет однократно перехватывать показания системных часов и от них вести отсчет времени, используя собственный счетчик прерываний таймера (в качестве основы может быть использован обработчик прерываний таймера из предыдущей работы). Показания времени – часы, минуты, секунды – следует выводить в заданном месте экрана. Формат вывода: xx:xx:xx. Обновление показаний времени выполнять дискретно, через заданное количество секунд.
Программа должна
41 руб.
О психолингвистическом подходе к изучению текста
OstVER
: 14 декабря 2012
Основной целью данного сообщения является попытка раскрыть суть некоторых аспектов современного психолингвистического подхода к изучению текста. В связи с этим необходимо решить две основные задачи: 1) выделить те черты, которые отличают данный подход от подхода чисто лингвистического; 2) представить обзор работ, посвященных восприятию и интерпретации текста с указанных позиций. Для решения поставленных задач мы рассмотрим вопросы, касающиеся психолингвистического определения текста; построения
5 руб.
Лабораторная работа. Аналіз даних.Рішення транспортної задачі. Рішенняя рівнянь. Задачі оптимізації
SerFACE
: 16 мая 2013
Мета: навчитись розв’язувати задачі, аналізуючи дані, використовувати підбір параметру, застосувати пошук рішень при розв’язуванні транспортної задачі, навчитись застосовувати дані знання до задач оптимізації.
Хід роботи
Склав виробничу програму випуску виробів А і В за критерієм максимальної рентабельності при заданих обмеженнях виробничої потужності чотирьох цехів заводу.
Розмістив дані у таблиці.
Ввів в комірки Е3:Е6 записав формули, за якими можна обчислити час, який затрачується на вигото
25 руб.
«Бухгалтерский управленческий учет». Вариант № 3
СибирскийГУТИ
: 1 октября 2013
Вариант 3
1. Могут ли накладные расходы быть прямыми?
а) да;
б) нет
2. При повышении цен на реализуемую продукцию доля постоянных затрат в составе выручки от реализации:
а) увеличивается;
б) уменьшается;
в) не изменяется.
3. В рамках масштабной базы удельные постоянные расходы при увеличении деловой активности организации:
а) остаются неизменными;
б) постепенно уменьшаются;
в) возрастают;
г) не зависят от деловой активности
4. Система «директ-костинг» используется для:
а) составления внешней от
60 руб.