Объектно-ориентированное программирование.Лабораторна работа №2. Вариант №18. Семестр 3-й
Состав работы
|
|
|
|
|
|
|
|
|
|
Работа представляет собой zip архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Word
Описание
Тема: Продолжение темы лаб. работы №1.
Задание:
Сделать защиту полей класса (т.е. работать с полями в основной программе не напрямую, а используя соответствующие методы записи в поле и чтения из поля). Добавить методы движения точек: случайное движение, движение по нажатию клавиш со стрелками.
Рекомендации к выполнению:
Внесите необходимые корректировки в программу лаб. работы №1.
Для работы с полями используйте, например, следующие методы: процедуру инициализации полей Init, функции GetX и GetY для чтения данных из полей x и y, процедуры SetX и SetY для записи данных в поля x и y, а также любые другие методы на Ваше усмотрение.
Приведем пример возможной реализации метода SetX:
Procedure имя класса.SetX(NewX:integer);
begin
x:=NewX;
end;
В программе, если надо, например, присвоить полю x значение 25 то вместо команды x:= 25; запишем вызов метода SetX(25);
Перечисленные методы нам нужны, чтобы не напрямую работать с полем (например, p:=x;), а через соответствующий метод (например, p:=GetX). Возможную реализацию метода инициализации полей 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 как выбираются фигуры, а также как пользователь выбирает продолжить программу или нет, и напишите что-то подобное для выбора режима).
Задание:
Сделать защиту полей класса (т.е. работать с полями в основной программе не напрямую, а используя соответствующие методы записи в поле и чтения из поля). Добавить методы движения точек: случайное движение, движение по нажатию клавиш со стрелками.
Рекомендации к выполнению:
Внесите необходимые корректировки в программу лаб. работы №1.
Для работы с полями используйте, например, следующие методы: процедуру инициализации полей Init, функции GetX и GetY для чтения данных из полей x и y, процедуры SetX и SetY для записи данных в поля x и y, а также любые другие методы на Ваше усмотрение.
Приведем пример возможной реализации метода SetX:
Procedure имя класса.SetX(NewX:integer);
begin
x:=NewX;
end;
В программе, если надо, например, присвоить полю x значение 25 то вместо команды x:= 25; запишем вызов метода SetX(25);
Перечисленные методы нам нужны, чтобы не напрямую работать с полем (например, p:=x;), а через соответствующий метод (например, p:=GetX). Возможную реализацию метода инициализации полей 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 как выбираются фигуры, а также как пользователь выбирает продолжить программу или нет, и напишите что-то подобное для выбора режима).
Дополнительная информация
Работа была зачтена без комментариев в 2013г.
Преподаватель: Ситняковская Е.И.
Преподаватель: Ситняковская Е.И.
Похожие материалы
Объектно-ориентированное программирование. Курсовая работа. Вариант №18. Семестр 3-й
Shamrock
: 22 февраля 2014
Написать программу, используя объектно-ориентированный подход, которая двигает по экрану изображение заданного графического объекта.
Тип объекта указан во вложении
Допускается: замена некоторых элементов графического объекта, изменение его цветовой гаммы.
Реализовать два вида движения: случайное и по нажатию на клавиши со стрелками. Предусмотреть для пользователя возможность выбора одного из двух режимов движения.
Описание классов необходимо оформить в виде отдельного модуля. Иерархия классов д
280 руб.
Лабораторная работа №2 "Объектно-ориентированное программирование"
Daniil2001
: 20 марта 2022
Лабораторная работа 2 21.02.2022 20.03.2022 Зачет Уважаемый ----, Ситняковская Елена Игоревна
50 руб.
Объектно-ориентированное программирование. Лабораторная работа №2
sibguter
: 5 июня 2018
Тема: Принцип инкапсуляции. Описание класса.
Задание
Сделать защиту полей класса (т.е. работать с полями в основной программе не напрямую, а используя соответствующие методы записи в поле и чтения из поля). Добавить методы движения точек: случайное движение, движение по нажатию клавиш со стрелками.
39 руб.
Объектно-ориентированное программирование. Лабораторная работа №2.
zhekaersh
: 19 марта 2015
Тема: Продолжение темы лаб. работы №1.
Задание:
Сделать защиту полей класса (т.е. работать с полями в основной программе не напрямую, а используя соответствующие методы записи в поле и чтения из поля). Добавить методы движения точек: случайное движение, движение по нажатию клавиш со стрелками.
Рекомендации к выполнению:
Внесите необходимые корректировки в программу лаб. работы №1.
Для работы с полями используйте, например, следующие методы: процедуру инициализации полей Init, функции GetX и Ge
35 руб.
Объектно-ориентированное программирование. Лабораторная работа №2
wchg
: 4 сентября 2013
Задание:
Сделать защиту полей класса
(т.е. работать с полями в основной программе не напрямую, а используя соответствующие методы записи в поле и чтения из поля).
Добавить методы движения точек:
случайное движение, движение по нажатию клавиш со стрелками.
98 руб.
Объектно-ориентированное программирование, Лабораторная работа №2
GTV8
: 10 сентября 2012
Сделать защиту полей класса (т.е. работать с полями в основной программе не напрямую, а используя соответствующие методы записи в поле и чтения из поля). Добавить методы движения точек: случайное движение, движение по нажатию клавиш со стрелками.
150 руб.
Объектно-ориентированное программирование. Лабораторна работа №3. Вариант №18. Семестр 3-й
Shamrock
: 22 февраля 2014
Тема:
Принцип наследования.
Создание иерархии классов.
Классы и модули.
Задание:
Создать иерархию графических классов в соответствии с рисунком. Описания классов оформить в отдельном модуле.
Рекомендации к выполнению:
В данной лабораторной работе Вы должны написать, откомпилировать и сохранить модуль, содержащий описание классов графических фигур. Для этого изучите в лекциях §9 “Классы и модули” и разберите в примере 2.7 (§10) конспекта лекций модуль FIGURA. Т.е. Вы должны прислать на
220 руб.
Объектно-ориентированное программирование. Лабораторна работа №5. Вариант №18. Семестр 3-й
Shamrock
: 22 февраля 2014
Тема: Принцип полиморфизма. Использование виртуальных методов.
Задание:
Внести следующие изменения в программу, разработанную в лабораторной работе №4:
Использовать общий метод движения фигур, описанный в родительском классе самого верхнего уровня иерархии (т.е. описание самого метода движения Move убрать из всех классов, кроме самого верхнего родительского).
Использовать виртуальные методы для корректной работы программы после внесенных изменений.
Рекомендации к выполнению:
См. пример 2.
220 руб.
Другие работы
Организационный расчет процессов основного производства
Lokard
: 23 ноября 2013
ВВЕДЕНИЕ
Организация производства – комплекс мероприятий, направленных на рациональное сочетание и использование в пространстве и во времени всех элементов производственного процесса с целью производства необходимой продукции в заданные сроки.
На данном этапе всем предприятиям лёгкой промышленности необходимо использовать все имеющиеся ресурсы, чтобы оставаться конкурентоспособным и предлагать потребителю продукцию, соответствующую их требованиям. Это возможно лишь при повышении эффективности
10 руб.
Федерализм как идеология самоуправляющегося общества
alfFRED
: 19 января 2014
Понятие "федерализм" происходит от лат. foederatio, что означает союз, объединение. Сразу следует указать, что это понятие в своем исходном значении может означать объединение самых разных социально-политических образований, в частности этнических или социальных групп и совсем не обязательно регионов.
Федеративные отношения в широком смысле этого понятия означают союзные отношения между любыми сегментами многосоставного общества. В узком смысле иногда полезно говорить о территориальном федерализ
10 руб.
Гидравлика гидравлические машины и гидроприводы Задача 23 Вариант 1
Z24
: 18 ноября 2025
Центробежный насос, характеристика которого задана в условии (табл.3), работает в системе, перекачивая воду, температура которой Т=40 ºС, из закрытого резервуара А в открытый резервуар Б. Стальные трубы всасывания и нагнетания соответственно имеют диаметр dв и dн, длину lв и lн, а их эквивалентная шероховатость Δэ=0,1 мм. Перепад горизонтов в резервуарах равен Нг, а избыточное давление в резервуаре А равно р0.
Найти рабочую точку при работе насоса в установке (определить напор, подачу и мощно
350 руб.
Контрольная работа по дисциплине: Информатика. Вариант № 1
xtrail
: 22 апреля 2013
Задание 1. Умножить в двоичной арифметике числа a и b.
a=1101,012
b=101,0112
Задание 2. Перевести число a из десятичной в систему счисления по основанию 4.
Задание 3. Перевести число a из двоичной в десятичную систему счисления.
Задание 4. Перевести число а из восьмеричной в шестнадцатиричную систему счисления.
a=643,148=1A3,316
Задание 5. Даны десятичные коды символов из таблицы ASCII (для удобочитаемости коды символов разделены дефисом). Определить закодированный текст.
Задание 6. Записать тек
350 руб.