Программирование на платформе...

29
Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования «Нижневартовский государственный университет» Факультет информационных технологий и математики «29 » марта 2017 г. Рабочая программа учебной дисциплины Программирование на платформе JAVA Вид образования: Профессиональное образование Уровень образования: Высшее образование (бакалавриат) Квалификация выпускника: Бакалавр Направление подготовки: 09.03.01 Информатика и вычислительная техника Направленность (профиль) образовательной программы: Программное обеспечение средств вычислительной техники и автоматизированных систем Тип образовательной программы: Программа академического бакалавриата Форма обучения: очная Срок освоения образовательной программы: 4 года Номер внутривузовской регистрации образовательной программы: 09.03.01(82)-17-О Нижневартовск 2017г.

Upload: others

Post on 13-Jul-2020

40 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Программирование на платформе JAVAnvsu.ru/svedenfiles/education/443/Annot_B1VDV21-Program...2017/03/29  · Графика в Java 2 лекция Дискуссия

Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное учреждение

высшего образования «Нижневартовский государственный университет»

Факультет информационных технологий и математики

«29 » марта 2017 г.

Рабочая программа учебной дисциплины

Программирование на платформе JAVA

Вид образования: Профессиональное образование

Уровень образования: Высшее образование (бакалавриат)

Квалификация выпускника: Бакалавр

Направление подготовки: 09.03.01 Информатика и вычислительная техника

Направленность (профиль)

образовательной программы:

Программное обеспечение средств вычислительной

техники и автоматизированных систем

Тип образовательной программы: Программа академического бакалавриата

Форма обучения: очная

Срок освоения образовательной

программы:

4 года

Номер внутривузовской регистрации

образовательной программы:

09.03.01(82)-17-О

Нижневартовск

2017г.

Page 2: Программирование на платформе JAVAnvsu.ru/svedenfiles/education/443/Annot_B1VDV21-Program...2017/03/29  · Графика в Java 2 лекция Дискуссия

1. Цели освоения дисциплины

Основной целью дисциплины является обучение технологии программирования на

языке Java, освоение основных методов и приемов технологии программирования на

языке Java.

Задачи дисциплины:

� изучение основных понятий и определений дисциплины;

� ознакомление с основами работы в IDE Eclipse;

� изучение подходов к созданию Java-программ с GUI;

� изучение способов работы с БД в Java.

2. Место дисциплины в структуре ООП бакалавриата

Дисциплина «Программирование на платформе Java» представляет собой

выборную дисциплину. Дисциплина базируется на таких предметах, как «Информатика и

информационные технологии», «Математическая логика и теория алгоритмов»,

«Дискретная математика», «Программирование», «Структуры и алгоритмы обработки

данных», «Программирование на С++». Продолжением дисциплины являются курсы

«Программирование для ОС Android», «Многопоточное программирование на JavaFX»,

«Серверное программирование на платформе Java».

3. Компетенции обучающегося, формируемые в результате освоения дисциплины

Процесс изучения дисциплины направлен на формирование у обучающихся

бакалавров следующих компетенций:

ОПК-2 осваивать методики использования программных средств для решения

практических задач;

ПК-2 способность разрабатывать компоненты аппаратно-программных комплексов и баз

данных, используя современные инструментальные средства и технологии

программирования;

В результате освоения дисциплины обучающийся должен:

• Знать:

− язык программирования Java и технологии программирования на нем (ОПК-2);

− основные методы и средства программирования на языке Java (ПК-2).

• Уметь:

− использовать технологии программирования на языке Java для решения практических

задач (ОПК-2);

− записывать алгоритм решения задачи на языке программирования Java (ОПК-2).

• Владеть:

− набором знаний и установленных правил для создания программ на языке Java (ОПК-

2);

− одной из сред программирования на языке Java (ПК-2);

− навыками написания программ на языке программирования Java (ОПК-2);

− способами решения задач с использованием языка программирования Java (ОПК-2).

4. Структура и содержание дисциплины

4.1. Объем дисциплины и виды учебной работы:

Общая трудоемкость дисциплины составляет 3 зачетные единицы 108 часов.

Вид учебной деятельности Всего часов

Семестры

5

Page 3: Программирование на платформе JAVAnvsu.ru/svedenfiles/education/443/Annot_B1VDV21-Program...2017/03/29  · Графика в Java 2 лекция Дискуссия

Аудиторные занятия (всего) 30 30

В том числе:

Лекции 12 12

Практические занятия (ПЗ)

Лабораторные работы (ЛР) 18 18

Самостоятельная работа (всего) 78 78

Вид аттестации

зачет

Общая трудоемкость (часы)

108 108

Зачетные единицы 3 3

Разделы дисциплины и виды учебной работы

п/

п

Раздел

Дисциплины Сем

естр

Нед

еля

сем

естр

а

Виды учебной

работы, включая

самостоятельную

работу студентов и

трудоемкость (в

часах)

Формы текущего

контроля

успеваемости (по

неделям семестра)

Форма

промежуточной

аттестации (по

семестрам)

лек

ци

и

ла

бо

ра

то

рн

ые

срс

1 Введение в программирование на

языке Java. 5 2-5 1 2 10 Конспект лекции.

2 Типы данных. 5 6-8 1 2 12

Конспект лекции, защита лабораторной работы.

Письменное домашнее

задание (вопросы для самостоятельного изучения)

3 Работа с классами в языке Java. 5 9-11 2 2 12 Конспект лекции.

4

Организация хранения данных во

внешней памяти. 5 12-14 2 2 12

Конспект лекции, защита

лабораторной работы.

Письменное домашнее задание (вопросы для

самостоятельного изучения)

5

Создание графических

пользовательских интерфейсов на

языке Java.

5 15 2 2 12 Конспект лекции.

6 Работа с графикой в Java. 5 16 2 2 10 Собеседование

7 Работа с БД в Java. 5 17 2 2 10 Собеседование

Итого 12 18 78 зачет

Основное содержание

1. Введение в программирование на языке Java.

Цели и задачи курса. Литература. Виртуальная машина Java. Среда разработки.

Особенности объектно-ориентированного программирования на Java. Документация по

классам Java.

