Kurzusok
/
Delphi Pascal
Delphi Pascal
/
Feladatok
/
Racionális számok
Racionális számok

Racionális számok

Közepes

Utasítások

A racionális szám definíció szerint két egész szám, a és b hányadosa; a a számláló, b pedig a nevező, ahol b != 0.

Az r = a/b racionális szám |r| abszolút értéke |a|/|b|.

Két racionális szám, r₁ = a₁/b₁ és r₂ = a₂/b₂ összege: r₁ + r₂ = a₁/b₁ + a₂/b₂ = (a₁ * b₂ + a₂ * b₁) / (b₁ * b₂).

Két racionális szám, r₁ = a₁/b₁ és r₂ = a₂/b₂ különbsége: r₁ - r₂ = a₁/b₁ - a₂/b₂ = (a₁ * b₂ - a₂ * b₁) / (b₁ * b₂).

Két racionális szám, r₁ = a₁/b₁ és r₂ = a₂/b₂ szorzata (szorzás): r₁ * r₂ = (a₁ * a₂) / (b₁ * b₂).

Egy r₁ = a₁/b₁ racionális szám elosztása egy másik r₂ = a₂/b₂ számmal r₁ / r₂ = (a₁ * b₂) / (a₂ * b₁), amennyiben a₂ nem nulla.

Egy r = a/b racionális szám hatványozása nemnegatív egész n kitevőre: r^n = (a^n)/(b^n).

Egy r = a/b racionális szám hatványozása negatív egész n kitevőre: r^n = (b^m)/(a^m), ahol m = |n|.

Egy r = a/b racionális szám hatványozása valós (lebegőpontos) x számra a (a^x)/(b^x) hányados, ami valós szám.

Egy valós x szám hatványozása r = a/b racionális számra: x^(a/b) = root(x^a, b), ahol root(p, q) a p q-adik gyöke.

Valósítsd meg a következő műveleteket:

  • két racionális szám összeadása, kivonása, szorzása és osztása,
  • abszolút érték, egy adott racionális szám hatványozása egész kitevőre, egy adott racionális szám hatványozása valós (lebegőpontos) kitevőre, egy valós szám hatványozása racionális kitevőre.

A racionális számok implementációja mindig legyen a legegyszerűbb alakjára egyszerűsítve. Például a 4/4 egyszerűsítve 1/1 legyen, a 30/60 1/2, a 12/8 3/2, és így tovább. Egy r = a/b racionális szám egyszerűsítéséhez oszd el a-t és b-t a és b legnagyobb közös osztójával (gcd). Így például gcd(12, 8) = 4, ezért r = 12/8 egyszerűsíthető (12/4)/(8/4) = 3/2-re.

Feltételezd, hogy a programozási nyelv, amit használsz, nem tartalmazza a racionális számok implementációját.

Kurzusspecifikus utasítások

  • Ebben a feladatban most ismerkedsz meg az operátortúlterheléssel. Ha szeretnéd megérteni, hogyan lehet felülírni egy osztály operátorait, és mi az Implicit és az Explicit típuskonverzió, az Embarcadero docwiki oldala a témáról nagy segítségedre lesz.

Forrás

WikipediaA hivatkozás új ablakban vagy lapon nyílik meg
Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
Delphi Pascal Exercism

Készen állsz elkezdeni a(z) Racionális számok feladatot?

Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Delphi Pascal nyelvet 76 feladat segítségével, valódi emberi mentorálással, mindez ingyen.