double arrow

Оператор цикла while

Тема 5. Операторы итерации

Определение оператора итерации "Оператор итерации повторяет оператор или блок операторов, пока не будет выполнено заданное условие завершения".

С# поддержи­вает три различных оператора цикла, способных удовлетворить разным запросам про­граммистов. Далее рассматривается их синтаксис и общая форма.

Цикл while повторяет одиночный или составной оператор (последний называется телом цикла), пока логическое выражение в условии цикла равно true (см. слайд). Когда условие цикла принимает значение false, поток управления пере­ходит на строку, следующую за циклом while. Синтаксический блок имеет вид.

Оператор while::=

while (<Условие цикла>)

<Тело цикла>

где:

<Условие цикла>::= <Логическое выражение>

<Тело цикла>::= <Оператор>;

::= <Составной оператор>;

Примечание: Тело цикла повторяется до тех пор, пока <Условие цикла> истинно (true).

Ключевое слово while(пока) выбрано подходящим образом — семантику цикла можно высказать обычным языком:

Пока (условие цикла истинно) повторять тело цикла.

Для иллюстрации работы цикла while рассмотрим следующий пример.

Пример. Написать программу, которая выводит последовательность чисел от 0 до 10.

using System;

class qqq

{

public static void Main()

{

int index=0;

while(index<=10)

{

Console.WriteLine(index);

index++;

}

Console.ReadLine();

}

}

Цикл while начинается с ключевого слова while, за которым следует зак­люченное в скобки условие index <= 5. Тело цикла заключено в фигурные скобки и представляет собой составной оператор, исполнение которого повторяется в цикле. Переменная indexявляется частью условия циклаи, очевидно, отвечает за его заверше­ние. Таким образом, нужно обратить внимание на те точки кода, где изменяется значе­ние index.

Ключевые моменты:

• инициализация index значением 0, ее называют инициализацией счет­чика цикла;

• увеличение indexна 1называется обновлением цикла.

Пока условие index < =10 равно true,тело цикла повторяется. После инициализации index равен 0, по этой причине, когда цикл выполняется первый раз, index <=10равно true, а значит, тело цикла исполняется. Поэтому первый раз на консоль выводится 0, далее index увеличивается на 1 (т.е. значение переменной стано­вится равным 1). Поток управления возвращается в и проверяет условие. Так как indexравно 1, условие index < =10 все еще справедливо, что приводит к повторению тела цикла (выво­ду значения и увеличению index ).

С каждым исполнением тела цикла index все больше приближается к моменту, когда условие index < =10 станет равным false. Так происходит до тех пор пока index не становится равным 10 Поток управления вновь переходит в условие, где условие index < =10 на этот раз дает false,что приводит к завершению цикла и пе­редаче управления оператору, следующему за циклом while.

Задание. Написать программу, которая вычисляет среднее из введенных пяти чисел.

using System;

class qqq

{

public static void Main()

{

int index=1, sum=0, a;

double average = 0;

while(index<=5)

{

Console.WriteLine("Введите число"+index);

a=Convert.ToInt32(Console.ReadLine());

sum=sum+a;

index++;

}

average = (double)sum/(index-1);

Console.WriteLine("Среднее равно" +average);

Console.ReadLine();

}

}


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



Сейчас читают про: