SuperCalc


SuperCalc — электронная таблица, выпущенная Sorcim  (англ.) в 1981 году и изначально поставлявшаяся вместе с WordStar  (англ.) в составе набора программ CP/M для портативного компьютера Osborne 1. В 1984 году Sorcim была куплена Computer Associates[1], из-за чего последние версии SuperCalc носили название CA-SuperCalc.

В отличие от VisiCalc, SuperCalc является одной из первых электронных таблиц, способных итеративно разрешать кольцевые ссылки  (англ.) (ячейки, значения которых зависят друг от друга)[2].

Версии SuperCalc были выпущены для компьютеров Apple II, IBM PC с операционной системой DOS, а также для MS Windows, мейнфреймов IBM (S/360) и VAX/VMS.

В конце 1980 года Адам Осборн искал поставщика электронных таблиц для своего компьютера Osborne 1. Поскольку ему не удалось приобрести права на VisiCalc, он обратился в Sorcim с просьбой разработать электронную таблицу, которая могла бы соперничать с VisiCalc и была бы выпущена к апрелю 1981 года, чтобы её можно было показать на West Coast Computer Faire  (англ.). Основным разработчиком программы стал Гари Балейсен (Gary Balleisen)[3]. В итоге презентация была встречена с достаточно большим энтузиазмом. SuperCalc был написан на ассемблере, разработка стоила $20 000[4]. Наряду с WordStar, SuperCalc вошёл в комплект поставки компьютера Osborne 1. Также он продавался отдельно по цене $295[5].

Программе требовалась операционная система CP/M версии 2.2, 48 килобайт оперативной памяти и один дисковод. Поскольку большинство машин с CP/M использовали вывод на последовательный терминал, большинство других электронных таблиц для этой операционной системы не выводили таблицу в реальном времени; SuperCalc же содержал настройки для различных типов терминалов, позволявшие ему достаточно быстро перерисовывать экран в реальном времени[5]. Максимальный размер таблицы составлял 254 строки и 63 столбца. Максимальная длина текста в ячейке составляла 117 символов. Поддерживалось изменение ширины столбцов, а также вертикальное и горизонтальное разделение экрана. Была возможна защита ячеек от изменения[5].

Для математических вычислений использовался двоично-десятичный код, что позволяло увеличить точность вычислений[2]. Как целые числа, так и числа с плавающей запятой обрабатывались в диапазоне экспонент от 10−16 до 1016. Среди поддерживаемых математических функций были вычисление абсолютной величины, тригонометрические функции, экспонента и логарифмы. Имелись также логические функции и функции поиска минимума и максимума.