Название Баллы




Скачать 79.32 Kb.
Название Название Баллы
Тип Лабораторная работа
rykovodstvo.ru > Руководство эксплуатация > Лабораторная работа

Программирование на языке Java

Задания на лабораторные работы





л/р

Название

Баллы

1

Ознакомление со средой разработки

0

2

Работа с простыми типами данных и строками

2

3

Объектная модель в Java

4

4

Использование пакетов и jar-файлов.

3

5

Интерфейсы, массивы, исключения.

4

6

Пакет java.io, файлы, сериализация.

4

7

Работа с сетью, многопоточные приложения.

9

8

Графические приложения

4

Каждая лабораторная работа может быть выполнена как самостоятельно, так и в группе (максимум 2 человека).

При защите лабораторной работы необходимо предоставить:

  1. Отчет (титульный лист, задание на работу, ход работы, необходимые пояснения)

  2. Исходные тексты программы (в электронном виде)

  3. Откомпилированные классы программы в виде отдельных файлов .class, либо архива .jar

Тексты программ должны быть оформлены в соответствии с принятыми стандартами (отступы, наименования идентификаторов и пр.). Кроме того, тексты должны содержать комментарии разработчика.

Лабораторные работы желательно сдавать до указанного срока включительно.
В случае сдачи л/р после указанного срока, максимальное количество баллов за данную работу уменьшается на 1.
В случае сдачи чужой лабораторной работы, максимальное количество баллов за данную работу уменьшается на 2 и работа не принимается, пока не будет выполнена самостоятельно.

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


Ознакомление со средой разработки

Цель работы


Ознакомление со средой разработки, создание простого приложения.

Задание


Ознакомиться со средой Eclipse, создать проект, создать простое приложение (вывести календарь за текущий год).

Источники информации:


  • Лекция Sun № 3

  • Документация по Java API


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


Работа с простыми типами данных и строками.

Цель работы


Получение практических навыков по работе с простыми типами данных и строками, а также структурой программы.

Задание


  • Напишите программу, выводящую в консоль календарь на текущий год

  • Дополнительно: первый день недели должен указываться через параметр командной строки

Источники информации:


  • Лекция Sun № 4

  • Документация по Java API

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


Объектная модель в Java

Цель работы


Получение практических навыков по созданию и использованию классов на Java. Изучение возможностей среды разработки NetBeans по работе с классами.

Задание


Создать на Java иерархию классов:

  • Graph

    • Point

      • Circle

      • Rectangle

        • Ellipse

    • Background

Класс Graph должен содержать абстрактный метод draw(). Остальные классы должны его реализовывать, отображая атрибуты объектов в виде строки, например:

  • Точка: x=10, y=20

  • Прямоугольник: x=2, y=5, w=3, h=4

Класс Point и все дочерние должны содержать метод moveTo(x, y), задающий координаты объекта, а также метод move(dx, dy), изменяющий координаты на заданную величину.

Описать в дочерних классах все необходимые атрибуты, конструкторы и методы (объекты должны иметь координаты и цвет; у класса Background есть цвет и название текстуры). Обязательно применение инкапсуляции для скрытия атрибутов.

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

Источники информации


  • Лекции Sun №№ 4, 6, 8

  • Документация по Java API

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


Использование пакетов и jar-файлов.

Цель работы


Получение практических навыков по работе с пакетами и архивными файлами языка Java. Изучение соответствующих возможностей среды разработки NetBeans.

Задание


Лабораторная работа предполагает наличие файлов классов иерархии Graph, созданных в работе №3.

1. Создание пакетов

  • Создать новый проект в NetBeans с именем LabPackets

  • Создать и примонтировать папку LabPackets

  • Создать пакет ru.novsu.povt.xxx, где xxx - Ваши инициалы в нижнем регистре

  • Создать пакет ru.novsu.povt.xxx.graphics

  • Скопировать главный класс из лабораторной работы №3 в пакет ru.novsu.povt.xxx

  • Скопировать все классы иерархии Graph в пакет ru.novsu.povt.xxx.graphics

  • В главном классе подключить пакет ru.novsu.povt.xxx.graphics с помощью ключевого слова import

  • Откомпилировать и проверить работоспособность проекта.

  • Запустить главный класс с консоли, например:
    java ru.novsu.povt.xxx.MainClass

2. Создание jar-файла

  • Средствами оболочки NetBeans создать jar-файл graphclasses.jar, содержащий все классы проекта.

  • Сделать jar-файл исполняемым (прописать в манифесте атрибут "Main-Class")

  • Откомпилировать и запустить jar-файл из оболочки NetBeans. Убедиться в правильности его исполнения.

  • Запустить jar-файл с консоли, например командой
    java -jar graphclasses.jar

