Результаты выполнения дополнительного задания

Министерство образования Республики Беларусь

Белорусский Национальный Технический Университет

 

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

 

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

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

 

Отчёт

по лабораторной работе № 07

по дисциплине «Объектно-ориентированные технологии программирования и стандарты проектирования»

или

по дисциплине « Объектно-ориентированное программирование »

 

тема: «Базовый синтаксис языка Java. Условные конструкции. Разветвляющиеся алгоритмы»

 

Название бригады: «…»

 

Исполнитель:   студенты группы 1070  
  Преподаватель:     Иванченко Виктор Викторович

 

2018-2019 учебный год


ЛАБОРАТОРНАЯ РАБОТА № 07

БАЗОВЫЙ СИНТАКСИС ЯЗЫКА JAVA . УСЛОВНЫЕ КОНСТРУКЦИИ. РАЗВЕТВЛЯЮЩИЕСЯ АЛГОРИТМЫ

Цель работы:

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

Основное задание

1) В молодом возрасте дракон каждый год отращивает по три головы, но после того, как ему исполнится 200 лет – только по две, а после 300 лет – лишь по одной. Разработайте программу, которая высчитывала бы, сколько голов и глаз у дракона, которому N лет. Считать, что при рождении у дракона имеется уже три головы.

2) Напишите программу «T he Greatest», которая определяет какое из трёх введённых пользователем значений наибольшее (наименьшее). Предусмотреть возможность равенства всех или некоторых значений.

3) Напишите программу «Mood Sensor» (эмулировать датчика настроения), которая «залазит» в душу пользователя и определяет его настроение в текущий момент времени. Приложение будет генерировать случайное число, в зависимости от значения которого на экран выводится одно из псевдографических «лиц», которое и будет отображать настроение пользователя.

4) Напишите программу, которая бы эмулировала игру «Dice» (игра в кости). Суть игры заключается в броске двух шестигранных кубиков (костей) и подсчёта общей суммы очков, которые выпали на первой и второй костей.

5) Напишите программу, которая бы определяла, является ли введённая буква гласной или согласной. Постарайтесь сделать данное задание несколькими способами (чем больше, тем лучше): к примеру, с использованием базовых операций, конструкции if - else, конструкции switch и т.д. Ограничения, которые указаны в требованиях, можно игнорировать для данного задания.

6) Разработать интерактивную программу «Q uadric Equation» («Квадратное уравнение») для решения квадратных уравнений вида: . Программа должна запрашивать у пользователя соответствующие параметры a, b и с и, в зависимости от вычисленного дискриминанта D, выдавать соответствующий результат. В случае отрицательного дискриминанта программа должна выводить сообщение о том, что действительных корней нет.


Дополнительное задание

Заданы три целых числа, которые задают некоторую дату по Грегорианскому календарю (https://ru.wikipedia.org/wiki/Григорианский_календарь). Определить дату следующего дня. Запрещается использовать типы стандартной библиотеки языка для работы с датой и временем (можно сделать второй вариант решения задачи с использование новой библиотеки работы со временем в Java, которая появилась с JDK 8.0). Также необходимо учесть то, что по григорианскому календарю (используется в настоящим момент) високосный год определяется следующим образом:

- годы, кратные 4 – високосные (например, 2008, 2012, 2016);

- годы, кратные 4 и 100 – невисокосные (например, 1700, 1800, 1900);

- годы, кратные 4, 100 и 400 – високосные (например, 1600, 2000, 2400).

Требования к выполнению

1) Для каждого вычислительного алгоритма необходимо спроектировать блок-схему решения, которую необходимо поместить в отчёт или в конспект.

2) На базе спроектированных алгоритмов разработать простейшее консольное интерактивное приложение с использование архитектурного шаблона проектирования Model - View - Controller , MVC.

3) Создаваемые классы необходимо грамотно разложить по соответствующим пакетам, которые должны иметь «адекватные» названия и быть вложены в указанные стартовые пакеты: by.bntu.fitr.povt.nameofteam.javalabs.lab07.

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

5) Также рекомендуется придерживаться Single Responsibility Principle , SRP (принципа единственной ответственности): у каждого пакета, класса или метода должна быть только одна ответственность (цель), т.е. должна быть только одна причина изменить в дальнейшем соответствующий блок кода.

6) Если логически не подразумевается или в задании иного не указано, то входными и выходными данными являются вещественные числа (числа с плавающей запятой).

7) Все задания необходимо решать используя только базовые операции (простые операторы), определённые над примитивными типами данных в языке программирования Java, и условные конструкции (т.е. не нужно использовать циклические конструкции, массивы, строковые данные и операции над ними и т.д.).

8) В соответствующих компонентах бизнес-логики необходимо предусмотреть «защиту от дурака».

9) Для генерирования случайных чисел воспользуйтесь методами объекта класса java . util . Random, а для реализации ввода данных с консоли (терминала) – соответствующими методами объекта класса java . util . Scanner.

10) Программа должна обязательно быть снабжена комментариями, в которых необходимо указать краткое предназначение программы, номер лабораторной работы и её название, версию программы, ФИО разработчиков, название бригады (если есть), номер группы и дату разработки. Исходный текст классов и демонстрационной программы рекомендуется также снабжать поясняющими краткими комментариями.

11) Программа должна быть снабжена дружелюбным и интуитивно понятным интерфейсом для взаимодействия с пользователем.

12) Интерфейс программы и комментарии должны быть на английском языке.

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

14) При выполнении задания не рекомендуется использовать интегрированные средства разработки (Integrated Development Environment , IDE). Лучше задействовать любой текстовый редактор и основные компоненты Java (компилятор – javac, утилиту для запуска JVMjava).

15) При разработке программ придерживайтесь соглашений по написанию кода на Java (Java C ode - Convention ) !!!


Результаты выполнения основного задания

Рисунок 1 – …

Рисунок 2 – …

Результаты выполнения дополнительного задания

Рисунок 1 – …

Рисунок 2 – …


Что мы узнали нового в процессе выполнения лабораторной работы (выводы)

1)

2)

3)

4)

5)

6)


ПРИЛОЖЕНИЕ А

 

Листинг исходного кода класса(ов)


Дата добавления: 2019-01-14; просмотров: 431; Мы поможем в написании вашей работы!

Поделиться с друзьями:




Мы поможем в написании ваших работ!