Лабораторные работы №№ 1,2,3,4,5 по дисциплине: Объектно-ориентированное программирование. Семестр 3.-й
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Работа представляет собой zip архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Word
Описание
1 Тема: Принцип инкапсуляции. Описание класса.
2 Тема: Продолжение темы лаб. работы №1.
3 Тема:
Принцип наследования.
Создание иерархии классов.
Классы и модули.
4 Тема: Статические методы
5 Тема: Принцип полиморфизма. Использование виртуальных методов.
1. Задание:
Описать класс tPoint, инкапсулирующий основные свойства и методы точки на плоскости. Создать массив из 100 точек. Нарисовать точки случайным образом случайным цветом на экране.
Рекомендации к выполнению:
Продумайте, какие характеристики есть у объекта Точка, и какие действия можно над ним проделывать. Затем опишите класс tPoint, включив соответствующие поля и методы. Далее продумайте и запишите код каждого метода.
После окончания всех описаний можно переходить к написанию кода основной программы. Задайте одномерный массив из 100 элементов типа tPoint, т.е. у Вас будет 100 объектов класса tPoint. Далее в цикле (используйте любой известный Вам циклический оператор ) вызывайте метод рисования для каждого объекта. Данный метод можно сделать с тремя параметрами для передачи ему координат и цвета, а в основной программе соответствующие фактические параметры задавать с помощью генератора случайных чисел. Пусть, например, имя массива – Mas, а имя метода рисования Draw. Тогда можно записать: Mas[i].Draw(x,y,color); , где Mas[i] - объект класса tPoint (значения x,y,color предварительно задавать с помощью Random();). В результате, после запуска программы на выполнение на экране появится 100 точек в случайном месте случайного цвета.
2. Задание:
Сделать защиту полей класса (т.е. работать с полями в основной программе не напрямую, а используя соответствующие методы записи в поле и чтения из поля). Добавить методы движения точек: случайное движение, движение по нажатию клавиш со стрелками.
Рекомендации к выполнению:
Внесите необходимые корректировки в программу лаб. работы №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 как выбираются фигуры, а также как пользователь выбирает продолжить программу или нет, и напишите что-то подобное для выбора режима).
3. Задание:
Создать иерархию графических классов в соответствии с рисунком. Описания классов оформить в отдельном модуле.
Рекомендации к выполнению:
В данной лабораторной работе Вы должны написать, откомпилировать и сохранить модуль, содержащий описание классов графических фигур. Для этого изучите в лекциях §9 “Классы и модули” и разберите в примере 2.7 (§10) конспекта лекций модуль FIGURA. Т.е. Вы должны прислать на проверку только файл с текстом модуля (программа, которая будет использовать модуль, в данной лаб. работе не нужна). Сам модуль запускать на выполнение не пытайтесь, только откомпилируйте. Все что описано в модулях вызывается из программ, к которым они подключены.
4. Задание:
В модуль, созданный в лабораторной работе №3, добавить методы движения фигур (в каждый класс). Использовать статические методы. Написать программу, позволяющую выбирать фигуру для движения и вид движения: случайный или с помощью стрелок. Подключить к этой программе созданный модуль с описанием графических классов.
Рекомендации к выполнению:
См. пример 2.7 (§10) конспекта лекций (только виртуальные методы в данной лабораторной не используйте. Тогда метод движения должен быть описан в каждом классе, чтобы все работало правильно).
5. Задание:
Внести следующие изменения в программу, разработанную в лабораторной работе №4:
Использовать общий метод движения фигур, описанный в родительском классе самого верхнего уровня иерархии (т.е. описание самого метода движения Move убрать из всех классов, кроме самого верхнего родительского).
Использовать виртуальные методы для корректной работы программы после внесенных изменений.
Рекомендации к выполнению:
См. пример 2.7 (§10) конспекта лекций.
2 Тема: Продолжение темы лаб. работы №1.
3 Тема:
Принцип наследования.
Создание иерархии классов.
Классы и модули.
4 Тема: Статические методы
5 Тема: Принцип полиморфизма. Использование виртуальных методов.
1. Задание:
Описать класс tPoint, инкапсулирующий основные свойства и методы точки на плоскости. Создать массив из 100 точек. Нарисовать точки случайным образом случайным цветом на экране.
Рекомендации к выполнению:
Продумайте, какие характеристики есть у объекта Точка, и какие действия можно над ним проделывать. Затем опишите класс tPoint, включив соответствующие поля и методы. Далее продумайте и запишите код каждого метода.
После окончания всех описаний можно переходить к написанию кода основной программы. Задайте одномерный массив из 100 элементов типа tPoint, т.е. у Вас будет 100 объектов класса tPoint. Далее в цикле (используйте любой известный Вам циклический оператор ) вызывайте метод рисования для каждого объекта. Данный метод можно сделать с тремя параметрами для передачи ему координат и цвета, а в основной программе соответствующие фактические параметры задавать с помощью генератора случайных чисел. Пусть, например, имя массива – Mas, а имя метода рисования Draw. Тогда можно записать: Mas[i].Draw(x,y,color); , где Mas[i] - объект класса tPoint (значения x,y,color предварительно задавать с помощью Random();). В результате, после запуска программы на выполнение на экране появится 100 точек в случайном месте случайного цвета.
2. Задание:
Сделать защиту полей класса (т.е. работать с полями в основной программе не напрямую, а используя соответствующие методы записи в поле и чтения из поля). Добавить методы движения точек: случайное движение, движение по нажатию клавиш со стрелками.
Рекомендации к выполнению:
Внесите необходимые корректировки в программу лаб. работы №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 как выбираются фигуры, а также как пользователь выбирает продолжить программу или нет, и напишите что-то подобное для выбора режима).
3. Задание:
Создать иерархию графических классов в соответствии с рисунком. Описания классов оформить в отдельном модуле.
Рекомендации к выполнению:
В данной лабораторной работе Вы должны написать, откомпилировать и сохранить модуль, содержащий описание классов графических фигур. Для этого изучите в лекциях §9 “Классы и модули” и разберите в примере 2.7 (§10) конспекта лекций модуль FIGURA. Т.е. Вы должны прислать на проверку только файл с текстом модуля (программа, которая будет использовать модуль, в данной лаб. работе не нужна). Сам модуль запускать на выполнение не пытайтесь, только откомпилируйте. Все что описано в модулях вызывается из программ, к которым они подключены.
4. Задание:
В модуль, созданный в лабораторной работе №3, добавить методы движения фигур (в каждый класс). Использовать статические методы. Написать программу, позволяющую выбирать фигуру для движения и вид движения: случайный или с помощью стрелок. Подключить к этой программе созданный модуль с описанием графических классов.
Рекомендации к выполнению:
См. пример 2.7 (§10) конспекта лекций (только виртуальные методы в данной лабораторной не используйте. Тогда метод движения должен быть описан в каждом классе, чтобы все работало правильно).
5. Задание:
Внести следующие изменения в программу, разработанную в лабораторной работе №4:
Использовать общий метод движения фигур, описанный в родительском классе самого верхнего уровня иерархии (т.е. описание самого метода движения Move убрать из всех классов, кроме самого верхнего родительского).
Использовать виртуальные методы для корректной работы программы после внесенных изменений.
Рекомендации к выполнению:
См. пример 2.7 (§10) конспекта лекций.
Похожие материалы
Лабораторная работа №1-5 по дисциплине "Объектно-ориентированное программирование"
kanchert
: 17 мая 2015
1.Описать класс tPoint, инкапсулирующий основные свойства и методы точки на плоскости. Создать массив из 100 точек. Нарисовать точки случайным образом случайным цветом на экране.
2.Сделать защиту полей класса (т.е. работать с полями в основной программе не напрямую, а используя соответствующие методы записи в поле и чтения из поля). Добавить методы движения точек: случайное движение, движение по нажатию клавиш со стрелками.
...
Лабораторные работы №1-5 по дисциплине: «Объектно-ориентированное программирование». Все варианты
Roma967
: 21 марта 2015
Лабораторная работа №1
Тема: Принцип инкапсуляции. Описание класса.
Задание:
Описать класс tPoint, инкапсулирующий основные свойства и методы точки на плоскости. Создать массив из 100 точек. Нарисовать точки случайным образом случайным цветом на экране.
Лабораторная работа №2
Тема: Продолжение темы лаб. работы №1.
Задание:
Сделать защиту полей класса (т.е. работать с полями в основной программе не напрямую, а используя соответствующие методы записи в поле и чтения из поля). Добавить методы движ
1200 руб.
Лабораторная работа №1 "Объектно-ориентированное программирование"
Daniil2001
: 20 февраля 2022
Уважаемый студент дистанционного обучения,
Оценена Ваша работа по предмету: Объектно-ориентированное программирование
Вид работы: Лабораторная работа 1
Оценка:Зачет
Дата оценки: 20.02.2022
Рецензия:Уважаемый -------,
Ситняковская Елена Игоревна
25 руб.
Объектно-ориентированное программирование. Лабораторная работа №1
sibguter
: 5 июня 2018
Тема: Принцип инкапсуляции. Описание класса.
Задание
Описать класс tPoint, инкапсулирующий основные свойства и методы точки на плоскости. Создать массив из 100 точек. Нарисовать точки случайным образом случайным цветом на экране.
39 руб.
Объектно-ориентированное программирование. Лабораторная работа №1.
zhekaersh
: 18 марта 2015
Тема: Принцип инкапсуляции. Описание класса.
Задание:
Описать класс tPoint, инкапсулирующий основные свойства и методы точки на плоскости. Создать массив из 100 точек. Нарисовать точки случайным образом случайным цветом на экране.
Рекомендации к выполнению:
Продумайте, какие характеристики есть у объекта Точка, и какие действия можно над ним проделывать. Затем опишите класс tPoint, включив соответствующие поля и методы. Далее продумайте и запишите код каждого метода.
После окончания всех опис
35 руб.
Объектно-ориентированное программирование. Лабораторная работа №1
wchg
: 4 сентября 2013
Задание:
Описать класс tPoint, инкапсулирующий основные свойства и методы точки на плоскости.
Создать массив из 100 точек.
Нарисовать точки случайным образом случайным цветом на экране.
98 руб.
Объектно-ориентированное программирование, Лабораторная работа №1
GTV8
: 10 сентября 2012
Описать класс tPoint, инкапсулирующий основные свойства и методы точки на плоскости. Создать массив из 100 точек. Нарисовать точки случайным образом случайным цветом на экране.
150 руб.
Объектно-ориентированное программирование. Лабораторна работа №1. Вариант №18. Семестр 3-й
Shamrock
: 22 февраля 2014
Тема: Принцип инкапсуляции. Описание класса.
Задание:
Описать класс tPoint, инкапсулирующий основные свойства и методы точки на плоскости. Создать массив из 100 точек. Нарисовать точки случайным образом случайным цветом на экране.
Рекомендации к выполнению:
Продумайте, какие характеристики есть у объекта Точка, и какие действия можно над ним проделывать. Затем опишите класс tPoint, включив соответствующие поля и методы. Далее продумайте и запишите код каждого метода.
После окончания всех опис
220 руб.
Другие работы
Контрольная работа по дисциплине "Информатика"
ДО Сибгути
: 11 февраля 2014
1. Постановка задачи
Имеется таблица 1 данных об отработанном времени рабочими цеха.
Таблица 1
Номер бригады Фамилия, и., о. рабочего Разряд Часовая тарифная ставка, руб Отработано, ч
Всего В том числе сверхурочно В том числе ночью
1 2 3 4 5 6 7
1. Сформировать таблицу 2 «Ведомость начисления заработной платы рабочими цеха»
Таблица 2
Номер бригады Фамилия, и., о. рабочего Разряд Часовая тарифная ставка Отработано, ч Начислено, руб Сумма всех начисле- ний, руб
Всего В том числе сверх-уро
100 руб.
Подшипник - МЧ00.83.00.00 Деталирование
HelpStud
: 29 сентября 2025
Подшипник служит опорой для вращающегося вала и устанавливается на консоли в том случае, когда вал близко подходит к стене производственного помещения. Консольная подшипниковая опора состоит из корпуса и подшипника скольжения со сменными бронзовыми вкладышами поз. 4, 5. Верхний вкладыш поз. 4 фиксируется цилиндрическим трубчатым выступом. Смазка к трущимся поверхностям вала и вкладыша подводится из масленки (на чертеже не показана), ввинчиваемой в резьбовое отверстие, расположенное в приливе вер
300 руб.
Лабораторная работа №3 по дисциплине: Основы телекоммуникаций. Вариант 25
Roma967
: 6 июня 2023
Лабораторно-практическое задание 3
«Принцип временной коммутации»
Задание
Во временном коммутаторе ВК 32ЦЛх32ЦЛ определить номера и содержимое ячеек памяти ЗУИ и ЗУА при соединении NВИвх входящего канала NВЦЛ цифровой линии с NВИисх исходящим каналом NИЦЛ цифровой линии при передаче кодовой комбинации КК.
ЗУИ работает в режиме – запись последовательная; считывание по адресу.
Номер варианта определяется по последним двум цифрам пароля.
Исходные данные:
№ варианта: 25
NВИвх: 26
NВИивх: 7
NВЦЛ: 2
100 руб.
Анализ функции фильтрационного сопротивления для неустановившегося притока жидкости (газа) (к несовершенной скважине)
DocentMark
: 20 октября 2012
выводы
1. Депрессия на забое несовершенной по степени вскрытия скважины для всех rc < 0,01 имеет два явно выраженных закона изменения: а) нелинейный, который обусловлен зависимостью функции сопротивления от времени и соответствует неустановившемуся притоку сжимаемой жидкости (газа); б) линейный, который соответствует квазиустановившемуся притоку и не связан с функцией сопротивления.
2. Величина R(rc, h, f0) для неустановившегося притока качественно описывает С1(rc, h) для установившегося,
20 руб.