Mis vahe on rekursiooni ja ahela vahel - Erinevus-Vahel

Mis vahe on rekursiooni ja ahela vahel

The peamine erinevus rekursiooni ja silmus vahel on see rekursioon on mehhanism, mis kutsub üles funktsiooni sama funktsiooni piires, samas kui silmus on juhtstruktuur, mis aitab käivitada käskude komplekti ikka ja jälle, kuni antud tingimus on tõene.

Rekursioon ja silmus on kaks programmeerimiskontseptsiooni. Mõlemad meetodid aitavad arendada väikeseid ja keerukaid programme.

Kaetud peamised valdkonnad

1. Mis on rekursioon
- Mõiste, funktsionaalsus
2. Mis on Loop
- Mõiste, funktsionaalsus
3. Mis vahe on rekursiooni ja ahela vahel
- peamiste erinevuste võrdlus

Võtmesõnad

Tehke silmus, silmus, silmus, rekursioon, loop


Mis on rekursioon

Kui funktsioon nimetab end funktsiooni sees, nimetatakse seda rekursiooniks. Näide rekursiooniga programmist on faktori arvutamine.

n! = n * (n-1) !, kui n> 0

n! = 1, kui n = 0;


Joonis 1: Java-faktori programm

Ülaltoodud programmi kohaselt loob see Factoriumi objekti. Siis, kasutades seda objekti, nimetab see meetodi faktori. Ja meetod saab väärtuse 4. Järgmisena teostab teine ​​osa. Pärast seda nimetab ta faktoori (3). Seejärel täidab teine ​​osa. Ta nimetab faktori (2). Seejärel teostatakse teine ​​osa. See kutsub üles faktori (1) ja teine ​​osa täidab uuesti. See kutsub üles faktori (0). Nüüd n on 0. See naaseb 1. Lõpuks tagastatakse 1x2x3x4 = 24 ja väärtused kuvatakse ekraanil. Samamoodi nimetab faktoriaalne funktsioon uuesti ja uuesti.

Mis on Loop

Mõnikord on vaja korduvalt ploki blokeerida. Programmeerimiskeeled pakuvad juhtstruktuuri, mida nimetatakse silmuseks, et täita juhiseid. Loop täidab ploki sees avalduse üksteise järel. Silmus on kolm tüüpi silmuseid, silmus ja silmus. Veelgi enam iteratsiooni viitab ka silmusele.

Loopi ajal

A, samas kui silmus sisaldab testi väljendit. Kui see väljend on tõene, siis käivituvad samasuguse ahela sees olevad avaldused. Aruannete lõpus kontrollib see uuesti testi väljendit. Seejärel korratakse seda protsessi, kuni testi väljendus muutub valeks. Kui ekspressioon on vale, lõpeb samasugune silmus. Seejärel läheb kontroll esimesele avaldusele pärast seda, kui silmus on.


Joonis 2: Programmeerige silmusega

Ülaltoodud programmis x on 5. See on väiksem kui 10. Seetõttu prinditakse see. Seejärel kasvab x väärtus. Nüüd on x 6. See on ka vähem kui 10; seega prinditakse see. Siis uuesti x väärtuse sammud. Nüüd x on 7. Seega kordub see protsess. Kui x on 10, on tingimus vale ja silmus lõpeb.

Loop jaoks

Silmus sisaldab initsialiseerimist, testi avaldamist ja värskendamist. Initsialiseerimise väljendus käivitub üks kord. Seejärel hinnatakse testi ekspressiooni. Kui see on tõsi, käivituvad silmusisesed sildid. Lingi lõpus hindab see värskendatud väljendit. Seega kordub see protsess seni, kuni testi väljendus on vale. Kui see on vale, lõpeb silmus. Seejärel läheb kontrollsükkel edasi järgmisele avaldusele.


Joonis 3: Programm koos silmusega

Ülaltoodud silmus, x väärtus on 1. See on väiksem kui 5. Nii, väärtus prinditakse. Seejärel suurendab x väärtust 1. Nüüd x väärtus on 2. See on ka väiksem kui 5. Seetõttu prinditakse see. Seejärel kordub x väärtus 1. Nüüd x on 3. See protsess kordub. Kui x on 6, muutub testimistingimus valeks ja silmus lõpeb.

Tehke silmusena

Kui silmus on samasugune, kui silmus, siis kontrollib see silmusaruannete täitmist. Seega, kas tingimus on tõene või vale, käivitub silmus vähemalt üks kord. Siin toimub tingimuse kontrollimine pärast seda, kui silmus käivitub. Kui tingimus on tõene, käivituvad silmuseraldused uuesti. See protsess kordub, kuni tingimus muutub valeks.


Joonis 4: Programmeerimine tsükliga

X-väärtus on esialgu 5. Silmusahel käivitab ja prindib väärtuse 5. Seejärel muutub x-ks 6. See on väiksem kui 10. Niisiis, 6 prindib. Seejärel muutub x 7. See on ka vähem kui 10. Ja see protsess kordub. Kui x on 9, siis prinditakse väärtus. Aga kui x muutub 10-ks, muutub tingimus valeks. Seetõttu lõpeb silmus.

Oletame näiteks, et x on algselt 20. See prindib 20. Siis x suureneb ja x muutub 21. Katsetingimus on vale. Seetõttu lõpetab see silmus. Väärtus 20 on suurem kui 10 ja testimistingimus on vale. Siiski käivitub silmus üks kord. Seetõttu tehke silmus vähemalt ühe korra.

Erinevus rekursiooni ja ahela vahel

Määratlus

Rekursioon on meetod, mis kutsub üles funktsiooni sama funktsiooni sees. Seevastu loop on kontrollstruktuur, mis võimaldab programmis blokeerida koodi korduvalt. Need definitsioonid sisaldavad põhilist erinevust rekursiooni ja ahela vahel.

Kiirus

Kiirus on rekursiooni ja silmuse vahel suur erinevus. Rekursiooni teostamine on aeglasem. Kuid silmus täidab kiiremini kui rekursioon.

Stack

Rekursioonil kasutatakse stacki kohalike muutujate salvestamiseks funktsiooni nimetamisel. Kuid silmus ei kasuta korstnat.

Seisund

Kui lõpetamistingimusi ei ole, võib see olla lõpmatu rekursioon. Kuid kui tingimus ei muutu kunagi valeks, on see lõpmatu silmus. See on veel üks erinevus rekursiooni ja ahela vahel.

Ruumi keerukus

Lisaks on rekursiivse programmi ruumikompleks suurem kui silmus.

Koodi loetavus

Teine erinevus rekursiooni ja ahela vahel on see, et rekursiooniga programm on loetavam kui silmusega programm.

Järeldus

Rekursiooni ja silma vaheline erinevus on see, et rekursioon on mehhanism, mis kutsub üles funktsiooni sama funktsiooni sees, samas kui silmus on juhtstruktuur, mis võimaldab käskude täitmist uuesti ja uuesti, kuni antud tingimus on tõene.

Viide:

1. „Rekursioon (arvutiteadus).” Wikipedia, Wikimedia Foundation, 12. september 2018