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

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

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

 

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

 

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

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

 

Отчёт

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

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

или

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

 

тема: «Базовый синтаксис языка Java. Циклические конструкции. Итерационные алгоритмы»

 

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

 

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

 

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


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

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

ИТЕРАЦИОННЫЕ АЛГОРИТМЫ

Цель работы:

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

Задание А

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

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

Задание B

1) Разработайте программу, которая проверяет, что все цифры, которые входят в заданное натурального число, имеют одинаковую чётность, т.к. либо все чётные, либо все нечётные.

2) Разработайте программу, которая проверяет, что все цифры заданного натурального числа различны (или одинаковы).

Задание C

1) Разработайте программу, которая проверяет, что цифры заданного натурального числа образуют возрастающую (или убывающую) последовательность. К примеру, число 9876 удовлетворяет условию, т.к. его цифры соответствуют следующему неравенству: 9 > 8 > 7 > 6, т.е. идут в порядке убывания. Число 468 также удовлетворяет условию, т.к. его цифры соответствуют неравенству 4 < 6 < 8, т.е. идут в порядке возрастания. А вот числа 13243546, 192837 и 777 не удовлетворяют условию.

2) Разработайте программу, которая проверяет, что заданное натуральное число читается одинаково слева направо и справа налево (т.е. является палиндромом). К примеру, число 1235321 – удовлетворяет условию, а число 12345321 – нет.

Задание D

1) Найти количество различных цифр у заданного натурального числа. К примеру, число 12345436 имеет шесть различных цифр, а число 121212 – только два.

2) Найти наибольшую цифру у заданного натурального числа. К примеру, в числе 18273645 максимальная цифра восемь, а в числе 777 – семь.

Задание E

1) Найти все элементы той части последовательности чисел Фибоначчи, значение последнего элемента которой не превосходит введённого пользователем значения.

2) Найти число трибоначчи по его порядковому номеру.

Числа трибоначчи – последовательность целых чисел {tn}, заданного с помощью рекуррентного соотношения: t0 = 0, t1 = 0, t2 = 1, tn+3 = tn+2 + tn+1 + tn. Пример ряда трибоначчи: 0, 0, 1, 1, 2, 4, 7, 13, 24, 44, 81, 149, …

Условимся, что первые три числа ряда трибоначчи – это 0, 0 и 1, а если передаётся отрицательный индекс или ноль, то метод должен возвратить -1.

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

1) Каждому участнику из команды нужно просмотреть все задания и выполнить по одному понравившемуся заданию из каждого раздела. Задания из соответствующих разделов внутри команды не должны повторяться.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

Рисунок 1 – …

Рисунок 2 – …

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

Рисунок 1 – …

Рисунок 2 – …


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

1)

2)

3)

4)

5)

6)


ПРИЛОЖЕНИЕ А

 

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


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

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




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