
- •Уровни языков программирования
- •Язык c#
- •Переменные и константы
- •Числа без знака
- •Числа со знаком
- •Числа с плавающей точкой
- •Текстовые символы
- •Логический тип данных
- •Выражения и операторы с#
- •Составные операторы
- •Поразрядные операторы
- •Логические операторы
- •Операторы отношения
- •Приоритеты операторов
- •Работа с консолью
- •Преобразование типов
- •Оператор явного преобразования типов
- •Преобразование типов констант
- •Алгоритмизация и решение задач Понятие алгоритма
- •Словесное описание
- •Блок-схема
- •Описание Блоков
- •Псевдокод
- •Реализация алгоритмических конструкций в с# Следование
- •Ветвление
- •Ветвление и условный оператор
- •Вложенные условия
- •Применение логических операций
- •Цикл Пока
- •Цикл Делать-Пока
- •Цикл с параметром
- •Прерывание и возобновление цикла
- •Оператор goto
- •Особые виды циклов
- •Сложные типы данных – массивы чисел и символов Одномерные массивы
- •Использование оператора foreach
- •Типы задач обработки одномерных числовых массивов
- •Многомерные массивы
- •Типы задач обработки двумерных числовых массивов
- •Невыровненные (ступенчатые) массивы
- •Обработка массива символов
- •Работа с текстовыми строками
- •Базовые операции со строками
- •Методы типа string
- •Форматирование текстовых строк
- •Функции
- •Описание и использование функций
- •Возвращаемые значения
- •Передача параметров
- •Массивы параметров
- •Передача параметров по ссылке и по значению
- •Выходные параметры
- •Область действия переменных
- •Глобальные переменные
- •Область действия переменных и управляющие конструкции
- •Рекурсия
- •Структуры
- •Работа с текстовыми файлами
- •Работа с двоичными файлами
Вложенные условия
В
любом блоке операторов, используемом
в конструкции ветвления, может также
использоваться ветвление. В этом случае
эти конструкции называются вложенными:
На псевдокоде вложенные условия выглядят так:
Если <Условие 1> То
Блок Операторов 1
Иначе
Если <Условие 2> То
Блок Операторов 2
Иначе
Блок Операторов 3
Все-Если
Все-Если
Конструкции ветвления и, соответственно, условные операторы допускается вкладывать друг в друга без ограничений. В результате можно проверять довольно сложные условия.
Применение логических операций
В предыдущей программе для определения принадлежности значения переменной inputNumber интервалу ]0, 100] мы использовали следующую конструкцию с логическим оператором И:
if(inputNumber > 0 && inputNumber <= 100)
System.Console.Write("Это число больше 0, но меньше или равно 100");
Аналогичного результата можно было бы добиться при помощи вложенного оператора if:
if(inputNumber > 0)
{
if(inputNumber <= 100)
{
System.Console.Write("Это число больше 0");
System.Console.Write(", но меньше или равно 100");
}
}
Если проверяется сложное условие, логические операторы позволят сократить исходный текст программы и сделать его нагляднее. Список логических операторов можно найти в одном из предыдущих разделов данного курса.
Интерпретация выражений, содержащих большое количество операторов отношений и логических операторов, может вызывать определенные трудности. Чтобы не запутаться с приоритетами операций, используйте круглые скобки, например:
if(((inputNumber > 10) && (inputNumber <= 100)) ||
! ((х > 20) && (х <= 200)))
Здесь тело оператора if будет выполнено в том случае, если число inputNumber принадлежит интервалу ]10, 100] или число х не принадлежит интервалу ]20, 200].
Наличие скобок никак не скажется на скорости компиляции или исполнения программы, но позволит улучшить ее читаемость и, в конечном счете, облегчит отладку.
Циклы
Циклы (повторения) в алгоритмах и, соответственно, в программах предназначены для многократного выполнения необходимых действий. Количество повторений цикла может задаваться программистом или определяться в зависимости от некоторого условия.
Циклы в блоксхемах
//
Существуют три основные управляющие конструкции. Две из них управляются задаваемым программистом условием, а третья реализует цикл с заданным количеством повторений. Выбор одной из них для каждого цикла в разрабатываемой программе зависит только от программиста.
Алгоритмические структуры «Циклы» реализуется в C# с помощью четырех различных управляющих конструкций. В данном разделе рассказывается об использовании итерационных операторов while, do-while, for и foreach.
Цикл Пока
Структура повторения «Цикл-Пока» позволяет программисту задать многократное выполнение действия до тех пор, пока некоторое условие остается истинным.
В общем случае в псевдокоде «Цикл-Пока» имеет вид:
Пока <Условие>
<Блок Операторов>
Все-Пока
На блок-схеме структура «Цикл-Пока» изображается следующим образом:
В C# структура «Делать-Пока» реализуется с помощью оператора do-while:
while( <Условие> )
{
<Операторы>
}
Напоминаем, что нужно всегда предусматривать возможность выхода из цикла. Бесконечный цикл часто появляется в программе вследствие ошибки программиста и не всегда может быть обнаружен компилятором при трансляции программы.