- •Министерство образования и науки Российской Федерации
- •Разработка программы для решения задачи «игра умножения»
- •Задание
- •Содержание
- •Введение
- •1 Постановка задачи
- •2 Анализ поставленной задачи
- •2.1 Основные объекты задачи и их взаимодействие
- •2.2 Решение задачи – вариант 1
- •2.3 Решение задачи – вариант 2
- •3 Описание результатов разработки
- •4 Руководство пользователя
- •Заключение
- •Список использованных источников
- •Приложение а (обязательное) Листинг программы a.1 Основной модуль MultiplyGame
- •A.2 Модуль тестирования MultiplyGameTest
- •A.3 Модуль MultiplyGameFile (ввод-вывод из файла)
4 Руководство пользователя
В состав приложения входит один файл MultiplyGame.jar – Java Runtime File. Для запуска приложения у Вас на компьютере должна быть установлена реализация виртуальной машины Java - Java Runtime Environment (сокр. JRE).
Откройте командную строку (Пуск->Выполнить и ввести «cmd») и введите следующую команду: «java –version», для проверки, установлена ли виртуальная машина у Вас в системе (рис. 4.1):
Рисунок 4.1. Проверка наличия виртуальной машины Java на компьютере
Если JRE не установлена загрузить ее можно по ссылке:
http://java.com/ru/download/index.jsp
Для запуска приложения необходимо вызвать виртуальную машину с аргументом –jar и указать путь к исполняемому файлу MultiplyGame.jar (рис. 4.2):
Рисунок 4.2. Запуск приложения из командной строки
Заключение
Разработанное в ходе выполнения данной работы приложение MultiplyGame соответствует поставленным требованиям и решает необходимую задачу наиболее оптимальным из рассмотренных методов. Широкие возможности языка программирования Java, а также технология JUnit, позволили реализовать представленный алгоритм и провести его тестирование.
Список использованных источников
Меньшиков Ф. В. Олимпиадные задачи по программированию. – СПб.: Питер, 2006 – 315 с.: ил.
Оформление курсовых и дипломных проектов [Текст]: методические указания для студентов технических специальностей / сост. В. Н. Кичигин, И. Е. Мясников, С. И. Тимошенко. – Екатеринбург: ГОУ ВПО «УГТУ- УПИ», 2005. – 80 с.
Бек К. Экстремальное программирование [Текст]: разработка через тестирование / К. Бек. – СПб. : Питер, 2003. – 224 с.
Герберт Шилдт. Java. Полное руководство, 8-е издание. – СПб.: Вильямс, 2012. – 1102 с.
Приложение а (обязательное) Листинг программы a.1 Основной модуль MultiplyGame
package multiplyGame;
import java.util.Scanner;
public class MultiplyGame {
static final long rangeMin = 2, rangeMax = 4294967295L;
// допустимые пределы числа N
static final String[] players = new String[] {"Stan", "Ollie"};
// имена игроков
static final byte[] dividers = new byte[] {9, 2};
// делители для нахождения выигрышных и проигрышных интервалов
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
try {
System.out.print("Please enter N: ");
long N = Long.parseLong(in.nextLine()); // ввод числа N
System.out.print(players[getWinner(N)]);
// вызов метода getWinner() и вывод имени победителя
System.out.println(" wins");
}
catch (Exception e) {
System.out.print("Wrong number!"); // вывод сообщения об ошибке
}
}
// метод определения победителя игры (-1 - неверно заданное число, 0 - Слава, 1 - Оля)
public static int getWinner(long N) {
if (N < rangeMin || N > rangeMax) return -1;
// проверка на допустимые пределы числа
int winner = 1; // индекс победившего игрока (0 - Слава, 1 - Оля)
long minPos = N; // нижняя граница выигрышного или проигрышного интервала
do {
winner = (winner == 1 ? 0 : 1); // инверсия индекса победителя
// находим нижнюю границу следующего выигрышного или проигрышного интервала
minPos = (long) Math.ceil((double) minPos / dividers[winner]);
// деление и округление вверх
} while (minPos > 1); // пока нижняя граница не станет равна 1
return winner;
}
}
