You are on page 1of 3

Тема __ – Срр – 21-24.04.

2020 Цикъл ( for )

Промяна на стойността на една променлива


i = i +1; - така се увеличава стойността на променливата i с 1 (ако е била 5 става 6)
i ++; - съкратен запис със същото значение

i = i + 2; - така се увеличава стойността на i с 2 (ако е била 5 става 7)


i += 2; - съкратен запис със същото значение

i = i - 1; - така се намалява стойността на i с 1 (ако е била 5 става 4)


i --; - съкратен запис със същото значение

i = i * 3; - така се увеличава стойността на i три пъти (ако е била 5 става 15)


i *= 3; - съкратен запис със същото значение

Оператор за цикъл for


for( задаване на начална стойност ; условие ; промяна на стойността ) {
оператор1;
оператор2;
.....}
Действие
Повтаря изпълнението на всички оператори, записани между скобите { .... }, докато условието е
изпълнено. След всяко повторение се извършва промяна на стойността на т.нар. управляваща
променлива, както и се проверява дали условието е изпълнено.

Пример:
Отпечатва на екрана 10 пъти надписа
for ( i = 1; i <= 10 ; i ++ ) { Здравейте , всеки път на нов ред.
cout << "Здравейте\n"; i служи за преброяване на изпълненията,
} като започва от 1, цикълът работи до 10
и спира, когато i става 11.

Отпечатва на екрана числата от 5 до 25,


for ( i = 5; i <= 25 ; i ++ ) { като ги разполага на един ред, а ги
cout << i << " "; отделя с 2 интервала едно от друго.
} i брои изпълненията, като започва от 5,
цикълът работи до i=25 и спира, когато
i става 26.

Отпечатва на екрана числата от 30 до 0,


for ( b = 30; b >= 0 ; b = b - 2 ) { като ги разполага на един ред, а ги
cout << b << " "; отделя с 2 интервала едно от друго.
} b служи за управляване на цикъла, като
намалява с 2 на всяко завъртане.

Отпечатване на числата между 1 и 100, които се делят на 5

Вариант 1 Вариант 2 Вариант 3

for ( i = 1; i <= 100 ; i ++ ) { for ( i = 1; i <= 100 / 5 ; i + for ( i = 5; i <= 100 ; i


if ( i%5 = = 0 ) cout<< i << " +) { +=5 ) {
"; cout << 5 * i << " "; cout << i << " ";
} } }

1
1. ТTипични грешки Съобщения от компилатора

for ( i = 1, i <= 100 ; i ++ ) { for statement missing ;


................. сложена е , вместо ;
} правилното е: for ( i=1 ; i<=10; i+
+) ...
for ( i = 50; i <= 100 ; i -- ) { няма
................. Получава се безкраен цикъл, защото
} вместо да се увеличава, променливата i
намалява и условието i <= 100 ще е
изпълнено винаги
for ( i = 50; i <= 20 ; i ++ ) { няма
................. Цикълът няма да се изпълни нито веднъж,
} защото условието е нарушено още от
самото начало - ( 50 не е <=20 )
for ( i = 1; i <= 10 ; i ++ ) няма
b = 7 * i ; Пропуснати са { } и вместо да се
cout << b << " "; отпечата 7 14 21 28 35 42 ... на
екрана няма да се изведе нищо, защото
ще се повтаря само изпълнението на
реда:
b = 7 * i ;

Задачи
Да се напише програма, която ...
1. Отпечатва на екрана всички двуцифрени числа, като ги разделя едно от
друго с по 3 интервала.

2. Отпечатва на екрана всички числа между 30 и 50 включително, като се


движи от големите към малките и всяко число се отпечатва на нов ред.

3. Отпечатва на екрана всички числа не по-големи от 300, като започва от


100 и всяко следващо е със 7 по-голямо от предишното. Числата да се
разполагат на един ред, разделени с по 2 интервала.

4. Отпечатва на екрана тези от числата между 1 и 100, които са кратни на


3.

5. Въвежда две числа a и b (a < b) и отпечатва на екрана всички кратни на


10, които са между a и b.

6. Отпечатва на екрана всички трицифрени, които имат сбор от цифрите


равен на 19. Числата да се извеждат на един ред, разделени с по 2
интервала. След това на нов ред да се изведе общия брой на търсените
числа.

7. Намира и отпечатва сумата на числата от 1 до 100 включително.

8. Въвежда едно число N (N <= 150) и намира и отпечатва сумата на числата


от 1 до N.

9. Въвежда едно число N (N <= 10000) и намира и отпечатва всички


делители на числото N, като ги разполага на един ред, разделени с по
един интервал.

2
10.(5_07)Въвежда число N (N<= 50) и намира и отпечатва
произведението на числата от 1 до N.

11.Въвежда две числа a, n (n>0) и намира и отпечатва an.( an


=а*а*а*….*а – n пъти)

12. Въвежда число N (N<= 20) , после въвежда още N на брой числа
и намира и отпечатва:
а) сумата на тези числа
б) броя на четните от тези числа
в) най-голямото от тези числа
г) най-малкото от числата

13.Въвежда число N и проверява дали то е просто или съставно

You might also like