Цикл фор в си шарп

Цикл фор в си шарп

Циклы служат для многократного повторения некоторого фрагмента кода.
В Си-шарп есть четыре оператора циклов: for, while, do-while, foreach.

Цикл for

Этот цикл используется тогда, когда наперед известно, сколько повторений нужно сделать. Он имеет следующую структуру:

for (инициализация счетчика; условие продолжения; итерация)
<
//блок кода, который будет повторяться
>

Пример программы, которая выводит на экран числа 0, 1, 2, 3, 4:

static void Main(string[] args)
<
for (int i = 0; i 0; i—) //выполнится 5 раз
<
Console.WriteLine(i);
>

Счетчик можно изменять не только на единицу. Пример программы, которая выводит чётные числа (по число 50):

do
<
//блок кода, который будет повторяться
>
while (условие продолжения);

Пример программы, которая не завершит работу, пока с клавиатуры не введут число 5:

static void Main(string[] args)
<
int number;
do
<
Console.WriteLine("Введите число 5");
number = Convert.ToInt32(Console.ReadLine());
>
while (number != 5);
>

О цикле foreach мы поговорим в отдельном уроке.

Оператор break

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

Пример программы, которая проверяет, есть ли в массиве число кратное 13-ти. Найдя такое число, нет смысла дальше проверять остальные элементы массива, и здесь мы используем оператор break:

static void Main(string[] args)
<
int[] numbers = < 4, 7, 13, 20, 33, 23, 54 >;
bool b = false;
for (int i = 0; i

Пример программы, в которой находится сумма элементов массива с использованием цикла foreach:

static void Main(string[] args)
<
int[] numbers = < 4, 7, 13, 20, 33, 23, 54 >;
int s = 0;

foreach (int el in numbers)
<
s += el;
>
Console.WriteLine(s);
Console.ReadKey();
>

На каждой итерации в переменную el последовательно записывается элемент коллекции. На первой итерации значение переменной el равно “4” , на второй итерации — “7” и т.д.

Как и в других циклах, в foreach можно использовать операторы break и continue.

Данный оператор стоит использовать для получения (чтения) данных из коллекции. Не стоит использовать его для добавления или удаления элементов из коллекции, иначе вы получите исключение (ошибку) Collection was modified; enumeration operation may not execute.

Домашнее задание

Используя цикл foreach, выведите на экран все элементы массива целых чисел, которые больше 20 и меньше 50.

Урок 8

Функции в Си-шарп. Оператор return

Функция являет собой небольшую подпрограмму. Если просто программа — это решение какой-то прикладной задачи, то функция – это тоже решение, только уже в рамках программы и, соответственно, она выполняет задачу «попроще». Функции позволяют уменьшить размер программы за счет того, что не нужно повторно писать какой-то фрагмент кода — мы просто вызываем сколько угодно и где нужно объявленную функцию.

Функции в Си-шарп также называют методами. Между этими двумя понятиями разница небольшая, и тут мы будем использовать термин функция.

Читайте также:  Фотошоп программа для обработки фотографий

До этого, мы весь код писали в функции main. Функция main является главной функцией приложения и точкой входа программы. Любая функция в Си-шарп может быть объявлена только в рамках класса, так как C# — полностью объектно-ориентированный язык программирования (ООП). Объявление пользовательской функции внутри другой функции (например main) недопустимо. Объявление функции имеет следующую структуру:

[модификатор доступа] [тип возвращаемого значения] [имя функции] ([аргументы])
<
// тело функции
>

Модификатор доступа (области видимости) может быть public, private, protected, internal. Для чего это нужно будем говорить в отдельном уроке, а пока будем везде использовать public.

Между модификатором и типом может стоять ключевое слово static, что означает, что функция будет статичной. Подробно говорить о статичных функциях и переменных мы будем в отдельном уроке. Скажу только, что из статичной функции можно вызывать другие функции, если они тоже статичные. Главная функция main – всегда static, поэтому все функции в этом уроке мы будем объявлять также статичными.

Функция может возвращать значение или не возвращать. Если функция, например, возвращает целое число, то нужно указать тип int. Если функция не возвращает никакого значения, то для этого используется ключевое слово void. Функции, которые не возвращают значение, еще называют процедурами.

Называть функции стоит так, чтобы имя отображало суть функции. Используйте глаголы или словосочетания с глаголами. Примеры: GetAge(), Sort(), SetVisibility().

Аргументы – это те данные, которые необходимы для выполнения функции. Аргументы записываются в формате [тип] [идентификатор]. Если аргументов несколько, они отделяются запятой. Аргументы могут отсутствовать.

Первая строка функции, где указываются тип, имя, аргументы и т.д. называется заголовком функции.

Итак, хватит теории, переходим к практике.

Пример функции, которая не возвращает значение

Напишем простую функцию, которая будет заменять в массиве строк указанное имя на другое. Данная функция будет принимать три аргумента: массив строк, имя, которое необходимо заменить и новое имя. Так как функция не будет возвращать значение, указываем тип void перед именем функции.

public static void ReplaceName(string[] names, string name, string newName)
<
for (int i=0; i max)
max = array[i];
>
return max;
>

Логика функции проста. Создаем переменную max, в которую записываем первый элемент массива. Дальше в цикле сравниваем каждый элемент со значением в max, если элемент больше, чем max, то записываем в max этот элемент. В конце функции используем оператор return, чтобы вернуть наш результат.

Оператор return должен быть обязательно в функции, которая возвращает значение.

Используем нашу функцию:

class Program
<
public static int GetMax(int[] array)
<
int max = array[0];
for (int i = 1; i max)
max = array[i];
>
return max;
>
static void Main(string[] args)
<
int[] numbers = < 3, 32, 16, 27, 55, 43, 2, 34 >;
int max;
max = GetMax(numbers); //вызов такой функции можно использовать при присваивании значения
Console.WriteLine(GetMax(numbers)); // вызов функции также можно использовать как аргумент при вызове другой функции. WriteLine() – тоже функция.
Console.ReadKey();
>
>

Читайте также:  Очки виртуальной реальности для ноутбука

Оператор return

Когда встречается этот оператор, происходит выход из функции и код ниже (если он есть) выполняться не будет (например, в функцию передан такой аргумент, при котором нет смысла выполнять функцию). Он похож на оператор break, который используется для выхода из циклов. Этот оператор также можно использовать и в функциях, которые не возвращают значение. Оператор return допустимо использовать несколько раз в функции, но этого делать не рекомендуется.

Домашнее задание

Задача 1. Напишите функцию, которая будет менять в массиве целых чисел все элементы, которые равны указанному значению (аргумент) на противоположное значение по знаку. Например, все элементы массива которые равны 5, будут меняться на -5.

Задача 2. Напишите функцию, которая будет находить минимальное число из трех.

Задача 3. Напишите функцию, которая будет возвращать указанный элемент ряда Фибоначчи. Ряд Фибоначчи – это ряд, в котором каждый следующий элемент равен сумме двух предыдущих. 1 1 2 3 5 8 13 21… Функция принимает порядковый номер элемента, и возвращает соответствующий элемент.

Урок 9

Последнее изменение этой страницы: 2016-04-07; Нарушение авторского права страницы

Формула программиста

Работая с этим сайтом, Вы даете согласие на использование файлов Cookie.

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

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

Рассмотренный пример содержит дополнительную проверку на ввод нулевого значения value . Если убрать эту проверку, при вводе нулевого значения выведется количество цифр во введенном числе равным 0 . Использования дополнительной проверки можно избежать если использовать цикл с постусловием.

Закрепить тему циклов с предусловием Вы можете в разделе Пока-цикл курса Алгоритмика

Цикл с постусловием

Закрепить тему циклов с постусловием Вы можете в разделе Do-рацикл курса Алгоритмика

Параметрический цикл

Закрепить тему параметрических циклов Вы можете в разделе For-to-чки курса Алгоритмика

Цикл перебора элементов

Вложенные циклы

Результат выполнения программы показан на рисунке

Параметр внешнего цикла изменяется от 0 до 9 и представляет собой величину десятков числа. Во внешнем цикле размещается вложенный цикл, параметр которого также меняется от 0 до 9 , но представляет собой величину единиц числа. Кроме вложенного цикла, внешний цикл содержит в себе вызов функции перевода строки.

Закрепить тему вложенных циклов Вы можете в разделах Любимые циклы, Матрёшки курса Алгоритмика

Операторы передачи управления

Оператор прерывания цикла break предназначен для принудительного выхода из цикла. Он прекращает выполнение операций цикла и передает управление следующей операции, размещенной после цикла. При использовании вложенных циклов оператор break осуществляет выход из цикла, внутри которого он непосредственно размещен.
В качестве примера рассмотрим тот же вывод чисел от 0 до 99 в виде матрицы, но при условии, что у всех выводимых чисел разряд единиц должен быть не больше разряда десятков.

Результат выполнения программы представлен на рисунке

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

Читайте также:  Айфон хс макс обзор

Оператор continue используется для перехода к следующей итерации цикла без завершения тела цикла для текущей итерации. При этом осуществляется переход к модификации (для цикла for ) и проверке условия выполнения следующей итерации цикла (для всех циклов).
В качестве примера рассмотрим вывод чисел от 0 до 99 в форме двумерной матрицы, но при условии, что выводимые числа не содержат цифру 5 .

Результат выполнения программы представлен на рисунке

Закрепить тему операторов передачи управления Вы можете в разделе Обман цикла курса Алгоритмика

Автор: Вставская Елена Владимировна

Начинаем практику по языку C#

Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.

Основатель проекта

Вебинары C#

+ Бесплатно, каждую субботу
+ Создание программ с нуля
+ Решение консольных задач

Видео-уроки

+ 300 практических видеоуроков
+ 400 интерактивных задач
+ Видео-решения и разбор

Миссия

Погружение в язык C#
Мотивация к изучению языка
Прокачка навыков программирования

Видеоурок

В языке C#, как и в большинстве других языков, существует 3 вида циклов. Каждый из них выполняет одну и ту же роль, но записывается по-разному. Рассмотрим все три цикла.

Цикл For

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

В объявлении цикла записывается следующее: переменная цикла, её начальное значение и диапазон. В примере выше будут выведены числа от 0 до 10.

Если в теле цикла всего одна строка кода, то фигурные скобки можно пропустить и не записывать их.

Цикл While

Суть цикла while не особо отличается от цикла for . Единственное отличие заключается в способе записи цикла. В while необходимо прописать лишь условие, а все остальные параметры записываются вне цикла:

Цикл Do While

Цикл схож с циклом while по форме написания, но при этом работает немного по-другому. Цикл do..while будет выполнен один раз сто процентов, а дальше проверит условие и если оно верно, то цикл будет выполняться дальше:

Как видно из примера, цикл изначально неверный, но это не мешает ему сработать один раз.

Операторы для работы в циклах

Существует три основных оператора для работы в циклах:

  • Оператор break — служит для выхода из цикла полностью;
  • Оператор return — выполняет ту же функцию, что и оператор break, но для циклов лучше использовать break;
  • Оператор continue — пропускает лишь одну итерацию и не выходит из цикла.
Ссылка на основную публикацию
Фото с листком для вк
Сигна в ВК – это просто фотография человека с листком бумаги, на котором обычно написано чье-то имя. Часто надписи делают...
Установка виндовс зависла на начало установки
Если вы решили переустановить или установить операционную систему, но начало установки Windows 7 зависает, то в этой статье, думаю, вы...
Установка драйвера принтера отказ
Нередки ситуации, когда не устанавливается принтер, хотя система видит, что к компьютеру подсоединилось новое оборудование. Решение такой задачи требует серьезного...
Фото спортивных мужчин 40 лет
17. Джерард Батлер, 48 лет (kinopoisk) «Законопослушный гражданин» Джерард Батлер когда-то работал официантом, демонстратором игрушек и даже юристом. Он также...
Adblock detector