Цикл do

Такой цикл функционируют следующим образом. Сначала выполняется код тела цикла, затем производится булевская проверка, и если в ее результате возвращается true, данный код выполняется снова, и так повторяется до тех пор, пока после проверки не будет возвращено значение false, в этом случае цикл завершается.

Структура цикла do выглядит, как показано ниже, и подразумевает, что выражение <условие> должно возвращать одно из булевских значений:

do

{ <код, подлежащий выполнению в цикле>

} while (<условие>);

Пример (алгоритм описан выше)

int N,C,i;

float S=0;

string M=”Неверное N”,M1=”Неверная оценка”;

do

{ Console.WriteLine("Введите число учеников");

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

if (N<0||N>25) Console.WriteLine ({0},M);

}while(N<0||N>25);

Console.WriteLine("Введите оценки");i=0;

do

do

{C= Convert.ToInt32(Console.ReadLine());

if(C<2||Ci>5) Console.WriteLine ({0},M1);

}while (C<2||C>5); S+=C;i++;}

while(i<N);

S/=N;

Console.WriteLine("Средний балл {0}”,S);

Console.ReadKey();

Здесь цикл do используется не только для обработки вектора оценок, но и для организации ввода с контролем.

Цикл while

Этот цикл очень похож на цикл do, но имеет одно важное отличие: булевская проверка в нем выполняется в начале, а не в конце цикла. Если после выполнения этой проверки возвращается false, код в теле цикла вообще не выполняется. Вместо этого сразу выполняется код, следующий непосредственно за циклом.

Структура цикла while:

while (<условие>)

{ <код, подлежащий выполнению в цикле>

}

Перепишем тот же пример с циклом while для обработки вектора.

int N,C,i;

float S=0;

string M=”Неверное N”,M1=”Неверная оценка”;

do

{ Console.WriteLine("Введите число учеников");

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

if (N<0||N>25) Console.WriteLine ({0},M);

}while(N<0||N>25);

Console.WriteLine("Введите оценки");i=0;

while(i<N)

{do

{C= Convert.ToInt32(Console.ReadLine());

if(C<2||Ci>5) Console.WriteLine ({0},M1);

}while (C<2||C>5); S+=C;i++;};

S/=N;

Console.WriteLine("Средний балл {0}”,S);

Console.ReadKey();


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



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