Все инструменты
ГРАФИК

Онлайн-скриптовый калькулятор математики: безопасный язык с циклами, функциями и графиками

Встроенная лаборатория сценариев для математики и построения графиков. Пишите программы на безопасном интерпретируемом языке (без eval) с переменными, массивами, функциями, циклами и условными конструкциями, плюс встроенные математические функции, численное дифференцирование и интегрирование и команды 2D/3D-построения. Запускайте по Ctrl/Cmd+Enter, загружайте примеры сценариев и видьте как вывод в консоль, так и SVG/WebGL-графики — всё выполняется локально в вашем браузере.

Ctrl/Cmd + Enter — запуск · Tab — отступ
СКРИПТЫ · РУКОВОДСТВО

Руководство по скриптовому калькулятору

Безопасный язык-песочница с переменными, функциями, циклами и графиками

Скриптовый калькулятор выполняет небольшой встроенный язык в изолированном интерпретаторе. Можно определять переменные и функции, использовать ветвления if/else, циклы for и while, массивы (с range, push и len), вызывать встроенные математические функции и строить 2D- или 3D-графики. Интерпретатор разбирается в AST и выполняется целиком в браузере — он никогда не использует eval или new Function, а ограничение шагов предотвращает бесконечные циклы.

01 Написание скрипта

Инструкции выполняются сверху вниз. Присваивайте переменные через =, определяйте функции через fn name(args) { ... } и ветвитесь через if/else. Циклы используют for (i = 0; i < n; i = i + 1) { ... } и while (cond) { ... }. Массивы создаются через [1, 2, 3] или range(n), а push/len работают как ожидается. print(...) пишет в консоль вывода.

Доступные математические функции включают sin, cos, tan, asin, acos, atan, log, exp, sqrt, abs, min, max, pow, floor, ceil и round, а также константу pi. Команды построения создают фигуры рядом с консолью: plot(f, xmin, xmax) для 2D-кривой; plot3d(f, xmin, xmax, ymin, ymax) для поверхности; param3d(x, y, z, tmin, tmax) для параметрической кривой; и scatter3d(xs, ys, zs) для облака точек. Также предоставляются derivative(f, x) и integrate(f, a, b).

Используйте кнопки примеров, чтобы загрузить рабочие образцы, затем отредактируйте их. Нажмите Ctrl/Cmd+Enter (или «Запустить») для выполнения. Редактор вставляет два пробела при нажатии Tab, чтобы сохранять аккуратные отступы. Если скрипт содержит ошибку, консоль показывает номер строки и причину; если он работает слишком долго, ограничение шагов безопасно его останавливает.

  • Переменные: x = 3, name = value (ключевое слово var/let не требуется)
  • Функции: fn add(a, b) { return a + b }
  • Условия: if (x > 0) { ... } else { ... }
  • Циклы: for и while с фигурными скобками вокруг тела
  • Массивы: [1, 2, 3], range(n), push(arr, v), len(arr)
  • Вывод: print(...); графики отрисовываются над консолью
Кнопки и клавиши

Запуск

  • ▶ ЗапуститьВыполняет скрипт. Сочетание Ctrl/Cmd+Enter.
  • Ctrl/Cmd+EnterСочетание клавиш для запуска.
  • TabВставляет два пробела для отступа.

Загрузчики примеров

  • 2DЗагружает пример 2D-графика с использованием plot(...).
  • 3DЗагружает пример 3D-поверхности с использованием plot3d(...).
  • ПараметрикаЗагружает пример кривой param3d(...).
  • ТочкиЗагружает пример облака точек scatter3d(...).

Редактор и вывод

  • область кодаПишите скрипт здесь; номера строк показаны в поле.
  • панель консолиПоказывает вывод print(...), сообщения об ошибках или «Нет вывода».
  • область графикаОтрисовывает 2D/3D-фигуры, когда скрипт вызывает команду построения.

Встроенные команды

  • plot(f, a, b)Нарисовать 2D-кривую f(x) на [a, b].
  • plot3d(f, a, b, c, d)Нарисовать поверхность z = f(x, y) в прямоугольнике.
  • param3d(x, y, z, a, b)Нарисовать параметрическую кривую при t ∈ [a, b].
  • scatter3d(xs, ys, zs)Нарисовать 3D-облако точек из трёх массивов.
  • derivative(f, x)Численная производная f в точке x.
  • integrate(f, a, b)Численный определённый интеграл на [a, b].
Советы
  • Всегда оборачивайте тела функций и циклов в фигурные скобки { }.
  • Используйте print(...) для проверки значений при отладке.
  • Ограничение шагов защищает страницу от бесконечных циклов — упростите тяжёлые циклы при остановке.
  • Начните с примера и измените его, чтобы быстро выучить синтаксис.
  • Внутри песочницы нет доступа к DOM, сети или eval — скрипты не могут покинуть браузер.

Бесплатный онлайн-скриптовый калькулятор со встроенным безопасным языком. Определяйте переменные и функции, используйте if/else, циклы for и while, массивы и range/len/push, вызывайте математические встроенные функции (sin, cos, log, sqrt, abs, min, max, pow) и стройте графики с помощью plot, plot3d, param3d и scatter3d. Интерпретатор работает в песочнице — он никогда не использует eval или new Function — и применяет ограничение шагов. Нажмите Ctrl/Cmd+Enter для запуска.

Написание скрипта

Инструкции выполняются сверху вниз. Присваивайте переменные через =, определяйте функции через fn имя(аргументы) { ... } и выполняйте ветвление через if/else. Циклы используют for (i = 0; i < n; i = i + 1) { ... } и while (условие) { ... }. Массивы создаются через [1, 2, 3] или range(n), а push/len работают как ожидается. print(...) выводит в консоль вывода.

Математические встроенные функции и построение

Доступные функции включают sin, cos, tan, asin, acos, atan, log, exp, sqrt, abs, min, max, pow, floor, ceil и round, а также константу pi. Команды построения: plot(f, xmin, xmax) для 2D; plot3d(f, xmin, xmax, ymin, ymax) для поверхностей; param3d(x, y, z, tmin, tmax) для кривых; scatter3d(xs, ys, zs) для облаков точек. Также предоставляются derivative(f, x) и integrate(f, a, b).

Безопасность и ограничения

Язык разбирается в AST и интерпретируется в песочнице без доступа к DOM, сети или eval. Ограничение шагов выполнения предотвращает бесконечные циклы, а память ограничена. Нажмите Ctrl/Cmd+Enter (или кнопку Run) для выполнения; ошибки показывают строку и причину в консоли. Все скрипты остаются в браузере.

Частые вопросы

QЯзык сценариев — это JavaScript?
A

Нет. Это небольшой собственный язык, разбираемый в AST и интерпретируемый в песочнице, без доступа к DOM, сети или eval.

QКак запустить скрипт?
A

Нажмите Ctrl/Cmd+Enter или кнопку Run. Вывод print(...) и любые графики появляются в области результатов.

QЧто произойдёт, если я напишу бесконечный цикл?
A

Интерпретатор применяет максимальное число шагов выполнения и останавливает скрипт с ошибкой, поэтому страница не зависнет.

QМожно ли строить графики из скрипта?
A

Да — используйте plot, plot3d, param3d и scatter3d; графики отрисовываются рядом с выводом консоли. Также доступны derivative(f,x) и integrate(f,a,b).