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

Оборудование: Персональный компьютер, компилятор языка С#.

Цель работы: Ознакомиться с операторами цикла и научиться применять их в С#-программах.

Циклическая управляющая структура применяется для организации многократного выполнения некоторого оператора. Оператор цикла включает <заголовок цикла> и <тело цикла>. Заголовок определяет количество повторений цикла, а тело - повторяемые операторы.

В C реализовано три вида оператора цикла.

(1) Цикл while

while <условие>

<тело цикла>

Условие - это логическое выражение булевского типа.

Тело цикла - это оператор, или последовательность операторов, заключенная в операторные скобки { }. Алгоритм выполнения цикла while

1. Вычисляется значение условия.

2. Если условие истинно, то выполняются операторы тела цикла и повторяется шаг 1.

3. Если условие ложно, то цикл завершается и происходит переход к следующему за while оператору.

(2) Цикл do while

do{

<тело цикла>

}

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


Условие - это выражение булевского типа.

Тело цикла - это оператор, или последовательность операторов, разделенная символом ";".

Алгоритм выполнения цикла do while

1. Выполняются операторы тела цикла.

2. Вычисляется значение условия.

3. Если условие ложно, то повторяется шаг 1.

4. Если условие ложно, то цикл завершается и происходит переход к следующему за do оператору.

Замечания.

1. Оператор do while , в отличии от оператора while, обязательно выполнится по крайней мере один раз.

2. Выйти из цикла можно минуя вычисление условия с помощью оператора go, однако это не соответствует принципам структурного программирования.

3. Если операторы тела цикла не влияют на значение условия и условие истинно перед выполнением цикла while и после выполнения цикла do while, то цикл будет выполняться бесконечно (эффект "зацикливания").

(3) Оператор for

Оператор for - это наиболее общий способ организации цикла. Он имеет следующий формат:

for ( выражение 1 ; выражение 2 ; выражение 3 ) тело

Выражение 1 обычно используется для установления начального значения переменных, управляющих циклом. Выражение 2 - это выражение, определяющее условие, при котором тело цикла будет выполняться. Выражение 3 определяет изменение переменных, управляющих циклом после каждого выполнения тела цикла.

Схема выполнения оператора for:

1. Вычисляется выражение 1.

2. Вычисляется выражение 2.

3. Если значения выражения 2 отлично от нуля (истина), выполняется тело цикла, вычисляется выражение 3 и осуществляется переход к пункту 2, если выражение 2 равно нулю (ложь), то управление передается на оператор, следующий за оператором for.

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

Пример:

int main()

{ int i,b;

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

b=i*i;

return 0;

}

В этом примере вычисляются квадраты чисел от 1 до 9.

Другим вариантом использования оператора for является бесконечный цикл. Для организации такого цикла можно использовать пустое условное выражение, а для выхода из цикла обычно используют дополнительное условие и оператор break.

Пример:

for (;;)

{ ...

... break;

... }


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

Пример:

for (i=0; t[i]<10 ; i++) ;

В данном примере переменная цикла i принимает значение номера первого элемента массива t, значение которого больше 10. Типы параметра цикла, начального и конечного значений должны быть совместимы. Допускается любой скалярной тип кроме вещественного, т.е. любой порядковый тип. Порядок, установленный на множестве значений таких типов, позволяет для любого значения определить следующее за ним и предыдущее.

Тело цикла - это оператор, или последовательность операторов, заключенная в операторные скобки { }.

Замечания

1. Цикл for целесообразно использовать в тех случаях, когда заранее известно количество повторений цикла.

2. Значение параметра цикла нельзя изменять внутри тела цикла и следует считать это значение неопределенным при выходе из цикла.

3. Выйти из цикла можно преждевременно с помощью оператора goto, однако это не соответствует принципам структурного программирования.

Лабораторная работа 3 включает 4 задания.

1. Обработка последовательностей значений.

При обработке последовательности ее элементы не запоминаются, а обрабатываются непосредственно после ввода.

Даны натуральное число n и целые числа A1,A2,...,An. Выяснить, какое число встретится в последовательности раньше положительное или отрицательное. Если все члены равны нулю, то сообщить об этом.

Рассмотрим код процедуры Main()

string N, A;

int n, a, i;

Console.WriteLine("Введите n");

N = Console.ReadLine();

n = Convert.ToInt32(N);

i = 0; a = 0;

while ((a == 0) && (i < n))

{

Console.WriteLine("Введите a");

A = Console.ReadLine();

a = Convert.ToInt32(A);

i++;

}

if (a == 0)

Console.WriteLine("Все элементы равны 0");

else

if (a < 0)

Console.WriteLine("Первый не нулевой элемент отрицательный");

else

Console.WriteLine("Первый не нулевой элемент положительный");

Console.ReadLine();


Информация о работе «Оператор цикла»
Раздел: Информатика, программирование
Количество знаков с пробелами: 15685
Количество таблиц: 0
Количество изображений: 2

Похожие работы

Скачать
6703
2
0

... include <stdio.h> main() { int i=0; /*i=0, а не единице*/ do i++; while (getchar()!=’R’); printf("Символ R %d-й",i); } Программа, представленная выше, теперь написана с циклом do-while. Результат программы будет таким же. Оператор цикла for Описание: for (выражение 1; выражение 2; выражение 3) оператор; Действие: В круглых скобках содержится три выражения. Первое из них служит для ...

Скачать
8954
0
0

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

Скачать
8719
0
0

... , а вложенные циклы — внутренними. Правила организации как внешнего, так и внутренних циклов такие же, как и простого цикла. Задача 3. На интервале [2; n] найти натуральное число с максимальной суммой делителей. Предлагаемая задача может быть отнесена к классу «задачи целочисленной арифметики», где аргументы, результаты и промежуточные величины относятся к целому типу. Следует заметить, что в ...

Скачать
13705
0
1

... , определяющее, как будет меняться параметр цикла. В операторе for сначала проверяется условие и если значение условия "истинно", то идёт выполнение тела цикла (блока операторов или простого оператора). Задание №3. «Массивы и подпрограммы» Результатом выполнения третьего задания должна быть программа, написанная с использованием подпрограмм – не менее 2 процедур и 1 функции. Задание ...

0 комментариев


Наверх