Примерни въпроси за теста на Държавния изпит
Въпрос 4
Колко пъти ще се изпълни тялото на цикъла?
Каква стойност за s ще се изведе на екрана?
Каква стойност за i ще се изведе на екрана?
for(s=0,i=0;i<10;i++);
s+=i;
cout<<s;
cout<<i;
Решение
Внимание! Заради точката и запетаята след затварящата скоба на for()- се счита, че тялото на цикъла е празен оператор. s+=i; си изпълнява след напускане на цикъла.
| Начални стойности: s=0 i=0 |
|
№ на
изпълнение на тялото |
i
|
s
|
i<10 ?
|
|
0
|
0
|
0<10 - да
|
|
|
1
|
0+1=1
|
0
|
1<10 - да
|
|
2
|
1+1=2
|
0
|
2<10 - да
|
|
3
|
2+1=3
|
0
|
3<10 - да
|
|
4
|
3+1=4
|
0
|
4<10 - да
|
|
5
|
4+1=5
|
0
|
5<10 - да
|
|
6
|
5+1=6
|
0
|
6<10 - да
|
|
7
|
6+1=7
|
0
|
7<10 - да
|
|
8
|
7+1=8
|
0
|
8<10 - да
|
|
9
|
8+1=9
|
0
|
9<10 - да
|
|
10
|
9+1=10
|
0
|
10<10 - не
|
|
s=0+10=10
|
Отговори:
10 пъти ще се изпълни тялото на цикъла
i=10
s=10