Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

По теме лабораторной работы. Оператор множественного выбора(или просто оператор выбора) позволяет выбрать одно из нескольких возможных продолжений программы



Оператор множественного выбора(или просто оператор выбора) позволяет выбрать одно из нескольких возможных продолжений программы, т.е. позволяет программировать ветвление по многим направлениям. Этот оператор организует переход на одну из нескольких ветвей в зависимости от значения заданного выражения. Это выражение называю ключом выбора, переключателем, селектором.

Синтаксис оператора выбора следующий:

Select Case <переключатель>

Case <условие_1>

<инструкции_1>

Case <условие_2>

<инструкции_2>

……………………

[Case Else

<инструкции_n>]

End Select

Здесь Select Case, Case, Case Else, End Select – зарезервированные слова VBA;

<переключатель> – выражение;

<условие> – выражение по типу соответствующее переключателю, записанное в одной из трех рассматриваемых ниже форм;

<инструкции_1>, <инструкции_2>, …<инструкции_n> – любые операторы языка VBA.Исполнение оператора начинается с вычисления значения ключа. Затем выполняется проверка: удовлетворяет ли это значение одному из условий, стоящих после Case. Если такое условие найдено, то выполняются соответствующий набор инструкций, после чего работа передается оператору, идущему за End Select. Если ни одно из условий не выполняется, то работает блок команд <инструкции_n>, идущий после слова Else.Возможно использование неполного оператора выбора – когда ветвь Case Else отсутствует. В этом случае, если не выполнено ни одно из условий, работа оператора завершается и управление передается оператору, стоящему после End Select.Условие после слова Case может быть записано в одной из трех форм:

1) Case <константа_1>, <константа_2>, … <константа_m>

2) Сase Is <знак операции отношения> <константа>

3) Сase <константа_1> To <константа_2>

Для этих форм соответствующий блок команд <инструкции> выполняется в следующих случаях:

1) если значение переключателя равно одной из констант;

2) если выполняется условие отношения между значением переключателя и константой;

3) если выполняется соотношение <константа_1> £ <значение переключателя> £ <константа_2>.

Примеры:

1. В старо японском календаре был принят двенадцатилетний цикл. Годы внутри цикла носили названия животных: крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, петуха, собаки и свиньи. Написать программу, которая по номеру года определяет его название в старо японском календаре, если известно, что 1996 г. был годом крысы - началом очередного цикла.

Поскольку цикл является двенадцатилетним, поставим в соответствие название года остатку от деления номера этого года на 12. При этом учтем, что остаток от деления 1996 на 12 равен 4.

Option Explicit

Sub Goroskop()

Dim Year As Integer

Year = InputBox ("Введите год", "Организация ввода")

Select Case Year Mod 12

Case 0

MsgBox "Год Обезьяны",, "Результат"

Case 1

MsgBox "Год Петуха",, "Результат"

Case 2

MsgBox "Год Собаки",, "Результат"

Case 3

MsgBox "Год Свиньи",, "Результат"

Case 4

MsgBox "Год Крысы",, "Результат"

Case 5

MsgBox "Год Коровы",, "Результат"

Case 6

MsgBox "Год Тигра",, "Результат"

Case 7

MsgBox "Год Зайца",, "Результат"

Case 8

MsgBox "Год Дракона",, "Результат"

Case 9

MsgBox "Год Змеи",, "Результат"

Case 10

MsgBox "Год Лошади",, "Результат"

Case 11

MsgBox "Год Овцы",, "Результат"

Case 12

End Select

End Sub

2. Найти наибольшее из двух действительных чисел, используя оператор выбора.

Здесь селектором является логическая величина.

Option Explicit

Sub Maximum()

Dim X As Single, Y As Single, Max As Single

X = InputBox ("Введите первое число", "Ввод чисел для сравнения")

Y = InputBox ("Введите второе число", "Ввод чисел для сравнения")

Select Case X > Y

Case True

Max = X

Case False

Max = Y

End Select

MsgBox "Наибольшее из двух чисел: " & Max,, "Результат сравнения"

End Sub

3. По введенному с клавиатуры числу x определить, какое из условий выполняется:

1. x = 1 илиx = -1

2. x Î [3; 5]

3. x > 5 и выдать словесный ответ. В случае невыполнения условий, так же сообщить об этом. В этой программе использованы различные формы записи условий после слова Case.

Option Explicit

Sub Diapason()

Dim X As Single, S As String

X = InputBox("Введите число", "Ввод")

Select Case X

Case 1, -1

S = "выполнено первое условие"

Case 3 To 5

S = "выполнено второе условие"

Case Is > 5

S = "выполнено третье условие"

Case Else

S = "ни одно из условий не выполняется"

End Select

MsgBox "Проверка показала:" & Chr(13) & S,, "Результат"

End Sub

Задания для лабораторной работы:

1. Написать программу, которая по номеру дня недели (натуральному числу от 1 до 7) выдает в качестве результата количество пар в вашей группе в этот день.

2. Написать программу, позволяющую по последней цифре числа определить последнюю цифру его квадрата.

3.Составить программу, которая по заданным году и номеру месяца m определяет количество дней в этом месяце.

4. Для каждой введенной цифры (0-9) вывести соответствующее ей название на английском языке (0 - zero, 1 - one, 2 - two,...).

5. Составить программу, которая по данному числу (1-12) выводит название соответствующего ему месяца.

