En "medan" slinga i programmering är ett kontrollflödesuttalande som upprepade gånger kör ett kodblock så länge ett specifikt tillstånd är sant. Det är en grundläggande slingkonstruktion som används för att iterera över en uppsättning instruktioner tills ett visst tillstånd blir falskt.
Här är en uppdelning av hur det fungerar:
1. Tillståndskontroll: Loopen börjar med att utvärdera ett booleskt uttryck (ett tillstånd). Detta uttryck måste resultera i antingen "sant" eller "falsk".
2. kodutförande (kropp): Om villkoret är "sant", körs kodblocket i "medan" slingan (slingkroppen).
3. iteration: Efter att ha kört slingkroppen kontrolleras tillståndet igen. Denna cykel med "kontrolltillstånd, kör kropp, kontrollvillkor" fortsätter tills villkoret blir "falskt".
4. slingavslutning: När villkoret utvärderas till "falsk" avslutas slingan, och programmet fortsätter med uttalandet omedelbart efter "medan" slingan.
Viktiga överväganden:
* oändliga slingor: Om tillståndet i en "medan" slinga aldrig blir "falsk", kommer slingan att rinna på obestämd tid, vilket orsakar en oändlig slinga. Detta är ett vanligt programmeringsfel. Se till att din slingans tillstånd så småningom blir falskt genom förändringar som görs i slingans kropp.
* Loop Counter variabler: Ofta används en räknarevariabel inom en "medan" slinga för att kontrollera antalet iterationer. Räknaren initialiseras vanligtvis före slingan, ökas (eller minskas) i slingan och kontrolleras i slingans tillstånd.
* Loop Control -uttalanden: Uttalanden som `break 'och' fortsätter 'kan användas inuti' medan 'slingor för att förändra det normala flödet:
* `Break ':lämnar omedelbart slingan, oavsett tillståndets värde.
* `Fortsätt ':hoppar över resten av den aktuella iterationen och fortsätter till nästa iteration.
Exempel (Python):
`` `python
räkning =0
medan greve <5:
tryck (F "Count:{Count}")
Räkna +=1 # Öka räknaren
tryck ("Loop färdig!")
`` `
Den här koden kommer att skriva ut:
`` `
Räkning:0
Räkning:1
Räkning:2
Räkning:3
Räkning:4
Loop färdig!
`` `
Loopen fortsätter så länge som "Count" är mindre än 5. Varje iteration skriver ut det aktuella värdet på "räkningen" och ökar sedan. När "räkningen" når 5 blir villkoret "räkningen <5" "falsk" och slingan avslutas.
Exempel (C ++):
`` `C ++
#include
int main () {
int count =0;
medan (räkning <5) {
std ::cout <<"Räkning:" <
Räkna ++;
}
std ::cout <<"Loop färdig!" <
return 0;
}
`` `
Detta C ++ -exempel uppnår samma resultat som Python -exemplet. Syntaxen är något annorlunda, men den underliggande logiken i "medan" medan "-slingan förblir densamma. Kärnidén - villkorskontroll, kroppsutförande och iteration - är konsekvent över de flesta programmeringsspråk.