Results 1 to 17 of 17
Thread: Ïîìîù çà Ñ++
Hybrid View
-
5th April 2008 04:05 #1Registered User
Join Date: Apr:2008
Location: Bulgaria
Posts: 3
Ïîìîù çà Ñ++
Çäðàâåéòå.Ïúðâî äà êàæà ÷å ñúì íà÷èíàåù è çíàì ÷å êîäà êîéòî ùå âèäèòå å ìíîãî çëå.
Åòî ãî è íåãî :
Ïðîáëåìà òóê å ñëåäíèÿ.Ìîæå ëè äà ñå íàïðàâè òàêà ,÷å äà ñå âúâåäàò ñòåïåíèòå íà õ , ÷èñëîòî ïðåäè õ è íàêðàÿ öèôðàòà (â ñëó÷àÿ -1) ñúùî è çíàêà ïðåäè òÿõ ( - èëè + ) åòî òóê :Code:#include <iostream> using namespace std; #include <math.h> double F(double x) { double res = pow(x, 3) - pow(x, 2) + 8 * pow(x, 2) -12; return res; } void print_roots(){ double low , high; //çàäàâàíå íà ãðàíèöèòå cout<<"low=";cin>>low; cout<<"high=";cin>>high; for(int i = 0; i < 1000 ; ++i){ double mid = (float)(low + high)/2; double val = F(mid); cout << mid << ":" << val << endl; if(val < 0.00001 && val > -0.00001){ cout << "Root is " << mid << endl; return; } else if (val < 0 ) low = mid; else high = mid; } } int main(int argc, char **argv){ print_roots(); system("pause"); return 0; }
double res = pow(x, 9) - pow(x, 7) + 2 * pow(x, 2) -1;
ñëåä êîåòî äà ìè èçâåäå íà åêðàíà êàê èçãëåæäà çàäà÷àòà è îòãîâîðà.
Ïðîñòî òîâà çà ìåí å íåâúçìîæíî.
Äðóãîòî êîåòî ìå èíòåðåñóâà òàêà êàêòî å â ìîìåíòà ïðèñâîÿâà ëè ñòîéíîñòà íà mid íà õ ñëåä êîåòî äà ïðîâåðÿâà äàëè å = íà 0.
Êàòî ñòàðòèðàì ïðîãðàìàòà ìè èçêàðâà íåêâè ìíîãî ñòðàííè ðåøåíèÿ.öåëòà å äà ñå ïîëó÷è 0 èëè 0.è 6 çíàêà ñëåä íóëàòà.
Ïàê êàçâàì íà÷èíàåù ñúì àêî íå äàæå íèùî íå âäÿâàù.
Íàäÿâàì ñå äà ïîìîãíåòå çà êîåòî âè áëàãîäàðÿ ïðåäâàðèòåëíî.
-
5th April 2008 13:16 #2
Àìè ïî ïúðâèÿ âúïðîñ, íàïðàâè ñè äâå ìàñèâ÷åòà - åäíî çà êîåôèöèåíòèòå è åäíî çà ñòåïåíèòå è ïîñëå ãè ïîëçâàø â ïðè ñìåòêèòå (ò.å. ïðè äàäåíèÿ îò òåá ïðèìåð, êîåôèöèåíòèòå ñà 1, -1, 2 è -1, à ñòåïåíèòå ñà 9, 7, 2 è 0. Íÿìà íóæäà äà ðàçãðàíè÷àâàø îòäåëíî "íàêðàÿ öèôðàòà" - è òÿ å êîåôèöèåíò - ïðåä Õ íà íóëåâà ñòåïåí.
Ïî âòîðèÿ âúïðîñ, ìàêàð ÷å íå òè ðàçáèðàì ìíîãî òî÷íî âúïðîñà - ïðåäïîëàãàì ïèòàø äàëè íà ïðîìåíëèâàòà 'x' âúâ ôóíêöèÿòà F ñå ïðèñâîÿâà ñòîéíîñòòà íà mid? Àêî òàêúâ òè å âúïðîñà, îòãîâîðà å äà. Ñòðàííèòå ðåçóëòàòè, êîèòî âèæäàø â íà÷àëîòî, ñà ñòîéíîñòèòå íà mid íà âñÿêî çàâúðòàíå íà for öèêúëà. Ò.å. òå ñå "ïðèáëèæàâàò" äî èñòèíñêèÿ êîðåí ñúñ âñåêè öèêúë. Àêî íå èñêàø äà ñå ïîêàçâàò, ïðîñòî ðàçêàðàé ðåäà ñ cout << mid << ":" ...Åòî òàêà ñå ïëîäÿò òå, êàçâàì ñè àç. Ïîä íîñà òè.
"640K îught to be enough for anybody" - Bill Gates, 1981
Òåñòîâå íà áàòåðèè::Machine specs::Fract::AGG::ÍåÑåÑúðäè×îâå÷å::Baileys::blog::YouTube channel
-
6th April 2008 11:34 #3
Çäðàâåé, íå çíàì äàëè ðàçáèðàì ïðàâèëíî êàêâî ñå îïèòâàø äà ðåøèø? Òúðñèø ÷èñëåíî êîðåíèòå íà ïðîèçâîëåí ïîëèíîì ëè? Êîíêðåòíèÿò êîä ðåøàâà êîíêðåòíà çàäà÷à:
pow(x, 3) - pow(x, 2) + 8 * pow(x, 2) -12 = 0 ?!
Ïî ïúðâàòà ÷àñò îò çàïèòâàíåòî @anrieff òè å îòãîâîðèë, íà ô-öèÿòà:
double F(double x), òðÿáâà äà ñå ïîäàâàò îùå äâà åäíàêâè ïî ðàçìåð ìàñèâà çà: êîåôèöèåíòè è ñòåïåíè.
Íà âòîðàòà ÷àñò:
Âúçìîæíî å, îáà÷å â êîíêðåòíàòà ðåàëèçàöèÿ ìíîãî çàâèñè êàêâè ãðàíèöè çà êîðåíà äàâàø. Òîâà êîåòî ñè ðåàëèçèðàë íå å èñòèíñêè ìåòîä çà íàìèðàíå íà êîðåíè!
1) Èìàø: double mid = (float)(low + high)/2; (çàùî îáðúùàø âúâ float?!), à áè òðÿáâàëî äà å:
double mid = (high - low)/2;
È âúïðåêè òîâà, àêî ãðàíèöèòå òè, íå ñúäúðæàò êîðåíà, íÿìà è êàê äà ãî ïîëó÷èø. Èíà÷å, áè òðÿáâàëî êàòî ðåçóëòàò äà òè âúðíå åäíàòà îò ãðàíèöèòå íà èíòåðâàëà, àêî íå íàìèðà èñòèíñêè êîðåí èëè ïîíå äà òè èçêàðâà ñúîáùåíèå, ÷å âúâ âúâåäåíèÿò èíòåðâàë íÿìà íàìåðåíè êîðåíè.
Äà, íî ïðîáëåìà ñè îñòàâà â êîðåêòíîñòòà íà ïúðâîíà÷àëíî çàäàäåíèÿ èíòåðâàë. Çà äà ïðîâåðèø àëãîðèòúìà çà êîðåêòíîñò ðåøè ñè ïîëèíîì ñ èçâåñòíè êîðåíè, íàïðèìåð:
pow(x,2)-1 = 0 ñ èíòåðâàë [0,3] áè òðÿáâàëî íà 10-íà èòåðàöèè äà òè èçêàðà êîðåí 1 (èëè ìí áëèçúê äî íåãî
)
Ï.Ñ. Êîäà òè êàòî êîä íå å çëå, íî íå å îáù - ðåøàâà êîíêðåòíà çàäà÷à. Àëãîðèòúìà îáà÷å íå å êîðåêòíî ðåàëèçèðàí. + òîâà íÿìà äà ïîëó÷èø âñè÷êè êîðåíè â äàäåí èíòåðâàë, à åâåíòóàëíî ñàìî åäèí.
À ñåòèõ ñå îùå íåùî: Çà äà ñúùåñòâóâà êîðåí çà ïîëèíîì â äàäåí èíòåðâàë òðÿáâà ñòîéíîñòòà íà ïîëèíîìà â äâàòà ìó êðàÿ (íà èíòåðâàëà) äà å ñ ðàçëè÷íè çíàöè -> ìîæåø è òîâà äà ïðîâåðÿâàø îùå ïðåäè äà ïóñíåø èòåðàöèèòå.Last edited by Kaspirtov; 6th April 2008 at 11:53.
"Íèêîãà íå ìîæåì äà ñìå ñèãóðíè, ÷å ìíåíèåòî, êîåòî ñå ñòðåìèì äà çàäóøèì å ïîãðåøíî, à è äà áÿõìå ñèãóðíè, ïàê áè áèëî ïîãðåøíî äà ãî çàäóøèì."
Äæîí Ñòþàðä Ìèë
-
6th April 2008 17:46 #4
Íàïðîòèâ, òðÿáâà äà å, êàêòî å äàäåíî â êîäà, ñ "+" (mid å ñðåäíàòà òî÷êà ìåæäó low è high, à íå ïîëóðàçñòîÿíèåòî ìåæäó òÿõ). Ïðåîáðàçóâàíåòî âúâ float íàèñòèíà å èçëèøíî è ùå äîâåäå äî ÷èñëåíà íåñòàáèëíîñò ïðè ïðèáëèæàâàíå íà êîðåíà, îñîáåíî àêî ïúðâàòà ïðîèçâîäíà íà ïîëèíîìà â îêîëíîñò íà êîðåíà å îãðîìíà ïî àáñîëþòíà ñòîéíîñò.
Àëãîðèòúìúò ìîæå äà ñå ïîäîáðè, êàòî ñå ïðîâåðÿâà íå ïðîñòî çíàêà íà F(mid), à ñúùî òàêà îòíîøåíèåòî ìó êúì çíàöèòå íà F(low) è F(high) è ñå èçáèðà òîçè èíòåðâàë, â êîéòî çíàöèòå ñå ðàçëè÷àâàò, ò.å. èìà ïðåñè÷àíå íà íóëàòà è ñëåäîâàòåëíî êîðåí. Ïðè òàêà íàïèñàíàòà ïðîãðàìà ñå ïðàâè äîïóñêàíåòî, ÷å F(low) < 0 è F(high) > 0. Äðóã âàðèàíò å ïðåäè ïúðâàòà èòåðàöèÿ äà ñå ïðîâåðè, ÷å óñëîâèåòî å èçïúëíåíî, êàòî low è high ñå ðàçìåíÿò, àêî íå å.
Èçîáùî ìåòîäúò íà áèñåêöèÿòà ðàáîòè íàé-äîáðå (à è ÷åñòî ñàìî òîãàâà), êîãàòî ïðåäâàðèòåëíî ïîëîæåíèåòî íà êîðåíà ñå îïðåäåëè ïî íÿêàêúâ ãðóá íà÷èí, ñëåä êîåòî íà àëãîðèòúìà ñå ïîäàäå èíòåðâàë, â êîéòî ôóíêöèÿòà ñúñ ñèãóðíîñò ñìåíÿ çíàêà ñè.Internet - it doesn't make you stupid, it just makes your stupidity more accessible to others
-
6th April 2008 18:11 #5
Èìàõ ïðåäâèä: double mid = low + (high - low)/2; , êîåòî êàòî ñå ðàçêðèÿò ñêîáèòå ñè å êàêòî ãî å çàäàë....