2. Типы данных.

Типы данных языка Java. Вычисление выражений. Приведение встроенных типов.

Управляющие конструкции. Определение массива. Три этапа создания массива.

Конструктор массива. Объектная природа массивов. Многомерные массивы.

3. Работа с классами в языке Java.

Заголовок класса. Описание переменных (полей. Описание методов. Конструкторы.

Блоки инициализации. Области видимости переменных. Наследование. Наследование как

иерархия объектов. Иерархическое приведение производных типов. Уровень доступности

элементов и наследование. Создание собственных классов.

Page 4: Программирование на платформе JAVAnvsu.ru/svedenfiles/education/443/Annot_B1VDV21-Program...2017/03/29  · Графика в Java 2 лекция Дискуссия

4. Организация хранения данных во внешней памяти.

Работа с файлами. Каталоги. Класс InputStream. Класс OutputStream. Файловый

поток FilelnputStream. Файловый поток FileOutputStream.

5. Создание графических пользовательских интерфейсов на языке Java.

Пакеты для работы с GUI. Классы пакета Swing. Менеджеры компоновки

(BorderLayout, FlowLayout, BoxLayout, CardLayout, GridLayout). Класс JFrame. Класс

JLabel. Класс JButton. Класс JCheckbox. Класс JCheckboxGroup. Класс JList. Класс

JScrollbar. Класс JTextField. Класс JTextArea. Стратегии размещения компонентов.

Программирование окон. Программирование меню. Модель обработки событий от

компонентов (различные способы создания слушателей).

6. Работа с графикой в Java.

Классы Graphics и Graphics2d. Методы paint и paintComponent. Способы

организации работы с графикой в Java. Работа с форматом SVG.

5. Образовательные технологии

В соответствии с требованиями ФГОС ВО в программе данного курса предусмотрено

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

и организации самостоятельной работы.

Активные и интерактивные формы учебной работы

п/п

Тема Кол-во

часов

Вид учебной

работы

Активные и

интерактивные

формы

1. Графика в Java 2 лекция Дискуссия

2. Принцип Model-View-Controller 4 лекция Проблемная лекция

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

2 лаб. раб.

Поисковая

лабораторная работа

студента

4. Работа с БД в Java 5 СРС самостоятельная

работа с литературой

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

средства для текущего контроля успеваемости, промежуточной аттестации по

итогам освоения дисциплины

6.1. Организация самостоятельной работы студентов

При изучении дисциплины большая роль отводится самостоятельной работе

студентов в соответствии с предусмотренным учебным планом распределением времени.

Самостоятельная работа включает:

- дополнительную работу с материалами, изученными на лекциях и практических

занятиях;

- самостоятельное изучение части теоретического материала, которое, как правило, не

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

преподавателя;

- подготовку к практическим занятиям.

Контроль самостоятельной работы студентов:

Критерий Максимальное

кол-во баллов

Материал соответствует выбранной теме, оформлен без

ошибок, конспект составлен в полном объеме, все

5

Page 5: Программирование на платформе JAVAnvsu.ru/svedenfiles/education/443/Annot_B1VDV21-Program...2017/03/29  · Графика в Java 2 лекция Дискуссия

вопросы освещены.

Конспект проверяется преподавателем. В случае, когда студент оформляет

конспект в электронном или печатном виде, требуется защита + ответы на вопросы

преподавателя, если конспект выполнен письменно - защиты не требует.

6.2. Текущая и итоговая аттестация

Весь предусмотренный настоящей программой учебный материал, в том числе и

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

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

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

студентами курса «Программирование».

Текущая аттестация осуществляется с использованием накопительного рейтингового

оценивания.

Итоговая аттестация студентов предполагает зачет, допуском к которому

является представления и защита студентами лабораторных работ, создаваемых в ходе

освоения дисциплины.

Лабораторные работы

Лабораторная работа №1. Введение в программирование на языке Java.

Лабораторная работа №2. ООП в Java.

Лабораторная работа №3. Документирование кода на языке Java с использованием

утилиты javadoc.

Лабораторная работа №4. Создание программ с графическим интерфейсом пользователя

на языке Java. Классы пакета Swing.

Лабораторная работа №5. Модель обработки событий в Java.

Лабораторная работа №6. Создание меню, графика в языке Java.

Лабораторная работа №7. Работа с файлами, JList, JScrollPane, HashMap. Создание

запускного jar-файла.

Лабораторная работа №8. Работа с БД

Перечень примерных вопросов к зачету

1. Области применения Java-технологий.

2. Язык программирования Java.

3. Простые типы данных.

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

5. Основные условные операторы языка Java.

6. Основные операторы цикла языка Java.

7. Массивы данных.

8. Консольные Java-приложения. Особенности создания консольных Java-приложений в

среде Eclipse.

9. Основные принципы объектно-ориентированного программирования. Классы и

объекты.

10. Модификаторы классов, полей и методов.

11. Свойство полиморфизма методов.

12. Средства для автодокументирования кода. Спецкомментарии.

13. Работа с текстовыми файлами.

14. Пакеты Java для создания приложений с графическим интерфейсом.

15. Модель обработки событий от компонентов в Java.

16. Принципы работы с графикой в Java.

17. Реализация многопоточности средствами Java.

18. Реализация сетевого программирования средствами Java.

Page 6: Программирование на платформе JAVAnvsu.ru/svedenfiles/education/443/Annot_B1VDV21-Program...2017/03/29  · Графика в Java 2 лекция Дискуссия

7. Учебно-методическое и информационное обеспечение дисциплины

7.1. Основная и дополнительная литература Р

асп

ред

елен

ие

уч

ебн

ых

изд

ан

ий

**

(вклю

чая

уч

ебн

ики

и

уч

ебн

ые

по

соб

ия):

О -

Осн

овн

ое

/

Д -

До

по

лн

ите

льн

ое

( О

/ Д

)

Автор, название, издательство, год издания

учебной и учебно-методической литературы

Го

д и

зда

ни

я

Фо

рм

а и

зда

ни

я:

печ

атн

ое

/

элек

тр

он

но

е

Места

хранения

(печатные

издания) /

Ссылка на

ресурс

(электронные

издания)

1 2 3 4 5

о

Баженова И. Ю. Язык программирования

Java. - М: Диалог-МИФИ, 2008

2008 электр.

http://biblioclu

b.ru/index.php

?page=book_v

iew&book_id=

54745

о

Жикун Чен. Технология Java Card ™ для смарт-

карт. Архитектура и руковоlство программиста.

Москва: Техносфера, 2008. - 344с.

2008 электр.

http://biblioclu

b.ru/index.php

?page=book_v

iew&book_id=

89379

д Кулямин В. В. Технологии программирования.

Компонентный подход 2007 электр.

http://biblioclub

.ru/index.php?p

age=book&id=

233311&sr=1

7.2. Программное обеспечение, профессиональные базы данных и информационные

справочные системы

Программное обеспечение дисциплины подлежит ежегодному обновлению (сведения

указаны в Приложении 10 к основной профессиональной образовательной программе – СПРАВКА

«Программное обеспечение образовательного процесса»).

Профессиональные базы данных и информационные справочные системы (подлежит

ежегодному обновлению):

Наименование профессиональных баз данных и

информационных справочных систем Ссылка

Справочно-поисковая система Консультант Плюс

В сети интернет:

http://www.consultant.ru/

В сети НВГУ:

Page 7: Программирование на платформе JAVAnvsu.ru/svedenfiles/education/443/Annot_B1VDV21-Program...2017/03/29  · Графика в Java 2 лекция Дискуссия

\\vcrs.nvsuedu.ru\consultant\cons.exe

Публикации НВГУ lib.nvsuedu.ru

Система электронной поддержки учебных курсов

на базе программного обеспечения Moodle

В сети НВГУ:

http://sdo.nvsu.ru

Научная электронная библиотека http://www.elibrary.ru

Научная электронная библиотека РФФИ http://www.rfbr.ru/rffi/ru/library

Электронная библиотека www.bibliotekar.ru

Российское образование: Федеральный

образовательный портал www.edu.ru

Образовательный информационный портал

ХМАО-Югры www.eduhmao.ru

Мир словарей – Коллекция словарей и

энциклопедий www.mirslovarei.com

Российский общеобразовательный портал www.school.edu.ru

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

Материально-техническое обеспечение дисциплины указано в Приложении 9 к основной

профессиональной образовательной программе – СПРАВКА «Обеспечение образовательного

процесса оборудованными учебными кабинетами, объектами для проведения практических

занятий, объектами физической культуры и спорта».

Рабочая программа составлена на основании федерального государственного

образовательного стандарта высшего образования направления 09.03.01 Информатика и

вычислительная техника, утвержденного приказом Министерства образования и науки

Российской Федерации № 5 от «12» января 2016 г.

Составитель рабочей программы:

Слива Максим Владимирович, к.п.н., доцент кафедры ИиМПИ НВГУ

Рабочая программа одобрена на заседании кафедры ИМПИ

Протокол № 4 от «09» марта 2017 г.

Заведующий кафедрой ИМПИ _________________ /Казиахмедов Т.Б/

Page 8: Программирование на платформе JAVAnvsu.ru/svedenfiles/education/443/Annot_B1VDV21-Program...2017/03/29  · Графика в Java 2 лекция Дискуссия

Дополнения и изменения

в рабочей программе дисциплины на 20__/20__ учебный год

В рабочую программу вносятся следующие изменения:

1) …………………………………..;

