Um número racional é definido como o quociente de dois números inteiros a e b, chamados respectivamente de numerador e denominador, onde b != 0.
O valor absoluto |r| do número racional r = a/b é igual a |a|/|b|.
A soma de dois números racionais r₁ = a₁/b₁ e r₂ = a₂/b₂ é r₁ + r₂ = a₁/b₁ + a₂/b₂ = (a₁ * b₂ + a₂ * b₁) / (b₁ * b₂).
A diferença de dois números racionais r₁ = a₁/b₁ e r₂ = a₂/b₂ é r₁ - r₂ = a₁/b₁ - a₂/b₂ = (a₁ * b₂ - a₂ * b₁) / (b₁ * b₂).
O produto (multiplicação) de dois números racionais r₁ = a₁/b₁ e r₂ = a₂/b₂ é r₁ * r₂ = (a₁ * a₂) / (b₁ * b₂).
A divisão de um número racional r₁ = a₁/b₁ por outro r₂ = a₂/b₂ é r₁ / r₂ = (a₁ * b₂) / (a₂ * b₁) se a₂ não for zero.
A potenciação de um número racional r = a/b a uma potência inteira não negativa n é r^n = (a^n)/(b^n).
A potenciação de um número racional r = a/b a uma potência inteira negativa n é r^n = (b^m)/(a^m), onde m = |n|.
A potenciação de um número racional r = a/b a um número real (de ponto flutuante) x é o quociente (a^x)/(b^x), que é um número real.
A potenciação de um número real x a um número racional r = a/b é x^(a/b) = root(x^a, b), onde root(p, q) é a q-ésima raiz de p.
Implemente as seguintes operações:
Na sua implementação de números racionais, os valores devem sempre ser reduzidos à forma irredutível. Por exemplo, 4/4 deve ser reduzido a 1/1, 30/60 deve ser reduzido a 1/2, 12/8 deve ser reduzido a 3/2, etc. Para reduzir um número racional r = a/b, divida a e b pelo máximo divisor comum (mdc) de a e b. Então, por exemplo, gcd(12, 8) = 4, e assim r = 12/8 pode ser reduzido a (12/4)/(8/4) = 3/2.
Considere que a linguagem de programação que você está usando não tem uma implementação de números racionais.
Crie sua conta no Exercism para aprender e dominar Delphi Pascal com 76 exercícios e mentoria humana de verdade, tudo de graça.