- •Уровни языков программирования
- •Язык c#
- •Переменные и константы
- •Числа без знака
- •Числа со знаком
- •Числа с плавающей точкой
- •Текстовые символы
- •Логический тип данных
- •Выражения и операторы с#
- •Составные операторы
- •Поразрядные операторы
- •Логические операторы
- •Операторы отношения
- •Приоритеты операторов
- •Работа с консолью
- •Преобразование типов
- •Оператор явного преобразования типов
- •Преобразование типов констант
- •Алгоритмизация и решение задач Понятие алгоритма
- •Словесное описание
- •Блок-схема
- •Описание Блоков
- •Псевдокод
- •Реализация алгоритмических конструкций в с# Следование
- •Ветвление
- •Ветвление и условный оператор
- •Вложенные условия
- •Применение логических операций
- •Цикл Пока
- •Цикл Делать-Пока
- •Цикл с параметром
- •Прерывание и возобновление цикла
- •Оператор goto
- •Особые виды циклов
- •Сложные типы данных – массивы чисел и символов Одномерные массивы
- •Использование оператора foreach
- •Типы задач обработки одномерных числовых массивов
- •Многомерные массивы
- •Типы задач обработки двумерных числовых массивов
- •Невыровненные (ступенчатые) массивы
- •Обработка массива символов
- •Работа с текстовыми строками
- •Базовые операции со строками
- •Методы типа string
- •Форматирование текстовых строк
- •Функции
- •Описание и использование функций
- •Возвращаемые значения
- •Передача параметров
- •Массивы параметров
- •Передача параметров по ссылке и по значению
- •Выходные параметры
- •Область действия переменных
- •Глобальные переменные
- •Область действия переменных и управляющие конструкции
- •Рекурсия
- •Структуры
- •Работа с текстовыми файлами
- •Работа с двоичными файлами
Цикл Делать-Пока
Структура повторения «Делать-Пока» подобна структуре «Цикл-Пока». В структуре «Цикл-Пока» условие продолжения цикла проверяется в начале цикла до выполнения его тела. Структура «Делать-Пока» проверяет условие продолжения цикла после выполнения тела цикла, поэтому тело цикла будет выполнено, по крайней мере, один раз.
На следующем рисунке представлена блок-схема структуры «Делать-Пока» и ее псевдокод:
|
Делать <Блок Операторов> Пока <Условие>
|
Из нее становится понятно, что условие продолжения цикла проверяется только после того, как действие будет выполнено, по крайней мере, один раз. Переход назад (на следующую итерацию) возможен только после выполнения тела цикла и проверки заданного условия.
В C# структура «Делать-Пока» реализуется с помощью оператора do-while:
do
{
<Операторы>
}
while( <Условие> );
После завершения цикла do-while выполнение программы продолжается с оператора, следующего за предложением while. Обратите внимание, что при наличии только одного оператора в теле цикла в структуре do-while нет необходимости использовать фигурные скобки. Однако обычно фигурные скобки включаются во избежание путаницы между структурами do-while и while. Например, строка
while( <Условие> )
обычно рассматривается в качестве заголовка структуры while. Структура do-while без фигурных скобок вокруг ее тела, состоящего из одного оператора, выглядит как
do
<Оператор>
while( <Условие> );
Это может приводить к путанице. Последняя строка — while (условие); может быть неправильно истолкована читателем как структура while, содержащая пустой оператор. Поэтому структура do-while с одним оператором часто записывается так:
do
{
<Оператор>
}
while( <Условие> );
Цикл с параметром
Цикл с параметром предназначен для выполнения оператора или блока операторов заданное количество раз. Как правило, в цикле имеется параметр - переменная, играющая роль так называемой переменной цикла. При каждой итерации переменная цикла изменяет свое значение в заданных пределах.
Пусть в качестве параметра цикла используется переменная К, и цикл должен быть выполнен М раз. Вот как выглядит такой цикл в блок-схеме и на псевдокоде:
|
Для К = 1 До N [Шаг 1] <Операторы> Все-Для-К |
На блок-схеме цикл с параметром похож на цикл с предусловием. В псевдокоде указываются начальное и конечное значение параметра, а также шаг его изменения, при этом шаг может быть опущен только в случае, если он равен единице. Завершается цикл в псевдокоде строкой Все-Для, в которой указывается имя параметра цикла.
В C# цикл с параметром реализуется оператором for, который в общем виде записывается так:
for([Инициализация];[Условие];[Приращение])
<Оператор>
Оператор [Инициализация] выполняется один раз перед началом цикла. Перед каждой итерацией (т. е. перед каждым выполнением тела цикла <Оператор>) проверяется [Условие]. И, наконец, после каждой итерации выполняется оператор [Приращение].
Начальное значение переменной цикла задается в программе до оператора for или в операторе [Инициализация]. Способ изменения переменной цикла определяется оператором приращения, а сравнение ее текущего значения с предельным значением — в блоке [Условие ].
Таким образом, параметр цикла анализируется перед выполнением тела цикла, а модифицируется после его выполнения.
Цикл for имеет настолько общий характер, что его можно использовать для получения самых разнообразных эффектов. Например, любая из трех частей цикла может быть опущена, так как не всегда заранее известно, на сколько, например, надо смещаться по последовательности или когда завершить цикл.
Цикл вперед. Цикл назад.