2) …………………………………...

Рабочая программа пересмотрена на заседании кафедры ____________________

Протокол № ____ от «____» _____________ 20___ г.

Заведующий кафедрой _________________ /_______________/

(подпись) (Ф.И.О.)

Page 9: Программирование на платформе JAVAnvsu.ru/svedenfiles/education/443/Annot_B1VDV21-Program...2017/03/29  · Графика в Java 2 лекция Дискуссия

Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное учреждение

высшего образования

«Нижневартовский государственный университет»

Кафедра Информатики и методики преподавания информатики

Фонд оценочных средств дисциплины

Программирование на платформе JAVA

3 курс, 5 семестр

Вид образования: Профессиональное образование

Уровень образования: Высшее образование (бакалавриат)

Квалификация выпускника: Бакалавр

Направление подготовки: 09.03.01 Информатика и вычислительная

техника

Направленность (профиль)

образовательной программы:

Программное обеспечение средств

вычислительной техники и автоматизированных

систем

Тип образовательной

программы:

Программа академического бакалавриата

Форма обучения: очная

Срок освоения образовательной

программы:

4 года

Нижневартовск

2017 г.

Page 10: Программирование на платформе JAVAnvsu.ru/svedenfiles/education/443/Annot_B1VDV21-Program...2017/03/29  · Графика в Java 2 лекция Дискуссия

Технологическая карта дисциплины «Программирование на платформе JAVA»

Сроки Компетенции

(компоненты)

Наименование оценочного средства с

указанием темы/ раздела

Количество баллов

Минимальное

(пороговое) Максимальное

Текущая аттестация

сентябрь

(4 неделя) ОПК-2 ПК-2

Лаб.раб. №1

«Введение в программирование на

языке Java»

4 7

октябрь

(2 неделя) ОПК-2 ПК-2

Лаб.раб. №2

«ООП в Java» 4 7

октябрь

(4 неделя) ОПК-2 ПК-2

Лаб.раб. №3

«Документирование кода на языке

Java с использованием утилиты

javadoc»

4 7

ноябрь

(2 неделя) ОПК-2 ПК-2

Лаб.раб. №4

«Создание программ с графическим

интерфейсом пользователя на языке

Java. Классы пакета Swing»

4 7

ноябрь

(4 неделя) ОПК-2 ПК-2

Лаб.раб. №5

«Модель обработки событий в Java» 4 7

декабрь

(2 неделя) ОПК-2 ПК-2

Лаб.раб. №6

«Создание меню, графика в языке

Java»

4 7

декабрь

(3 неделя) ОПК-2 ПК-2

Лаб.раб. №7

«Работа с файлами, JList, JScrollPane,

HashMap. Создание запускного jar-

файла»

4 7

декабрь

(4 неделя) ОПК-2 ПК-2

