Zdravim.
Obracim se na Vas s prosbou, jestli by mi nekdo nemohl alespon podrobne teoreticky vysvetlit, jak s nima pracovat v programu.
Ja si to uz sam naprogramuju, ale nejak jsem se zasekl na tupem bode.
Na vstupu budu mit napr: (5*X^2+3*X-1)*(X-2) s vysledek to vyprdne 5*X^3-7*X^2-7*X+2.
Obsah prvni zavorky si dam do jedne promenne, obsah druheho do druhe. Pak si to rokzkouskuju do pole 1=5*X^2, 2=3*x atd. Co dal? Jak dal postupovat? Dal to nejak ctvrtit, udelat si pole na indexy a zvlast si ulozit x? Jejich hodnotu a mocninu a s tou pak dal pracovat?
Dekuji za pripadne odpovedi.
Fórum › Pascal
Polynomy
Obvykle se to dělá takto:
1. Datová struktura
pokud nikdy nebudeš pracovat s polynomy s více proměnnými, pak stačí pole koeficientů, v tom poli bude na i-tém místě koeficient pro x^i a bude typu Integer nebo Real. Pokud bude některé x^i chybět, pak bude v poli na i-tém místě prostě 0.
2. Parsování
napíšeš si funkci, která polynom přečte a rozseká na jednotlivé kousky a nakonec sestaví to pole
3. Zpracování
s těmi poly koeficientů můžeš naprogramovat operace které potřebuješ, to bude triviální pro sčítání a ne moc obtížné pro násobení
4. Výpis
no a nakonec si napíšeš funkci na převod z pole koeficientů zpátky do textu. To bude nejjednodušší :)
Pokud budeš používat více proměnných, asi by se z jednorozměrného pole koeficientů stala 2 nebo vícerozměrná tabulka. Anebo to pak rovnou předělat na obecné výrazy.
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Moderátoři diskuze