![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
ТЕМА: Построение графического пользовательского интерфейса с помощью библиотек 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 /Брюс Экель
|