Файл: Разработка программы перевода числовой записи в словесную.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 28.03.2023

Просмотров: 366

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

2.1 Вводимые и выводимые данные

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

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

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

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

2.2 Системные требования

Требования к «железу»:

  • 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;
  • реализована программа для перевода числовой формы записи в словесную с применением принципов ООП.

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


БИБЛИОГРАФИЧЕСКИЙ СПИСОК

  1. Альфред, В. Ахо Компиляторы. Принципы, технологии и инструментарий / Альфред В. Ахо и др. - М.: Вильямс, 2015. - 689 c.
  2. Берд, Барри Java для чайников / Барри Берд. - М.: Диалектика / Вильямс, 2013. - 521 c.
  3. Гарнаев, Андрей WEB-программирование на Java и JavaScript / Андрей Гарнаев , Сергей Гарнаев. - Москва: СПб. [и др.] : Питер, 2017. - 718 c.
  4. Гонсалвес, Энтони Изучаем Java EE 7 / Энтони Гонсалвес. - М.: Питер, 2016. - 640 c.
  5. ГОСТ 19.401 – 78. ЕСПД. Текст программы. Требования к содержанию и оформлению. - М.: Изд-во стандартов, 1978.
  6. ГОСТ 19.505 – 79. ЕСПД. Руководство оператора. Требования к содержанию и оформлению. - М.: Изд-во стандартов, 1977.
  7. ГОСТ 19.701 - 90. ЕСПД. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения. - М.: Изд-во стандартов. - 1990.
  8. Гупта, Арун Java EE 7. Основы / Арун Гупта. - М.: Вильямс, 2014. - 336 c.
  9. Монахов, В. Язык программирования Java и среда NetBeans (+ CD-ROM) / В. Монахов. - М.: БХВ-Петербург, 2012. - 720 c.
  10. Савитч, Уолтер Язык Java. Курс программирования / Уолтер Савитч. - М.: Вильямс, 2015. - 928 c.
  11. Хабибуллин, Ильдар Самоучитель Java / Ильдар Хабибуллин. - М.: БХВ-Петербург, 2014. - 768 c.
  12. Шилдт, Герберт Java 8. Руководство для начинающих / Герберт Шилдт. - М.: Вильямс, 2015. - 720 c.
  13. Эккель, Брюс Философия 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"},