+
Skip to content

RomaA2000/itmo-java

Repository files navigation

itmo-java

ExpressionParser. Вычисление в различных типах с обработкой ошибок

Вычисляет обычные строковые выражения с переменными в различных типах

Модификации

  • Базовая
    • Класс GenericTabulator должен строить трехмерную таблицу значений заданного выражения.
      • mode — режим вычислений:
        • i — вычисления в int с проверкой на переполнение;
        • d — вычисления в double без проверки на переполнение;
        • bi — вычисления в BigInteger.
      • expression — выражение, для которого надо построить таблицу;
      • x1, x2 — минимальное и максимальное значения переменной x (включительно)
      • y1, y2, z1, z2 — аналогично для y и z.
      • Результат: элемент result[i][j][k] должен содержать значение выражения для x = x1 + i, y = y1 + j, z = z1 + k. Если значение не определено (например, по причине переполнения), то соответствующий элемент должен быть равен null.
  • AsmUfb
    • Дополнительно реализовать унарные операции:
      • abs — модуль числа, abs -5 равно 5;
      • square — возведение в квадрат, square 5 равно 25.
    • Дополнительно реализовать бинарную операцию (максимальный приоритет):
      • mod — взятие по модулю, приоритет как у умножения (1 + 5 mod 3 равно 1 + (5 mod 3) равно 3).
    • Дополнительно реализовать поддержку режимов:
      • u — вычисления в int без проверки на переполнение;
      • f — вычисления в float без проверки на переполнение;
      • b — вычисления в byte без проверки на переполнение.

FastScanner. Быстрый сканнер на джава

Сканнер с поддержкой парсинга чисел

FunctionalExpressionParser(on js).Функциональные выражения на JavaScript

Модификации

  • Базовая
    • Код должен находиться в файле functionalExpression.js.
  • PieAvgMed. Дополнительно реализовать поддержку:
    • переменных: y, z;
    • констант:
      • pi — π;
      • e — основание натурального логарифма;
    • операций:
      • avg5 — арифметическое среднее пяти аргументов, 1 2 3 4 5 avg5 равно 7.5;
      • med3 — медиана трех аргументов, 1 2 -10 med3 равно 1.
  • Variables. Дополнительно реализовать поддержку:
    • переменных: y, z;
  • OneIffAbs. Дополнительно реализовать поддержку:
    • переменных: y, z;
    • констант:
      • one — 1;
      • two — 2;
    • операций:
      • abs — абсолютное значение, -2 abs равно 2;
      • iff — условный выбор: если первый аргумент неотрицательный, вернуть второй аргумент, иначе вернуть первый третий аргумент.
        • iff one two 3 равно 2
        • iff -1 -2 -3 равно -3
        • iff 0 one two равно 1;
  • IffAbs. Дополнительно реализовать поддержку:
    • переменных: y, z;
    • операций:
      • abs — абсолютное значение, -2 abs равно 2;
      • iff — условный выбор: если первый аргумент неотрицательный, вернуть второй аргумент, иначе вернуть первый третий аргумент:
        • iff 1 2 3 равно 2
        • iff -1 -2 -3 равно -3
        • iff 0 1 2 равно 1;
  • OneTwo. Дополнительно реализовать поддержку:
    • переменных: y, z;
    • констант:
      • one — 1;
      • two — 2;

Md2Html. Markdown to HTML

Парсер с поддержкой изображений

ObjectExpressionParser(on js). Объектные выражения на JavaScript

Парсер с поддержкой вычисления производной и упращения выражения

Модификации

  • ArcTan. Дополнительно реализовать поддержку:
    • функций:
      • ArcTan (atan) — арктангенс, 1256 atan примерно равно 1.57;
      • ArcTan2 (atan2) — арктангенс, 841 540 atan2 примерно равно 1;
  • MinMax. Дополнительно реализовать поддержку:
    • функций:
      • Min3 (min3) — минимум из трех аргументов, 1 2 3 min равно 1;
      • Max5 (max5) — максимум из пяти аргументов, 1 2 3 4 5 max равно 5;
  • SinhCosh. Дополнительно реализовать поддержку:
    • унарных функций:
      • Sinh (sinh) — гиперболический синус, 3 sinh немного больше 10;
      • Cosh (cosh) — гиперболический косинус, 3 cosh немного меньше 10;

PrefixParser(on js). Обработка ошибок на JavaScript

Парсер с обработкой ошибок

Модификации

  • PrefixSumexpSoftmax. Дополнительно реализовать поддержку:
    • операций произвольного числа аргументов:
      • Sumexp (sumexp) — сумма экспонент, (8 8 9) примерно равно 14065;
      • Softmax (softmax) — softmax первого аргумента, (softmax 1 2 3) примерно равно 9;
  • PostfixSumexpSoftmax. Дополнительно реализовать поддержку:
    • выражений в постфиксной записи: (2 3 +) равно 5
    • унарных операций:
      • Sumexp (sumexp) — сумма экспонент, (8 8 9 sumexp) примерно равно 14065;
      • Softmax (softmax) — softmax первого аргумента, (1 2 3 softmax) примерно 9;
  • PrefixSumAvg. Дополнительно реализовать поддержку:
    • операций произвольного числа аргументов:
      • Sum (sum) — сумма, (sum 1 2 3) равно 6;
      • Avg (avg) — арифметическое среднее, (avg 1 2 3) равно 2;
  • PostfixSumAvg. Дополнительно реализовать поддержку:
    • выражений в постфиксной записи: (2 3 +) равно 5
    • унарных операций:
      • Sum (sum) — сумма, (1 2 3 sum) равно 6;
      • Avg (avg) — арифметическое среднее, (1 2 3 avg) равно 2;
  • PostfixSumsqLength. Дополнительно реализовать поддержку:
    • выражений в постфиксной записи: (2 3 +) равно 5
    • унарных операций:
      • Sumsq (sumsq) — сумма квадратов, (1 2 3 sumsq) равно 14;
      • Length (lengthу) — длина вектора, (3 4 length) равно 5;

About

my java homeworks

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载