Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Задавальник ФМХФ_2 курс

.pdf
Скачиваний:
32
Добавлен:
03.06.2015
Размер:
1.08 Mб
Скачать

рантности. Классы толерантности. Мощность связи между классами, обозначение мощности.

2.Элементы теории алгоритмов. Основные типы задач: 1) за-

дачи на «вычисление» или «порождение»; 2) задачи на «распознавание». Алгоритмы решения задач. Три типа уточнений алгоритма: 1) алгоритмические машины; 2) конструктор функций, вычислимых алгоритмом; 3) алгоритмические исчисления.

2.1.Алгоритмические машины. Определение «машины состояний» (SM). Логическая структура алгоритма. Граф машины состояний, цепочки действий, сценарии действий. Строка Ляпунова для SM как модель текста программы. Машина состояний над объектами. Определение Java-машины. Композиция действий и ее отображение в объекты Java-машины.

2.2.Конструктор функций, вычислимых алгоритмом. Конструк-

тор Клини. Конечный набор базовых функций и композиций функций – конечные подстановки, примитивно рекурсивные подстановки, итерации. Информационная структура алгоритма (ИСА). ИСА в виде графа подстановок с вершинами, интерпретированными переменными и функциями, которые их вычисляют. Потоки данных. Ярусно-параллельная форма ИСА (ЯПФ). Объекты как процессоры. Информационная структура взаимосвязи объектов через интерфейсы.

3.Модели взаимодействующих процессов. Процессы с есте-

ственной параллельностью. Искусственное распараллеливание алгоритма.

3.1.Модели параллельных процессов с общей памятью и памятью локализованной в объектах. Разложение ИСА по процессорам. Разложение объектов по процессорам.

3.2.Модели синхронизации параллельных процессов

1)Модель Хоара синхронизации последовательных процессов.

2)Потоковая модель синхронизации в Java.

3)Сетевые модели синхронизации. Сети Петри. Многоагентные сети.

4. Демонстрация методики объектно-ориентированного проектирования сложных задач.

4.1. Проект для задач структурного распознавания образов графических объектов.

3

4.2.Проект выделения скрытых логических закономерностей в больших объемах данных (Data mining).

4.3.Проект имитационного моделирования принятия решений при планировании боевых операций.

План семинарских занятий «Программирование на языке

Java»

1.Лексика языка Java, необходимая для первичной иллюстрации примеров программ.

2.Модель объектно-ориентированной программы (ООП), объекты и их описание. Взаимодействие между объектами. Интерфейс. Пример взаимодействия пары объектов (управляющий и управляемый объекты).

3.Классы. Объявление классов. Заголовок класса. Тело класса.

4.Объявление полей (атрибутов). Объявление методов.

5.Отношения между классами. Агрегация и ассоциация. Примеры проектирования структуры отношений для содержательных задач.

6.Отношения между классами. Наследование. Примеры проектирования отношения наследования на содержательных задачах.

7.Типы данных Java. Объекты и правила работы с ними. Класс

«Object» и класс «Class».

8.Правила именования элементов языка Java. Область видимости имен.

9.Утверждение технического задания на курсовой проект.

10.Пакеты в языке Java как аналоги библиотек. Иерархическая структура пакетов.

11.Интерфейсы. Объявление интерфейсов. Реализация интерфейса. Применение интерфейсов. Интерфейсы классов и интерфейсы методов. Инкапсуляция интерфейсов.

12.Потоки выполнения. Синхронизация. Многопоточная архитектура. Базовые классы для работы с потоками. Организация интерфейса. Синхронизация. Параллельные потоки. Хранение переменных в памяти, основное хранилище. Блокирование.

13.Пакет java.AWT для создания графического оконного интерфейса. AWT-технология создания визуального интерфейса, работа с цветом, шрифтом, отрисовка графических примитивов, применение менеджеров компоновки.

14.Консультации по выполнению курсового проекта.

4

15. Защита курсового проекта.

Контрольные вопросы и задания по базовой и вариативной части дисциплины для промежуточной аттестации по итогам освоения дисциплины.

Техническое задание на курсовой проект

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

1.Содержательное описание задачи

1)Для такого описания предлагается применение методологии «for sight» (от экрана), которая ориентирована на пользователя программного продукта и содержит последовательность экранов, сопровождающих различные сценарии решения задачи. Каждый экран делится на две части – operating board (OB) и control board

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

2)Другой способ описания – структурное описание (дерево «за- дача–подзадача») с комментариями.

2. Определение составляющих систему классов

1) Выделение объектов (процессов, процессоров).

2) Композиция объектов в классы (агрегация, ассоциация, наследование). Этот раздел должен содержать список объектов и список классов с комментариями. Графы композиции желательно изобразить на графическом языке UML.

3. Определение обязанностей классов

В понятие обязанностей классов входят неформальные описания данных и действий над данными. Объекты и классы должны быть привязаны к экранам (методология «for sight») или подзадачам структурного описания.

4. Определение взаимодействий классов между собой

Для выполнения обязанностей класс должен взаимодействовать с другими классами для получения необходимых данных и/или использовать методы другого класса. Документ содержит список сообщений между парами классов с комментариями о привязке к подзадачам.

5

5. Тестирование содержательной правильности решения задачи

Список демонстрационных тестов. Демонстрационный тест представляется последовательностью экранов, где отображаются входные, промежуточные и выходные данные задачи. Комментарии содержат описание цели тестирования.

Материально-техническое обеспечение дисциплины

Компьютерные классы для проведения лабораторных работ

Необходимое лабораторное оснащение

Компьютеры, объединенные в локальную сеть с выходом в Интернет.

Необходимое оборудование для лекций и практических занятий

Ноутбуки и проекторы.

Необходимое программное обеспечение

Системы программирования на языках С++, Java, C#.

Обеспечение самостоятельной работы

Доступ студентов в локальную сеть института и в Интернет.

Учебно-методическое и информационное обеспечение дисциплины Основная литература

1.Вязовик Н.А. Программирование на Java. – М.: Интернет университет информационных технологий, 2003.

2.Вайсфельд М. Объектно-ориентированный подход Java, .NET C++. Кудицобраз. – М.: 2005.

Дополнительная литература

1.Буч Г. и др. Язык UML. Руководство пользователя. – М.: ДМК, 2000.

2.Непейвода Н.Н. Стили и методы программирования (курс лекций).

– М.: Интернет университет информационных технологий, 2005.

Усл. печ. л. 0,5. Тираж 240 экз.

6