Циклы в С++

Цикл – алгоритмическая конструкция, представляющая собой последовательность действий, выполняющихся многократно.
Тело цикла – последовательность действий, многократно повторяющаяся в процессе выполнения алгоритма.

Виды циклов

Цикл с предусловием («пока»)

while (условие){
тело цикла;}

Цикл с постусловием («до»)

do {
тело цикла
} while (условие);

Цикл с заданным количеством повторений (с параметром)

for (int i=m; i<n; i+=k) {
тело цикла;}

В циклах с условием тело цикла выполняется до тех пор, пока выполняется условие.

В цикле с параметром тело цикла выполняется от начального значения параметра i, равного m, до тех пор, пока оно не достигнет значения n с шагом k.

Циклы с условием, чаще всего, используются тогда, когда количество повторений неизвестно, а выполнение действий в цикле ограничено каким-либо условием. Однако цикл «пока» считается универсальным, его можно использовать для любой циклической задачи.
Циклы с параметром используют тогда, когда заранее известно количество повторов.
Пример: Вывести на экран числа от 1 до 15.

Фрагмент программы Ход выполнения
int i=1;
while (i<16){
cout << i << ” “;
i++;}
№ шага условие вывод i
1 1<16 1 2
2 2<16 2 3
3 3<16 3 4
15 15<16 15<16 16
16 16!<16
int i=1;
do {
cout<<i<<” “;
i++;
} while (i<16);
№ шага вывод i условие
1 1 2 2<16
2 2 3 3<16
3 3 4 4<16
15 15 16 16!<16
for (int i=1; i<16; i++){
cout<<i<<” “; }
После выполнения каждого шага цикла значение счетчика цикла i автоматически увеличивается на 1.

Вопрос: каково минимальное количество выполнений тела цикла в цикле с предусловием и в цикле с постусловием?

Еще примеры задач

1. На вход программы подаются целые числа. Условие окончания ввода – ввод 0. Посчитать количество четных чисел.

Решение:

Цикл с предусловием Цикл с постусловием
//описываем счетчик количества четных чисел

int k=0;

//описываем вводимые числа

int a;

//водим первое число

cin>> a;
while (a!=0){
if (a%2==0){
k++;
}
cin>>a;
}
cout<<k;

//описываем счетчик количества четных чисел

int k=0;

//описываем вводимые числа

int a;
do { cin>> a;
if (a%2==0){
k++;
}
}while (a!=0);
cout<<k-1;

Что будет выведено на экран, если на вход подали числа 3, 15, 6, 7, 8, 0?

2. На вход программы подается n чисел. Найти сумму чисел, оканчивающихся на 3.

Решение:

int s=0; // счетчик суммы
int a, n; cin>>n;
for (int i=0; i<n; i++) { cin>> a;
if (a%10==3){
s+=a;
}
}
cout<<s;