Вход в систему
РФЭИ/ИТ
Спецификация Практика: обыкновенные дроби Язык программирования Scala
Практика: обыкновенные дроби Базовые определения

Спецификация

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

Спецификация вовсе необязательно является большим документом, который детально и всеобъемлюще описывает каждую мелочь. Зачастую для простых компонентов достаточно короткого описания, резюмирующего ключевые моменты.

Составим короткую спецификацию для нашей задачи.

Базовые определения

  • Класс Fraction представляет собой обыкновенную дробь, заданную двумя целыми числами — числителем и знаменателем.

    $$\frac{n}{d}$$

  • Знаменатель не должен быть равен нулю.

    $$d \neq 0$$

  • Класс Fraction должен быть неизменяемым (подробнее о концепции неизменяемости Вы узнаете в разделе Принципы проектирования классов).
  • Знак дроби определяется по знаку числителя; знаменатель всегда берется по модулю.
  • Обыкновенная дробь имеет десятичное представление.
  • Дробь, обратная заданной, получается перестановкой числителя и знаменателя.

    $$\left(\frac{n}{d}\right)^{-1} = \frac{d}{n}$$

  • Модуль обыкновенной дроби — это дробь, числитель и знаменатель которой берутся по модулю.

    $$\left|\frac{n}{d}\right| = \frac{|n|}{|d|}$$

Сократимость

  • Обыкновенную дробь называют несократимой, если ее числитель и знаменатель являются взаимнопростыми.
  • Класс должен поддерживать вычисление несократимой дроби, равной заданной.

Неправильные дроби

  • У неправильной дроби модуль числителя больше или равен модулю знаменателя.

    $$\left|n\right| \ge \left|d\right|$$

  • Класс должен поддерживать вычисление целой части и остатка неправильной дроби.

Арифметические операции и сравнение

  • Арифметические операции +, -, * и / выполняются по правилам алгебры и возвращают результат в виде несократимой дроби.
  • Между дробями должны быть определены операции алгебраического сравнения, подобные операциям сравнения чисел: ==, !=, <, <=, > и >=.

Способы представления

  • Стандартное представление дроби — числитель отделяется от знаменателя косой чертой.

  • Алгебраическая запись неправильной дроби в виде суммы или разности целой части и остатка.
Практика: обыкновенные дроби Базовые определения
2012 © ООО «Территория Образования»
Сделано с помощью Circumflex