Sisäkkäinen silmukka on looginen rakenne, jota käytetään tietokoneohjelmoinnissa ja koodauksessa. Sille on tunnusomaista kaksi tai useampia toistuvia lausuntoja, jotka on sijoitettu “sisäkkäiseen” muotoon, toisin sanoen yksi “silmukka” tai toistuva komento sijaitsee toisen rungossa. Se on tehokas ja useimmissa tapauksissa suhteellisen yksinkertainen tapa koodereille ja ohjelmoijille aiheuttaa peräkkäisiä tapahtumia ja toimintoja, jotka perustuvat toisiinsa toisiinsa liittyvien komentojen ja signaalinkytkentöjen kautta. Sisäkkäiset silmukat ovat yleinen osa useimpia tietokoneohjelmia, mutta niitä voi myös löytää monissa tilanteissa, joissa tekniikka leikkaa jonkinlaisen tiedon esittämisen kanssa.
Miksi sitä käytetään
Looping on tehokas rakenne ohjelmoinnissa, koska se mahdollistaa suurten tietomäärien nopean lajittelun tai lisäämisen tehokkaalla tavalla. Esimerkiksi liike -elämän tai teollisuuden ongelmien ratkaiseminen edellyttää usein toiminnan toistamista satojen, tuhansien tai jopa miljoonien yksittäisten tietojen kanssa. Silmukoita käytetään usein rakenteina kaikenlaisissa tietokoneohjelmissa kaikentyyppisillä teollisuudenaloilla.
Silmukoiden välinen suhde
Ulkosilmukka ja kaikki sisäsilmukat liittyvät toisiinsa tärkeillä tavoilla. Ne eivät vain ole yhteydessä toisiinsa, vaan myös ottavat signaaleja toisiltaan ja ovat riippuvaisia toisistaan erilaisten signaalien kääntämisessä ja suorittamisessa sekä digitaalisten tehtävien suorittamisessa. Erityispiirteet vaihtelevat yleensä sovelluksesta riippuen, mutta lähes jatkuva viestintä on lähes aina annettu.
Useimmissa tapauksissa ulompi silmukka aiheuttaa sisemmän silmukan suorittamisen. Sisäinen silmukka toistuu sitten niin monta kertaa kuin koodissa tai komentoaineistossa on määritelty. Kun sisäinen silmukka on valmis, ulompi silmukka suoritetaan toista iteraatiota varten, käynnistäen sisäsilmukan uudelleen ja niin edelleen, kunnes ulkoisen silmukan vaatimukset on täytetty.
Monet tietokoneohjelmoijat työskentelevät strukturoidussa kyselykielessä (SQL), ja sisäkkäisillä on erityisen merkitystä näissä tapauksissa. Se tarjoaa olennaisesti keinon, jonka avulla henkilö voi nopeasti ja tehokkaasti hakea tietoja kahdesta linkitetystä taulukosta. Ulkoista silmukkaa käytetään ensimmäisen taulukon lukemiseen, yksi tietorivi kerrallaan; sitten toisen taulukon etsimiseen tarvittavat tiedot välitetään sisäiseen silmukkaan, joka lukee toisen taulukon. Tämän seurauksena silmukka voi käsitellä kahta linkitettyä taulukkoa tehokkaasti. Useimmiten tämä kaikki tapahtuu lähes välittömästi.
Eri tasot
Yksinkertaisin silmukka on vain kaksi tasoa, vaikka asiat voivat ja usein muuttuvat paljon monimutkaisemmiksi. Yli kaksi silmukkaa voidaan sisäistää, ja ne voivat mennä niin syvälle kuin tarvitaan tietyn työn suorittamiseen. Helppo tapa monille visualisoida konsepti on analogisesti auton matkamittarin kanssa. Matkamittarin vasemmanpuoleisen numeron kuvitteleminen uloimmaksi silmukoksi on paras tapa ihmisille aloittaa. sieltä jokaista peräkkäistä numeroa voidaan pitää toisena silmukana, kukin toisen sisällä, kunnes yksi saavuttaa oikeanpuoleisimman numeron, joka edustaa sisintä sisäkkäistä silmukkaa. Useimmissa tapauksissa mitä enemmän sisäkkäin on, sitä monimutkaisempi taustalla oleva koodi tai komento on.
Silmukoiden asettaminen
Tarkka silmukointiprosessi ja alkurakenne vaihtelevat ohjelmointikielien välillä. Esimerkiksi SQL: ssä ohjelmoija voi skriptoida nämä rakenteet ja suorittaa ne joko palvelimen sisäkkäisenä silmukana, jota kutsutaan etänä, tai sellaisena asiakaskoneessa, joka suoritetaan paikallisesti. Jotta näitä tehokkaita rakenteita voitaisiin käyttää tehokkaasti, on otettava huomioon sekä ohjelman käyttämä kieli että tietokanta tai muu taustaohjelma, josta tietoja haetaan.