русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2013-12-23; просмотров: 770; Нарушение авторских прав


Оператор выбора switch

Оператор выбора switch предназначен для разветвления процесса вычислений по нескольким направлениям. Формат оператора:

switch ( <выражение> ){ case <константное_выражение_1>: [<оператор 1>]; <оператор перехода>; case <константное_выражение_2>: [<оператор 2>]; <оператор перехода>; ... case <константное_выражение_n>: [<оператор n>]; <оператор перехода>; [default: <оператор>; ] }

Замечание. Выражение, записанное в квадратных скобках, является необязательным элементом в операторе switch. Если оно отсутствует, то может отсутствовать и оператор перехода.

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

Выполнение оператора начинается с вычисления выражения, расположенного за ключевым словом switch. Полученный результат сравнивается с меткой case. Если результат выражения соответствует метке case, то выполняется оператор, стоящий после этой метки, за которым обязательно должен следовать оператор перехода: break, goto и т.д. При использовании оператора break происходит выход из switch и управление передается оператору, следующему за switch. Если же используется оператор goto, то управление передается оператору, помеченному меткой, стоящей после goto.

Пример. По заданному виду арифметической операции (сложение, вычитание, умножение и деление) и двум операндам, вывести на экран результат применения данной операции к операндам.

static void Main(){ Console.Write("OPER= "); char oper=char.Parse(Console.ReadLine()); bool ok=true; Console.Write("A= "); int a=int.Parse(Console.ReadLine()); Console.Write("B= "); int b=int.Parse(Console.ReadLine()); float res=0; switch (oper) { case '+': res = a + b; break; //1 case '-': res = a - b; break; case '*': res = a * b; break; case ':': if (b != 0) { res = (float)a / b; break; } else goto default; default: ok = false; break; } if (ok) Console.WriteLine("{0} {1} {2} = {3}", a, oper, b, res); else Console.WriteLine("error");}

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



oper x y rez+ 4 5 9: 4 0 error% 4 3 error

Задания.

  1. Замените в строке 1 оператор break, на оператор goto case '-' и посмотрите, что произойдет, если в качестве операции ввести +.
  2. В условном операторе if уберите ветку else и посмотрите, что произойдет.

Если необходимо, чтобы для разных меток выполнялось одно и тоже действие, то метки перечисляются через двоеточие. Например:

switch (oper){ case '+': res = a + b; break; case '-': res = a - b; break; case '*': res = a * b; break; case '/': case ':': if (b != 0) // перечисление меток { res = (float)a / b; break; } else goto default; default: ok = false; break;}

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

Операторы цикла используются для организации многократно повторяющихся вычислений. К операторам цикла относятся: цикл с предусловием while, цикл с постусловием do while, цикл с параметром for и цикл перебора foreach..

Оператор цикла while организует выполнение одного оператора (простого или составного) неизвестное заранее число раз. Формат цикла while:

while (B) S;

где B - выражение, истинность которого проверяется (условие завершения цикла); S - тело цикла - оператор (простой или составной).

Перед каждым выполнением тела цикла анализируется значение выражения В: если оно истинно, то выполняется тело цикла, и управление передается на повторную проверку условия В; если значение В ложно - цикл завершается и управление передается на оператор, следующий за оператором S.

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

В качестве иллюстрации выполнения цикла while рассмотрим программу вывода на экран целых чисел из интервала от 1 до n.

static void Main(){ Console.Write("N= "); int n=int.Parse(Console.ReadLine()); int i = 1; while (i <= n) //пока i меньше или равно n Console.Write(" "+ i++ ); //выводим i на экран, затем увеличиваем его на 1 }

Результаты работы программы:

n ответ10 1 2 3 4 5 6 7 8 9 10

Задание. Измените программу так, чтобы:

  1. числа выводились в обратном порядке;
  2. выводились только нечетные числа.


<== предыдущая лекция | следующая лекция ==>
Условный оператор if | Цикл с параметром for


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.