Вариант 2-го практического задания для групп 110, 111 (2006)
Краткий теоретический материал по арифметике длинных чисел.
Реализовать на языке Borland Pascal диалоговую программу «Калькулятор» (calc), выполняющую основные арифметические действия (+, ?, , /) над числами «в длинной арифметике». В зависимости от варианта задания выполнить реализацию алгебраических или тригонометрических функций от одного аргумента «в длинной арифметике» и функции работы «памятью»:
Представление «длинных» чисел реализовать в виде динамических структур, использующих динамическую память (например, в виде списков). Внутреннее представление чисел должно соответствовать нормализованному представлению чисел с плавающей запятой. Реализовать самостоятельно процедуры для работы с «длинными» числами:
Следует предусмотреть для пользователя операцию изменения предела максимального количества разрядов в мантиссе числа в процессе работы программы. Также необходимо учитывать, что при некотором значении максимального количества разрядов M, «Калькулятор» должен обеспечивать точность вычислений до последнего разряда мантиссы. Это означает, что для промежуточных значений вычислений придётся выбирать более высокую точность.
Пользовательский интерфейс должен опираться на диалоговый режим работы. После выполнения очередной операции при необходимости значение регистра результата должно быть доступно для выполнения следующей операции в качестве первого операнда.