Лаб.раб. №8

«Работа с БД» 4 7

Итоговая аттестация

декабрь ОПК-2 ПК-2 зачет 28 44

ИТОГО баллов 60 100

Page 11: Программирование на платформе JAVAnvsu.ru/svedenfiles/education/443/Annot_B1VDV21-Program...2017/03/29  · Графика в Java 2 лекция Дискуссия

Федеральное государственное бюджетное образовательное учреждение

высшего образования

«Нижневартовский государственный университет»

Кафедра Информатики и методики преподавания информатики

Оценочные средства лабораторных работ по дисциплине Программирование на платформе JAVA

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

Лабораторная работа выполняется на персональном компьютере в учебной

аудитории. После выполнения работы студент индивидуально защищает

результаты лабораторной. Защита работы проводится в форме собеседования.

Приведенные оценочные средства используются для оценивания результатов

лабораторных работ во время индивидуального собеседования.

2. Содержание оценочного средства:

Лабораторная работа №1. Введение в программирование на языке Java. Задачи:

I. Одномерные массивы.

1. Дан массив. Удалить из него нули и после каждого числа, оканчивающего на 5, вставить 1.

2. Случайным образом генерируется массив чисел. Пользователь вводит числа a и b. Заменить

элемент массива на сумму его соседей, если элемент массива четный и номер его лежит в

промежутке от a до b.

3. В одномерном массиве удалить промежуток элементов от максимального до минимального.

4. Дан одномерный массив. Переставить элементы массива задом-наперед.

5. Сформировать одномерный массив случайным образом. Определить количество четных элементов

массива, стоящих на четных местах.

6. Задается массив. Определить порядковые номера элементов массива, значения которых содержат

последнюю цифру первого элемента массива 2 раза (т.е. в массиве должны быть не только

однозначные числа).

7. Сформировать одномерный массив из целых чисел. Вывести на экран индексы тех элементов,

которые кратны трем и пяти.

8. Задается массив. Написать программу, которая вычисляет, сколько раз введенная с клавиатуры

цифра встречается в массиве.

9. Задается массив. Узнать, какие элементы встречаются в массиве больше одного раза.

10. Даны целые числа а1, а2,..., аn. Вывести на печать только те числа, для которых аi ≥ i.

11. Дан целочисленный массив с количеством элементов n. Напечатать те его элементы, индексы

которых являются степенями двойки.

12. Задана последовательность из N чисел. Определить, сколько среди них чисел меньших К, равных К

и больших К.

13. Задан массив действительных чисел. Определить, сколько раз меняется знак в данной

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

14. Задана последовательность N чисел. Вычислить сумму чисел, порядковые номера которых являются

простыми числами.

15. Дан массив чисел. Указать те его элементы, которые принадлежат отрезку [с, d].

16. Массив состоит из нулей и единиц. Поставить в начало массива нули, а затем единицы.

17. Дан массив целые положительных чисел. Найти среди них те, которые являются квадратами

некоторого числа х.

18. В массиве целых чисел найти наиболее часто встречающееся число. Если таких чисел несколько, то

определить наименьшее из них.

19. Дан целочисленный массив с количеством элементов n. Сжать массив, выбросив из него каждый

второй элемент.

20. Дан массив, состоящий из n натуральных чисел. Образовать новый массив, элементами которого

будут элементы исходного, оканчивающиеся на цифру k.

21. Даны действительное число х и массив A[n]. В массиве найти два члена, среднее арифметическое

которых ближе всего к х.

22. Даны два массива А и В. Найти, сколько элементов массива А совпадает с элементами массива В.

Page 12: Программирование на платформе JAVAnvsu.ru/svedenfiles/education/443/Annot_B1VDV21-Program...2017/03/29  · Графика в Java 2 лекция Дискуссия

II. Двумерные массивы.

1. Написать программу, генерирующую магические квадраты заданного пользователем размера.

2. Дан двумерный числовой массив. Значения элементов главной диагонали возвести в квадрат.

3. Дан двумерный массив. Поменять местами значения элементов столбца и строки на месте стыка

минимального значения массива (или первого из минимальных). Например, если индекс

минимального элемента (3;1), т.е. он находится на пересечении 3 строки и 1 столбца, то 3 строку

сделать 1 столбцом, а 1 столбец сделать 3 строкой.

4. Дан двумерный массив. Сформировать одномерный массив только из четных элементов

двумерного массива.

5. Дан двумерный массив. Найти сумму элементов массива, начиная с элемента, индексы которого

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

6. Дан двумерный массив. Сформировать одномерный массив только из элементов двумерного

массива с четной суммой индексов.

7. Дан двумерный массив. Сделать из него 2 одномерных: в одном – четные элементы двумерного

массива, в другом – нечетные.

8. Вычислить сумму и число положительных элементов матрицы A[N, N], находящихся над главной

диагональю.

9. В квадратной матрице определить максимальный и минимальные элементы. Если таких элементов

несколько, то максимальный определяется по наибольшей сумме своих индексов, минимальный –

по наименьшей.

10. Для заданной квадратной матрицы сформировать одномерный массив из ее диагональных

элементов.

11. Заданы матрица порядка n и число k. Вычесть из элементов k-й строки диагональный элемент,

расположенный в этой строке.

12. Заданы матрица порядка n и число k. Вычесть из элементов k-го столбца диагональный элемент,

расположенный в этом столбце.

13. Дана прямоугольная матрица. Найти строку с наибольшей и наименьшей суммой элементов.

Вывести на печать найденные строки и суммы их элементов.

14. Дана прямоугольная матрица. Найти столбец с наибольшей и наименьшей суммой элементов.

Вывести на печать найденные столбцы и суммы их элементов.

15. Дан двумерный массив. Выяснить, в каких строках сумма элементов меньше введенного

пользователем значения.

16. Дан двумерный массив. Выяснить, в каких столбцах произведение элементов меньше введенного

пользователем значения.

17. Дан двумерный массив. Выяснить, есть ли столбец и строка с одинаковой суммой элементов. Если

есть, напечатать их номера.

18. Дан двумерный массив. Выяснить, есть ли столбец и строка с одинаковым произведением

