Řešení matematických výrazů

Řešení matematických výrazů

K automatickému řešení matematických výrazů je použití Microsoft Math API.

Hlavní přidanou hodnotou je krokové vysvětlení řešení, které pomáhá uživateli pochopit problematiku hlouběji. Na základě kroků řešení jsou generována i vysvětlující videa.

Pro zobrazení řešení úloh vyberte odkaz na test ze seznamu

Jak je to uděláno?

  1. Vyhledání matematických výrazů v testech
  2. Zavolání Microsoft Math API

1. Vyhledání matematických výrazů v testech

import markdownit from "markdown-it";
import * as katex from 'markdown-it-katex';

const Markdown = new markdownit({ html: false })
  .use(katex.default, {})

//get test content
const content = await text(`${baseUrl}/index.md`);
//parse markdown
const tokens = Markdown.parse(content, {});
// find math tokens
tokens.filter(token => token.type === 'math_block').map(d => d.content)

console.log(`Math tokens found: ${tokens}`)

// helper function
async function text(url) {
  const response = await fetch(url);
  if (!response.ok) throw new Error(`fetch failed: ${response.status}`);
  return await response.text();
}

2. Zavolání Microsoft Math API

async function json(url, data) {
  const response = await fetch(url,
    {
      headers: {
        'content-type': 'application/json'
      },
      method: "POST",
      body: JSON.stringify(data)
    });
  if (!response.ok) throw new Error(`fetch failed: ${response.status}`);
  return await response.json();
}
async function solveLatex(latexExpression) {
  let result = await json("https://mathsolver.microsoft.com/cameraexp/api/v1/solvelatex", {
    latexExpression,
    clientInfo: {
      mkt: 'cs'
    }
  });
  return result;
}

solveLatex('\\frac{5}{9} - \\frac{5}{9}: 5 =')