Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа 1234_Прогр.doc
Скачиваний:
61
Добавлен:
14.05.2015
Размер:
399.36 Кб
Скачать

Циклы for и foreach

Начнем сразу с примера цикла for:

int k = Int32.Parse(Console.ReadLine());

int sum=0;

for(int i=1; i<=k; i++){

sum+=i;

}

Console.WriteLine(sum);

Этот пример подсчитывает сумму чисел от 1 до введенного пользователем числа k. Сумма записывается в переменную sum и выводится на экран.

Очень часто циклы используются для некоторых действий с массивами. Так как нумерация элементов массива идет с нуля, то типичный цикл будет выглядеть так:

int[] a = {-5, 4, 55};

int sum=0;

for(int i=0; i<3; i++){

sum+=a[i];

}

В этом примере начальное значение для счетчика цикла равно нулю, и в условии продолжения цикла мы пишем знак "меньше", после которого ставится количество элементов в массиве. Разумеется, если в цикле должен выполниться только один оператор, то фигурные скобки можно не писать. Тут все, как в других C/C++-подобных языках.

Теперь рассмотрим пример цикла foreach:

int[] m = {-5, 4, 10};

int sum=0;

foreach(int i in m){

sum+=i;

}

В данном примере мы суммируем все элементы массива m, записывая сумму в sum.

В приведенном примере наш цикл перебирает все элементы массива m. На это нам указывает строка

...

foreach(int i in m){

...

которая интерпретируется так: для каждого целого числа из массива m делам что-то там. Если бы элементами массива были бы не целые, а, скажем, вещественные, то мы записали бы что-то вроде:

...

foreach(float i in m){

...

Т. е. мы пишем именно тип элементов массива. На самом деле foreach используется не только для массивов, но и для других объектов (например, для хэш-таблиц). Но это будет рассмотрено в последующих уроках.

Цикл со счетчиком определяется следующим образом:

for(инициализация счетчика; условие; изменение счетчика)

тело цикла

Цикл со счетчиком прекращается в том случае, когда условие становится ложным. Цикл с предусловием записывается следующим образом:

while(условие)

тело цикла

Цикл с предусловием прекращается в том случае, когда условие становится ложным. Цикл с постусловием записывается следующим образом:

do

тело цикла

while(условие);

Цикл с постусловием прекращается в том случае, когда условие становится ложным. Цикл с массивом записывается следующим образом:

foreach(элемент массива in массив)

тело цикла

Цикл с массивом прекращается в том случае, когда будет закончен перебор всех элементов массива. Во всех циклах можно применять операторы break и continue.

Для проверки условия используется следующая конструкция:

if (условие)

условие истинно

else

условие ложно

Для множественной проверки значения переменной используется следующая конструкция:

switch(переменная){

case значение 1:

код для значения 1

break;

case значение 2:

код для значения 2

break;

default:

код для значения по умолчанию

}

Выполнение общего задания по разработке модуля циклических операций

После объявления массивов выполнить:

1.Генерацию массива одномерного размерностью 10, 20 или 100 с линейно нарастающей последовательностью значений элементов (i++).

2. Генерацию массива одномерного размерностью 10, 20 или 100 с линейно убывающей последовательностью значений элементов (N-I; i++).

3.Генерацию двумерного массива (матрицы) размерностью главной диагонали 10 или 20 с линейным нарастанием значений элементов на строке, и с увеличением всех значений в каждой последующей строке на единицу относительно значений элементов предыдущей строки – реализуется это следующим образом:

Объявляется двумерный массив (нельзя забывать об объявлении типов (целый), используемых в массивах идентификаторов для индексации элементов);

Заполнение элементов массива реализуется вложенными циклическими операторами-

Внешний цикл будет пересчитывать столбцы, внутренний цикл- элементы строк, при этом исполняемый оператор цикла реализует присвоение каждому элементу массива значение, равное сумме индексов этого элемента (a[i,j]=i+j).

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