Ãðåøêà, îáà÷å çà îñòàíàëîòî?! Òîé íå ïðîâåðÿâà çíàêà íà F(mid), à äàëè Abs(F(mid))<0.00001., êîåòî çàïèñàíî ïî íåãîâèÿ íà÷èí:
if(val < 0.00001 && val > -0.00001)
å òî÷íî ñúùîòî. (ò.å. äàëè ñ íàìåðåíîòî ÷èñëî, ñòîéíîñòòà íà ô-öèÿòà å äîñòàòú÷íî áëèçêà äî íóëàòà, îò òóê è ÷èñëîòî äà å êîðåí íà ïîëèíîìà)
Îò äðóãà ñòðàíà ñè èìà ÷èñëåíè àëãîðèòìè, êîèòî íàìèðàò âñè÷êè êîðåíè çà äàäåí ïîëèíîì, íî íå ìèñëÿ, ÷å òîâà å öåëòà íà "óïðàæíåíèåòî" çà òîâà è íå ðàçïèñàõ òàêúâ?!"Íèêîãà íå ìîæåì äà ñìå ñèãóðíè, ÷å ìíåíèåòî, êîåòî ñå ñòðåìèì äà çàäóøèì å ïîãðåøíî, à è äà áÿõìå ñèãóðíè, ïàê áè áèëî ïîãðåøíî äà ãî çàäóøèì."
Äæîí Ñòþàðä Ìèë
-
10th April 2008 04:02 #6Registered User
Join Date: Dec:2007
Location: Íèêúäå
Posts: 655
Íå å âÿðíî. x^2 èìà êîðåí â [-1;1]. Ãîðíîòî å äîñòàòú÷íî, íî íå å íåîáõîäèìî óñëîâèå.
Òîé ãîâîðåøå (ïúðâîíà÷àëíî) çà ïðîèçâîëåí ïîëèíîì, íå ôóíêöèÿ
...
Íå òè ëè çâó÷è áåçóìíî äà èíòåðïîëèðàø ïðîèçâîëíà ôóíêöèÿ ñ ïîëèíîì, ñëåä êîåòî äà íàìåðèø íÿêàêâè êîðåíè è äà òâúðäèø, ÷å îòãîâàðÿò íà òåçè íà îðèãèíàëíàòà ôóíêöèÿ, ïúê äîðè è ñ íÿêàêâî ïðèáëèæåíèå?
-
10th April 2008 09:34 #7
?!?!?!?!?!?!?!?!?!
Ïðåäè äà òè îòãîâîðÿ, èñêàì äà ïèòàì, çàùî ñå çàÿæäàø?!?! Ïðè òîâà áåç íåîáõîäèìè çíàíèÿ!
È ñåãà ïîäðåä:
Èëè íèêîãà íå ñè ó÷èë ÷èñëåíè ìåòîäè èëè ñè ... êëàñ è íàðî÷íî ñå ïðàâèø íà... èíòåðåñåí.
Òî òàêà è â èíòåðâàë (-inf, +inf) ñà âñè÷êè êîðåíè çà äàäåíà ôóíêöèÿ!
À "ãîðíîòî" íå å íèêàêâî óñëîâèå ïðè îïðåäåëåíè ñâîéñòâà íà ôóíêöèÿòà!
Next time îáúðíè ïîâå÷å âíèìàíèå íà ñëåäíèÿò öèòàò:
Èëè ñ ïðîñòè äóìè -> êîíêðåòíè ñúâåòè çà êîíêðåòíî çàïèòâàíå!
Originally Posted by Kaspirtov
?!?!?
Òóê ïðîñòî åäâàì ñå âúçäúðæàì äà íå òè íàïèøà íåùî, ïðîñåùî êàðòîí!
Ïðôîèçâîëíà ô-öèÿ ìîæåø äà èíòåðïîëèðàø ïîëèíîìè îò êîÿòî ñòåïåí ñè èñêàø!
Search â google "Èíòåðïîëàöèÿ ñ êðàéíè åëåìåíòè"!Last edited by Kaspirtov; 10th April 2008 at 10:06.
"Íèêîãà íå ìîæåì äà ñìå ñèãóðíè, ÷å ìíåíèåòî, êîåòî ñå ñòðåìèì äà çàäóøèì å ïîãðåøíî, à è äà áÿõìå ñèãóðíè, ïàê áè áèëî ïîãðåøíî äà ãî çàäóøèì."
Äæîí Ñòþàðä Ìèë
-
10th April 2008 12:31 #8Registered User
Join Date: Dec:2007
Location: Íèêúäå
Posts: 655
Kaspirtov, äîáðà èäåÿ å äà ÷åòåø âíèìàòåëíî êàêâî òî÷íî îò òîâà, êîåòî ñè íàïèñàë, ñå êîìåíòèðà è êàêâî ñúì íàïèñàë, îñîáåíî àêî ùå îöåíÿâàø çíàíèÿòà ìè.
Ìíîãî òè å ñòðàííà ðåàêöèÿòà - íàïèñàë ñè åäíî òâúðäåíèå, àç ñúì òè äàë ïðèìåð, êîéòî ïîêàçâà, ÷å å íåâÿðíî, è òè îòãîâàðÿø ïî íÿêàêúâ íåñâúðçàí íà÷èí... Äà, âÿðíî å, ÷å äàâàø êîíêðåòíè ñúâåòè çà êîíêðåòíî çàïèòâàíå, íî òâúðäåíèåòî òè, êîåòî èçêîìåíòèðàõ, å òâúðäå îáùî è ñúâñåì íå ñå âïèñâà â òàçè êàðòèíà.
Àêî ñëó÷àéíî ñè èìàë ïðåäâèä, ÷å çà âñåêè êîðåí íà ïðîèçâîëåí ïîëèíîì ñúùåñòâóâà îêîëíîñò, ñúäúðæàùà êîðåíà, òàêàâà ÷å â äâàòà ïîäèíòåðâàëà "âëÿâî" è "âäÿñíî" îò êîðåíà ñòîéíîñòèòå íà ïîëèíîìà ñà ñ ðàçëè÷íè çíàöè, òîãàâà àêî íàèñòèíà èìàøå ìàòåìàòè÷åñêèòå çíàíèÿ, çà êîèòî ïðåòåíäèðàø, ùåøå äà çàáåëåæèø, ÷å äâåòå òâúðäåíèÿ íå ñà åêâèâàëåíòíè. Àéäå êàòî ãîâîðèì çà ìàòåìàòèêà äà ñè ïîçâîëèì ìàëêî ïðåöèçíîñò...
Êàêòî òè êàçàõ, î÷åâèäíî íå ÷åòåø êàêâî ïèøà, íî ùå òè ïîâòîðÿ ñ äðóãè äóìè - íå ìè õàðåñâà ïîñòàíîâêàòà äà èíòåðïîëèðàø ôóíêöèÿ (È äà, ïðîèçâîëíà ôóíêöèÿ, íå ïîëèíîì!), çà äà è íàìèðàø êîðåíèòå ñëåä òîâà íà áàçàòà íà èíòåðïîëàöèîííèÿ ïîëèíîì. icaci òå ïîïèòà êàê äà íàìèðà âñè÷êè êîðåíè, òè ìó çàãîâîðè çà èíòåðïîëàöèÿ, òàêà ÷å íå âèæäàì ïî êàêúâ äðóã íà÷èí äà òå ðàçáèðàì, íî ìîæå è äà ñå íàëàãà äà äîîáÿñíèø.
Äà òè äàì è êîíêðåòåí ïðèìåð - àêî tan(x), âçåò â èíòåðâàëà [-1;1], èíòåðïîëèðàø ñ ïîëèíîì ñúñ ñòåïåí, ïî-âèñîêà îò 1, íà ïðàêòèêà ùå ñè "èçìèñëÿø" êîðåíè.
-
10th April 2008 12:48 #9
Ïðèçíàé ñè íà êîëêî ãîäèíè ñè è ùå òè îáÿñíÿâàì âñè÷êî, êîåòî òå èíòåðåñóâà áåç äà ñå äðàçíÿ, îáåùàâàì!
Äà èíòåðïîëèðàø íåùî ñ ïîëèíîì íå îçíà÷àâà âìåñòî tan(x) äà âçåìåø íàïðèìåð:
ax^(2) + bx + c ?!
Îáèêíîâåíî â äîñòàòú÷íî ìàëêè èíòåðâàëè, ñàìàòà ô-öèÿ ñå çàìåñòâàò ñ ïîëèíîì îò ïðîèçâîëíà ñòåïåí. Òîâà ñè å Ìåòîä èëè Èíòåðïîëàöèÿ ñ êðàéíè åëåìåíòè. Ò.å. ô-öèÿòà òè ñå ïðåäñòàâÿ êàòî ñóìà îò ïîëèíîìè îò êîíêðåòíà ñòåïåí. Èëè àêî èçïîëçâàø åëåìåíòè (ïîëèíîìè) îò ïúðâà ñòåïåí ùå ïîëó÷èø ïðåäñòàâÿíå íà tan(x) êàòî íà÷óïåíà ëèíèÿ, òî÷íîñòòà íà ïðèáëèæåíèåòî çàâèñè îñâåí îò êîíêðåòíî èçáðàíèÿò èíòåðïîëàöèîíåí ïîëèíîì, òàêà è îò ãîëåìèíàòà íà èíòåðâàëèòå, â êîèòî ô-öèÿòà ñå çàìåñòâà ñ íåãî.
Äàäîõ òè hint
Íî òè äàæå íå ñè ãî çàáåëÿçàë!
Originally Posted by Kaspirtov
Îñòàíàëàòà ÷àñò îò ïîñòà òè ñè ÿ òúëêóâàé è íòåðïðåòèðàé êàêòî èñêàø, çà ìåí àêî íå ÷èñòà ïðîáà çàÿæäàíå, å "ãëåäàíå ïîä ëóïà" ïàê ñ öåë ÷èñòà ïðîáà çàÿæäàíå?! Íàïèñàíèòå ïî-ðàíî îò ìåí íåùà ñà âåðíè, çà êîíêðåòíàòà çàäà÷êà è â ñúùîòî âðåìå íèêúäå íå êàçâàì, ÷å ñà îáùè"Íèêîãà íå ìîæåì äà ñìå ñèãóðíè, ÷å ìíåíèåòî, êîåòî ñå ñòðåìèì äà çàäóøèì å ïîãðåøíî, à è äà áÿõìå ñèãóðíè, ïàê áè áèëî ïîãðåøíî äà ãî çàäóøèì."
Äæîí Ñòþàðä Ìèë
-
6th April 2008 19:08 #10
Ïðîâåðêàòà çà çíàêà áåøå â êîíòåêñòà íà èçáîðà íà low/high çà ñëåäâàùàòà èòåðàöèÿ, íå çà îòêðèâàíå íà êîðåíà.
Ìîæåø ëè äà ñïîäåëèø íÿêîé îò ÷èñëåíèòå àëãîðèòìè, êîèòî íàìèðàò âñè÷êè êîðåíè íà ïðîèçâîëíà ôóíêöèÿ â äàäåí èíòåðâàë? Îñîáåíî, àêî ðàáîòè ñ íàñå÷åíè ìíîãîìåðíè ôóíêöèè, åäíè õîðà ìíîãî ùå òè ñå çàðàäâàò
Internet - it doesn't make you stupid, it just makes your stupidity more accessible to others
-
6th April 2008 19:26 #11
Êîè õîðà? Òåçè õîðà, ÷èñëåíè ìåòîäè íå ñà ëè ó÷èëè?