элементов. Если есть, напечатать их номера.

19. Дан двумерный массив. Выяснить, есть ли строки с одинаковой суммой элементов. Если есть,

вывести их номера.

20. Дан двумерный массив. Выяснить, есть ли столбцы с одинаковой суммой элементов. Если есть,

вывести их номера.

21. Дан двумерный массив. Определить максимальный среди положительных элементов,

минимальный среди отрицательных элементов и поменять их местами.

22. Дан двумерный массив. Заменить первый нуль в каждом столбце на количество нулей в этом

столбце.

23. Дан двумерный массив. Заменить первый нуль в каждой строке на количество нулей в этой строке.

Лабораторная работа №2. ООП в Java. Задачи:

I. Обязательная задача для всех:

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

номером.

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

работы):

1. Базовый класс – учащийся. Производные – школьник и студент. Создать класс Конференция,

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

конференции отдельно по школьникам и по студентам (использовать оператор instanceof).

Page 13: Программирование на платформе JAVAnvsu.ru/svedenfiles/education/443/Annot_B1VDV21-Program...2017/03/29  · Графика в Java 2 лекция Дискуссия

2. Базовый класс – работник. Производные – работник на почасовой оплате и на окладе. Создать класс

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

работников отдельно на почасовой оплате и на окладе (использовать оператор instanceof).

3. Базовый класс – компьютер. Производные – ноутбук и смартфон. Создать класс РемонтСервис,

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

ремонтируемых ноутбуков и смартфонов (использовать оператор instanceof).

4. Базовый класс – печатные издания. Производные – книги и журналы. Создать класс

КнижныйМагазин, который может содержать оба вида объектов. Предусмотреть метод подсчета

отдельно книг и журналов (использовать оператор instanceof).

5. Базовый класс – помещения. Производные – квартира и офис. Создать класс Дом, который может

содержать оба вида объектов. Предусмотреть метод подсчета отдельно квартир и офисов

(использовать оператор instanceof).

6. Базовый класс – файл. Производные – звуковой файл и видео-файл. Создать класс Каталог, который

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

файлов (использовать оператор instanceof).

7. Базовый класс – летательный аппарат. Производные – самолет и вертолет. Создать класс

Авиакомпания, который может содержать оба вида объектов. Предусмотреть метод подсчета

отдельно самолетов и вертолетов (использовать оператор instanceof).

8. Базовый класс – соревнование. Производные – командные соревнования и личные. Создать класс

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

командных соревнований и личных (использовать оператор instanceof).

9. Базовый класс – мебель. Производные – диван и шкаф. Создать класс Комната, который может

содержать оба вида объектов. Предусмотреть метод подсчета отдельно диванов и шкафов

(использовать оператор instanceof).

10. Базовый класс – оружие. Производные – огнестрельное и холодное. Создать класс

ОружейнаяПалата, который может содержать оба вида объектов. Предусмотреть метод подсчета

отдельно огнестрельного и холодного оружия (использовать оператор instanceof).

11. Базовый класс – оргтехника. Производные – принтер и сканер. Создать класс Офис, который может

содержать оба вида объектов. Предусмотреть метод подсчета отдельно принтеров и сканеров

(использовать оператор instanceof).

12. Базовый класс – СМИ. Производные – телеканал и газета. Создать класс Холдинг, который может

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

(использовать оператор instanceof).

Лабораторная работа №3. Документирование кода на языке Java с использованием

утилиты javadoc Задание:

Сделать документацию по всем созданным в лаб. раб. №2 классам.

Лабораторная работа №4. Создание программ с графическим интерфейсом пользователя

на языке Java. Классы пакета Swing Задачи:

I. Обязательная задача для всех:

Выписать все классы и методы, использованные в примере, и их описание из справки, и еще

несколько полезных методов для каждого класса.

II. Индивидуальные задания (номер берется из списка по журналу). Создать интерфейс по

изображению (использовать разные виды компоновок, если одинаковых объектов больше 3,

то использовать массив объектов):

1.

JSlider

Page 14: Программирование на платформе JAVAnvsu.ru/svedenfiles/education/443/Annot_B1VDV21-Program...2017/03/29  · Графика в Java 2 лекция Дискуссия

2.

3.

4.

JSlider

Page 15: Программирование на платформе JAVAnvsu.ru/svedenfiles/education/443/Annot_B1VDV21-Program...2017/03/29  · Графика в Java 2 лекция Дискуссия

5.

6.

Лабораторная работа №5. Модель обработки событий в Java Задачи:

I. Обязательная задача для всех:

Найти описание следующих классов-слушателей и выписать основное:

ChangeListener, MouseWheelListener.

II. Индивидуальное задание. К созданному интерфейсу из лаб. раб. №4 добавить функциональность –

как минимум 3 различных слушателя (например, при нажатии кнопки выводить текст в текстовое

поле, при наведении курсора мыши выводить соответствующее сообщение, при изменении

ползунка типа JSlider выводить его значение, при нажатии клавиши Enter после набора текста

перемещать его куда-нибудь и т.д.). У студентов с одним вариантом интерфейса не должны быть

одинаковые слушатели!

Page 16: Программирование на платформе JAVAnvsu.ru/svedenfiles/education/443/Annot_B1VDV21-Program...2017/03/29  · Графика в Java 2 лекция Дискуссия

Лабораторная работа №6. Создание меню, графика в языке Java I. Обязательная задача для всех:

Переделать пример с рисованием фигур так, чтобы фигуры рисовались выбором

соответствующего пункта меню. II. Индивидуальное задание.

Нарисовать свою фамилию линиями разной толщины, цвета и стиля (и вообще –

проявить фантазию).

Лабораторная работа №7. Работа с файлами, JList, JScrollPane, HashMap. Создание

запускного jar-файла I. Обязательная задача для всех:

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

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

использовать HashMap, запись в файл и чтение из файла. II. Создать запускные jar-файлы из всех своих лабораторных, начиная с 4-ой.

Лабораторная работа №8. Работа с БД

Задание

Аналогично рассмотренному способу визуализировать таблицы БД lecturer,

exam_marks, subject, university, subj_lect. Часть сделать встроенными в главное окно,

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

