Ñòóäîïåäèÿ.Îðã Ãëàâíàÿ | Ñëó÷àéíàÿ ñòðàíèöà | Êîíòàêòû | Ìû ïîìîæåì â íàïèñàíèè âàøåé ðàáîòû!  
 

Òåìà 10 ÐÅÊÓÐѲß



3.1.Ñîðòóâàííÿ òðüîõ ÷èñåë
3.2. Ðåêóðñèâíà ôóíêö³ÿ ³ ðåêóðñèâíà ïðîöåäóðà
3.3. Ñîðòóâàííÿ îäíîì³ðíîãî ìàñèâó
3.4. Ñîðòóâàííÿ çà äîïîìîãîþ ³êíà ñïèñêó
3.5. Ïðèêëàä çàñòîñóâàííÿ ðåêóðñèâíî¿ ïðîöåäóðè äëÿ ñòâîðåííÿ ôðàêòàëó
3.6. Äîäàòêîâ³ â³äîìîñò³

Òåðì³í ðåêóðñ³ÿ äóæå ïîïóëÿðíèé ó ìàòåìàòèö³ ³ ïðîãðàìóâàíí³. Ó øèðîêîìó ñìèñë³, ðåêóðñ³ÿ — öå çâåðòàííÿ äî ñàìîãî ñåáå (öåé òåðì³í ïîõîäèòü â³ä ëàòèíñüêîãî ñëîâà recursio — ïîâåðíåííÿ). Ó ìàòåìàòèö³ ³ ïðîãðàìóâàíí³ öåé òåðì³í âèêîðèñòîâóºòüñÿ ïðè âèçíà÷åíí³ òàê çâàíèõ ðåêóðñèâíèõ ôóíêö³é ³ ðåêóðñèâíèõ ïðîöåäóð. ¯õ ìè ³ áóäåìî ðîçãëÿäàòè â äàí³é ãëàâ³.

Ïîïóëÿðí³ñòü ðåêóðñ³¿ â ïðîãðàì³ñò³â ó çíà÷í³é ì³ð³ ïîÿñíþºòüñÿ òèì, ùî âîíà ðîáèòü ñòèëü ïðîãðàìóâàííÿ á³ëüø äåêëàðàòèâíèì. Öå îçíà÷àº, ùî ïðè ñêëàäàíí³ àëãîðèòìó ð³øåííÿ çàäà÷³ ïðîãðàì³ñò ³íîä³ ìîæå ñõèòðóâàòè — çâåñòè ð³øåííÿ ö³º¿ çàäà÷³ äî ð³øåííÿ ò³º¿ æ ñàìî¿ çàäà÷³, àëå ïðè á³ëüø ïðîñòèõ ïî÷àòêîâèõ óìîâàõ. Òèì ñàìèì, â³í ÿê áè «ïåðåêëàäຠíà ïëå÷³» êîìï'þòåðà ñêëàäàííÿ äð³áíèõ äåòàëåé àëãîðèòìó. ßêùî æ ñêëàäàííÿ âñ³õ íàâ³òü ñàìèõ äð³áíèõ äåòàëåé àëãîðèòìó ïðîãðàì³ñò çàëèøຠçà ñîáîþ, éîãî ñòèëü ïðîãðàìóâàííÿ íàçèâàþòü íå äåêëàðàòèâíèì, à ïðîöåäóðíèì.

ßê ïðèêëàä ðîçãëÿíåìî çàäà÷ó îáðàõóâàííÿ ìàêñèìàëüíîãî ñåðåä N ÷èñåë. Ó ïîïåðåäí³é ãëàâ³ ìè ðîçãëÿäàëè àëãîðèòì ð³øåííÿ ö³º¿ çàäà÷³ áåç çàñòîñóâàííÿ ïîíÿòòÿ ðåêóðñ³¿ (äèâ. ïðèêëàä 2.4 ³ êîäè 2.3 ³ 2.4). Ìîæíà çàïðîïîíóâàòè íàñòóïíèé ñïîñ³á ¿¿ ðîçâ'ÿçàííÿ:

ßêùî ÷èñåë âñüîãî äâà, òî ¿õ òðåáà ïîð³âíÿòè ³ âçÿòè á³ëüøå.

ßêùî æ ÷èñåë á³ëüøå, í³æ äâà, òðåáà âçÿòè êîæíå ç íèõ (ïåðøå, ùî òðàïèëîñÿ), âèð³øèòè âèõ³äíó çàäà÷ó îáðàõóâàííÿ ìàêñèìàëüíîãî ÷èñëà ñåðåä ÷èñåë, ùî çàëèøèëèñÿ, ïîð³âíÿòè ðåçóëüòàò ç ïåðøèì ÷èñëîì ³ âçÿòè á³ëüøå.

Íà ïåðøèé ïîãëÿä ó öüîìó ð³øåíí³ º ÿêàñü íåäîìîâëåí³ñòü — äëÿ çíàõîäæåííÿ ìàêñèìàëüíîãî ñåðåä N ÷èñåë ïðîïîíóºòüñÿ çíàéòè ìàêñèìàëüíå ñåðåä N-1 ÷èñëà.

Àëå, ÿê öå íå ïàðàäîêñàëüíî, ïðåäñòàâëåíèé ðåêóðñèâíèé àëãîðèòì ð³øåííÿ äàíî¿ çàäà÷³ º ö³ëêîì êîðåêòíèì. À ïðîãðàìà, ó ÿê³é öåé àëãîðèòì ðåàë³çîâàíèé, âèäຠïðàâèëüíèé ðåçóëüòàò.

Ó äàí³é ãëàâ³ áóäå ðîçãëÿíóòå çàñòîñóâàííÿ ðåêóðñ³¿ äëÿ ðîçâ'ÿçàííÿ ð³çíèõ çàäà÷, çîêðåìà, äëÿ ð³øåííÿ çàäà÷³ ñîðòóâàííÿ îäíîâèì³ðíîãî ìàñèâó — âèñòàâëåííÿ éîãî åëåìåíò³â ó ïîðÿäêó çðîñòàííÿ (÷è ñïàäàííÿ).

²ñíóº áàãàòî àëãîðèòì³â ñîðòóâàííÿ, ³ ìè ðîçãëÿíåìî ëèøå äåÿê³ ç íèõ. Çîêðåìà, ìè ðîçïîâ³ìî ïðî òàê çâàíå íà¿âíå ñîðòóâàííÿ, êóëüêîâå ñîðòóâàííÿ, ñîðòóâàííÿ âèáîðîì ³ ñîðòóâàííÿ âèêëþ÷åííÿì.

Ó ñèñòåì³ ïðîåêòóâàííÿ Visual Basic, ùî Âè âèâ÷àºòå ðàçîì ç âèâ÷åííÿì ìîâè Visual Basic, º çàñ³á, ùî ÷àñòî äîçâîëÿº óíèêíóòè íåîáõ³äíîñò³ ïðîãðàìóâàòè ñîðòóâàííÿ. Öèì çàñîáîì º îá'ºêò óïðàâë³ííÿ, ùî íàçèâàºòüñÿ ³êíîì ñïèñêó (List Box). Ðîçì³ùóâàí³ â íüîìó åëåìåíòè (çíà÷åííÿ òèïó String — ðÿäêà ñèìâîë³â) ìîæóòü àâòîìàòè÷íî âïîðÿäêîâóâàòèñÿ. Îá'ºêò List Box òàêîæ áóäå ðîçãëÿíóòèé ó äàí³é ãëàâ³.

À ïåðåä öèì ìè ðîçãëÿíåìî îäíå ÷àñòêîâå ïèòàííÿ, çâ'ÿçàíå ç ïåðåâ³ðêîþ ñêëàäíèõ óìîâ. Îáãîâîðèâøè éîãî, ìè ïîêàæåìî, ùî áåç âèêîðèñòàííÿ ïîíÿòòÿ ðåêóðñ³ÿ ïðîãðàìóâàííÿ ðîçâ'ÿçàííÿ äåÿêèõ íà ïåðøèé ïîãëÿä ïðîñòèõ çàäà÷ ìîæå âèÿâèòèñÿ çîâñ³ì íåïðîñòèì.





Äàòà ïóáëèêîâàíèÿ: 2014-12-28; Ïðî÷èòàíî: 279 | Íàðóøåíèå àâòîðñêîãî ïðàâà ñòðàíèöû | Ìû ïîìîæåì â íàïèñàíèè âàøåé ðàáîòû!



studopedia.org - Ñòóäîïåäèÿ.Îðã - 2014-2024 ãîä. Ñòóäîïåäèÿ íå ÿâëÿåòñÿ àâòîðîì ìàòåðèàëîâ, êîòîðûå ðàçìåùåíû. Íî ïðåäîñòàâëÿåò âîçìîæíîñòü áåñïëàòíîãî èñïîëüçîâàíèÿ (0.007 ñ)...