6. Составить программу, позволяющую получить словесное описание отметок (1 - плохо, 2 - неудовлетворительно, 3 - удовлетворительно, 4 - хорошо, 5 - отлично).

7. Пусть элементами круга являются радиус (первый элемент), диаметр (второй элемент) и длина окружности (третий элемент). Составить программу, которая по номеру элемента запрашивала бы его соответствующее значение и вычисляла бы площадь круга.

8. Пусть элементами прямоугольного равнобедренного треугольника являются: катет a; гипотенуза b; высота, опущенная из вершины прямого угла на гипотенузу h; площадь S. Составить программу, которая по заданному номеру и значению соответствующего элемента вычисляла бы значение всех остальных элементов треугольника.

9. Написать программу, которая по номеру месяца выдает название следующего за ним месяца (при m=1 получаем февраль, при m=4 - май).

10. Написать программу, которая бы по введенному номеру времени года (1 - зима, 2 - весна, 3 - лето, 4 - осень) выдавала соответствующие этому времени года месяцы, количество дней в каждом из месяцев.

11. Для целого числа и от 1 до 99 напечатать фразу «Мне k лет», учитывая при этом, что при некоторых значениях k слово «лет» надо заменить на слово «год» или «года». Например, 11 лет, 22 года, 51 год.

12. Написать программу, которая бы по введенному номеру единицы измерения (1 -дециметр, 2 - километр, 3 - метр, 4 - миллиметр, 5 - сантиметр) и длине отрезка L выдавала бы соответствующее значение длины отрезка в метрах.

13. Написать программу, которая по вводимому числу от 1 до 5 (номеру курса) выдает соответствующее сообщение «Привет, k-курсник». Например, если k = 1, «Привет, первокурсник»; при k=4: «Привет,

14. Написать программу, которая по данному натуральному числу от 1 до 12 (номеру месяца) выдает все приходящиеся на этот месяц праздничные дни (например, если введено число 1, то: 1 января - Новый год, 7 января - Рождество).

15. Дано натуральное число N. Если оно делится на 4, вывести на экран ответ N = 4k (где k - соответствующее частное); если остаток от деления на 4 равен 1, N = 4k + 1; если остаток от деления на 4 равен 2, N = 4k + 2; если остаток от деления на 4 равен 3, N = 4k + 3. Например, 12 = 43, 22 = 45 + 2.

16. Имеется пронумерованный список деталей: 1) шуруп, 2) гайка, 3) винт, 4) гвоздь, 5) болт. Составить программу, которая по номеру детали выводит на экран ее название.

17. Составить программу, позволяющую по последней цифре данного числа определить последнюю цифру куба этого числа.

18. Составить программу, которая для любого натурального числа печатает количество цифр в записи этого числа. Предполагается, что исходное число имеет не больше восьми цифр в записи.

19. Даны два действительных положительных числа x и y. Арифметические действия над числами пронумерованы (1 - сложение, 2 - вычитание, 3 - умножение, 4 - деление). Составить программу, которая по введенному номеру выполняет то или иное действие над числами.

20. Написать программу, которая бы по введенному номеру единицы измерения (1 килограмм, 2 миллиграмм, 3 - грамм, 4 - тонна, 5 - центнер) и массе М выдавала бы соответствующее значение массы в килограммах.

21. Пусть элементами равностороннего треугольника являются: 1) сторона a; 2) площадь S; 3) высота h; 4) радиус вписанной окружности r; 5) радиус описанной окружности R.Составить программу, которая по заданному номеру и значению соответствующего элемента вычисляла бы значение всех остальных элементов треугольника.

22. Составить программу для определения подходящего возраста кандидатуры для вступления в брак, используя следующее соображение: возраст девушки равен половине возраста мужчины плюс 7, возраст мужчины определяется соответственно как удвоенный возраст девушки минус 14.

23. Найти произведение цифр заданного k-значного числа. Допускаются числа до пяти знаков включительно.

24. Составить программу, которая читает натуральное число N в десятичном представлении (N£ 10000), а на выходе выдает это же число в десятичном представлении и на естественном языке. Например, 7 Þ семь; 204 Þ двести четыре; 52 Þ пятьдесят два.

25. Имеется пронумерованный список вещей: 1) топор, 2) палатка, 3) спальник, 4) дождевик, 5) тушонка. Составить программу, которая по номеру вещи выводит на экран ее название.

26. Дано натуральное число N. Если оно делится на 4, вывести на экран ответ N = 4k (где k - соответствующее частное); если остаток от деления на 4 равен 1, N = 4k + 1; если

27. Написать программу, которая по номеру месяца выдает название следующего за ним месяца (при m=1 получаем февраль, при m=4 - май).

28. Написать программу, которая по вводимому числу от 1 до 5 (номеру курса) выдает соответствующее сообщение «Привет, k-курсник». Например, если k = 1, «Привет, первокурсник»; при k=4: «Привет, четверокурсник».

29. Составить программу, которая для любого натурального числа печатает количество цифр в записи этого числа. Предполагается, что исходное число имеет не больше восьми цифр в записи.

30. Найти произведение цифр заданного k-значного числа. Допускаются числа до пяти знаков включительно.

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

1. Для каких задач используется оператор выбора?

2. В чем преимущества перед операторами прошедшими ранее?

3. Как выглядит синтаксис оператора выбора, и за что отвечают его элементы?

4. В чём различия между полной и неполной формами оператора выбора?

5. Представить оператор выбора в виде блок-схемы.





Дата публикования: 2015-11-01; Прочитано: 1136 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.01 с)...