Loop (programmering)
En loop, även kallat slinga[källa behövs] eller programslinga[källa behövs] (engelska: loop) är en konstruktion inom programmering för att åstadkomma en iteration, 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ändiga datavetenskapliga termer förekommer loopar inom imperativa programmeringsspråk för att åstadkomma en iteration, så att en serie satser upprepas flera gånger. Man skiljer på loopar som är pre-evaluerande och post-evaluerande:
Pre- och postevaluering
[redigera | redigera wikitext]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) programkod
for(villkor) programkod
En post-evaluerande loop kontrollerar om den ska köra en gång till sedan den utfört instruktionerna. Exempel
do programkod while villkor
repeat programkod until villkor
där villkor är ett uttryck i någon form som ska evaluera till sanningsvärdet sant (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 nyckelordet for (sv. för). För den typ som avses att användas då antalet upprepningar inte är förbestämt används ofta while (sv. medan) eller (mindre vanligt) repeat ... until.
Exempel
[redigera | redigera wikitext]Exemplen nedan är loopar skrivna i språket C som skriver ut de tio första heltalen.
int i = 0;
for (i = 0; i < 10; ++i)
{
printf ("%d\n", i);
}
int i = 0;
while (i < 10)
{
printf ("%d\n", ++i);
}
int i = 0;
do
{
printf ("%d\n", ++i);
} while (i < 11)
int i = 0;
repeat
{
printf ("%d\n", ++i);
} until (i == 10)
Se även
[redigera | redigera wikitext]Referenser
[redigera | redigera wikitext]- Kernighan, Brian W. Ritchie, Dennis M. (2011). The C programming language. Prentice-Hall. ISBN 9780131103627. OCLC 957437724. http://worldcat.org/oclc/957437724. Läst 17 juni 2019