Сalc[Русский]-Введение.
What is calc?
Calc - это интерактивный калькулятор, который позволяет легко выполнять большие
числовые вычисления, но который также можно легко запрограммировать
для сложных или длительных вычислений. Он может принимать аргумент командной строки
, в этом случае он выполняет эту единственную команду и завершает работу.
В противном случае он переходит в интерактивный режим. В этом режиме он принимает команды
по одной за раз, обрабатывает их и отображает ответы.
В простейшем случае команды представляют собой просто выражения, которые
вычисляются. Например, может быть введена следующая строка:
3 * (4 + 1)
и калькулятор печатает:
15
Calc содержит обычный набор арифметических операторов +, -, /, *
as well as ^ (возведение в степень), % (модуль) and // (целочисленное деление).
For example:
3 * 19^43 - 1
will produce:
29075426613099201338473141505176993450849249622191102976
Обратите внимание, что значения calc могут быть очень большими. Например:
2^23209-1
will print:
402874115778988778181873329071 ... many digits ... 3779264511
Специальный символ "." (называемый точкой) представляет результат выполнения
последнего командного выражения, если таковое имеется.
Это очень полезно, когда вычисляется последовательность
частичных результатов или когда изменяется режим вывода
и требуется повторно отобразить последний результат.
Например, приведенный выше результат (2^23209-1) можно изменить, набрав:
. % (2^127-1)
и калькулятор печатает:
39614081257132168796771975167
Для более сложных вычислений можно использовать переменные для сохранения
промежуточных результатов. Например, результат добавления 7 к
предыдущему результату можно сохранить, введя:
curds = 15
whey = 7 + 2*curds
Функции могут использоваться в выражениях.
Существует большое количество предопределенных функций.
Например, ниже будет рассчитан факториал значения'whey':
fact(whey)
и калькулятор печатает:
13763753091226345046315979581580902400000000
Калькулятор также знает о комплексных числах, так что при вводе:
(2+3i) * (4-3i)
cos(.)
will print:
17+6i
-55.50474777265624667147+193.9265235748927986537i
Калькулятор может вычислять трансцендентные функции, а также принимать и
отображать числа в вещественном или экспоненциальном формате. Например, набрав:
config("display", 70)
epsilon(1e-70)
sin(1)
prints:
0.8414709848078965066525023216302989996225630607983710656727517099919104
Calc может выводить значения в виде дробей, восьмеричных или шестнадцатеричных чисел.
Например:
config("mode", "fraction"),
(17/19)^23
base(16),
(19/17)^29
и калькулятор печатает:
19967568900859523802559065713/257829627945307727248226067259
0x9201e65bdbb801eaf403f657efcf863/0x5cd2e2a01291ffd73bee6aa7dcf7d1
Все числа представлены в виде дробей произвольного размера.
числители и знаменатели, которые всегда приводятся к наименьшим значениям.
Могут быть введены и преобразованы числа в вещественном или экспоненциальном формате
до эквивалентной доли.
Шестнадцатеричные, двоичные или восьмеричные числа могут быть
введены с помощью чисел с начальными '0x', '0b' or '0' characters.
Комплексные числа могут быть введены с помощью завершающего символа
'i', например '2+3i'.
Строки и символы вводятся с помощью одинарных или двойных кавычек.
Команды - это операторы в C-like язык, в котором каждая строка ввода
рассматривается как текст процедуры. Таким образом, строка команды
может содержать объявления переменных, выражения, метки,
условные тесты и циклы.
Присвоение любому имени переменной
автоматически определяет это имя как глобальную переменную.
Еще одна важная вещь, которую следует знать, это то, что все
вычисляемые выражения без присваивания выводятся автоматически.
Таким образом, вы можете вычислить
значение выражения, просто введя его в поле ввода.
Доступно множество полезных встроенных математических функций.
Используйте:
help builtin
command to list them.
Можете определить свои собственные функции, используя
'define' ключевое слово, за которым следует объявление функции,
очень похожее на C.
define f2(n)
{
local ans;
ans = 1;
while (n > 1)
ans *= (n -= 2);
return ans;
}
Таким образом, входные данные:
f2(79)
будет производить:
1009847364737869270905302433221592504062302663202724609375
Можно определить функции, которые должны возвращать только простое выражение
используя знак равенства, как в примере:
define sc(a,b) = a^3 + b^3
входные данные:
sc(31, 61)
будет производить:
256772
Переменные в функциях могут быть определены следующим образом
'global', 'local', or 'static'.
Глобальные переменные являются общими для всех функций и командной строки,
в то время как локальные переменные уникальны для каждой функции на уровне
и уничтожаются при возврате функции. Статические переменные
находятся в пределах отдельных входных файлов или функций и
никогда не уничтожаются. Переменные не вводятся во время определения, но
динамически изменяются по мере их использования.
Для получения дополнительной информации о языке и функциях calc попробуйте:
help overview
В частности, ознакомьтесь с другими функциями справки, перечисленными в
overview help file.
## Copyright (C) 1999,2021 Landon Curt Noll
##
## Calc - это открытое программное обеспечение;
## вы можете распространять его и/или модифицировать в соответствии с
## условиями версии 2.1 GNU Lesser General Public License,
## опубликованными Фондом свободного программного обеспечения (Free Software Foundation).
##
## Calc распространяется в надежде, что он будет полезен, но БЕЗ
## НИКАКИХ ГАРАНТИЙ; даже без подразумеваемых гарантий ТОВАРНОЙ пригодности
## или ПРИГОДНОСТЬ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ. Смотрите Меньший общий обзор GNU
## Публичная лицензия для получения более подробной информации.
##
## A copy of version 2.1 of the GNU Lesser General Public License is
## distributed with calc under the filename COPYING-LGPL. You should have
## received a copy with calc; if not, write to Free Software Foundation, Inc.
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
##
## Under source code control: 1991/07/21 04:37:21
## File existed as early as: 1991
##
## chongo <was here> /\oo/\ http://www.isthe.com/chongo/
## Share and enjoy!
http://www.isthe.com/chongo/tech/comp/calc/
- Подпись автора
Подпись: С уважением, Максим.
мой jabber id : maksim.nk@jabber.ru ;