Основы программирования. Урок 3.

Основы программирования. Урок 3.

 

Тема: Операторы цикла

 

План:

1. Оператор цикла for
2. Цикл с предусловием while
3. Цикл с постусловием do while

Теоретическая часть

Операторы цикла предназначены для многократного повторения некоторой последовательности действий до тех пор, пока выполняется условие. В языке С++ существуют три типа циклов: for, while, do … while.

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

Синтаксис оператора for:

for (инициализация; условие; приращение)
{тело цикла;}

где
Инициализация — это задание начального значения переменной, которая является параметром цикла.
Условие — условное выражение, определяющее, следует ли выполнять тело цикла в очередной раз.
Оператор приращение — изменяет значение параметра цикла после каждой итерации (выполнения тела цикла).
Эти три оператора называются секциями оператора for. Цикл for выполняется, если выражение условие принимает значение ИСТИНА. Как только выражение условие принимает значение ЛОЖЬ, то происходит выход из цикла и выполняются действия, следующие за телом цикла. Тело цикла заключается в фигурные скобки, если оно состоит более чем из одного оператора, иначе скобки можно не ставить. Цикл for может иметь большое количество вариаций, например могут отсутствовать некоторые секции или тело цикла.
На рисунке 1 изображен алгоритм цикла for. 

Рисунок 1 — Алгоритм цикла for

В пример приведем программу, которая выводит на экран числа от 1 до 100.

#include <iоstream> 
using namespace std;
int main()
{
int x;
for(x=1; x <= 100; x++)
cout<<x;
return 0;
}

В приведенном примере в секции инициализации параметра цикла переменной х присваивается начальное значение 1. В каждой итерации проверяется условие х<=100. Если условие выполняется, то на экран выводится текущее значение переменной х. Затем значение х увеличивается на 1 и действия повторяются еще раз, до тех пор, пока х не станет больше 100.

2 Цикл с предусловием while

Синтаксис цикла while имеет вид:

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

Цикл while является циклом с предусловием. Сначала проверяется выражение условие, стоящее в круглых скобках после слова while. Если условие истинно, то далее выполняется тело цикла. Затем опять проверяется уловие. Как только условие примет значение ЛОЖЬ программа выйдет из цикла и будет выполняться следующий за циклом оператор. Следует обратить внимание, что в теле цикла должна изменяться переменная, которая входит в выражение условие, иначе условие будет принимать значение ИСТИНА всегда и цикл будет бесконечным.
На рисунке 2 изображен алгоритм оператора while.

Рисунок 2 — Алгоритм цикла while

В пример приведем программу, которая как и предыдущая, выводит на экран числа от 1 до 100, но реализуем это средствами оператора while.

#include <iоstream>
using namespace std;

int main()

{
int x=1;
while (x<=100)
{
cout<<x;
x++;
}
return 0;
}

 

Сначала выполняется проверка выражения x<=100. Если условие истинно, то на экран выводится текущее значение переменной х, а затем х увеличивается на 1. Как только х станет больше 100 выполнение цикла прекратится.

3 Цикл с постусловием do-while

В отличие от циклов for и while, которые проверяют условие перед выполнением тела цикла, do-while делает это после итерации. При использовании цикла do-while следует учитывать, что тело цикла обязательно выполнится по крайней мере один раз.
Синтаксис цикла do-while:

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

На рисунке 3 изображен алгоритм цикла do-while.

Рисунок 3 — Алгоритм цикла do while

Ниже приведена программа, которая выводит числа от 1 до 100, с циклом реализованным средствами do-while.

#include <iоstream>
using namespace std;

int main()
{
int x=1;
do {
cout<<x;
x++;
}
while (x<=100);
return 0;
}

 

На экран выводится текущее значение х, затем значение переменной х увеличивается на 1. После этого происходит проверка выражения условия на истинность. Если выражение условия истинно, тело цикла выполняется еще раз, иначе происходит выход из цикла и выполняется следующий после цикла оператор.

Практическое задание

1 Написать программу, которая находит среднее арифметическое
а) N чисел
б) заранее неизвестного количества чисел

а)

#include
#include
using namespace std;

int main()
{
int n;
double i, a, sum, min, max;
sum=0;
min=1000;
max=0;
cout << «Введите количество чисел последовательности -> «;
cin >> n;
cout << » Введите последовательность. «<<«После ввода каждого числа нажимайте «;
for (i=0; i<n; i++)
{
cout << «-> «;
cin >> a;
sum += a;
if (a < min) min = a;
if (a > max) max = a;
}
cout << «Среднее арифметическое введенной последовательности: » << sum / n
<< «Количество чисел : » << n <<» «
<< «минимальное число : » << min<<» «
<< «максимальное число : » << max<<» «
<< » Для завершения нажмите «;
return 0;

}

 

б)

#include <iоstream>

using namespace std;

int main()
{
int n=0, m=0;
float sr=0, sum=0;
do{
cin>>n;
sum=sum+n;
m++;
}
while(n!=0);
cout<< » suma = «<<sum<<endl;
m—;
cout<< «m=»<<m<<endl;
sr=sum/m;
cout<<«srednee aryfmeti4eskoe= «<<sr<<endl;

return 0;
}

 


Учебная программа курса BotBase

Центр робототехники "BOTEON".
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: