Apibrėžtas ciklas vs neapibrėžtas ciklas
Cilpa yra kodo blokas, kuris kartotųsi tam tikrą skaičių kartų arba tol, kol įvykdoma kokia nors sąlyga. Apibrėžta kilpa yra ciklas, kuriame, kiek kartų ji bus vykdoma, yra žinomas iš anksto prieš įeinant į kilpą. Neapibrėžtoje cikloje, kiek kartų ji bus vykdoma, iš anksto nežinoma ir bus vykdoma tol, kol bus įvykdyta kokia nors sąlyga.
Kas yra apibrėžta kilpa?
Apibrėžtas ciklas yra ciklas, kuriame, prieš įeinant į kilpą, iš anksto žinomas, kiek kartų ji bus vykdoma. Iteracijų, kurias jis ketina pakartoti, skaičius paprastai pateikiamas naudojant sveikąjį kintamąjį. Apskritai, už kilpos laikomos apibrėžtomis kilpomis. Toliau pateikiamas apibrėžtos ciklo, įdiegto naudojant for kilpą (Java programavimo kalba), pavyzdys.
už (int i=0; i < num; i++)
{
//for ciklo turinys
}
Aukščiau pateikta kilpa kelis kartus vykdys savo turinį, nurodytą kintamajame num. Tai galima nustatyti pagal pradinę kintamojo i reikšmę ir ciklo sąlygą.
Nors kilpos taip pat gali būti naudojamos apibrėžtoms kilpoms įgyvendinti, kaip parodyta toliau (Java).
int i=0;
while(i<num)
{
//ciklo korpusas
i++;
}
Nors tai naudoja ciklą while, tai taip pat yra apibrėžta kilpa, nes iš anksto žinoma, kad ciklas bus vykdomas tiek kartų, kiek nurodo kintamasis num.
Kas yra neapibrėžtas ciklas?
Neapibrėžtoje cikloje, kiek kartų ji bus vykdoma, iš anksto nežinoma. Paprastai neapibrėžtas ciklas bus vykdomas tol, kol bus įvykdyta kokia nors sąlyga. Nors kilpos ir do-while kilpos dažniausiai naudojamos neapibrėžtoms kilpoms įgyvendinti. Nors nėra jokios konkrečios priežasties nenaudoti for ciklus neapibrėžtoms kilpoms kurti, neapibrėžtos kilpos gali būti tvarkingai sutvarkytos naudojant while ciklus. Kai kurie dažniausiai pasitaikantys pavyzdžiai, kurių jums reikia norint įdiegti neapibrėžtas kilpas, yra raginimas nuskaityti įvestį, kol vartotojas įterpia teigiamą sveikąjį skaičių, nuskaityti slaptažodį, kol vartotojas įterpia tą patį slaptažodį du kartus iš eilės ir tt
Kuo skiriasi neapibrėžtas ciklas ir neapibrėžtas ciklas?
Apibrėžtas ciklas yra ciklas, kuriame iš anksto žinomas, kiek kartų jis bus vykdomas prieš įeinant į kilpą, o neapibrėžtas ciklas vykdomas tol, kol įvykdoma kokia nors sąlyga ir kiek kartų ji vyks vykdyti, iš anksto nežinoma. Dažnai apibrėžtos kilpos įgyvendinamos naudojant for ciklus, o neapibrėžtos kilpos – naudojant while ciklus ir do-while kilpas. Tačiau nėra jokios teorinės priežasties nenaudoti for kilpų neapibrėžtoms kilpoms ir while kilpoms apibrėžtoms kilpoms. Tačiau neapibrėžtos kilpos gali būti tvarkingai sutvarkytos naudojant while kilpas, o apibrėžtos kilpos gali būti tvarkingai sutvarkytos naudojant kilpas.