Инструкции выбора switch, case

  • doc
  • 29.04.2020
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала 26. Практическая работа по теме Инструкции выбора switch, case.doc

Практическая работа №6

Тема: Инструкции выбора switch, case

Цель: Формирование навыков применения переключателя switch.

Вид работы: индивидуальный.

Время выполнения: 2 часа.

Теоретический материал

Инструкции выбора switch применяется для множественного ветвления на произвольное число направлений.

С его помощью можно выбрать вариант из множества альтернатив.

Если в условии задачи имеется сложный набор условий, то использование вложенных инструкций ifelse приводит к громоздкому коду. Для упрощения кода лучше воспользоваться инструкцией switch (переключение)

Инструкция switch выбирает нужное действие из списка возможных, размещенных во фразах выбора case (выбор).

Общий формат записи:

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

{

         case константа_1 : инструкция действия; инструкция прерывания;

         case константа_2 : инструкция действия; инструкция прерывания;

         ……..

         default:: инструкция действия; инструкция прерывания;

}

Блок-схема изображена на рисунке 12.

Рисунок 11 – Блок-схема переключателя

Выполняются инструкции следующим образом:

1. Сначала вычисляется значение выражения.

2. Полученное значение  выражения последовательно сравнивается с константами из списка констант секций case.

3. Если значение выражения (или переменной) совпадает с константой из списка, то выполняется соответствующая этому списку группа инструкций в секции case  до тех пор, пока не встретиться  инструкция прерывания.

4. Если значение выражения (или переменной) не совпадает ни с одной константой из списка, то, выполняется последовательность инструкций, следующая за default.

Синтаксис инструкций switchcase позволяет не писать default и соответствующую последовательность инструкций. В этом случае, если значение выражения не совпадает ни с одной константой из всех списков, то выполняется следующая за case инструкция программы.

Элемент выражения (помещено в круглые скобки) возвращает константу, который должен быть целочисленного типа (например, char, byte, int), значение которого определяет дальнейший ход выполнения программы. 

Выражения, имеющие тип с плавающей точкой не разрешены.

Иногда в качестве управляющего switch – выражения используется просто переменная.

Case – константы должны быть литералами, тип которых совместим с типом заданного выражения. При этом никакие две case – константы в одной switch конструкции не могут иметь идентичных значений.

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

Ход работы:

Выполнить задание, ответить на вопросы.

Задание

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

Пример 1

using System;

namespace ConsoleApplication1

{

    class Program

    {

        static void Main(string[] args)

        {

            int d;

            Console.Write("Введите день недели ");

            d= Convert.ToInt16(Console.ReadLine());//преобразует вводимое с клавиатуры число в виде строки в целый тип данных

            switch (d)

            {

                case 1: Console.WriteLine("Понедельник - рабочий день"); break;

                case 2: Console.WriteLine("Вторник - рабочий день"); break;

                case 3: Console.WriteLine("Среда - рабочий день"); break;

                case 4: Console.WriteLine("Четверг - рабочий день"); break;

                case 5: Console.WriteLine("Пятница - рабочий день"); break;

                case 6: Console.WriteLine("Суббота - самоподготовка"); break;

                case 7: Console.WriteLine("Воскресенье - выходной день"); break;

                default: Console.WriteLine("Неверный ввод данных. Введите 1<=d<=7"); break;

            }

            Console.ReadKey();

 

        }

    }

}

Пример 2

static void Main(string[] args)

        {

        char ch;

            Console.WriteLine("Введите букву ");   //ввод данных с клавиатуры

            ch=Convert.ToChar(Console.ReadLine()); /*преобразует вводимое с клавиатуры число в виде строки в символьный тип данных*/

            switch (ch)       // переменная символьного типа

            {

                case 'A': Console.WriteLine("ch содержит A"); break;

                case 'B': Console.WriteLine("ch содержит В"); break;

                case 'C': Console.WriteLine("ch содержит C"); break;

            }

            Console.ReadKey();

        }

Необязательная инструкция default отсутствует.

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

1)     Каким достоинством перед инструкцией if обладает переключатель switch?

2)     Какого типа должен быть элемент инструкции, помещаемый в круглые скобки?

3)     Для чего предназначена case-константа?

4)     Какие инструкции прерывания используются в switch?


Скачано с www.znanio.ru