Перейти к содержанию
desti

Генератор калькуляторов

Рекомендуемые сообщения

Возможны глюки, проверьте сейчас. У меня ваши примеры показываются и считают.

Поделиться сообщением


Ссылка на сообщение

" Частоту (герц) во время (сек) " - https://www.chipmaker.ru/calc_php/calc.php?id=17

Там просто умножение.

Не считает.

Пробегается "лоадер" при нажатии "Посчитать" и пустые поля вывода как и были.

Поделиться сообщением


Ссылка на сообщение

Tardis, нажмите "сохранить алгоритм" в редакторе калькулятора.

Поделиться сообщением


Ссылка на сообщение

Вопрос.

 

Дискретные вычислители типа Математика/Арифметика занимают слишком много места на экране и усложняют понимание и редактирование алгоритма.

 

Вычислитель "Выражения" может заменить все остальные вычислители, может оставить только его? Я сейчас окончательно его причесываю, он может считать всё, что угодно и любой сложности. В строку можно добавлять функции, константы, всякие pi и e, скобки любой глубины вложенности.

Поделиться сообщением


Ссылка на сообщение

проверьте сейчас

Создал вновь калькулятор - не считает :cray:. Браузер Опера (56.0.3051.52), Хром (70.0.3538.67) и Файерфокс (62.0.3). Кэш чистил у всех, кроме оперы.

Поделиться сообщением


Ссылка на сообщение

Зашел в редактор, сохранил алгоритм, вернулся, нажал на лупу, попробовал "Посчитать", не взялось. Зашел в редактор, добавил в алгоритм число, просто чтобы проконтролировать, что сохраняется, сохранил, вернулся. Не взялось.

Обновил все JS и другие файлы с домена/субдоменов форума. Попробовал. Не взялось.

Возможно у меня что-то не хватает (прав доступа, сил разума).

Поделиться сообщением


Ссылка на сообщение

Всё, нашел глюка, сейчас должно заработать.

Поделиться сообщением


Ссылка на сообщение

Заработало!

Поделиться сообщением


Ссылка на сообщение

Вычислитель "Выражения" поддерживает все свойства и методы javascript библиотеки Math. Т.е. вы можете свободно использовать выражения типа sin($1+pi) / (12 * sqrt(7+$2))

Единственное изменение - константы типа pi пишутся маленькими буквами, приставка Math не используется.

Поделиться сообщением


Ссылка на сообщение

Спасибо, работает.

Поделиться сообщением


Ссылка на сообщение

Вычислитель "Выражения" может заменить все остальные вычислители, может оставить только его?

И в самом деле, почему бы и нет? Только справку по функциям добавить было бы очень неплохо.

Сейчас обратил внимание, а если нужно в выражении использовать сразу три или больше значений, которые вводятся пользователем, как быть? В "Выражении" только 2 входных параметра.

Поделиться сообщением


Ссылка на сообщение

а если нужно в выражении использовать сразу три или больше значений

Пока придется взять еще одну считалку "выражения". Потом добавлю другие варианты.

Поделиться сообщением


Ссылка на сообщение

Константы и функции для вычислителя "Выражения"

 

Тригонометрические функции (sin(), cos(), tan(), asin(), acos(), atan() и atan2()) принимают в параметрах или возвращают углы в радианах.

Для преобразования радианов в градусы, поделите их на величину (pi / 180); для преобразования в обратном направлении, умножьте градусы на эту же величину.

 

Константы:

 

e - число Эйлера, основание натуральных логарифмов, приблизительно равное 2,718.

ln2 - натуральный логарифм из 2, приблизительно равен 0,693.

ln10 - натуральный логарифм из 10, приблизительно равен 2,303.

log2e - двоичный логарифм из "e", приблизительно равен 1,443.

log10e - десятичный логарифм из "e", приблизительно равен 0,434.

pi - число Пи

sqrt1_2 - квадратный корень из 1/2, приблизительно равен 0,707.

sqrt2 - rвадратный корень из 2, приблизительно равен 1,414.

 

Функции:

 

abs(x) - абсолютное значение числа.

acos(x) - арккосинус числа.

acosh(x) - гиперболический арккосинус числа.

asin(x) - арксинус числа.

asinh(x) - гиперболический арксинус числа.

atan(x) - арктангенс числа.

atanh(x) - гиперболический арктангенс числа.

atan2(y, x) - арктангенс от частного своих аргументов.

cbrt(x) - кубический корень числа.

ceil(x) - наименьшее целое число, большее, либо равное указанному числу.

cos(x) - косинус числа.

cosh(x) - гиперболический косинус числа.

exp(x) - Ex, где x — аргумент, а E — число Эйлера (2,718…), основание натурального логарифма.

expm1(x) - exp(x) - 1.

floor(x) - наибольшее целое число, меньшее, либо равное указанному числу.

fround(x) - ближайшее число с плавающей запятой одинарной точности, представляющее это число.

hypot([x[, y[, …]]]) - квадратный корень из суммы квадратов своих аргументов.

log(x) - натуральный логарифм числа (loge, также известен как ln).

log1p(x) - натуральный логарифм числа 1 + x (loge, также известен как ln).

log10(x) - десятичный логарифм числа.

log2(x) - двоичный логарифм числа.

max([x[, y[, …]]]) - наибольшее число из своих аргументов.

min([x[, y[, …]]]) - наименьшее число из своих аргументов.

pow(x, y) - основание в степени экспоненты, то есть, значение выражения x^y.

random() - псевдослучайное число в диапазоне от 0 до 1.

round(x, n) - значение числа, округлённое до n цифр после запятой.

sin(x) - синус числа.

sinh(x) - гиперболический синус числа.

sqrt(x) - положительный квадратный корень числа.

tan(x) - тангенс числа.

tanh(x) - гиперболический тангенс числа.

trunc(x) - целая часть числа, без дробных цифр.

Поделиться сообщением


Ссылка на сообщение

Потихоньку добавляю сложности :) Еще не реализовано публично.

 

https://chipmaker.ru/images/algo_1.png

 

Смотрится сложновато, но надо учитывать, что это не только функция, но и создание и хранение данных, ввод-вывод и прочий сервис.

Это реализация примерно вот такой функции, добавляющей слово к переменной в нужном склонении.

 

m = new Array(3)
m[1] = "Метр"
m[2] = "Метра"
m[5] = "Метров"

value = getFormData();
met = getMeters(value)
string = value + " " + m[met]
setFormData(string);

function getMeters(number)
{
number %= 100
if (number >= 5 && number <= 20) {  return 5 }
number %= 10
if (number == 1) { return 1 }
if (number >= 2 && number <= 4) { return 2 }
return 5
}

 

Есть более красивые реализации этой функции, но для них надо еще немножко доработать генератор.

 

Ну и пока есть время, переделал несколько старых калькуляторов и сочинил парочку новых.

Поделиться сообщением


Ссылка на сообщение

Поскольку в калькуляторах достаточно часто нужно использовать склонение существительных, сделал отдельный компонент "Склонение". Теперь ужасный ужас с картинки выше выглядит совсем не страшно:

 

plur_1.jpg

 

Входное число поступает на вход "склонятеля", который выдает 0-1-2 в зависимости от необходимого склонения, затем этот код подается на вход управляемого списка, который по индексу выплевывает слово в нужном склонении. Потом склеиваем число и слово и выдаем на выход.

Поделиться сообщением


Ссылка на сообщение

Еще одна полезная фича - приставки системы СИ. Нужны для создания полей вывода в привычном виде.

 

pref_1.jpg

 

Работатет в диапазоне от фемто до тера.

Поделиться сообщением


Ссылка на сообщение

Ссылка пока не работает, это было в предыдущей версии движка. Для новой пока не доделал, в процессе.

Поделиться сообщением


Ссылка на сообщение

Понятно.

P.S. а вот еще вопрос. Не знаете, что случилось с online-калькуляторами, которые рассчитывали элементы гидропривода (гидронасосы, гидромоторы) ...ссылки на которые расположены на первой странице темы "Часто Задаваемые Вопросы по гидравлике".

Они отвалились...
Будут ли они работать или уже нет?
Очень были удобные они.

Поделиться сообщением


Ссылка на сообщение

Будут.

Поделиться сообщением


Ссылка на сообщение

Потихоньку в свободное время ковыряю "калькуляторы", сделал такую штуку для шабровщиков:

graph_2d.jpg

Вводим в окошки базу (длина платформы уровня), цену деления и через запятую значения уровня в делениях относительно нуля. На выходе имеем график нашей поверхности. Можно добавить несколько измерений, чтобы визуально был виден результат.

 

Поделиться сообщением


Ссылка на сообщение

Интерполяция в настройках графиков: линейная, кубическая и кубическая монотонная.

graph_2d1.jpg

Поделиться сообщением


Ссылка на сообщение

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу


×
×
  • Создать...

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.