
Enloop, även kallatslinga[1][2] ellerprogramslinga[källa behövs] (engelska:loop) är en konstruktion inomprogrammering för att åstadkomma eniteration, det vill säga att vissa instruktioner upprepas flera gånger. Antalet upprepningar kan vara förbestämt, men kan även bestämmas dynamiskt, exempelvis genom att upprepningen sker till ett visst värde uppnåtts. Loopar används ofta då samma uppgift skall utföras för en mängd element, som att skriva ut alla namn som finns i en lista.
I mer fullständigadatavetenskapliga termer förekommer loopar inomimperativa programmeringsspråk för att åstadkomma eniteration, så att en seriesatser upprepas flera gånger. Man skiljer på loopar som är pre-evaluerande och post-evaluerande:
En pre-evaluerande loop kontrollerar om den ska köra en gång till innan den utför de instruktioner som ingår i loopen. Exempel:
while(villkor)programkodfor(villkor)programkod
En post-evaluerande loop kontrollerar om den ska köra en gång till sedan den utfört instruktionerna. Exempel
doprogramkodwhilevillkorrepeatprogramkoduntilvillkor
därvillkor är ett uttryck i någon form som ska evaluera till sanningsvärdetsant (eng.true)
Vilken loopkonstruktion som används är oftast en fråga om programmerarens tycke och smak, då (i princip) alla slingor kan uttryckas med valfri loopkonstruktion.
För loopar som avses att användas då antalet upprepningar är förutbestämt används ofta nyckelordetfor (sv. för). För den typ som avses att användas då antalet upprepningar inte är förbestämt används oftawhile (sv. medan) eller (mindre vanligt)repeat ...until.
Exemplen nedan är loopar skrivna ispråket C som skriver ut de tio förstaheltalen.
inti=0;for(i=0;i<10;++i){printf("%d\n",i);}inti=0;while(i<10){printf("%d\n",++i);}inti=0;do{printf("%d\n",++i);}while(i<11)inti=0;repeat{printf("%d\n",++i);}until(i==10)