данные, а не id (внешние ключи).

Page 17: Программирование на платформе JAVAnvsu.ru/svedenfiles/education/443/Annot_B1VDV21-Program...2017/03/29  · Графика в Java 2 лекция Дискуссия

Федеральное государственное бюджетное образовательное учреждение

высшего образования

«Нижневартовский государственный университет»

Кафедра Информатики и методики преподавания информатики

Темы индивидуальных контрольных работ по дисциплине Программирование на платформе JAVA

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

Контрольная работа выполняется студентом самостоятельно в конце семестра.

Приведенная в данном оценочном средстве тематика работ носит

рекомендательный характер и может быть расширена по предложению

студента.

2. Содержание оценочного средства:

Контрольные работы по вариантам:

Сделать программу для работы с указанной БД (по вариантам ниже). Создайте главную

форму с пунктами меню, соответствующими таблицам. По щелчку на соответствующем

пункте должна выводиться таблица. Должно быть добавление записей, удаление записей,

редактирование записей. Добавьте пункт меню с запросами (придумать самостоятельно).

вар. Задание

1. «Отдел уголовного розыска»

Система предназначена для ведения базы данных преступников, совершенных ими

преступлений и получения

совокупности справок.

Таблицы:

Справочник видов преступлений

код (ключевое поле);

наименование.

Справочник сроков:

код (ключевое поле);

длительность срока в заданных единицах;

единица срока (1- день; 2- неделя; 3- месяц; 4 - год).

Таблица сведений о преступниках (Преступники):

код (ключевое поле);

фамилия;

имя;

отчество;

дата рождения;

место рождения;

место жительства;

Таблица совершенных преступлений (Преступления):

код преступника(ключевое поле);

дата задержания (ключевое поле);

код вида преступления (из справочника видов);

дата судебного заседания;

код срока наказания (из справочника сроков);

место отбывания наказания;

дата освобождения.

2. «Звезды»

Система предназначена для ведения базы данных о звездах музыки, выпущенных ими дисках

и получения

совокупности справок.

Page 18: Программирование на платформе JAVAnvsu.ru/svedenfiles/education/443/Annot_B1VDV21-Program...2017/03/29  · Графика в Java 2 лекция Дискуссия

Таблицы:

Справочник музыкальных направлений

код (ключевое поле);

наименование.

Таблица сведений о звездах:

код (ключевое поле)

фамилия;

имя;

город проживания;

наличие фан-клуба;

знак зодиака;

кол-во проведенных концертов.

Таблица компакт-дисков:

код исполнителя (ключевое поле);

название компакт-диска (ключевое поле);

код музыкального направления;

дата выпуска;

кол-во дисков;

наивысшая позиция в хит-параде;

сколько времени занимал наивысшую позицию в хит-параде (в мес.).

3. «Прокат автомобилей»

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

совокупности

справок.

Таблицы:

Справочник марок автомобилей

код марки (ключевое поле);

наименование марки.

Таблица автомобилей

код автомобиля (ключевое поле);

код марки;

номер двигателя;

номер кузова;

год выпуска;

срок эксплуатации (в годах);

кол-во ремонтов.

Таблица учета проката автомобилей

код автомобиля(ключевое поле);

фамилия взявшего в прокат (ключевое поле);

дата выдачи (ключевое поле);

дата возврата;

признак наличия (д/н);

состояние автомобиля после возврата (хорошее, удовлетворительное, плохое );

стоимость проката (в день).

4. «Продажа газет и журналов»

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

получения

совокупности справок.

Таблицы:

Справочник фирм - оптовых распространителей

код (ключевое поле);

наименование фирмы.

Таблица изданий

код (ключевое поле);

вид издания (газета или журнал);

название;

тираж (кол-во экземпляров);

Page 19: Программирование на платформе JAVAnvsu.ru/svedenfiles/education/443/Annot_B1VDV21-Program...2017/03/29  · Графика в Java 2 лекция Дискуссия

регулярность (кол-во выпусков в год);

место издания (город);

отпускная цена.

Таблица учета продажи изданий

код издания (ключевое поле);

дата продажи (ключевое поле);

код фирмы-распространителя;

кол-во экземпляров;

стоимость одного экземпляра.

5. «Аукцион драгоценностей» Система предназначена для ведения базы данных для аукциона и получения совокупности справок.

Таблицы:

Справочник видов предметов продажи

• код (ключевое поле);

• наименование.

Таблица предметов

• код предмета (ключевое поле);

• название предмета;

• код вида предмета продажи;

• год выпуска (создания);

• владелец;

• дата приема;

• оценочная стоимость;

• дополнительные сведения (описание).

Таблица продаж на торге

• код предмета (ключевое поле);

• дата торга (ключевое поле);

• начальная цена;

• последняя цена;

• признак продажи (да или нет);

• фамилия покупателя.

6. «Пункт обмена валюты» Система предназначена для ведения базы данных в пункте обмена валюты и получения совокупности

справок.

Таблицы:

Справочник валют

• код (ключевое поле);

• наименование.

Таблица валют

• код валюты(ключевое поле);

• дата (ключевое поле);

• установленный курс покупки;

• установленный курс продажи;

Таблица учета обмена

• код валюты (ключевое поле);

• дата обмена (ключевое поле);

• фамилия клиента (ключевое поле);

• вид операции (покупка или продажа);

• сумма обмена в единицах валюты;

• сумма обмена в рублях.

7. «Автозаправочная станция» Система предназначена для ведения базы данных на автозаправочной станции и получения

совокупности справок.

Таблицы:

Справочник поставщиков

• код (ключевое поле);

• название.

Таблица видов топлива

• код (ключевое поле);

Page 20: Программирование на платформе JAVAnvsu.ru/svedenfiles/education/443/Annot_B1VDV21-Program...2017/03/29  · Графика в Java 2 лекция Дискуссия

• название;

• установленная цена;

• поставщик.

Таблица учета остатков

• код топлива (ключевое поле);

• дата (ключевое поле);

• объем на начало дня (л);

• объем продажи (л).

8. «Книжный магазин» Система предназначена для ведения базы данных в книжном магазине и получения совокупности

