ИНДИВИДУАЛЬНОЕ ЗАДАНИЕ ДЛЯ ВЫПОЛНЕНИЯ




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

Условные операторы позволяют управлять потоком выполнения программы, чтобы не выполнялась каждая строка кода, как она следует в программе. Давайте рассмотрим все условные операторы языка C#:

Оператор if

Для организации условного ветвления язык C# унаследовал от С и С++ конструкцию if...else. Ее синтаксис должен быть интуитивно понятен для любого, кто программировал на процедурных языках:

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

Если по каждому из условий нужно выполнить более одного оператора, эти операторы должны быть объединены в блок с помощью фигурных скобок {...}. (Это также касается других конструкций C#, в которых операторы могут быть объединены в блок — таких как циклы for и while.)

Стоит обратить внимание, что в отличие от языков С и С++, в C# условный оператор if может работать только с булевскими выражениями, но не с произвольными значениями вроде -1 и 0.

В операторе if могут применяться сложные выражения, и он может содержать операторы else, обеспечивая выполнение более сложных проверок. Синтаксис похож на применяемый в аналогичных ситуациях в языках С (С++) и Java. При построении сложных выражений в C# используется вполне ожидаемый набор логическихоператоров. Давайте рассмотрим следующий пример:

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Linq;

usingSystem.Text;

 

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

stringmyStr;

Console.WriteLine("Введитестроку: ");

 

myStr = Console.ReadLine();

 

if (myStr.Length< 5)

Console.WriteLine("\nВ данной строке меньше 5 символов");

else

if((myStr.Length>= 5) && (myStr.Length<= 12))

Console.WriteLine("\nВданнойстроке {0} символов",myStr.Length);

elseConsole.WriteLine("\nВ данной строке больше 12 символов");

 

Console.ReadLine();

}

}

}

Как видите количество elseif, добавляемых к единственному if, не ограничено. Один момент, который следует отметить касательно if: фигурные скобки применять не обязательно, если в условной ветви присутствует только один оператор, как показано в исходном примере.

Оператор switch

Вторым оператором выбора в C# является оператор switch, который обеспечивает многонаправленное ветвление программы. Следовательно, этот оператор позволяет сделать выбор среди нескольких альтернативных вариантов дальнейшего выполнения программы. Несмотря на то что многонаправленная проверка может быть организована с помощью последовательного ряда вложенных операторов if, во многих случаях более эффективным оказывается применение оператора switch. Этот оператор действует следующим образом. Значение выражения последовательно сравнивается с константами выбора из заданного списка. Как только будет обнаружено совпадение с одним из условий выбора, выполняется последовательность операторов, связанных с этим условием. Ниже приведена общая форма оператора switch:

switch(выражение) {

case константа1:

последовательность операторов

break;

case константа2:

последовательность операторов

break;

caseконстантаЗ:

последовательность операторов

break;

...

default:

последовательность операторов

break;

}

Хотя оператор switch...case должен быть знаком программистам на С и С++, в C# он немного безопаснее, чем его эквивалент С++. В частности, он запрещает "сквозные" условия почти во всех случаях. Это значит, что если часть case вызывается в начале блока, то фрагменты кода за последующими частями case не могут быть выполнены, если только не используется явно оператор goto для перехода к ним. Компилятор обеспечивает это ограничение за счет того, что требует, чтобы за каждой частью case следовал оператор break, в противном случае он выдает ошибку.

Важно отметить, что заданное выражение в операторе switch должно быть целочисленного типа (char, byte, short или int), перечислимого или же строкового. А выражения других типов, например с плавающей точкой, в операторе switch не допускаются. Зачастую выражение, управляющее оператором switch, просто сводится к одной переменной. Кроме того, константы выбора должны иметь тип, совместимый с типом выражения. В одном операторе switch не допускается наличие двух одинаковых по значению констант выбора.

Давайте на примере рассмотрим использование оператора switch:

using System;

usingSystem.Collections.Generic;

usingSystem.Linq;

usingSystem.Text;

 

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("Введитеязык (C#, VB или C++)");

stringmyLanguage = Console.ReadLine();

 

sw1(myLanguage);

 

Console.ReadLine();

}

 

// Данный метод выводит выбор пользователя

static void sw1(string s)

{

switch (s)

{

case "C#":

Console.WriteLine("Вывыбралиязык C#");

break;

case "VB":

Console.WriteLine("Вывыбралиязык Visual Basic");

break;

case "C++":

Console.WriteLine("ВывыбралиязыкС++");

break;

default:

Console.WriteLine("Такойязыкянезнаю");

break;

}

}

}

}

ИНДИВИДУАЛЬНОЕ ЗАДАНИЕ ДЛЯ ВЫПОЛНЕНИЯ

Составить программы разветвляющейся структуры, используя оператор IFили условную трехместную операцию. Исходные данные вводить с клавиатуры.

 

1) Даны 6 чисел. На сколько их сумма меньшеили больше их произведения?

2) Даны 5 чисел. Вычислить сумму положительных среди них чисел.

3) Даны 4 числа. Все отрицательные среди них числа заменить на 0.

4) Даны 8 чисел. Определить сколько среди них отрицательных и сколько положительных.

5) Даны 4 числа. Определить порядковый номер наименьшего среди них.

6) Даны четыре числа. Найти разность между наибольшим и наименьшим среди них.

7) Даны 3 числа K, M и N. Поменять их значения местами таким образом, чтобы K<M<N.

8) Даны 4 разных числа. Найти среди них два наибольших.

 

Дополнительные задания.

Задание 1.

Напишите программу и составьте блок-схему для решения следующей задачи. Задано некоторое целое число N. Выведите на экран название рабочего дня недели, считая, что N его номер.

Задание 2

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

Задание 3.

Напишите программу и составьте блок-схему для решения следующей задачи. Задано некоторое целое число N. Выведите на экран название оценки, соответствующей N баллам.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2022-10-12 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: