You are on page 1of 20

Do While Loop

Оператор за цикъл с пост-условие


“And it all started again.
Like an endless loop.”
Що е цикъл?

Съдържание Do While цикъл

Правила
PART
ONE
Що е цикъл?
Циклите са сред най-основните и
мощните програмни концепции.
Изчислителен процес, при който оператор или група В контурната структура, цикълът
оператори се изпълняват многократно за различни задава въпрос.
стойности на техни параметри, се нарича цикличен.
Ако отговорът изисква действие, той се
изпълнява. Същият въпрос се задава отново и
отново, докато не се изискват допълнителни
действия. Всеки път, когато се зададе
въпросът, се нарича итерация.
ОПЕРАТОР ЗА ЦИКЪЛ
Циклите се изграждат от три части:
Задаване на начална стойност на някои от участващите в цикъла
променливи;
Проверка дали е удовлетворено условието за следващото
изпълнение на тялото на цикъла;

Обновяване стойностите на участващите величини в условието.

В зависимост от реда, в който се реализират тези операции, има три вида цикли:

Цикъл с предусловие;

Цикъл с пост условие;

Броячен цикъл.
Компютърен програмист, който трябва да използва
едни и същи редове код много пъти в програмата,
може да използва цикъл, за да спести време.

For цикъл е цикъл, който работи Fo W


hi
Цикълът while е цикъл, който се
повтаря, докато изразът е верен.
за предварително зададен брой
r le Изразът е твърдение, което има

D
пъти.
логическа стойност.

o
Do while цикълът се повтаря,
докато логическият изразът не
стане грешен.
PART
TWO
Do While цикъл
Конструкцията do while
се състои от тяло на процеса и условие.
Първо се изпълняват операциите в блока
и след това се оценява условието. Ако
условието е вярно, действията в блока се
изпълнява отново. Това се повтаря,
докато условието стане невярно. Тъй
като do while циклите проверяват
състоянието на логическото условие след
изпълнението на блока, структурата
често е известна и като post-test loop.
СИНТАКСИС DO WHILE

do
{
*/ блок от оператори /*
}
while ( условие );
СИНТАКСИС DO WHILE
• Операторът do/while се използва за реализиране на
циклични процеси със след условие (пост условие).

Синтаксис
do
оператор;
while (условие);
където
- do (прави, повтаряй докато …) и while (докато) са запазени думи
на езика.
- <оператор> е точно един оператор. Той описва действията,
които се повтарят и се нарича тяло на цикъла.
- <условие> е булев израз. Нарича се условие за завършване
изпълнението на цикъла. Огражда се в кръгли скоби.

• Операторът do/while завършва с ;


СЕМАНТИКА DO WHILE
 Изпълнява се тялото на цикъла, след което се
пресмята стойността на <условие>. Ако то е false,
изпълнението на оператора do/while завършва. В
противен случай се повтарят действията:
изпълнение на тялото и пресмятане стойността на
<условие>, докато стойността на <условие> е true.
Веднага, след като стойността му стане false,
изпълнението на оператора завършва.
ПРИМЕР ЗА DO WHILE
Да се напише програма, която извежда на екрана съобщение десет пъти

#include <iostream>
using namespace std;
int main()
{
int counter = 0;

do
{
counter++;

cout << "Hello World!" << endl;


}
while (counter < 10);
}
PART
THREE
Правила при употреба на do while
ENDLESS DO WHILE LOOP
Безкрайният цикъл, както подсказва името, е цикъл, който ще продължи да
работи без край. Ако случайно направите безкраен цикъл, това може да
срине вашия браузър или компютър. Важно е да сте наясно с безкрайните
цикли, за да можете да ги избегнете.

Безкраен цикъл възниква, когато състоянието на оператора while е


зададено на true.

Или неправилното Или неправилното


инкрементиране на дефиниране на
броячите условието
ПРИМЕР ЗА БЕЗКРАЕН
ЦИКЪЛ

int x = 0;
В дадения примерен код програмата ще
do{
извежда съобщението, докато не се
cout << “To infinity and beyond!” << endl;
прекрати. Това се дължи на липсата на
}

while ( x < 10 );
итератор ( брояч ) или начин за
прекратяване на кода.
Един начин за прекъсване на цикъла е употребата на break
оператора, както в switch структурата.
#include <iostream>
using namespace std;
int main()
{
int counter = 0;

do
{
counter++;
if(counter == 20)
{
break;
}
}
while (true);
}
ЗАДАЧИ ВЪРХУ ОПЕРАТОРА DO
WHILE
int main()
Задача 1: Да се напише програма, която {
int m, n, P;
намира произведението на целите числа cout << "m= ";
от m до n, където m и n са дадени cin >> m;
cout << "n= ";
естествени числа и m ≤ n. За целта да се cin >> n;
P=1;
използва операторът do/while.
do
{
P = P * m;
m++;
}
while (m <= n);
cout << P << endl;
}
ЗАДАЧИ ВЪРХУ ОПЕРАТОРА DO
WHILE int main()
{
Задача 2: Да се напише int n;
програма, която cin >> n;
въвежда естествено do
число и извежда {
цифрите му в обратен cout << n % 10 << endl;
ред n = n / 10;
}
while (n != 0);
}
ЗАДАЧИ ВЪРХУ ОПЕРАТОРА DO
WHILE int main()
{
int n, d;
Задача 3: Да се напише cout << "n= ";
cin >> n;
програма, която въвежда
естествено число и do
{
установява, дали цифрата d = n % 10;
5 участва в записа на n = n / 10;
}
числото while (d != 5 && n != 0);

if (d == 5)
cout << "true\n";
else
cout << "false\n";
}
THANKS

You might also like