справок.

Таблицы:

Справочник издательств

• код (ключевое поле);

• наименование издательства.

Справочник авторов

• код (ключевое поле);

• ФИО.

Таблица книг

• код (ключевое поле);

• жанр;

• автор;

• название;

• тираж (кол-во экземпляров);

• кол-во страниц;

• издательство;

• отпускная цена.

Таблица учета продажи книг

• код книги (ключевое поле);

• дата продажи (ключевое поле);

• код издательства;

• кол-во экземпляров;

• стоимость одного экземпляра.

9. «Аптека» Система предназначена для ведения базы данных в аптеке и получения совокупности справок.

Таблицы:

Справочник фармацевтических фирм-производителей

• код (ключевое поле);

• наименование фирмы.

Таблица лекарств

• код (ключевое поле);

• вид;

• производитель;

• основной компонент;

• название;

• кол-во;

• отпускная цена.

Таблица учета продажи лекарств

• код лекарства (ключевое поле);

• дата продажи (ключевое поле);

• код производителя;

• кол-во экземпляров;

• стоимость одного экземпляра.

10. «Авиакасса» Система предназначена для ведения базы данных в авиакассе и получения совокупности справок.

Таблицы:

Справочник авиакомпаний

• код (ключевое поле);

• наименование компании.

Справочник городов

Page 21: Программирование на платформе JAVAnvsu.ru/svedenfiles/education/443/Annot_B1VDV21-Program...2017/03/29  · Графика в Java 2 лекция Дискуссия

• код (ключевое поле);

• город.

Таблица билетов

• код (ключевое поле);

• номер рейса;

• авиакомпания;

• место в самолете;

• дата вылета;

• город отправления;

• город прибытия;

• цена.

Таблица учета продажи билетов

• код билета (ключевое поле);

• дата продажи (ключевое поле);

• ФИО покупателя;

• паспортные данные;

• стоимость билета.

11. «Больница» Система предназначена для ведения базы данных больницы и получения совокупности справок.

Таблицы:

Справочник врачей

• код (ключевое поле);

• ФИО врача

• специализация врача.

Справочник болезней

• код (ключевое поле);

• название болезни.

Таблица пациентов

• код (ключевое поле);

• ФИО;

• номер мед.страховки;

• участковый врач;

• дата рождения;

• паспортные данные;

• адрес.

Таблица учета приема пациентов

• код пациента (ключевое поле);

• дата (ключевое поле);

• код врача;

• болезнь;

• кол-во выписанных дней больничного.

12. «Магазин» Система предназначена для ведения базы данных в магазине и получения совокупности справок.

Таблицы:

Справочник видов товара

• код (ключевое поле);

• вид товара.

Справочник стран-производителей

• код (ключевое поле);

• страна.

Таблица товаров

• код (ключевое поле);

• вид товара;

• фирма-производитель;

• название товара;

• страна;

• кол-во экземпляров;

• отпускная цена.

Таблица учета продажи товаров

• код товара (ключевое поле);

Page 22: Программирование на платформе JAVAnvsu.ru/svedenfiles/education/443/Annot_B1VDV21-Program...2017/03/29  · Графика в Java 2 лекция Дискуссия

• дата продажи (ключевое поле);

• код страны;

• кол-во проданного;

• стоимость одного экземпляра.

13. Своя БД по согласованию с преподавателем.

Page 23: Программирование на платформе JAVAnvsu.ru/svedenfiles/education/443/Annot_B1VDV21-Program...2017/03/29  · Графика в Java 2 лекция Дискуссия

Федеральное государственное бюджетное образовательное учреждение

высшего образования

«Нижневартовский государственный университет»

Кафедра Информатики и методики преподавания информатики

Фонд тестовых заданий по дисциплине Программирование на Java

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

Тестовые материалы используются при проведении тестирования во время

экзамена. На экзамене из представленного множества вопросов случайным

образом выбираются 30 заданий из различных тем. Тестирование проводится с

помощью ПО АСТ.

2. Содержание оценочного средства:

Пример тестовых заданий

1. Каким будет результат?

public class Main {

public static void main(String[] args) {

byte b = 12;

byte k = b + 1;

System.out.println(k);

}

}

� Код не откомпилируется

� Null

� 13

� 12

2. Какой будет результат компиляции и выполнения следующей программы? import java.util.ArrayList;

import java.util.List;

public class Test {

public static void main(String a[]) {

List<Integer> list = new ArrayList<Integer>();

list.add(null);

for (Integer i : list) {

System.out.println(i);

}

}

}

� Программа не скомпилируется

� 0

� Null

� В консоль не будет ничего выведено

� Ошибка

3. Что произойдёт если скомпилировать и выполнить следующий код?

public class MyFirst {

static public void main(String[] args) {

int a = 5;

a = a!=0 ? a>1 ? a>>2 : a<<2 : a<1 ? a<<2 : a>>2;

Page 24: Программирование на платформе JAVAnvsu.ru/svedenfiles/education/443/Annot_B1VDV21-Program...2017/03/29  · Графика в Java 2 лекция Дискуссия

System.out.println(a);

}

}

� Произойдёт ошибка компиляции в строке 2

� Выведет на экран 20

� Выведет на экран 1

� Произойдёт ошибка компиляции в строке 4

� Выведет на экран 5

� Выведет на экран 0

4. Каков результат выполнения этой программы?

public class Test {

public static void main(String[] args){

System.out.println(010>9);

}

}

� true

� false

5. Что произойдет при попытке скомпилировать и запустить данный код?

public class QTest {

{

System.out.print("1");

}

public static void main(String[] args) {

System.out.print("2");

new QTest();

}

static {

System.out.print("3");

}

}

� На консоль выведется "23"

� Произойдет ошибка компиляции

� На консоль выведется "321"

� На консоль выведется "213"

� На консоль выведется "2"

� На консоль выведется "123"

6. Что произойдет при компиляции и запуске данного кода?

abstract public class Parent {

String s = "hello!";

public void test() {

System.out.println(s);

}

}

