Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
_Л7_ЦиклFor_РЕ1_С++р.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
182 Кб
Скачать
☆

3. Операции инкремента и декремента

В языке С++ принято операцию приращения цикла i=i+1 записывать как i++, например:

for(i=1; i<=n; i++)

Y =A*i;

Такая запись называется операцией инкремента. Если i=i-1, то записывают i-- и называют операцией декремента.

Эти операции свойственны только языку С++. Унарные (одиночные, одноместные) операции инкремента (декремента) увеличивают (уменьшают) свой ​​операнд (обязательно переменную) на единицу. Они изменяют значение самой переменной, то есть являются скрытой формой операции присваивания. Иногда эти операции применяют как самостоятельный оператор:

i++; i--;

что эквивалентно записи

i = i +1; i = i - 1;

Но эти операции могут использоваться и в выражениях, например,

sum = sum +x *++i ;

Инкремент и декремент реализуются в двух формах: префиксной и постфиксной. Особенности выполнения этих форм следующие.

При префиксной форме ++i (--i) - переменная i сначала увеличивается (уменьшается) на единицу , а затем ее значение используется в выражении.

При постфиксной форме і++ (i--) – значение переменной i сначала используется в выражении и только после вычисления выражения переменная увеличивается (уменьшается) на единицу.

4. Разработка программ с использованием оператора цикла for

Рассмотрим простейший пример оператора цикла for. Необходимо исследовать программу для печати в столбец чисел от 1 до заданного числа n=15 с шагом 1. Использовать оператор for. Блок-схема алгоритма выполнения такого задания приведена на рис. 7.3.

Рис. 7.3. Блок-схема алгоритма для печати в столбец n чисел

Ниже приведен программный код, реализующий данный алгоритм:

Int _tmain(int argc, _tchar* argv[])

{

int i, n ;

cout<<"Vvedite n "<<endl;

cin>>n; //Ввод значения переменной n

for ( i=1; i< n; i++ ) //Оператор цикла for

cout << i <<endl; //Тело цикла – вывод параметра цикла i

getch();

return 0;

}

В результате выполнения программы будет напечатан столбец положительных чисел от 1 до 15. Анализ результатов показывает, что работа оператора цикла for происходит в полном соответствии со схемой вычислительного процесса на рис. 7.1. В данном примере параметром цикла for является переменная i (она же – счетчик). В начале цикла счетчик (переменная i) инициализируется значением 1. Потом выполняется тело цикла (cout << i <<endl;) и проверяется, не достиг ли счетчик значения n=15. После каждого выполнения тела цикла счетчик (i) увеличивается на единицу. Как только i станет равным 15, тело цикла пропускается и управление передается следующему оператору программы.

Пример 1. Исследуем программу вычисления факториалa целого числа n с использованием оператора for. Факториал – это произведение целых чисел от 1 до n. Необходимо проанализировать блок-схемы вычислительного процесса и алгоритма решения задания при помощи оператора цикла for, ввести код программы, построить решение и произвести вычисления для n=10.

Факториал числа n вычисляется по следующей формуле:

n! = 1*2*3*4* ... *n =

При вычислении факториала начальному значению произведения П необходимо присвоить 1. При каждом выполнении тела цикла Пi-1 будем умножать на i. Примем для обозначения произведения идентификатор р. Блок-схемы вычислительного процесса и алгоритма решения задания при помощи оператора цикла for имеют следующий вид:

а) б)

Рис. 7.4. Блок-схемы вычисления факториалa целого числа n:

а) вычислительного процесса; б) алгоритма с использованием оператора for

Учитывая блок-схемы на рис. 7.4 программу вычисления факториала можно записать в следующем виде: