Zatímco smyčka
Smyčka while nebo while je opakující se smyčka založená na výsledcích logického výrazu; nachází se ve většině strukturovaných programovacích jazyků . Účelem je opakovat blok kódu tak dlouho, dokud podmínka zůstává pravdivá. [ 1 ]
Syntaxe
Syntaxe pseudokódu je následující:
Stav
Podmínka musí být příkaz, který vrací booleovskou hodnotu , a to může být logická hodnota yes, true (true), pokud je podmínka pravdivá, nebo false , pokud není pravdivá (false). Může také obsahovat název booleovské proměnné a hodnota výrazu bude záviset na jejím obsahu. Je třeba poznamenat, že kromě proměnných mohou existovat také volání funkcí, které vracejí hodnotu.
Srovnávací věty
Snad nejzřejmější formou a rozhodně nejpoužívanější jsou srovnávací příkazy , které používají operandy rovný, různý, menší nebo rovný, větší nebo rovný, menší než a větší než. V případě jazyka C se k reprezentaci výše uvedených srovnání používají následující symboly: ==, !=, <=, >=, <, >.
Jazykové zvláštnosti
V některých jazycích lze při porovnávání použít jiné než booleovské proměnné. Pokud je například proměnná 0, bude to vypadat, jako by podmínka nebyla splněna, a pokud se bude lišit od hodnoty 8745, bude podmínka považována za splněnou.
Příklady (pomocí syntaxe C++ )
Následující kód používá smyčku, která se nezastaví, protože její podmínka je pravdivá a nezmění se.
#include <iostream>
pomocí jmenného prostoru std ;
int main () {
zatímco ( true ) {
cout << "Zobrazuje se nekonečná smyčka." << endl ;
}
}
V tomto příkladu bude program číst vstup nepřetržitě, pokud jeho hodnota nebude rovna 0.
#include <iostream>
pomocí jmenného prostoru std ;
int main () {
int číslo = 1 ;
while ( číslo != 0 ) {
cout << " \n Zadejte číslo od 1 do 3 nebo 0 pro ukončení: " ;
cin >> číslo ;
přepínač ( číslo ) {
případ 0 : {
cout << "Ukončení programu..." << endl ;
zlomit ;
}
případ 1 : {
cout << "Zadáno číslo 1." << endl ;
zlomit ;
}
případ 2 : {
cout << "Zadáno číslo 2." << endl ;
zlomit ;
}
případ 3 : {
cout << "Zadáno číslo 3." << endl ;
zlomit ;
}
výchozí : {
cout << "Nezadali jste platné číslo." << endl ;
zlomit ;
}
}
}
návrat 0 ;
}