Синтаксис операторов ветвления. Лекция 14 презентация

Содержание

Слайд 2

Условный оператор if if (логическое_выражение) оператор_1; [else оператор_2;] ----------------------------------------------------------------------------------------------------------------- if

Условный оператор if

if (логическое_выражение) оператор_1;
[else оператор_2;]
-----------------------------------------------------------------------------------------------------------------
if (условие)
{
//

последовательность операторов
}
else
{
// последовательность операторов
}
Слайд 3

Пример 1 if (i == 10) { if (j if

Пример 1

if (i == 10) {
if (j < 20)

-a = b;
if (k > 100) с = d;
else a = с; // этот оператор else
// связан с оператором if (k > 100)
}
else a = d; // этот оператор else
// связан с оператором if (i == 10)
Слайд 4

Пример 2 if (a if (a d || a ==

Пример 2

if (a < 0) b = 1; // 1
if (a

< b && (a > d || a == 0)) b++;
else { b *= a; a = 0; } // 2
if (a < b)
if (a < c) m = a;
else m = c;
else
if (b < c) m = b;
else m = c; // 3
if (b > a) max = b;
else max = a; // 4
Слайд 5

Пример 3 Программа подсчитывает количество очков после выстрела по мишени

Пример 3

Программа подсчитывает количество очков после выстрела по мишени

Слайд 6

Пример 3 using System; namespace ConsoleApplication1{ class Class1{ static void

Пример 3

using System;
namespace ConsoleApplication1{
class Class1{
static void Main() {
Console.WriteLine(

"Введите координату x" );
double x = Convert.ToDouble(Console.ReadLine());
Console.WriteLine( "Введите координату у" );
double y = double.Parse( Console.ReadLine() );
int kol = 0;
if (x * x + y * y < 1) kol = 2;
else if (x * x + y * y < 4) kol = 1;
Console.WriteLine("Результат = {0} очков", kol);
}
}
}
Слайд 7

Многоступенчатая конструкция if-else-if if (условие) оператор; else if (условие) оператор;

Многоступенчатая конструкция if-else-if

if (условие) оператор;
else if (условие) оператор;
else

if (условие) оператор;
else оператор;
Условные выражения вычисляются сверху вниз - как только обнаружится истинное условие, выполняется связанный с ним оператор, а все остальные операторы в многоступенчатой конструкции опускаются.
Если ни одно из условий не является истинным, то выполняется последний оператор else, а если последний else отсутствует, то никаких действий вообще не выполняется.
Слайд 8

Пример 4 using System; class Ladder { // Наименьший множитель

Пример 4

using System;
class Ladder { // Наименьший множитель = НМ


static void Main() {
int num;
for (num = 2; num < 12; num++) {
if ((num % 2) == 0)
Console.WriteLine("НМ числа " + num + " равен 2.");
else if ((num % 3) == 0)
Console.WriteLine("НМ числа " + num + " равен 3.");
else if ((num % 5) == 0)
Console.WriteLine("НМ числа " + num + " равен 5.");
else if ((num % 7) == 0)
Console.WriteLine("НМ числа " + num + " равен 7.");
else Console.WriteLine(num + " не дел-ся на 2, 3, 5, 7.");
}
}
}
Слайд 9

Оператор множественного выбора switch switch (выражение){ case константное_выражение_1: [ список_опер-в_1

Оператор множественного выбора switch

switch (выражение){
case константное_выражение_1: [ список_опер-в_1 ]
case

константное_выражение_2: [ список_опер-в_2 ]
...
case константное_выражение_n: [ список_опер-в_n ]
[ default: операторы ]
}
Заданное выражение (переключатель) в операторе switch должно быть целочисленного типа (char, byte, short или int), перечислимого или же строкового.
Кроме того, константы выбора (константное_выражение_n) должны иметь тип, совместимый с типом выражения.
В одном операторе switch не допускается наличие двух одинаковых по значению констант выбора.
Слайд 10

Оператор множественного выбора switch Выполнение оператора начинается с вычисления выражения.

Оператор множественного выбора switch

Выполнение оператора начинается с вычисления выражения.
Затем управление передается

первому оператору из списка, помеченному константным выражением, значение которого совпало с вычисленным (переключателем). Если совпадения не произошло, выполняются операторы, расположенные после слова default, а при его отсутствии управление передается следующему за switch оператору.
Слайд 11

Оператор множественного выбора switch Каждая ветвь переключателя должна заканчиваться явным

Оператор множественного выбора switch

Каждая ветвь переключателя должна заканчиваться явным оператором перехода, а именно

одним из операторов break, goto или return:
- оператор break выполняет выход из самого внутреннего из объемлющих его операторов switch, for, while и do;
- оператор goto выполняет переход на указанную после него метку, обычно это метка case одной из нижележащих ветвей оператора switch;
- оператор return выполняет выход из функции, в теле которой он записан.
Слайд 12

Пример 5 using System; namespace ConsoleApplication1{ class Class1{ static void

Пример 5

using System;
namespace ConsoleApplication1{
class Class1{
static void Main(){
string

buf; double a, b, res;
Console.WriteLine( "Введите первый операнд:" );
a = double.Parse( Console.ReadLine() );
Console.WriteLine( "Введите знак операции" );
char op = (char)Console.Read();
Console.ReadLine();
Console.WriteLine( "Введите второй операнд:" );
b = double.Parse( Console.ReadLine() );
bool ok = true;
Слайд 13

Пример 5 switch (op){ case '+' : res = a

Пример 5

switch (op){
case '+' : res = a +

b; break;
case '-' : res = a - b; break;
case '*' : res = a * b; break;
case '/' : res = a / b; break;
default : res = double.NaN; ok = false; break;
}
if (ok) Console.WriteLine( "Результат: " + res );
else Console.WriteLine( "Недопустимая операция" );
}
}
}
Слайд 14

Пример 5 Структурная блок-схема оператора switch

Пример 5

Структурная блок-схема оператора switch

Слайд 15

Пример 6 static void Main() { char ch; for (ch='A';

Пример 6

static void Main() {
char ch;
for (ch='A';

ch<= 'E'; ch++)
switch (ch) {
case 'A': Console.WriteLine("ch содержит А");
case 'B': Console.WriteLine ("ch содержит В");
case 'С' : Console.WriteLine ("ch содержит С");
break;
case 'D': Console.WriteLine("ch содержит D");
case 'E': Console.WriteLine("ch содержит Е");
break;
}
}
Слайд 16

Пример 7 using System; class EmptyCasesCanFall { static void Main()

Пример 7

using System;
class EmptyCasesCanFall {
static void Main() {


int i;
for (i=l; i < 5; i++)
switch (i) {
case 1:
case 2:
case 3: Console.WriteLine("i равно 1, 2 или 3м);
break;
case 4: Console.WriteLine("i равно 4м); break;
}
}
}
Слайд 17

Пример 8 switch(ch1) { case 'A': Console.WriteLine("Эта ветвь А —

Пример 8

switch(ch1) {
case 'A': Console.WriteLine("Эта ветвь А — часть

внешнего оператора switch.");
switch (ch2) {
case 'A': Console.WriteLine("Эта ветвь А — часть внутреннего оператора switch");
break;
case 'В': // ...
} // конец внутреннего оператора switch
break;
case 'В': // ...
}// конец внешнего оператора switch
Слайд 18

Контрольные вопросы 1. Какие варианты оператора if-else Вы знаете? 2.

Контрольные вопросы

1. Какие варианты оператора if-else Вы знаете?
2. В чем заключается

отличие применения оператора if-else от условной операции?
3. Каковы назначение и формат объявления оператора switch?
4. Какие особенности следует учитывать при использовании оператора switch?
5. В каких случаях оператор switch предпочтительнее оператора if?
Имя файла: Синтаксис-операторов-ветвления.-Лекция-14.pptx
Количество просмотров: 58
Количество скачиваний: 0