Èíà÷å íàèñèíà èìà íÿêîëêî âàðèàíòà -> ÷ðåç èíòåðïîëàöèîííè ôîðìóëè íà Ëàãðàíæ, Íþòîí, ×åáèøåâ, èíòåðïîëèðàíå ñ êóáè÷íè ñïëàéíè, ïîëèíîìè íà Åðìèò....
Íî àêî íàèñòèíà òðÿáâà ðåøåíèå ïðåäïî÷èòàì óñëîâèåòî íà PM è äà ñå ïîìèñëè çà êîíêðåòåí èçáîð íà ÷èñëåí ìåòîä?Last edited by Kaspirtov; 6th April 2008 at 19:52.
"Íèêîãà íå ìîæåì äà ñìå ñèãóðíè, ÷å ìíåíèåòî, êîåòî ñå ñòðåìèì äà çàäóøèì å ïîãðåøíî, à è äà áÿõìå ñèãóðíè, ïàê áè áèëî ïîãðåøíî äà ãî çàäóøèì."
Äæîí Ñòþàðä Ìèë
-
7th April 2008 05:27 #12Registered User
Join Date: Jul:2006
Location: Ñîôèÿ
Posts: 480
Õîðàòà ñà ìó êàçàëè "íàìåðè êîðåíèòå ÷ðåç ìåòîä íà ðàçïîëîâÿâàíåòî", áàñ äúðæà. Kóðñîâèòå íàïîñëåäúê...
.
Òðÿáâà òè è ÷èñëî, îïðåäåëÿùî òî÷íîñòòà íà ïðåñìÿòàíèÿòà.
Àêî èíòåðâàëúò å [A;B], ìåòîäúò ñå ñúñòîè â àíàëèçà íà ôóíêöèÿòà â ñðåäàòà íà èíòåðâàëà -. Àêî F(c)=0, êîðåíúò å íàìåðåí.  ïðîòèâåí ñëó÷àé êîðåíúò ñå òúðñè èëè â ëåâèÿ ïîäèíòåðâàë [A;C], èëè â äåñíèÿ [C;B], â çàâèñèìîñò îò òîâà â êîé îò òÿõ ôóíêöèÿòà èìà ñòîéíîñòè ñ ðàçëè÷íè çíàöè.Code:C=(A+B)/2
Àêî çà òî÷íîñò âçåìåì ïîëîæèòåëíîòî ÷èñëî E, òîãàâà àëãîðèòúìà ìîæå äà ñå îïèøå òàêà: ðàçäåëÿìå èíòåðâàëà íàïîëîâèíà è íàìèðàìå ñòîéíîñòòà íà ôóíêöèÿòà â ñðåäàòà ìó. Òîâà äåéñòâèå ïðîäúëæàâà äî íàìèðàíåòî íà ïîäèíòåðâàë íà [A;B], ÷èÿòî äúëæèíà å ïî-ìàëêà îò E. Òîãàâà ðàçëèêàòà ìåæäó ïðîèçâîëíî ÷èñëî îò òîçè ïîäèíòåðâàë è êîðåíà X, êîÿòî å ïî-ìàëêà îò äúëæèíàòà íà ïîäèíòåðâàëà, ùå å ïî-ìàëêà è îò ÷èñëîòî E, ò.å êîåòî è äà å ÷èñëî îò òîçè ïîäèíòåðâàë å ïðèáëèæåíî ðåøåíèå. Íåùî òàêîâà:
Ïðè âúâåæäàíåòî òðÿáâà äà ïðîâåðèø ãðàíèöèòå íà èíòåðâàëà:Code:[âúâåëè ñìå A, B è E] REPEAT C=(A+B)/2 ; ðàçïîëîâÿâàø IF F(C)=0 THEN BREAK ; êîðåíúò å íàìåðåí ELSE IF F(C)*F(A)>0 THEN A=C ; ïðåìåñòâàø ëåâèÿ êðàé íàäÿñíî ELSE B=C ; ïðåìåñòâàø äåñíèÿ êðàé íàëÿâî UNTIL ABS(A-B)<=E ; ïðîâåðêà çà êðàé PRINT "KORENYT E X=",C ; îòïå÷àòâàø ðåçóëòàòà
IF A>B THEN [âúâåæäàø îòíîâî].
Çàáåëåæêà:
DO-WHILE å ñ îáðàòíî óñëîâèå - ABS(A-B)>E




Reply With Quote

Lenovo ThinkPad 15 èëè IdeaPad 15
5th May 2023, 22:16 in Ìîáèëíè êîìïþòðè