Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






ТЕМА: Построение графического пользовательского интерфейса с помощью библиотек Java

ЛАБОРАТОРНАЯ РАБОТА№ 1.

 

Общее задание:

Во всех задачах необходимо реализовать, используя библиотеку SWING либо SWT простейшую среду для рисования графов и иллюстрации алгоритма определяемого вариантом.

Редактор графов.

Среда должна быть реализована следующим образом:

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

а) Генерация вершин и ребер в графе.

б) Установка идентификаторов вершины.

в) Установка веса дуги.

г) Удаление вершин и ребер графа.

д) Сохранение графа в бинарном файле.

е) Загрузка графа из бинарного формата.

ж) Просмотра графа с помощью полос прокрутки.

А также визуально демонстрировать шаги выполнения алгоритма определенного вариантом.

 

После реализации лабораторной необходимо:

ВАРИАНТЫ:

1. В заданном графе необходимо определить, существует ли цикл проходящий по каждому ребру графа ровно один раз.

2. Найти кратчайшее расстояние между двумя вершинами в графе.

3. Найти все возможные пути между двумя вершинами в графе не пересекающиеся по ребрам.

4. Найти все возможные пути между двумя вершинами в графе не пересекающиеся по вершинам.

5.Имеется N городов. Для каждой пары городов (I, J) можно построить дорогу, соединяющую эти два города и не заходящие в другие города. Стоимость такой дороги A(I, J). Вне городов дороги не пересекаются. Написать алгоритм для нахождения самой дешевой системы дорог, позволяющей попасть из любого города в любой другой. Результат показывать тогда и только тогда, когда дорогу, соединяющую города I и J, следует строить.

6.Вводится N- количество домов и K – количество дорог. Дома пронумерованы от 1 до N. Каждая дорога определяется тройкой чисел- двумя номерами домов –концов дороги и длиной дороги. В каждом доме живет по одному человеку. Найти точку – место встречи всех людей, от которой суммарное расстояние до всех домов будет минимальным. Если точка лежит на дороге, то указать номера домов – концов этой дороги и расстояние от первого из этих домов. Если точка совпадает с домом, то указать номер этого дома (Длины дорог - положительные целые числа).

7.Реализовать алгоритм для раскраски графа, параметр k=количество цветов задается пользователем.

8.Реализовать алгоритм для нахождения мостов в графе.

9.Реализовать алгоритм для нахождения точек сочленения в графе.

10.Реализовать алгоритм для нахождения минимального остова в графе.

11.Реализовать алгоритм для нахождения диаметра графа.

12.Реализовать алгоритм для нахождения центра графа.

13.Найти все возможные гамильтоновы циклы в графе.

14.Проверить является ли граф двудольным.

15.Реализовать операцию произведения графов.

 

Текстовый редактор

Среда должна быть реализована следующим образом:

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

а) набор некоторого фрагментов текста;

б) в редакторе должна присутствовать каретка и возможность изменения положения каретки при помощи стрелок на клавиатуре;

в) cохранение текста в файл;

г) загрузка текста из файла;

д) должны быть подержаны операция копирования, вставки фрагмента текста;

е) просмотр текста при помощи полос прокрутки;

ж) должна быть реализована функция изменения гарнитуры шрифта:

з) тип, размер, жирный, курсив;

 

Графический редактор

Среда должна быть реализована следующим образом:

Главное окно приложения должно иметь панель инструментов, панель меню, через которые пользователь может редактировать изображение в рабочей области главного окна, команды панели меню должны дублироваться на панели инструментов. Приложение должно содержать следующие функции:

а) поддержка следующих элементов управления: карандаш (позволяет закрашивать один пиксель изображения), построение линии и некоторой фигуры (четырехугольник, окружность), стерка;

б) Поддержка изменения цвета для карандаша (цвет по умолчанию черный). Изменение цвета должно затрагивать только новые строящиеся фигуры;

в) возможность копирования и вставки выделенного фрагмента изображения;

г) просмотр изображения при помощи полос прокрутки (элемент управления лупа-увеличение 2x, 4x);

д) сохранение и загрузка изображения в файл (опционально).

 

Литература:

1. Структуры данных и алгоритмы в Java/ М.Т. Гудрич, Р.Тамассия; Пер. с англ. А.М. Чернухо.- Мн. Новое знание, 2003.-671 с.: ил.

2. Библиотека профессионала. Java 2. Том 1. Основы.: пер. с англ. – М.: Издательский дом “Вильямс”, 2004.- 848 с.: ил.

Том 2. Тонкости программирования.: пер. с англ. – М.: Издательский дом “Вильямс”, 2004.- 1120 с.: ил.

3. Кормен. Алгоритмы –построение и анализ.

4. Лекции по теории графов В.А. Емеличев, О.И. Мельников, О.И. Сорванов, В.И. Тышкевич, Москва “Наука” 1990 г.

5. Философия JAVA /Брюс Экель

<== предыдущая лекция | следующая лекция ==>
Макияж губ | Тема: Правовой статус человека и гражданина.




© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.