PolynomSolver

PolynomSolver je program na rátanie koreňov polynómov s jednoduchým konzolovým užívateľským rozhraním. Schopnosti programu najlepšie popíše samotné zadanie. Pokiaľ neviete, ako s programom začať, pozrite si, ako vypočítať odmocninu z dvoch. Tiež tu nájdete nejaké zákulisné informácie o programe a rozcestník tejto dokumentácie.


Rozcestník

Príkazy

Riešenie polynómov | Práca s registrami | Ostatné príkazy
Zoznam všetkých užívateľských príkazov aj s detailným popisom.

Chyby

Chyby | Varovania
Výpis všetkých možných chýb a varovaní spolu s dôvodom ich vzniku.

Štruktúra programu

Globals.pas | PolyMath.pas | FindRoot.pas | Zapoctak.pas
Programátorská dokumentácia programu.


Ako vypočítať odmocninu z dvoch

Môj program vie rátať korene polynómov. Tak čo to má spoločné s odmocninou z 2? Všetko! Odmocnina z 2 je totiž definovaná ako také kladné číslo x, ktoré po umocnení na druhú dá 2. Takže vlastne potrebujem vyriešiť rovnicu x2 = 2, čo je ekvivalentné s x2 - 2 = 0. No a také x sú práve korene polynómu x2 - 2.

Program nám ponúka možnosť zapamätať si polynóm do registra, aby sme ho mohli neskôr znova použiť. Tak tak urobíme, uložíme ho do registra označenom 'A'. Koeficient pri x2 je 1, člen s x-om nemáme, takže koeficient pri x je 0; a napokon absolútny člen je -2:

	> A = (1, 0, -2)
	A = 1.00x2 + 0.00x - 2.00

Výborne. Teraz chceme nájsť koreň. Najjednoduchšie je dať nájsť všetky korene polynómu a potom z nich vyberieme ten kladný. To sa robí pomocou príkazu "solve" alebo "vyries":

	> vyries A
	Pouzivam Newtonovu metodu.
	Pocet najdenych korenov: 2
	x_1 = -1.41421356240
	x_2 = 1.41421356240

Našiel dva korene, tak, ako sa na kvadratickú rovnicu patrí. Odmocnina z dvoch je podľa definície kladný koreň, takže sme to našli - x = 1.41421356240. Program spravil to, čo sme chceli a už sa s ním stačí len rozlúčiť.

	> bye
	Bye.
	Program ended successfully.

Zadanie

Úloha

Program vytvorený v Pascale bude schopný načítať zo súboru alebo z klávesnice polynóm a vybraným spôsobom nájsť jeho korene. Pritom bude schopný robiť jednoduché operácie s polynómami.

Špecifikácia

Na vstupe si môže užívateľ vybrať jednu z nasledujúcich činností:
  • Zvoliť si súbor ako vstup alebo výstup
  • Uložiť si do registra:
    • priamo polynóm vypísaním koeficientov
    • polynóm z iného registra
    • súčet, rozdiel, súčin, podiel a modulo polynómov z dvoch registrov
    • deriváciu polynómu
  • Nájsť korene polynómu jednou z vybraných metód:
    • pri polynóme druhého stupňa cez vzorec
    • metódou polenia intervalov (iteračne)
    • metódou diskrétnej derivácie (iteračne)
    • Newtonovou metódou (iteračne)

O programe

názov: PolynomSolver
verzia: 1.4
autor: Michal Szabados
inštitúcia: Karlova univerzita v Prahe
vznik: zimný semester 2007/2008
dôvod: zápočtový program na Programovanie I

jazyk: Pascal
súborov: 4
bajtov: 29 970
riadkov: 1 302
funkcií: 31

PolynomSolver