Алгоритмические языки и программирование. Викентьева О.Л - 13 стр.

UptoLike

13
кулятор выдает в виде одной из четырех форм: дата, количество
дней, недель или месяцев. Таким образом, мы определили, что
класс Калькулятор будет содержать следующие компонентные данные:
date op1,op2,rez;//операнды и результат
int znak;//код операции
int form;//код формы для вывода результата
Калькулятор необходимо инициализировать, следовательно,
класс Калькулятор должен содержать конструктор. Кроме того,
Калькулятор должен содержать модификаторы для изменения операн-
дов, знака и формы вывода, селектор для получения результата и
метод, который будет выполнять вычисление результата в зависимо-
сти от знака операции. Таким образом, мы получаем следующее опи-
сание класса Calc:
class Сalc
{
Date op1;//операнд 1
Date op2;//операнд 2
Date res;//результат
int znak;//знак операции
int form;//форма вывода результата
public:
Calc();//конструктор
void set_op1(date);//модификатор для операнда 1
void set_op2(date); //модификатор для операнда 2
Date get_res();//селектор для получения результата
void set_znak(int); //модификатор для знака операции
void set_form(int); //модификатор для формы вывода
void execute();//вычисление результата
};
В классе Calc используются переменные типа Date – данные, с
которыми работает Калькулятор. Между классами Calc и Date суще-
ствует отношение агрегации, причем, это будет не просто агрега-
ция, а композиция, т. к. операнды не могут существовать отдельно
от калькулятора.
Рассмотрим свойства класса Дата. Над Датой можно выполнять
операции, Дату надо вводить и выводить. Ввод и вывод Даты проще
всего выполнять в виде строки. Но для выполнения операций с да-
тами надо предусматривать представление Даты в виде чисел
. Опе-
рации по сложению и вычитанию дат можно выполнять по следующему
алгоритму:
1. Перевести обе даты в дни.
2. Выполнить операцию.
3. Перевести результат в требуемую форму (дата, дни, недели,
месяцы и т. п.)
Таким образом, класс Date должен иметь следующие компонент-
ные данные:
int d;//количество дней в дате
char* s;//представление даты
в виде строки
Дата вводится в форме строки, а затем вычисляется, сколько
дней она содержит. Для преобразования Даты из одной формы в дру-
гую надо предусмотреть компонентные функции:
void days_to_string(); - переводит дни в строку
void string_to_days(); - переводит строку в дни
                                                               13

кулятор выдает в виде одной из четырех форм: дата, количество
дней, недель или месяцев. Таким образом, мы определили, что
класс Калькулятор будет содержать следующие компонентные данные:
     date op1,op2,rez;//операнды и результат
     int znak;//код операции
     int form;//код формы для вывода результата
     Калькулятор   необходимо  инициализировать,   следовательно,
класс Калькулятор должен содержать конструктор. Кроме того,
Калькулятор должен содержать модификаторы для изменения операн-
дов, знака и формы вывода, селектор для получения результата и
метод, который будет выполнять вычисление результата в зависимо-
сти от знака операции. Таким образом, мы получаем следующее опи-
сание класса Calc:
     class Сalc
     {
     Date op1;//операнд 1
     Date op2;//операнд 2
     Date res;//результат
     int znak;//знак операции
     int form;//форма вывода результата
     public:
     Calc();//конструктор
     void set_op1(date);//модификатор для операнда 1
     void set_op2(date); //модификатор для операнда 2
     Date get_res();//селектор для получения результата
     void set_znak(int); //модификатор для знака операции
     void set_form(int); //модификатор для формы вывода
     void execute();//вычисление результата
     };
     В классе Calc используются переменные типа Date – данные, с
которыми работает Калькулятор. Между классами Calc и Date суще-
ствует отношение агрегации, причем, это будет не просто агрега-
ция, а композиция, т. к. операнды не могут существовать отдельно
от калькулятора.
     Рассмотрим свойства класса Дата. Над Датой можно выполнять
операции, Дату надо вводить и выводить. Ввод и вывод Даты проще
всего выполнять в виде строки. Но для выполнения операций с да-
тами надо предусматривать представление Даты в виде чисел. Опе-
рации по сложению и вычитанию дат можно выполнять по следующему
алгоритму:
     1. Перевести обе даты в дни.
     2. Выполнить операцию.
     3. Перевести результат в требуемую форму (дата, дни, недели,
        месяцы и т. п.)
     Таким образом, класс Date должен иметь следующие компонент-
ные данные:
     int d;//количество дней в дате
     char* s;//представление даты в виде строки
     Дата вводится в форме строки, а затем вычисляется, сколько
дней она содержит. Для преобразования Даты из одной формы в дру-
гую надо предусмотреть компонентные функции:
     void days_to_string(); - переводит дни в строку
     void string_to_days(); - переводит строку в дни