ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΠΊΠ° ΡΠ΅Π³ΡΠ΅ΡΡΠΈΠΈ
ΠΠ°ΡΠ΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅ Koef, Π³Π΄Π΅ ΡΠ΅ΡΠ°Π΅ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ° Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ, ΡΠΎΡΡΠ°Π²Π»Π΅Π½Π½Π°Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π²ΡΡΠΈΡΠ»Π΅Π½Π½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ² Π² ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅ Matrix ΠΈ Π²Π΅ΠΊΡΠΎΡΠ° ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΡ ΡΠ»Π΅Π½ΠΎΠ², ΡΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π² ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅ Vector, ΠΏΠΎ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΠ΅ΠΉΠ΄Π΅Π»Ρ. ΠΠΎΡΠ½ΠΈ ΡΡΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π±ΡΠ΄ΡΡ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠ°ΠΌΠΈ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ°. ΠΠΎΡΠ»Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π° ΡΠΊΡΠ°Π½ Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ° ΠΈ ΡΡΠ°Π·Π°: «ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΡ Enter». ΠΠ»Ρ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΠΊΠ° ΡΠ΅Π³ΡΠ΅ΡΡΠΈΠΈ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΠΊΠ° ΡΠ΅Π³ΡΠ΅ΡΡΠΈΠΈ
1. ΠΠ½Π°Π»ΠΈΠ· Π·Π°Π΄Π°Π½ΠΈΡ Π½Π° ΠΊΡΡΡΠΎΠ²ΡΡ ΡΠ°Π±ΠΎΡΡ
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΅ΡΠΈΡΡ Π·Π°Π΄Π°ΡΡ: ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π³ΡΠ°ΡΠΈΠΊΠ° ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ ΡΠΎΡΠ΅ΠΊ ΠΈ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ° ΡΠ΅Π³ΡΠ΅ΡΡΠΈΠΈ Π²ΡΠΎΡΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ. ΠΠ»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ° Π²ΡΠΎΡΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ:
Π³Π΄Π΅ Π°0, Π°1, Π°2 — ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ°.
Π§ΡΠΎΠ±Ρ ΡΠ°ΡΡΡΠΈΡΠ°ΡΡ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ° Π½ΡΠΆΠ½ΠΎ ΡΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ, Π° Π·Π°ΡΠ΅ΠΌ Π΅Ρ ΡΠ΅ΡΠΈΡΡ. ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄ ΠΠ΅ΠΉΠ΄Π΅Π»Ρ:
Π³Π΄Π΅, cj — ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΡΡ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ²
bk — ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π²Π΅ΠΊΡΠΎΡΠ° ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΡ ΡΠ»Π΅Π½ΠΎΠ².
ΠΡΡ Π·Π°Π΄Π°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π² Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Turbo Pascal. ΠΠ°Π½Π½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ΄ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ , ΡΡΠΈΠ³ΠΎΠ½ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
ΠΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ CTR, GRAPH ΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ OutΠ’extXY, STR, ΡΠ·ΡΠΊΠ° TURBO PASCAL. Π Π΄Π°Π½Π½ΠΎΠΉ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ Π³ΡΠ°ΡΠΈΠΊ Π±ΡΠ΄Π΅Ρ ΡΡΡΠΎΠΈΡΡΡΡ Π² Π΄Π΅ΠΊΠ°ΡΡΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ.
2. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
2.1 ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΠ°Π½Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΏΡΠΎΡΠ΅Π΄ΡΡ Koef, Vector, Matrix, Ozifr, Tochki, Polinom ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΡ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ ΡΠ΅Π»Π΅ΠΉ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅:
Π Π°Π±ΠΎΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Vector, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²Π΅ΠΊΡΠΎΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΡ ΡΠ»Π΅Π½ΠΎΠ². Π ΡΠΈΠΊΠ»Π΅ ΠΎΡ i:=1 Π΄ΠΎ Nd ΠΈ Π²ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΌ Π² Π½Π΅Π³ΠΎ ΡΠΈΠΊΠ»Π΅ ΠΎΡ k:=1 Π΄ΠΎ m ΠΏΠΎ ΡΠΎΡΠΌΡΠ»Π΅:
Sum:=Sum+exp (Ln (x[k])*(i-1))*y[k]
ΠΏΡΡΠ΅ΠΌ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΌΠ°ΡΡΠΈΠ²Π° Π΄Π°Π½Π½ΡΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ i-ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π²Π΅ΠΊΡΠΎΡΠ° ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΡ ΡΠ»Π΅Π½ΠΎΠ².
ΠΠ°Π»Π΅Π΅ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Matrix. ΠΠ½Π° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΡΠ΄Π° ΡΠΈΠΊΠ»ΠΎΠ²: ΠΎΡ i:=1 Π΄ΠΎ Nd ΠΈ Π²ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ Π² Π½Π΅Π³ΠΎ ΡΠΈΠΊΠ»Π°Ρ ΠΎΡ j:=1 Π΄ΠΎ Nd, k:=1 Π΄ΠΎ m ΡΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΌΠ°ΡΡΠΈΡΠ° ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ².
Π Π°ΡΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎ ΡΠΎΡΠΌΡΠ»Π΅:
Sum:=Sum+exp (Ln (x[k])*(i+j-2)).
ΠΠ°ΡΠ΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅ Koef, Π³Π΄Π΅ ΡΠ΅ΡΠ°Π΅ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ° Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ, ΡΠΎΡΡΠ°Π²Π»Π΅Π½Π½Π°Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π²ΡΡΠΈΡΠ»Π΅Π½Π½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ² Π² ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅ Matrix ΠΈ Π²Π΅ΠΊΡΠΎΡΠ° ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΡ ΡΠ»Π΅Π½ΠΎΠ², ΡΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π² ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅ Vector, ΠΏΠΎ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΠ΅ΠΉΠ΄Π΅Π»Ρ. ΠΠΎΡΠ½ΠΈ ΡΡΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π±ΡΠ΄ΡΡ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠ°ΠΌΠΈ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ°. ΠΠΎΡΠ»Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π° ΡΠΊΡΠ°Π½ Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ° ΠΈ ΡΡΠ°Π·Π°: «ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΡ Enter». ΠΠ»Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΆΠ°ΡΡ ΠΊΠ»Π°Π²ΠΈΡΡ «Enter». Π‘Π»Π΅Π΄ΠΎΠΌ ΡΠ°ΡΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Ρ , ΡΡΠΎΠ±Ρ Π³ΡΠ°ΡΠΈΠΊ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ° Π±ΡΠ» ΠΏΠ»Π°Π²Π½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ.
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π΄ΡΠ°ΠΉΠ²Π΅Ρ VGA ΠΈ ΡΠ΅ΠΆΠΈΠΌ VGAHI. ΠΠ°Π»Π΅Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ MaΡ X, MaΡ Y c ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ GetMaxX, GetMaxY. Π‘Π»Π΅Π΄ΠΎΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π»ΠΈΠ½ΠΈΡΠΌΠΈ ΡΠ΅ΡΠΊΠΈ ΠΏΠΎ ΠΎΡΠΈ ΠΠ₯, ΠY:
Rx:=(MaxX-L-P)/(Lin-1);
Ry:=(MaxY-V-N)/(Lin-1);
ΠΏΠΎΡΠΎΠΌ ΡΠ°ΡΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΡΠ°Π³ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Ρ , Ρ ΠΏΠΎ ΠΎΡΠΈ ΠΠ₯, ΠY
Spx:=(x[m] - x[1])/(Lin-1);
Spy:=(y[3] - y[1])/(Lin-1).
ΠΠ°ΡΠ΅ΠΌ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π²ΡΠ²ΠΎΠ΄ ΠΏΠΎΠ΄ΠΏΠΈΡΠ΅ΠΉ ΠΎΡΠ΅ΠΉ. Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ²Π΅Ρ Π»ΠΈΠ½ΠΈΠΉ ΡΠ΅ΡΠΊΠΈ ΡΠ΅ΡΡΠΌ SetColor (Lightgray). Π ΡΠΈΠΊΠ»Π΅ ΠΎΡ i:=1 Π΄ΠΎ Lin ΠΈΠ΄Π΅Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ Π»ΠΈΠ½ΠΈΠΉ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΊΠΈ ΠΏΡΡΡΠΌ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π»ΠΈΠ½ΠΈΠΉ.
Line (Round (L+Rx*(i-1)), MaxY-N, Round (L+Rx*(i-1)), V); Line (L, Round (MaxY-N-Ry*(i-1)), MaxX-P, Round (MaxY-N-Ry*(i-1))).
ΠΠ°ΡΠ΅ΠΌ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Ozifr, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ ΠΎΡΠΈΡΡΠΎΠ²ΠΊΡ ΠΎΡΠ΅ΠΉ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Str Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
Ρ [1]+Spx*(i-1)
ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ Π² ΡΡΡΠΎΠΊΠΎΠ²ΡΠΉ ΡΠΈΠΏ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΠ²ΡΠΈΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ss. ΠΠ°Π»Π΅Π΅ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ΅ΠΊΡΡ, ΡΠ΅Π½ΡΡΠΈΡΡΠ΅ΡΡΡ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ ΠΈ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ. ΠΠ°ΡΠ΅ΠΌ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ss Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ OutTextXY Π² ΡΠΎΡΠΊΡ
(L+Round (Rx*(i-1)), MaxY-N+Tx).
Π‘Π»Π΅Π΄ΠΎΠΌ ΠΈΠ΄Π΅Ρ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ° Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ y. Π’Π΅ΠΊΡΡ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΡΡΡ Π²ΠΏΡΠ°Π²ΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ ΠΈ ΡΠ΅Π½ΡΡΠΈΡΡΠ΅ΡΡΡ ΠΏΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ. ΠΠ°ΡΠ΅ΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
y[1]+Spy*(i-1):3:1, ss
ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Str Π² ΡΡΡΠΎΠΊΠΎΠ²ΡΠΉ ΡΠΈΠΏ, ΠΈ ΠΏΠΎΠ»ΡΡΠΈΠ²ΡΠΈΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ss. ΠΠΎΡΠΎΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ss Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ Π² ΡΠΎΡΠΊΠ΅
(L-Tx, MaxY-N-Round (Ry*(i-1)))
Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ OutTextXY.
ΠΠ°ΡΠ΅ΠΌ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ°ΡΡΠ΅Ρ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ² ΡΠ²ΡΠ·ΡΠ²Π°ΡΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ x, y Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ xx, yy
Zx:=(MaxX-L-P)/(x[m] - x[1]);
Zy:=(MaxY-V-N)/(y[3] - y[1]).
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌ ΡΠ΅Π³ΡΠ΅ΡΡΠΈΡ pascal
ΠΠ°Π»Π΅Π΅ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Tochki. Π ΡΠΈΠΊΠ»Π΅ ΠΎΡ j:=1 Π΄ΠΎ m ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΠΊΠ° ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ ΡΠΎΡΠ΅ΠΊ. ΠΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΠΎΡΠ΅ΠΊ Π²ΡΡΠΈΡΠ»ΡΡΡΡΡ ΠΏΠΎ ΡΠΎΡΠΌΡΠ»Π°ΠΌ
xx[j]: =L+Round ((x[j] - x[1])*Zx);
yy[j]: =MaxY-N-Round ((y[j] - y[1])*Zy),
ΠΏΠΎΡΠ»Π΅ ΠΏΠΎ ΡΠ°ΡΡΡΠΈΡΠ°Π½Π½ΡΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΡ Ρ ΡΠ΅Π½ΡΡΠΎΠΌ Π² ΡΠΎΡΠΊΠ΅ (xx[j], yy[j]) ΠΈ ΡΠ°Π΄ΠΈΡΡΠΎΠΌ ΡΡΠΈ ΠΏΠΈΠΊΡΠ΅Π»Ρ. ΠΠΎΡΠΎΠΌ ΠΈΠ΄Π΅Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Polinom. Π ΡΠΈΠΊΠ»Π΅ ΠΎΡ i:=1 Π΄ΠΎ t ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ°ΡΡΠ΅Ρ ΡΠΎΡΠ΅ΠΊ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π³ΡΠ°ΡΠΈΠΊΠ° ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ° ΠΏΠΎ ΡΠΎΡΠΌΡΠ»Π°ΠΌ
xx[i]: =L+Round ((xx1 [i] - xx1 [1])*Zx);
yy[i]: =MaxY-N-Round ((f (xx1 [i], a0, a1, a2) — y[1])*Zy),
Π³Π΄Π΅ f - ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ° ΡΠ΅Π³ΡΠ΅ΡΡΠΈΠΈ Π²ΡΠΎΡΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ, Π² Π½Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
xx1 [i] - ΡΠΎΡΠΊΠΈ ΠΏΠΎ ΠΊΠΎΡΠΎΡΡΠΌ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅,
a0, a1, a2 — ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ°.
ΠΠ°ΡΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅
If i=1 Then MoveTo (xx[i], yy[i]) Else LineTo (xx[i], yy[i]),
ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π΅ΡΠ»ΠΈ i=1 Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² ΡΠΎΡΠΊΡ Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ (xx[j], yy[j]), ΠΈΠ½Π°ΡΠ΅ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡΡ Π»ΠΈΠ½ΠΈΡ ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π² ΡΠΎΡΠΊΡ Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ (xx[i], yy[i]). ΠΠ°ΡΠ΅ΠΌ ΠΎΠΆΠΈΠ΄Π°Π΅ΡΡΡ Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ «Enter» ΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
2.2 ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ°.
ΠΠ°ΡΠ΅ΠΌ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Vector ΠΈ Matrix, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π΅ΠΊΡΠΎΡΠ° ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΡ ΡΠ»Π΅Π½ΠΎΠ² ΠΈ ΠΌΠ°ΡΡΠΈΡΡ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ² ΡΠΈΡΡΠ΅ΠΌΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ.
ΠΠ°Π»Π΅Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ, Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ² ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ° Π² ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅ Koef.
ΠΠΎΡΠΎΠΌ Π²ΡΠ²ΠΎΠ΄ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ² ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ°, ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΊ Π²ΡΠ²ΠΎΠ΄Ρ Π³ΡΠ°ΡΠΈΠΊΠ° Π½Π° ΡΠΊΡΠ°Π½ ΠΌΠΎΠ½ΠΈΡΠΎΡΠ° ΠΈ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ «Enter».
Π Π°ΡΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Ρ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π³ΡΠ°ΡΠΈΠΊΠ° ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅Π³ΡΠ΅ΡΡΠΈΠΈ Π²ΡΠΎΡΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ.
ΠΠΎΡΠ»Π΅ ΡΠ°ΡΡΠ΅ΡΠ° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ 640?480 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ, 16 ΡΠ²Π΅ΡΠΎΠ².
ΠΠ°ΡΠ΅ΠΌ ΡΠ°ΡΡΡΡΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π»ΠΈΠ½ΠΈΡΠΌΠΈ ΡΠ΅ΡΠΊΠΈ ΠΏΠΎ ΠΎΡΠΈ OX ΠΈ OY ΠΈ ΡΠ°Π³Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Ρ ΠΏΠΎ ΠΎΡΠΈ OX ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ y ΠΏΠΎ OY.
ΠΠΎΡΠΎΠΌ Π²ΡΠ²ΠΎΠ΄ ΠΏΠΎΠ΄ΠΏΠΈΡΠ΅ΠΉ ΠΎΡΠ΅ΠΉ ΠΈ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ Π»ΠΈΠ½ΠΈΠΉ ΡΠ΅ΡΠΊΠΈ.
ΠΠ°Π»Π΅Π΅ ΠΈΠ΄Π΅Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Ozifr, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΎΡΠΈΡΡΠΎΠ²ΠΊΠ° ΠΎΡΠ΅ΠΉ ΠΠ₯ ΠΈ OY, ΠΏΡΠΈΡΠ΅ΠΌ ΠΏΠΎ ΠΎΡΠΈ ΠΠ₯ Π±ΡΠ΄ΡΡ ΠΎΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Ρ , Π° ΠΏΠΎ ΠΎΡΠΈ OY Π·Π½Π°ΡΠ΅Π½ΠΈΡ Ρ.
Π Π°ΡΡΡΠΈΡΡΠ²Π°ΡΡΡΡ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ ΡΠ²ΡΠ·ΡΠ²Π°ΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Ρ , Ρ Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ.
ΠΠ°ΡΠ΅ΠΌ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΠΊΠ° ΡΠΎΡΠ΅ΠΊ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΠΎΡΠΎΠΌ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΠΊΠ° Π»ΠΈΠ½ΠΈΠΈ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ° ΡΠ΅Π³ΡΠ΅ΡΡΠΈΠΈ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡ Tochki ΠΈ Polinom. ΠΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ «Enter».
3. ΠΠ»ΠΎΠΊ-ΡΡ Π΅ΠΌΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ²
3.1 ΠΠ»ΠΎΠΊ-ΡΡ Π΅ΠΌΠ° ΡΡΠ½ΠΊΡΠΈΠΈ f
3.2 ΠΠ»ΠΎΠΊ-ΡΡ Π΅ΠΌΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Koef
3.3 ΠΠ»ΠΎΠΊ-ΡΡ Π΅ΠΌΠ° ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Ozifr
3.4 ΠΠ»ΠΎΠΊ-ΡΡ Π΅ΠΌΠ° ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Vector
3.5 ΠΠ»ΠΎΠΊ-ΡΡ Π΅ΠΌΠ° ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Matrix
3.6 ΠΠ»ΠΎΠΊ-ΡΡ Π΅ΠΌΠ° ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Tochki
3.7 ΠΠ»ΠΎΠΊ-ΡΡ Π΅ΠΌΠ° ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Polinom
3.8 ΠΠ»ΠΎΠΊ-ΡΡ Π΅ΠΌΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
4. ΠΠΈΡΡΠΈΠ½Π³ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
Program POLINOM;
Uses CRT, GRAPH;
Const
e=0.1; {ΠΏΠΎΠ³ΡΠ΅ΡΠ½ΠΎΡΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ}
m=9; {ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ x, y Π² ΡΠ°Π±Π»ΠΈΡΠ΅ Π΄Π°Π½Π½ΡΡ }
Nd=3; {ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠΈΡΡΠ΅ΠΌΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ}
t=60; {ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΎΡΠ΅ΠΊ Π΄Π»Ρ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ° ΡΠ΅Π³ΡΠ΅ΡΡΠΈΠΈ}
P=40; {ΠΎΡΡΡΡΠΏ ΡΠ΅ΡΠΊΠΈ ΡΠΏΡΠ°Π²Π°, [pix]}
L=50; {ΠΎΡΡΡΡΠΏ ΡΠ΅ΡΠΊΠΈ ΡΠ»Π΅Π²Π°, [pix]}
N=50; {ΠΎΡΡΡΡΠΏ ΡΠ΅ΡΠΊΠΈ ΡΠ½ΠΈΠ·Ρ, [pix]}
V=50; {ΠΎΡΡΡΡΠΏ ΡΠ΅ΡΠΊΠΈ ΡΠ²Π΅ΡΡ Ρ, [pix]}
Lin=6; {ΡΠΈΡΠ»ΠΎ Π»ΠΈΠ½ΠΈΠΉ Π² ΡΠ΅ΡΠΊΠ΅}
Ndp=20; {ΠΎΡΡΡΡΠΏ Π΄Π»Ρ Π½Π°Π΄ΠΏΠΈΡΠΈ, [pix]}
Tx=10; {ΠΎΡΡΡΡΠΏ Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠ°, [pix]}
x:array [1.m] of extended=
(100,200,200,300,300,400,500,600,600); {ΡΠ°Π±Π»ΠΈΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Ρ }
y:array [1.m] of extended=
(8. 1,15. 3,16. 2,18. 5,17,13. 5,12. 3,11. 1,10.5);
{ΡΠ°Π±Π»ΠΈΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Ρ}
X1:array [1.Nd] of extended=(0,0,0); {Π½Π°ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΈΡ ΠΊΠΎΡΠ½Π΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ}
VAR
b, {Π²Π΅ΠΊΡΠΎΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΡ ΡΠ»Π΅Π½ΠΎΠ²}
X2, {ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠ½Π΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ}
Sum1: array [1.Nd] of extended; {ΡΡΠΌΠΌΠ°}
A:array [1.Nd, 1. Nd] of extended;
{ΠΌΠ°ΡΡΠΈΡΠ° ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ² ΡΠΈΡΡΠ΅ΠΌΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ}
xx, yy: array [1.t] of integer; {ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ x, y Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π³ΡΠ°ΡΠΈΠΊΠΎΠ²}
xx1:array [1.t] of extended; {Π½ΠΎΠ²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Ρ }
k, i, j, d: integer; {ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ }
Sum, Sum2, {ΡΡΠΌΠΌΡ}
h, {ΡΠ°Π³ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Ρ }
a0, a1, a2: extended; {ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ°}
GrDriver, {Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π΄ΡΠ°ΠΉΠ²Π΅Ρ}
GrMode:integer; {Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ}
MaxX, MaxY: integer; {ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ X, Y, [pix]}
Rx, Ry: extended; {ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π»ΠΈΠ½ΠΈΡΠΌΠΈ ΡΠ΅ΡΠΊΠΈ ΠΏΠΎ ΠΎΡΠΈ X, Y, [pix]}
Spx, {ΡΠ°Π³ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Ρ ΠΏΠΎ ΠΎΡΠΈ 0Π₯}
Spy:extended; {ΡΠ°Π³ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ y ΠΏΠΎ ΠΎΡΠΈ 0Y}
ss:string; {ΡΡΡΠΎΠΊΠΎΠ²Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ}
Zx, Zy: extended; {ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π² Π³Ρ. ΡΠ΅ΠΆΠΈΠΌ}
{*********************** ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌ 2 ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ************************}
Function f (x, a0, a1, a2: extended): extended;
Begin
f:=a0+a1*x+a2*sqr (x);
End;
{***************Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Π²Π΅ΠΊΡΠΎΡΠ° ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΡ ΡΠ»Π΅Π½ΠΎΠ² ***************}
Procedure Vector;
Begin
For i:=1 to Nd do
Begin
Sum:=0;
For k:=1 to m do
Begin
Sum:=Sum+exp (Ln (x[k])*(i-1))*y[k];
End;
b[i]:=Sum;
End;
End;
{**************** Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ² ***************}
Procedure Matrix;
Begin
For i:=1 to Nd do
For j:=1 to Nd do
Begin
Sum:=0;
For k:=1 to m do
Begin
Sum:=Sum+exp (Ln (x[k])*(i+j-2));
End;
A [i, j]: =Sum;
End;
End;
{****************Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ² ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ° ***************}
Procedure Koef;
Begin
Repeat
d:=0;
For i:=1 to Nd do
Begin
Sum:=0;
For k:=i to Nd do
Begin
Sum:=Sum+A [i, k]*X1 [k];
End;
Sum2:=0;
For k:=1 to i-1 do
Begin
Sum2:=Sum2+A [i, k]*X2 [k];
End;
Sum1 [i]: =Sum+Sum2-B[i];
X2 [i]: =X1 [i] - Sum1 [i]/A [i, i];
If Abs (X2 [i] - X1 [i])>E
Then d:=1;
X1 [i]: =X2 [i];
End;
Until d=0;
End;
{************************ ΠΎΡΠΈΡΡΠΎΠ²ΠΊΠ° ΠΎΡΠ΅ΠΉ *************************}
Procedure Ozifr;
Begin
SetColor (White);
For i:=1 to Lin do
Begin
Str (x[1]+Spx*(i-1):3:1, ss);
SetTextJustify (CenterText, CenterText); {Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ°}
OutTextXY (L+Round (Rx*(i-1)), MaxY-N+Tx, ss);
SetTextJustify (RightText, CenterText); {Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ°}
Str (y[1]+Spy*(i-1):3:1, ss);
OuttextXY (L-Tx, MaxY-N-Round (Ry*(i-1)), ss);
End;
End;
{*************** ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ ΡΠΎΡΠ΅ΠΊ ***************}
Procedure Tochki;
Begin
SetColor (Green);
For j:=1 to m d
Begin
xx[j]: =L+Round ((x[j] - x[1])*Zx);
yy[j]: =MaxY-N-Round ((y[j] - y[1])*Zy);
Circle (xx[j], yy[j], 3)
End;
End;
{****************** ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ° ΡΠ΅Π³ΡΠ΅ΡΡΠΈΠΈ *****************}
Procedure Polinom;
Begin
SetColor (Red);
For i:=1 to t do
Begin
xx[i]: =L+Round ((xx1 [i] - xx1 [1])*Zx);
yy[i]: =MaxY-N-Round ((f (xx1 [i], a0, a1, a2) — y[1])*Zy);
If i=1 Then MoveTo (xx[i], yy[i])
Else LineTo (xx[i], yy[i]);
End;
End;
{***********************ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°***********************}
Begin;
Clrscr;
Vector;
Matrix;
Koef;
Writeln (' KΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ°: ');
For i:=1 to Nd do
Writeln ('a', i-1,'=', x1 [i]: 3:10);
Writeln (' ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΡ Enter');
a0:=x1 [1]; a1:=x1 [2]; a2:=x1 [3];
Readln;
{*************** Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΡΠ°Π³Π° ΠΈ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΠ»Π° Ρ ***************}
h:=(x[m] - x[1])/(t-1);
For i:=1 to t do
xx1 [i]: =x[1]+h*(i-1);
{****************** ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π³Ρ. ΡΠ΅ΠΆΠΈΠΌΠ° **********************}
GrDriver:=VGA;
GrMode:=VGAHi;
InitGraph (GrDriver, GrMode, '');
{****************************************************************}
MaxX:=GetMaxX;
MaxY:=GetMaxY;
Rx:=(MaxX-L-P)/(Lin-1); {ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π»ΠΈΠ½. ΡΠ΅ΡΠΊΠΈ}
Ry:=(MaxY-V-N)/(Lin-1);
Spx:=(x[m] - x[1])/(Lin-1); {ΡΠ°Π³ ΠΊΠΎΠΎΡΠ΄. x, y ΠΏΠΎ ΠΎΡΡΠΌ ΠΎx, ΠΎy}
Spy:=(y[4] - y[1])/(Lin-1);
{***************** ΠΏΠΎΠ΄ΠΏΠΈΡΡ ΠΎΡΠ΅ΠΉ ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΠΊΠ° *****************}
OutTextXY (MaxX-P, MaxY-N+Ndp-5,'x');
OutTextXY (L-23, V-Ndp+5,'y');
SetTextJustify (CenterText, TopText); {Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ°}
{********************* ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ Π»ΠΈΠ½ΠΈΠΉ ΡΠ΅ΡΠΊΠΈ *********************}
SetColor (Lightgray);
For i:=1 to Lin do
Begin
Line (Round (L+Rx*(i-1)), MaxY-N, Round (L+Rx*(i-1)), V);
Line (L, Round (MaxY-N-Ry*(i-1)), MaxX-P, Round (MaxY-N-Ry*(i-1)));
End;
{*********************ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π² Π³ΡΠ°Ρ. ΡΠ΅ΠΆΠΈΠΌ ***********************}
Ozifr;
Zx:=(MaxX-L-P)/(x[m] - x[1]);
Zy:=(MaxY-V-N)/(y[3] - y[1]);
Tochki;
Polinom;
Readln;
End.