Giter VIP home page Giter VIP logo

generate-soroban-training's Introduction

Генератор примеров по методологии "соробан"

Установка

npm i -S generate-soroban-training

Возможности

  • оперделение массива используемых чисел
  • определение числового разряда
  • уникальность за счет алгоритма отбора и фильтрации
  • исключение ноля в начале формирования числа
  • подсчет суммы
  • вывод в виде строки
  • лимитирование по количеству рандомных операций
  • лимитирование по количеству примеров
  • лимитирование по количетству операций сложения вычитания

Методы исключений

  • первый ноль в числе
  • первое отрицательное число
  • примеры с суммой больше равно максимального чиста
  • примеры с суммой меньше равно минимального чиста
  • исключает примеры с промежуточной суммой больше равно максимального чиста
  • исключает примеры с промежуточной суммой меньше равно минимального чиста
  • исключает сумму равную нулю
  • исключает вхождение определенных операций
  • исключает примеры в суммах которых присутствуют только разрешенные числа

API

Methods

Получение массива примеров
let examples = SorobanTraining.getExamplesArray();
console.log(examples);
/*
[
	{ example: [ 422, 201 ], sum: 623 },
	{ example: [ 135, -201 ], sum: -66 },
 ]
*/
Получение строк примеров
let examples = SorobanTraining.getExamplesString();
console.log(examples);
/*
[ 
	'332-430+214-204=-88',
	'111-532+111+540=230',
]
*/

Настройки

const config = {
    debug: 1, // дебагинг
	digit: 1, // разрядность числа
    allowedNumbers: [0, 1, 2, 3, 4, 5], // разрешенные цифры
    actions: 2, // количество математических операций
    exampleslength: 2, // количество генерируемых примеров
	limit: 1000000, // количество случайных наборов потенциальных примеров
	exceptions: {
        'first mines number': null, // исключает первое отрицательное число
        'sum <= max allowed number': null, // исключает примеры с суммой больше равно максимального чиста, если `null` то максимальное число массива `allowedNumbers`
        'sum >= min allowed number': null, // исключает примеры с суммой меньше равно минимального чиста, если `null` то минимальное число массива `allowedNumbers`
        'sub sum <= max allowed number': null, // исключает примеры с промежуточной суммой больше равно максимального чиста, если `null` то максимальное число массива `allowedNumbers`
        'sub sum >= min allowed number': null, // исключает примеры с промежуточной суммой меньше равно минимального чиста, если `null` то минимальное число массива `allowedNumbers`
        'sub sum != zero': null, // исключает сумму равную нулю
        'actions': ['8-4', '7-4', '6-4', '5-4', '1+4', '2+4', '3+4', '4+4'], // исключает вхождение определенных операций
        'sum contained numbers': null // исключает примеры в суммах которых присутствуют только разрешенные числа, если `null` то разрешенными будут `allowedNumbers`
    },
    
}

new SorobanTraining(config);

generate-soroban-training's People

Contributors

romanits avatar web-west avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.