zabika.ru 1

Министерство науки и образования Украины


Национальный технический университет Украины

«Киевский политехнический институт»

Кафедра автоматизации теплоэнергетических процессов

Отчёт по 1-й части курса лабораторных работ

«Современные технологии программирования (основы Java)»


Выполнил студент шестого курса ТЭФ,

группы ТА-51м, Дрынов В.И.

Проверил:

к.ф-м н., доц. каф. АТЭП, Бобков В.Б.

© Дрынов В.И., 2010

Содержание


  1. Лабораторная работа «Функции преобразования между системами счисления».

  2. Лабораторная работа «Клонирование с помощью Cloneable. Сортировка с помощью Comparable»

  3. Лабораторная работа «Классы Личность и Студент»

  4. Общие выводы.

  5. Примечания





Лабораторная работа

«Функции преобразования между системами счисления».


Задание:

  1. Написать класс, содержащий функции преобразования между двоичной системой счисления и десятичной, восьмеричной, шестнадцатеричной системами. Числа, кроме десятичного, передаются в строках. Десятичное число имеет тип long. Класс должен быть оформлен в пакет «Двоичные утилиты».

  2. Написать класс «Число», использующий функции первого в конструкторах, и хранящий элемент типа long.

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

admin@qwer1987n ~/Study/11semestr/Java/lab4 $ java RunMe

10L -> 10

010 -> 8

10 -> 10

0 -> 0

0xFF -> 255

Лабораторная работа

«Клонирование с помощью Cloneable.

Сортировка с помощью Comparable».


Задание:
  1. Реализуя интерфейс Cloneable, создать класс, хранящий элемент одного из базовых типов. Реализуя интерфейс Cloneable, создать второй класс, который помимо элемента одного из базовых типов, будет хранить ссылку на объект второго класса.


  2. Создать минимально необходимый набор функций для демонстрации.

  3. Реализуя интерфейс Comparable, создать класс, который бы являлся «обёрткой» над классом String, при этом необходимо добиться, чтобы стандартная функция Arrays.sort() сортировала элементы класса в порядке, противоположном таковому для класса String.

  4. Создать минимально необходимый набор функций для демонстрации.

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

admin@qwer1987n ~/Study/11semestr/Java/lab6 $ java RunMe

Новая овца по-умолчанию: serial=0 base=0 var=0

Создано Dolly1: serial=1 base=75464562 var=43532456

Просто clone() из Dolly1 в Dolly2: serial=2 base=75464562 var=43532456

Серийный номер применился автоматически, тогда как объект ДНК

воссоздан содержащим такую же информацию, как исходный. Just as planned!
Объекты revString должны сортироваться в обратном порядке.

Массив revString, не сортирован: [aaa, ccc, bbb]

Этот массив же сортирован: [ccc, bbb, aaa]

Лабораторная работа

«Классы Личность и Студент».


Задание:

  1. Создать класс «Личность», который хранил бы имя, фамилию отчество и год рождения.

  2. Наследуя класс «Личность», создать класс «Студент», дополнительно хранящий факультет, группу и имеющий простейший способ добавлять, хранить, удалять оценки по предметам.

  3. Создать необходимый набор функций для демонстрации.

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

admin@qwer1987n ~/Study/11semestr/Java/lab5 $ java RunMe

Создана Личность по-умолчанию: Иван Иванович Иванов, 1962 г.р.

Иван Иванович Иванов, 1962 г.р. равен Иван Иванович Иванов, 1962 г.р. = true

Создано особенную Личность: Василий Васильевич Васильев, 1972 г.р.

Сравнение: Иван Иванович Иванов, 1962 г.р. и Василий Васильевич Васильев, 1972 г.р. = false


Создан Студент по-умолчанию: Иван Иванович Иванов, 1962 г.р.

Создан особенный Студент: Петров Петрович Петров, 1988 г.р., ТЭФ, ТЫ-51

Создан особенный Студент из Личности: Василий Васильевич Васильев, 1972 г.р.

Сравнение: Василий Васильевич Васильев, 1972 г.р. и Василий Васильевич Васильев, 1972 г.р. = true

Создан особенный Студент из Личности, указаны факультет и группа: Иван Иванович Иванов, 1962 г.р., ТЭФ, ЗТЫ-51

Добавлено оценку:

Вища математика, 1-й сем. 5

Общие выводы


  1. Рассмотрены азы использования Java Development Kit, с использованием консоли в качестве рабочей среды.

  2. Разобраны основы работы с пакетами.

  3. Изучены простейшие примеры работы с элементарными типами, со строками, массивами.

  4. Изучены основы наследования.

  5. Разобрана работа с интерфейсами, в частности, Comparable и Cloneable.




Примечания


  1. Код распространяется на условиях лицензии GPL, http://www.gnu.org/licenses/gpl.html

  2. На основании этого код является открытым, однако, при использовании кода другими лицами, Владимир Дрынов должен быть в обязательном порядке указан в списке авторов. Также, при использовании данного кода, любой производный код обязан быть выпущен под совместимой лицензией.

  3. Данная документация распространяется на условиях лицензии Creative Commons BY-NC-SA (Attribution, Non-Commercial, Share-Alike), http://creativecommons.org/licenses/by-nc-sa/3.0/
  4. .class-файлы собраны с помощью библиотек комплекта IcedTea6, и потенциально могут быть несовместимы с другими JVM либо потенциально иметь негарантированную работоспособность. Перед использованием программ, код рекомендуется перекомпилировать для используемой машины.

  5. При компиляции исходников в режиме полного вывода диагностических сообщений не было warnings и errors, т. н. «чистая компиляция».