Файл: Разработка программы перевода числовой записи в словесную.pdf
Добавлен: 28.03.2023
Просмотров: 365
Скачиваний: 2
2.1 Вводимые и выводимые данные
Одной из самых важных функций любого языка программирования является предоставление возможностей для управления программой вручную.
Выводимыми данными являются данные сообщаемые пользователю, а вводимыми являются те данные, которые пользователь сообщает программе.
Выводимые данные в программе представлены в виде диалоговых сообщений с просьбой о вводе числа и сообщении с результатом его обработки.
Вводимой информацией является ввод числа для последующего его преобразования в словесную форму.
Требования к «железу»:
- 50 кб свободного пространства на жестком диске
- 40 мб оперативной памяти
Требования к операционной системе:
- JRE (виртуальная машина Java)
По вышесказанному описанию можно сделать вывод о том, что разработанная программа имеет понятный интерфейс с возможностью запуска на «слабых» компьютерах.
2.3 Описание классов и методов
В процессе разработки программы били созданы два класса:
NumberInWords – класс, описывающий логику преобразования числовой формы записи в словесную.
Main – класс предназначенный для взаимодействия пользователя с логикой программы.
Поля класса NumberInWords:
– private BigDecimal amount – поле класса представляющие числовое значение числа.
– private boolean IsPositive – поле класса указывающие является ли число положительным.
Методы класса NumberInWords:
- Конструкторы:
- public NumberInWords (long l)
Рисунок 2.1 - Метод NumberInWords (long l)
-
- public NumberInWords (double l)
Рисунок 2.1 - Метод NumberInWords (double l)
- String morph(long n, String f1, String f2, String f5) – метод определяющий верное склонение слова.
Рисунок 2.3 - Метод String morph(long n, String f1, String f2, String f5)
- public String toString() – переопределенный метод toString, реализующий алгоритм формирования словестной формы записи.
Рисунок 2.4 - Метод toString()
Рисунок 2.5 - Часть А алгоритма toString()
3 ТЕСТИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
При разработке программ наиболее трудоемким является этап отладки и тестирования программ.
Цель тестирования, т.е. испытания программы, заключается в выявлении имеющихся в программе ошибок.
Цель отладки состоит в выявлении и устранении причин ошибок.
Разработанное приложение в процессе отладки проверялась на валидацию кода и на наличие ограничений, накладываемых на данные.
Выбор метода тестирование зависел от функциональных требований, предъявляемых к приложению и вариантов использования приложения.
Поэтому был выбран метод модульного тестирования.
Тестирование проводилось в ручном режиме путем последовательного ввода различных наборов данных.
Кроме того, проверялась работа приложения на разных устройствах и замечаний по его работе нет.
Отладка приложения проводилась по мере написания кода, тестирование выполнялось в ручном режиме.
При тестировании проводилась проверка:
- корректности обработки данных
- правильность отображения информации.
Проверка работоспособности программы, проведена на компьютерах с операционными системами семейства Windows и Linux с установленными виртуальными машинами java. Сбоев в работе программы не наблюдалось.
На рисунках 3.1 – 3.5 приведены примеры работы программы.
Рисунок 3.1 – Тест программы №1
Рисунок 3.2 – Тест программы №2
Рисунок 3.3 – Тест программы №3
Рисунок 3.4 – Тест программы №4
Рисунок 3.5 – Тест программы №5
ЗАКЛЮЧЕНИЕ
В данной курсовой работе были выполнены все поставленные цели и задачи, а именно:
- получен практический опыт по разработке прикладных программ;
- был изучен функционал и инструментарий IDE NetBeans и языка программирования Java;
- реализована программа для перевода числовой формы записи в словесную с применением принципов ООП.
Так же было произведено тестирование программы, по результатам тестирования можно судить о отсутствии ошибок в работе программы.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
- Альфред, В. Ахо Компиляторы. Принципы, технологии и инструментарий / Альфред В. Ахо и др. - М.: Вильямс, 2015. - 689 c.
- Берд, Барри Java для чайников / Барри Берд. - М.: Диалектика / Вильямс, 2013. - 521 c.
- Гарнаев, Андрей WEB-программирование на Java и JavaScript / Андрей Гарнаев , Сергей Гарнаев. - Москва: СПб. [и др.] : Питер, 2017. - 718 c.
- Гонсалвес, Энтони Изучаем Java EE 7 / Энтони Гонсалвес. - М.: Питер, 2016. - 640 c.
- ГОСТ 19.401 – 78. ЕСПД. Текст программы. Требования к содержанию и оформлению. - М.: Изд-во стандартов, 1978.
- ГОСТ 19.505 – 79. ЕСПД. Руководство оператора. Требования к содержанию и оформлению. - М.: Изд-во стандартов, 1977.
- ГОСТ 19.701 - 90. ЕСПД. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения. - М.: Изд-во стандартов. - 1990.
- Гупта, Арун Java EE 7. Основы / Арун Гупта. - М.: Вильямс, 2014. - 336 c.
- Монахов, В. Язык программирования Java и среда NetBeans (+ CD-ROM) / В. Монахов. - М.: БХВ-Петербург, 2012. - 720 c.
- Савитч, Уолтер Язык Java. Курс программирования / Уолтер Савитч. - М.: Вильямс, 2015. - 928 c.
- Хабибуллин, Ильдар Самоучитель Java / Ильдар Хабибуллин. - М.: БХВ-Петербург, 2014. - 768 c.
- Шилдт, Герберт Java 8. Руководство для начинающих / Герберт Шилдт. - М.: Вильямс, 2015. - 720 c.
- Эккель, Брюс Философия Java / Брюс Эккель. - М.: Питер, 2016. - 809 c.
ПРИЛОЖЕНИЕ А. ЛИСТИНГ ПРОГРАММЫ
// NumberInWords.java
package numberinwords;
import java.util.ArrayList;
import java.util.Collections;
import java.math.BigDecimal;
public class NumberInWords {
private BigDecimal amount;
private boolean IsPositive;
public NumberInWords(long l) {
this.IsPositive = (l>=0);
this.amount = new BigDecimal( Math.abs(l));
}
public NumberInWords(double l) {
this.IsPositive = (l>=0);
this.amount = new BigDecimal( Math.abs(l));
}
public String toString() {
String[][] sex = {
{"","один","два","три","четыре","пять","шесть","семь","восемь","девять"},
{"","одна","две","три","четыре","пять","шесть","семь","восемь","девять"},
};
String[] str100= {"","сто","двести","триста","четыреста","пятьсот","шестьсот","семьсот", "восемьсот","девятьсот"};
String[] str11 = {"","десять","одиннадцать","двенадцать","тринадцать","четырнадцать", "пятнадцать","шестнадцать","семнадцать","восемнадцать","девятнадцать","двадцать"};
String[] str10 = {"","десять","двадцать","тридцать","сорок","пятьдесят","шестьдесят", "семьдесят","восемьдесят","девяносто"};
String[][] forms = {
{"тысяча", "тысячи", "тысяч", "1"},
{"миллион", "миллиона", "миллионов", "0"},
{"миллиард","миллиарда","миллиардов","0"},