Лабораторная работа №5 по курсу «тфкп» на тему: «Классы и объекты»




Скачать 46.03 Kb.
НазваниеЛабораторная работа №5 по курсу «тфкп» на тему: «Классы и объекты»
Дата публикации17.06.2013
Размер46.03 Kb.
ТипЛабораторная работа
odtdocs.ru > Математика > Лабораторная работа
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ИМЕНИ Н.Э.БАУМАНА»

Калужский филиал


Факультет "Фундаментальных Наук"
Кафедра "Программного Обеспечения ЭВМ, Информационных Технологий и

Прикладной Математики"


ЛАБОРАТОРНАЯ РАБОТА № 5

ПО КУРСУ «ТФКП»

НА ТЕМУ: «Классы и объекты»

Калуга, 2010.

Цель




Порядок выполнения лабораторной работы


  1. Изучить теоретический материал.

  2. Выполнить задание согласно выданному варианту.

  3. Ответить на вопросы для самоконтроля.

  4. Подготовить отчет.

  5. Защитить лабораторную работу.



Требования к лабораторной работе


  1. Для выполнения лабораторных работ использовать Java SE (jdk).

  2. Лабораторную работу выполнить без использования какой-либо среды разработки (IntelliJ IDEA, Eclipse, NetBeans и др.).

  3. Помимо разработки класса, необходимо продемонстрировать его работу.

  4. Разработанные классы поместить в пакет org.hecsit.<ваш логин>.lab5.core, а классы, демонстрирующие работу первых, - в пакет org.hecsit.<ваш логин>.lab5.demo.

  5. Полученные программы должны работать в режиме диалога с пользователем в консоли.



Вопросы для самоконтроля


  1. Для чего нужен класс Object? Какие методы содержит класс Object?.

  2. Приведите пример объявления класса. Как создать объект какого-либо класса?

  3. Что такое агрегация, композиция?

  4. Приведите пример использования оператора instanceof.

  5. Чем отличаются модификаторы доступа public, private, protected?

  6. Какую область видимости имеют классы, поля и методы, объявленные без модификаторов доступа?

  7. Приведите пример объявления наследования. Возможно ли в Java множественное наследование?

  8. Каким образом используются ключевые слова final, static, super и this?

  9. Что такое абстрактные классы и интерфейсы?

  10. Чем отличаются абстрактный класс от интерфейса?

  11. Как воспользоваться интерфейсом? Может ли класс реализовать два и более интерфейсов?

  12. Что такое анонимный класс? приведите пример.

  13. Что такое перегрузка методов?



Требования к содержимому отчета


  1. Титульный лист

  2. Задание

  3. Теоретические сведения

  4. Результаты выполнения программы

  5. Выводы

  6. Листинг программы



Теоретический материал


  1. Б. Эккель. Философия Java. - Издательство «Питер», 2009. - 640 с.

  2. К. Хорстманн, Г. Корнелл. Java 2. Библиотека профессионала, том I. Основы. 8-е изд.: Пер. с англ. - М.: Издательский дом «Вильямс», 2008. - 816 с.



Варианты

Вариант 1


  1. Определить класс Матрица размерности (n x n). Объявить массив из m объектов. Передать объекты в метод, меняющий местами строки с максимальным и минимальным элементами k-го столбца. Вывести новые матрицы и номера строк.

  2. Добавить возможность ввода/вывода элементов матрицы из файла.

  3. Создать абстрактный базовый класс с виртуальной функцией - площадь. Создать производные классы: прямоугольник, круг, прямоугольный треугольник, трапеция со своими функциями площади. Для проверки определить массив ссылок на абстрактный класс, которым присваиваются адреса различных объектов. Площадь трапеции: .

Вариант 2


  1. Определить класс Вектор размерности n. Описать методы, определяющие, будут ли пары векторов коллинеарны, ортогональны. Продемонстрировать их работу.

  2. Дан текстовый файл. Последовательность символов, разделенных пробелом будем считать словом. Вывести слова в порядке возрастания числа их повторений.

  3. Создать абстрактный класс «кривые» для вычисления координаты y для некоторой x. Создать производные классы: прямая, эллипс, гипербола со своими функциями вычисления y в зависимости от входного параметра x.

Уравнение прямой: , эллипса: , гиперболы: .

Вариант 3


  1. Создать класс Многочлен степени n от одной переменной. Описать методы, позволяющие задавать коэффициенты многочлена, вывести на экран многочлен, найти значение многочлена от известного значения переменной. Создать производные классы Многочлен Чебышева 1-го рода и Многочлен Чебышева 2-го рода. Продемонстрировать их работу.

  2. Добавить возможность ввода/вывода коэффициентов многочлена из файла.

  3. Создать класс Матрица размерности n x n. Описать методы, позволяющие задавать элементы матрицы, выводить матрицу на экран, найти определитель матрицы.