class P {

public static void main(String[] args) {

Parent p = new Parent();

Page 25: Программирование на платформе JAVAnvsu.ru/svedenfiles/education/443/Annot_B1VDV21-Program...2017/03/29  · Графика в Java 2 лекция Дискуссия

p.test();

}

}

� Возникнет ошибка компиляции

� Программа выведет в консоль сообщение "Hello!"

� Программа выведет в консоль сообщение "null"

� Возникнет ошибка времени выполнения

7. Что произойдет после компиляции кода и запуска программы без аргументов?

public class Main {

public static void main(String[] args) {

System.out.println(args.length);

}

}

� Код скомпилируется, но ничего не выведет на консоль

� Код скомпилируется, а на консоль будет выведено число '0'

� Код скомпилируется, но во время выполнения будет выброшено исключение NullPointerException

� Код не скомпилируется

8. Если в классе переопределяется метод toString(), какой еще метод необходимо переопределить

для корректного использования объектов этого класса в хэш-таблицах?

� Никакой

� hashCode()

� equals()

9. Является ли instanceOf ключевым словом в Java?

� Да

� Нет

10. Откомпилируется ли следующий код?

public class Person {

public final String name;

int age;

}

� Да

� Нет

11. Выберите несуществующие диспетчеры компоновки Swing из представленных.

� CardLayout

� SpringLayout

� RowLayout

� BorderLayout

� BoxLayout

12. Что будет выведено в результате выполнения данного кода ?

Page 26: Программирование на платформе JAVAnvsu.ru/svedenfiles/education/443/Annot_B1VDV21-Program...2017/03/29  · Графика в Java 2 лекция Дискуссия

public class Main {

public static void main(String[] args) {

new ExampleClass2().getVersion();

}

}

class ExampleClass1 {

private String version = "curent version: 0.1a";

private void getVersion() {

System.out.println(version);

}

}

class ExampleClass2 extends ExampleClass1 {

private String version = "curent version: 0.5b";

@Override

public void getVersion() {

System.out.println(version);

}

}

� curent version: 0.1a curent version: 0.5b

� curent version: 0.5b

� curent version: 0.1a

� Ошибка компиляции

13. Что произойдет в результате компиляции кода?

package mail;

interface Box {

protected void open();

void close();

public void empty();

}

� Ошибка компиляции в строке 4

� Код скомпилируется успешно

� Ошибка компиляции в строке 5

� Ошибка компиляции в строке 6

14. Какой результат выполнения программы?

class Tack {

static short s = 17;

public Tack(short ss) {

new Tack();

s *= ss;

}

public Tack() { ; }

}

public class Bridle extends Tack {

public Bridle(int s) { System.out.println(s + 1); }

public static void main(String[] args) {

Bridle b = new Bridle(3);

}

}

� Ошибка компиляции

� Ошибка времени выполнения

Page 27: Программирование на платформе JAVAnvsu.ru/svedenfiles/education/443/Annot_B1VDV21-Program...2017/03/29  · Графика в Java 2 лекция Дискуссия

� 3

� 51

� 4

� 31

� 52

15. Каким будет результат выполнения данного кода?

public class Commentator {

public static void main( String[] args ) {

/*System.out.println( "Line1" );

System.out.println( "Line2" );*/

//System.out.println( "Line3" );

System.out.println( "Line4" );//

System.out.println( "/*Line5*/" );

System.out.println( "//Line6//" );

}

}

� На консоль ничего не выведется

� Ошибка компиляции в последней строке

� Line4

� /*Line5*/

� /Line6/

� Line4

� /*Line5*/

� //Line6//

� /*Line5*/

� //Line6//

� Line4

16. Выберите правильное высказывание относительно концепции взаимосвязи методов

hashCode() и equals(Object o).

� Ни одно из перечисленных высказываний

� Если метод equals возращает true при сравнении 2 объектов, то значения, возвращенные методом

hashCode() обоих объектов, должны совпадать

� Если метод equals возращает false при сравнении 2 объектов, то значения, возвращенные методом

hashCode() обоих объектов, должны быть разными

� Если метод equals возращает true при сравнении 2 объектов, то значения, возвращенные методом

hashCode() обоих объектов могут не совпадать

17. Что произойдет при запуске программы?

class TestClass {

int i = getInt();

int k = 20;

public int getInt() { return k+1; }

public static void main(String[] args) {

TestClass t = new TestClass();

System.out.println(t.i + " " + t.k);

}

}

� Будет выведено на печать 1 20

Page 28: Программирование на платформе JAVAnvsu.ru/svedenfiles/education/443/Annot_B1VDV21-Program...2017/03/29  · Графика в Java 2 лекция Дискуссия

� Программа скомпилируется, но произойдет ошибка во время выполнения

� Программа не скомпилируется

� Ничего из перечисленного

� Будет выведено на печать 21 20

18. Какой результат выполнения строчки?

int i = Integer.MAX_VALUE + 10;

� Значением переменной i станет отрицательное число

� Выбросится OperationNotSupportedException

� Значением переменной i станет NaN константа

� Результат не определён

� Выбросится ArithmeticException

19. Каким будет результат выполнения кода? public void go() { System.out.println( "Go!" ); }

public void doIt() { System.out.println( "DoIt!" ); }

public void run() { System.out.println( "Run!" ); }

public void begin() { System.out.println( "Begin!" ); }

public void execute() { System.out.println( "Execute!" ); }

public static void main( String[] args ) {

TestThread myTest = new TestThread();

myTest.start();

}

}

� Run!

� Ничего напечатано не будет

� Go!

� DoIt!

� Begin!

� Execute!

� Возникнет ошибка компиляции

20. Что произойдет в результате выполнения следующего кода?

public class Main {

public static void main(String args[]) {

byte b = 0;

while (++b > 0);

System.out.println(b);

}

}

� На экран выведется число 0

� Произойдет зацикливание программы

� На экран выведется число 255

� На экран выведется число -128

� На экран выведется число 127

Критерии оценивания теста:

Процент правильно

выполненных заданий

Оценка

55-70 3

70-85 4

85-100 5

Page 29: Программирование на платформе JAVAnvsu.ru/svedenfiles/education/443/Annot_B1VDV21-Program...2017/03/29  · Графика в Java 2 лекция Дискуссия