Professional Documents
Culture Documents
Цикличен алгоритъм
Алгоритъм, в който дадена група от
действия се изпълнява определен брой
пъти, докато е изпълнено дадено условие,
се нарича цикличен алгоритъм или само
цикъл.
Основни части на цикъл
1. Управляваща променлива, която управлява хода
на цикъла;
2. Секция за инициализация, в която се задава
начална стойност на управляващата променлива;
3. Тяло на цикъла, в което се съдържат
операторите, които ще бъдат повтаряни
многократно при определени условия;
4. Актуализация на управляващата променлива и
свързани с нея променливи, чрез която се
задават новите условия, при които ще бъде
повторен цикъла;
5. Условие за край или продължаване на цикъла.
Цикъл с предусловие
while (условие) оператор;
инициализация е конструкция за
присвояване, която обикновено
инициализира променливата за управление
на цикъла. Инициализацията се изпълнява
само веднъж – преди започването на цикъла.
условие логически израз
корекция служи за инкрементиране или
декрементиране на променливата за
управление на цикъла.
Оператор за броячен цикъл for
1. Изпълнението на оператора започва с
частта <инициализация>
2. Изчислява се стойността на <условие>
3. Ако тази стойност е false, цикълът
прекратява своето действие. Ако
стойността е true, се изпълнява
<оператор> (тялото на цикъла).
4. Изпълняват се операторите в частта
<корекция> и се преминава към стъпка 2.
Оператор за броячен цикъл for
Операторът for позволява да бъдат
пропуснати някои от изразите в скобите, но
разделителите точка със запетая остават.
Възможни са:
for (;израз2;израз3) оператор
for (;;израз3) оператор
for (;;) оператор
Когато израз2 липсва се подразбира, че той
винаги е TRUE, което означава, че излизането
от цикъла трябва да става принудително.
Цикъл for - пример
Да се състави програма, която въвежда от клавиатурата
цялото число n. Програмата да изчислява и извежда
сумата на всички цели числа от 1 до n.
int main()
{
int n, sum;
cout<<“n=“;
cin>>n;
sum=0;
for(int i=1;i<=n;i++) sum=sum+i;
cout<<“sum=“<<sum<<endl;
return 0;
}
Сравнение между трите вида
цикли
Циклите с постусловие и предусловие са удобни за решаване
на задачи, при които броят на повторенията не е определен,
а зависи от изпълнението на определено условие.
Отг. 10
7
4
1
Какъв ще е резултатът?
int x = 10;
while (x > 0)
{
cout << x << endl;
x = x + 3;
}
Отг. 3 2 1
Какъв ще е резултатът?
int count = 3;
while (count > 0)
cout << --count << " ";
Отг. 2 1 0
Какъв ще е резултатът?
for (int n = 10; n > 0; n = n − 2)
{
cout << "Hello ";
cout << n << endl;
}
Отг. Hello 10
Hello 8
Hello 6
Hello 4
Hello 2
Какъв ще е резултатът?
for (double sample = 2; sample > 0; sample = sample − 0.5)
cout << sample << " ";
Отг. 10 4
Какъв ще е резултатът?
int n = 5;
while (n > 0)
{
if (n == 2)
break;
cout <<-- n << " ";
}
cout << "End of Loop.";
Отг. 4 3 2 End of Loop
Пример
Да се състави програма, която въвежда от
клавиатурата цялото число n. Програмата да
изчислява и извежда сумата на всички цели числа
от 1 до n. Програмата да се реализира и с трите
вида цикли.
Примерен вход: 5 Примерен изход: 15