3. Использование созданного jar-файла в новом проекте

  • Создать новый проект в NetBeans с именем LabPackets2

  • Создать и примонтировать папку LabPackets2

  • Создать новый главный класс для данного проекта

  • Примонтировать файл graphclasses.jar к проекту

  • Создать в главном классе несколько объектов из иерархии Graph и продемонстрировать их работоспособность

  • Запустить новый главный файл с консоли. При этом необходимо указать переменную classpath, в которой описать путь к файлу graphclasses.jar и текущей папке. Например:
    java -classpath ./:../LabPackets/graphclasses.jar LabPackets2

При защите лабораторной работы должны быть представлены все файлы, полученные при выполнении заданий работы.

Источники информации


  • Лекция Sun № 5

  • Документация по Java

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


Интерфейсы, массивы, исключения.

Цель работы


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

Задание


Лабораторная работа предполагает наличие файлов классов иерархии Graph, созданных в работе №3
В ходе работы необходимо реализовать следующую иерархию классов:


1. Интерфейсы

Создайте интерфейс Movable, объявляющий следующие методы:

int getX();

int getY();

void moveTo(int x, int y);
Подключите созданный интерфейс к классу Point. Если описанные методы не были реализованы в предыдущих лабораторных работах – опишите их.
Создайте новый класс MyWindow без указания родительского класса (по умолчанию он будет унаследован от класса Object).
Подключите интерфейс Movable к классу MyWindow и реализуйте описанные методы. В данном классе метод moveTo() помимо изменения координат должен выводить сообщение об их изменении.
2. Массивы

В главном классе проекта (в методе main()) создайте массив объектов типа Movable, состоящий из 4 элементов. Каждый элемент массива является ссылкой на объект, реализующий интерфейс Movable. Создайте различные объекты для всех элементов массива (в том числе объект класса MyWindow) и задайте для них координаты.
В главном классе проекта создайте метод void swapXY(Movable object). Данный метод должен менять координаты передаваемого объекта местами, а также выводить на экран старые и новые значения координат.
Реализуйте цикл, вызывающий метод swapXY() для каждого элемента массива.
Убедитесь, что программа компилируется и исполняется.
3. Исключения

В функции swapXY() необходимо реализовать обработку ошибки в случае, если в качестве параметра передан null. Для этого в начале функции реализуйте проверку значения на null и вызов исключения NullPointerException в случае необходимости. В заголовке функции необходимо указать, что она может вызывать исключение данного типа. Например:
public static void swapXY(Movable object) throws NullPointerException

{

if (object==null)

throw new NullPointerException (“Object is not created”);

...

...

};
В блоке создания массива объектов удалите создание нового объекта для одного из элементов массива.
Убедитесь, что при выполнении программы выводится сообщение NullPointerException и выполнение программы прекращается.
Установите обработчик исключения в цикле, чтобы запретить прекращение выполнения программы. Например:
for (.....)

{

try

{

swapXY(....);

}

catch (NullPointerException ex)

{

System.out.println (“Error while swapping coordinates.”);

ex.printStackTrace();

};

};
Убедитесь, что выполнение программы не прекращается при возникновении ошибки, но при этом выводится соответствующее сообщение.

Источники информации


  • Лекции Sun №№ 8, 9, 10

  • Документация по Java API


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


Пакет java.io, файлы, сериализация.

Цель работы


Получение практических навыков по работе с потоками данных и сериализацией с использованием пакета java.io.

Задание


1. Создание текстового файла

Создать с помощью программы на Java текстовый файл sin.txt, содержащий значения синусов углов в интервале от 0 до 360 градусов с шагом 1 градус (одно значение на строку). Функция вычисления синуса: Math.sin(x)

Обязательно использование класса PrintWriter.

Создать с помощью текстового редактора файл input.txt, содержащий одну строку с числом в интервале от 0 до 360.

2. Чтение текстового файла

Создать массив чисел типа double и прочитать в него значения из файла sin.txt при помощи класса BufferedReader. Для конвертации строк в числа можно использовать класс-обертку Double:

double doubleValue = Double.parseDouble (stringValue);

Прочитать значение угла из файла input.txt и вывести на экран значение соответствующего элемента массива.

3. Сериализация

При помощи механизма сериализации сохранить созданный массив целиком в файл sin2.dat

Создать новый массив чисел типа double и при помощи механизма сериализации прочитать массив из файла sin2.dat.

Проделать те же операции, но выполняя сериализацию для каждого элемента массива.

