Технологии программирования. Циклы в C++

Содержание

Слайд 2

Циклы в C++. Цикл — многократное повторение одного и того же

Циклы в C++.

Цикл — многократное повторение одного и того же участка

программы.

Цикл for
Цикл for как правило используется в тех случаях, когда можно точно определить необходимое количество повторов.
for (/*инициализирующее выражение */ ; /* условное выражение */; /* модифицирующее выражение */ )
{
/*один оператор или блок операторов*/;
}

Слайд 3

Лекция 4. Циклы в C++. for (/*инициализирующее выражение */ ; /*

Лекция 4. Циклы в C++.

for (/*инициализирующее выражение */ ; /* условное

выражение */; /* модифицирующее выражение */ )
{
/*один оператор или блок операторов*/;
}

При работе цикла for первым выполняется инициализирующее выражение, в котором обычно устанавливается счетчик цикла, то есть переменной задается начальное, например, i=1. Это происходит только один раз перед запуском цикла. Затем анализируется условное выражение, которое также называется условием прекращения цикла. Пока оно равно true, цикл не прекращается. Например, i<10. Каждый раз после всех строк тела цикла выполняется модифицирующее выражение, в котором происходит изменение счетчика цикла. Например, i++. Как только проверка условного выражения даст результат false, все строки тела цикла и модифицирующее выражение будут пропущены и управление будет передано первому выражению, следующему за телом цикла.

Слайд 4

Лекция 4. Циклы в C++. Пример #include ; #include ; using

Лекция 4. Циклы в C++.

Пример
#include ;
#include ;
using namespace std;
void main()

{
int sum = 0, i;
for (i=1; i<10; i++) sum+=i;
cout << sum << endl;
getchar();
}
Слайд 5

Лекция 4. Циклы в C++. В C++ допускается объявление переменных прямо

Лекция 4. Циклы в C++.

В C++ допускается объявление переменных прямо

в строке инициализации цикла for. В этом случае, предыдущий пример программы примет вид
#include ;
#include ;
using namespace std;
void main() {
int sum = 0;
for (int i=1; i<10; i++) sum+=i;
cout << "sum=" << sum << endl;
getchar();
}
Слайд 6

Лекция 4. Циклы в C++. Обращение к переменной i, объявленной в

Лекция 4. Циклы в C++.

Обращение к переменной i, объявленной в цикле,

вне цикла приведет к ошибке (область видимости переменной ограничивается циклом).
Пример
#include ;
#include ;
using namespace std;
void main() {
int sum = 0;
for (int i=1; i<10; i++) sum+=i;
cout << "sum=" << sum << "i="<< i << endl; //в этой //строке ошибка
getchar();
}
Слайд 7

Лекция 4. Циклы в C++. Вложенные циклы for Синтаксис вложенных циклов

Лекция 4. Циклы в C++.

Вложенные циклы for
Синтаксис вложенных циклов for
//Внешний цикл
for

(/*инициализирующее выражение */ ; /* условное выражение */;
/* модифицирующее выражение */ )
{
/*один оператор или блок операторов*/;
// Внутренний цикл
for (/*инициализирующее выражение */ ; /* условное выражение */;
/* модифицирующее выражение */ )
{
/*один оператор или блок операторов*/;
}
}
Слайд 8

Лекция 4. Циклы в C++. Вложенные циклы for Пример #include ;

Лекция 4. Циклы в C++.

Вложенные циклы for
Пример
#include ;
#include ;
using namespace std;
void

main() {
int sum = 0;
for (int i=1; i<4; i++) {
cout << "i=" << i << endl;
for (int j=1; j<5; j++)
cout << "i=" << i << " j="<< j << endl;
}
getchar();
}
Слайд 9

Оператор break #include ; #include ; using namespace std; void main()

Оператор break

#include ;
#include ;
using namespace std;
void main() {
int sum =

0;
for (int i=1; i<6; i++) {
for (int j=1; j<5; j++) {
if (i < j) break;
cout << "i=" << i << "\t j="<< j << endl;
cout << "i-j=" << i-j << endl;
}
cout << endl;
}
getchar();
}

Оператор break (разрыв) вызывает немедленный выход из циклов, организуемых с помощью операторов for, while, do-while, switch; управление передается на оператор, следующий за законченным.

Слайд 10

Оператор break Пример 2 #include ; #include ; using namespace std;

Оператор break

Пример 2
#include ;
#include ;
using namespace std;
void main() {
int

sum = 0, j;
for (int i=1; i<6; i++) {
for (j=1; j<5; j++) {
cout << "i=" << i << "\t j="<< j << endl;
cout << "i-j=" << i-j << endl;
}
if (i < j) break;
cout << endl;
}
getchar();
}
Слайд 11

Оператор continue Пример 1 #include ; #include ; using namespace std;

Оператор continue

Пример 1
#include ;
#include ;
using namespace std;
void main() {
int

sum = 0;
for (int i=1; i<8; i++) {
if (i % 2 == 0) continue;
cout << "i=" << i << endl;
}
getchar();
}

Оператор continue передает управление на следующую итерацию того цикла, в теле которого он находится.

Слайд 12

Лекция 4. Цикл for в C++. Задания для самостоятельной работы 26.

Лекция 4. Цикл for в C++.

Задания для самостоятельной работы

26. Определите что

будет выведено на экран в результате работы следующей программы.
#include ;
#include ;
using namespace std;
void main() {
int a,b=0,i;
for (i=1;i<=6;i++)
{
a=i+2;
if (a>=5) b-=a;
else b+=a;
}
cout<< "b="< getchar();
}
Наберите текст программы и проверьте правильность ответа.
Слайд 13

Лекция 4. Цикл for в C++. Задания для самостоятельной работы 27.

Лекция 4. Цикл for в C++.

Задания для самостоятельной работы

27. Определите что

будет выведено на экран в результате работы следующей программы.
#include ;
#include ;
using namespace std;
void main() {
int a=0,i,j;
for (i=12;i<=15;i++)
for (j=4;j>=2;j--)
if (i%j!=0) continue;
else
a+=i/j;
cout<< "a="< getchar();
}
Наберите текст программы и проверьте правильность ответа.
Слайд 14

Лекция 4. Цикл for в C++. Задания для самостоятельной работы 28.

Лекция 4. Цикл for в C++.

Задания для самостоятельной работы

28.  Дано целое

число n (n>-10). Составьте программу, которая вычисляет сумму чисел от -10 до n.
29. Дано натуральное число n. Составьте программу, которая выводит на экран числа следующим образом:
1 2 3 4 5 6 . . . n-2 n-1 n
Слайд 15

Лекция 4. Цикл for в C++. Задания для самостоятельной работы 30.

Лекция 4. Цикл for в C++.

Задания для самостоятельной работы

30.  Составьте программу,

которая выводит на экран таблицу умножения в виде:
1*1=1 1*2=2 . . . 1*9=9 2*1=2 2*2=4 . . . 2*9=18 . . . 9*1=9 9*2=18 . . . 9*9=81