Часть III. Самостоятельная работа
Алгоритмизация и программирование разветвляющихся вычислительных процессов
Цель:
Изучить процесс построения алгоритмов разветвляющейся структуры. Научиться программировать разветвляющиеся алгоритмы с помощью оператора Select Case….
Результат обучения:
После успешного завершения занятия пользователь должен:
o уметь составлять алгоритмы со структурой выбора;
o знать синтаксис операторовSelect Case;
o уметь записывать алгоритмы со структурой выбора на языке VB;
o уметь использовать элемент ListBox в интерфейсе программы.
Часть I. Изучение правил использования оператора Select Case.
Если в алгоритме разветвляющейся структуры предполагается более двух вариантов (ветвей) расчета, а выбор варианта зависит от значения какой–либо одной переменной, то целесообразно использовать структуру «множественный выбор». Эта структура объединяет в себе несколько структур типа «развилка» и улучшает наглядность схемы алгоритма.
Решение задачи будет осуществляться по одной из ветвей алгоритма в зависимости от того, какое значение примет переменная V.
В программах такая структура реализуется с помощью оператора Select Case.
Синтаксис оператора:
Select Case <Выражение>
Case <Значение_1>
Оператор, выполняемый при совпадении Значения_1 и значения выражения
Case <Значение_2>
Оператор, выполняемый при совпадении Значения_2 и значения выражения
…
Case <Значение_N>
Оператор, выполняемый при совпадении Значения_N и значения выражения
Else <Оператор>
End Select
Пример использования оператора Select Case
Select Case Ch
Case “+”
Z = X + Y
Case “-“
Z = X - Y
Case “*”
Z = X * Y
Case”/”
Z = X / Y
Else
Stop = True
End Select
Переменная Ch имеет символьный тип. Список выбора организуют символьные константы «+», «-», «*», «/».
Часть Else может быть опущена.
В операторе Select Case можно использовать операции отношения. Для этого надо включить в выражение ключевое слово Is или ключевое слово To.
Например:
Case 8 To 10 —все случаи, для которых выражение принимает значения от 8 до 10.
Case Is < 4 — все случаи, для которых выражение принимает значения меньшие 4.
Часть II. Элемент управления «Список»
Элемент управления «Список» (ListBox) предназначен для отображения списка значений и позволяет пользователю выбрать одно из них. Методы AddItem, RemoveItem и Clear добавляют, удаляют элемент списка и полностью очищают список. Свойства Text, ListIndex возвращают выбранный элемент и его индекс. Номер выбранного элемента начинается с 0.
Пример 1.
Необходимо разработать приложение «Калькулятор». На форму устанавливаются: два текстовых редактора для ввода переменных X и Y. С помощью компонента ListBox осуществляется выбор арифметического действия. Результат отображается в метке Label1.
Для того, чтобы отобразить список в элементе ListBox, необходимо выполнить метод AddItem “Значение элемента”. Для данного примера формирование списка можно выполнить в обработчике Initialize формы. Это событие происходит при инициализации формы.
Private Sub UserForm_Initialize()
ListBox1.AddItem "+"
ListBox1.AddItem "-"
ListBox1.AddItem "*"
ListBox1.AddItem "/"
End Sub
Расчет производится в обработчике Click компонента ListBox1. Выбор арифметического действия осуществляется с помощью свойства ListIndex компонента ListBox1.
Private Sub ListBox1_Click()
x = Val(TextBox1.Text)
y = Val(TextBox2.Text)
Select Case ListBox1.ListIndex
Case 0
z = x + y
Case 1
z = x - y
Case 2
z = x * y
Case 3
z = x / y
End Select
Label1.Caption = Str(z)
End Sub
Часть III. Самостоятельная работа
Задание:
Составить схему алгоритма, написать и отладить программу в соответствии с вариантом.
№ варианта | Задача |
По китайскому гороскопу каждому году соответствует животное: обезьяна, петух, собака, кабан, крыса, бык, тигр, кролик, дракон, змея, лошадь, овца. Определить животное, соответствующее введенному пользователем году. Примечание: номер года по китайскому гороскопу можно получить, если определить остаток от деления значения года на 12. Остаток 0 — год обезьяны. | |
Составить программу для вычисления площади одной из трех фигур — квадрата, круга или равностороннего треугольника — по значению Х, интерпретируемому как сторона квадрата, радиус окружности или сторона треугольника. | |
Банк предлагает 3 вида срочных вкладов: на 3 месяца под р1%, на 6 месяцев под р2% и на год под р3%. Определить доход вкладчика за год, выбравшего один из предлагаемых типов вклада. Примечание: Если вклад равен Х, доход за год составит: 4 * Х * р1/100, 2 * Х * р2/100, Х * р3/100 соответственно. | |
В киоске продаются газета стоимостью 3 рубля, журнал стоимостью 20 рублей и книга стоимостью 40 рублей. Составить программу, которая спрашивает о желании покупателя (газета, журнал, книга?), принимает деньги (сумма денег вводится с клавиатуры) и печатает причитающуюся сдачу. | |
Составить программу, реализующую эпизод сказки: спрашивает, куда предпочитает пойти герой (налево, направо или прямо) и печатает, что его ждет в каждом случае. | |
Создать приложение, в котором вводится сокращенное имя, а выводится полное (например, Саша — Александр) для пяти Ваших друзей. При вводе незнакомого имени должен следовать вывод: «Я с Вами не знакома». | |
Написать программу, которая запрашивает у пользователя номер дня недели и выводит одно из сообщений: «Рабочий день», «Суббота» или «Воскресенье». | |
Написать программу, которая запрашивает номер месяца и выводит соответствующее название времени года. | |
Написать программу, которая на ввод времени суток выводит соответствующее пожелание доброго утра, доброго дня, доброго вечера и спокойной ночи. | |
написать программу, которая на название фигуры (треугольник, квадрат, ромб, прямоугольник) выводит формулу, по которой вычисляется площадь этой фигуры. | |
В некотором учебном заведении действуют следующие правила приема. Абитуриенты сдают три экзамена. Если они набирают не менее 13 баллов, то это дает право поступить на дневное отделение, от 10 до 12 — вечернее, от 8 до 9 — заочное и ниже 8 баллов — отказ в приеме на учебу. Написать программу, которая в зависимости от суммы набранных баллов сообщает абитуриенту его права на поступление. | |
Написать программу, которая на ввод знака препинания выдает на экран дисплея его название. Например, на ввод точки выдает текст: «Это точка». | |
Ввести номер телефона одного из четырех друзей. Вывести его имя. | |
Ввести число от 5 до 9. Вывести его значение словом. | |
Ввести телефонный код города. Вывести название города. |