Вывести все значения элементов созданных массивов на экран для сравнения.

Контрольные вопросы

  • Чем отличаются иерархии …Stream и …Reader-…Writer.

  • Какие классы использовались при выполнении работы?

Источники информации


  • Лекции Sun №№ 9, 15

  • Документация по Java API

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


Работа с сетью, многопоточные приложения.

Цель работы


Получение практических навыков по использованию сетевых возможностей языка Java, созданию многопоточных приложений на языке Java.

Задание


В ходе выполнения лабораторной работы необходимо создать два приложения - прокси-сервер и клиент.

1. Прокси-сервер

Прокси-сервер получает запрос по протоколу HTTP/1.0 и возвращает клиенту содержимое страницы. Поддержка протокола должна быть достаточной для того, чтобы данный прокси-сервер можно было использовать в любом браузере (минимум в Internet Explorer, без авторизации). Пример работы с прокси-сервером (на PHP) можно посмотреть здесь: http://php.novgorod.ru/manual/ru/function.fopen.php

2. Клиент

Клиент получает от пользователя адрес страницы, адрес прокси-сервера и его порт в качестве параметров командной строки. Клиент отправляет запрос прокси-серверу, получает содержимое страницы и выводит его на экран. В случае возникновения ошибки (невозможность подключиться к прокси-серверу, невозможность загрузки страницы и т.д.) отображается соответствующее сообщение.

При защите лабораторной работы клиент будет проверяться также с сервером proxy.novsu.ac.ru:8080

3. Многопоточность

Обеспечить работу прокси-сервера в многопоточном режиме, т.е. подключение к серверу более одного клиента одновременно. Продемонстрировать данную возможность.

Источники информации


  • Лекции Sun №№ 12, 16

  • Документация по Java API


Похожие:

Название Баллы icon Инструкция дапоксетин Торговое название
Торговое название: Дапоксетин. Международное (патентованное) название: Дапоксетина гидрохлорид (Dapoxetine), Priligy
Название Баллы icon 1: Гигиена воздушной среды
Название и определение. Полное название науки «Зоогигиена с основами проектирования животноводческих объектов», краткое «Зоогигиена»....
Название Баллы icon Утверждаю директор название организации
Администратор принимается на работу и увольняется с работы директором название организации
Название Баллы icon Название проекта
Название проекта: «Исследование поглощающей способности некоторых медицинских препаратов адсорбционного действия»
Название Баллы icon Название оу (полностью)
Название оу (полностью): Государственное бюджетное общеобразовательное учреждение средняя общеобразовательная школа №617 Приморского...
Название Баллы icon Название статьи
Название статьи на английском языке: «The Roman Spirit» of the Code of Napoleon
Название Баллы icon Конкурс «Лучшее еvent-агентство, сертифицированное акмр» регистрационная...
Наличие постоянных партнеров (подрядчиков, поставщиков) – название компаний, рекомендации
Название Баллы icon Название: Пропаганда гражданской обороны-важная задача
Название: Учебно-методическое пособие по подготовке руководящего командно-начальствующего состава гражданской обороны
Название Баллы icon Название образовательного учреждения
Название образовательного учреждения: маоу средняя общеобразовательная школа с. Минаевки Асиновского района Томской области
Название Баллы icon Методические указания к лабораторным работам для студентов 1-го курса фпми составители
В случае сдачи лабораторной работы после крайней даты сдачи дополнительные задания не засчитываются и соответствующие баллы за них...
Название Баллы icon Оао «Название организации» ОАО «Название организации» «Должностная...
Подразделение
Название Баллы icon Название и описание профессиональной компетенции
Название профессиональной компетенции: «Ремонт и обслуживание легковых автомобилей»
Название Баллы icon Название и описание профессиональной компетенции
Название профессиональной компетенции: «Ремонт и обслуживание легковых автомобилей»
Название Баллы icon Внутриполитические процессы) период: становление абсолютизма (к....
Все остальные события студент «на тройку» должен соотнести с периодом (название датировка), процессом (название, датировка), исторической...
Название Баллы icon Название Комплект плакатов "Умей действовать при пожаре"
А3 (297х420 мм); плакаты предназначены для создания стенда по пожарной безопасности; специальный разрезной плакат с текстом "Умей...
Название Баллы icon Комплект контрольно-оценочных средств по учебной дисциплине
Федерального государственного образовательного стандарта среднего профессионального образования по профессии нпо / специальности...

Руководство, инструкция по применению






При копировании материала укажите ссылку © 2017
контакты
rykovodstvo.ru
Поиск