Вариант 4


  1. Создать абстрактный базовый класс с виртуальной функцией - сумма прогрессии. Создать производные классы: арифметическая прогрессия и геометрическая прогрессия. Каждый класс имеет два поля типа double. Первое - первый член прогрессии, второе (double) - постоянная разность (для арифметической) и постоянное отношение (для геометрической). Определить функцию вычисления суммы, где параметром является количество элементов прогрессии.

Арифметическая прогрессия .

Сумма арифметической прогрессии: .

Геометрическая прогрессия: .

Сумма геометрической прогрессии: .

  1. Дан текстовый файл. Последовательность символов, разделенных пробелом будем считать словом. В каждом слове строки заменить первую букву слова на прописную.

  2. Определить класс Комплексное число. Объявить методы для операция с комплексными числами (сложение, вычитание, умножение, деление и модуль). Создать производный класс Комплексное число в показательной форме. Продемонстрировать их работу.

Вариант 5 (не готов)


  1. Создать абстрактный базовый класс с виртуальной функцией - корни уравнения. Создать производные классы: класс линейных уравнений и класс квадратных уравнений. Определить функцию вычисления корней уравнений.

  2. Дан файл с текстом русском языке. Перевести текст в файле в транслит.

Вариант 6 (не готов)


Дан CSV-файл, каждая строка которого содержит сведения о пассажире авиалайнера: фамилия, имя, отчество, год рождения, пол (М/Ж), место, класс билета (1-й, 2-й или 3-й). Найти наиболее часто встречающееся имя среди пассажиров авиалайнера.

Вариант 7 (не готов)




Вариант 8 (не готов)




Вариант 9


  1. Создать базовый класс список. Реализовать на базе списка стек и очередь с виртуальными функциями вставки и вытаскивания.

  2. Добавить возможность ввода/вывода элементов списка из файла.

  3. Создать класс Двоичное дерево поиска. Использовать этот класс для хранения англо-русского словаря. Описать методы для добавления нового слова, поиска слова, вывода всех слов словаря на экран, загрузки слов из файла.

Вариант 10


  1. Создать класс Вектор размерности n. Описать методы, возвращающие длину вектора, скалярное произведение двух векторов, косинус угла между векторами. Продемонстрировать их работу.

  2. Добавить возможность ввода/вывода компонентов вектора из файла.

  3. Создать базовый класс - фигура, и производные классы - круг, прямоугольник, трапеция. Определить виртуальные функции площадь, периметр и вывод на печать.

Добавить документ в свой блог или на сайт

Похожие:

Лабораторная работа №5 по курсу «тфкп» на тему: «Классы и объекты»
Лабораторную работу выполнить без использования какой-либо среды разработки (Intellij idea, Eclipse, NetBeans и др.)

Лабораторная работа №6 по курсу «тфкп» на тему: «Коллекции. Потоки»
Разработанные классы поместить в пакет org hecsit la core, а классы, демонстрирующие работу первых, в пакет org hecsit la demo

Лабораторная работа №6 по курсу «тфкп» на тему: «Коллекции. Потоки»
Разработанные классы поместить в пакет org hecsit la core, а классы, демонстрирующие работу первых, в пакет org hecsit la demo

Лабораторная работа №6 по курсу «тфкп» на тему: «Коллекции. Потоки»
Разработанные классы поместить в пакет org hecsit la core, а классы, демонстрирующие работу первых, в пакет org hecsit la demo

Лабораторная работа №4 по курсу «тфкп» на тему: «Типы данных, переменные,...
Изучить типы данных, правила объявления переменных, констант и массивов в языке Java. Научиться создавать программы на языке Java,...

Лабораторная работа №4 по курсу «тфкп» на тему: «Типы данных, переменные,...
Изучить типы данных, правила объявления переменных, констант и массивов в языке Java. Научиться создавать программы на языке Java,...

Лабораторная работа №4 по курсу «тфкп» на тему: «Типы данных, переменные,...
Изучить типы данных, правила объявления переменных, констант и массивов в языке Java. Научиться создавать программы на языке Java,...

Лабораторная работа №1 Классы и объекты.
Написать программу, в которой создаются объекты определенного пользователем класса

Лабораторная работа №7 по курсу «тфкп» на тему: «Java-апплеты»
Лабораторную работу выполнить можно выполнить в какой-либо среде разработки, но без использования визуального редактора пользовательского...

Лабораторная работа №5 Лабораторная работа №5 Тема: «Классы и объекты»
Лабораторную работу выполнить без использования сред разработки (Intellij idea, Eclipse, NetBeans и др.)

Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
odtdocs.ru
Главная страница