Часть II. Самостоятельная работа
Алгоритмизация и программирование разветвляющихся вычислительных процессов
Цель:
Изучить процесс построения алгоритмов разветвляющейся структуры. Научиться программировать разветвляющиеся алгоритмы с помощью операторов If…Then…Else и оператора Select Case….
Результат обучения:
После успешного завершения занятия пользователь должен:
o уметь составлять алгоритмы разветвляющейся структуры;
o знать синтаксис операторов If…Then…ElseиSelect Case;
o уметь записывать алгоритмы разветвляющейся структуры на языке VB;
Часть I. Изучение правил построения алгоритма разветвляющейся структуры и записи программы с использованием оператора If…Then…Else.
Алгоритм решения задачи, как правило, представляет собой совокупность стандартных алгоритмических структур. Одной из таких структур является развилка (полная и неполная). Разветвление применяется, когда в зависимости от условия нужно выполнить либо одно, либо другое действие.
Для программирования проверки условия и выбора действия в зависимости от условия используются условные операторы.
Условный оператор:
If <логическое выражение> Then
<Процесс 1>
Else
<Процесс 2>
End If
Если логическое выражение имеет значение True, то выполняется <Процесс 1>. Если логическое выражение имеет значение False, то выполняется < Процесс 2>.
Под обозначением < Процесс 1> и < Процесс 2> понимается последовательность операторов языка VB.
Условный оператор может использоваться без части Else. В этом случае реализуется структура «развилка неполная».
If <логическое выражение> Then
< Процесс>
End If
Если логическое выражение имеет значение True, то выполняется оператор, стоящий за служебным словом Then, иначе осуществляется переход к оператору, следующему за условным оператором.
Пример 1.
Условие задачи:
Даны числа X, Y, Z. Определить, что больше: сумма этих чисел или их произведение.
Схема алгоритма:
Интерфейс программы | Программа |
Private Sub CommandButton1_Click() Dim x As Single, y As Single, z As Single Dim s As Single, p As Single x = Val(TextBox1.Text) ‘Ввод исходной информации y = Val(TextBox2.Text) z = Val(TextBox3.Text) p = x * y * z s = x + y + z If s > p Then ‘Оператор, исполняемый в случае, если ‘логическое выражение имеет значение True Label4.Caption = "Сумма больше" Else ‘Оператор, исполняемый в случае, ‘если логическое выражение имеет значение True Label4.Caption = "Произведение больше" End If End Sub |
Пример 2.
Условие задачи:
Даны два числа X и Y. Вычислить квадратные корни данных чисел, если оба значения больше нуля, и оставить числа без изменения, если это не так.
Интерфейс программы | Программа |
Private Sub CommandButton1_Click() Dim x As Single, y As Single x = Val(TextBox1.Text) y = Val(TextBox2.Text) If (x > 0) And (y > 0) Then x = Sqr(x)’ Развилка неполная y = Sqr(y) End If Label5.Caption = "X=" + Str(x) Label4.Caption = "Y=" + Str(y) End Sub |
Часть II. Самостоятельная работа
Задание:
Составить схему алгоритма, написать и отладить программу в соответствии с вариантом. Не забывайте о комментариях!
№ варианта | Задача |
Даны X, Y, Z. Получить минимальное из этих чисел. | |
Даны три числа. Возвести в квадрат те из них, значения которых неотрицательны. | |
Заданы площади круга R и квадрата S. Определить, поместится ли квадрат в круге.. | |
Определить, является возраст вступающего в брак подходящим для выбранной кандидатуры, используя следующее соображение: возраст девушки равен половине возраста мужчины плюс 7. | |
Если сумма трех попарно различных чисел X, Y, Z меньше единицы, то наименьшее из этих трех чисел заменить полусуммой двух других, в противном случае оставить числа неизменными. | |
Даны два числа X, Y. Меньшее заменить суммой этих чисел, большее — их разностью. | |
Даны два числа X, Y. Определить , входит ли большее число в интервал [10; 20]. | |
Дано число Х. Вывести сообщение: число положительное, отрицательное или ноль. | |
На плоскости расположена окружность радиуса R с центром в начале координат. Заданы координаты точки Х, Y. Определить лежит ли она на окружности. Примечание: уравнение окружности — R2 = X2 + Y2 | |
Создать программу расчета площади кольца. Даны радиусы внешней и внутренней окружностей. Организовать проверку радиусов окружностей. Радиус внешней окружности должен быть больше, чем радиус внутренней окружности. Если это условие не выполняется, то необходимо вывести соответствующее сообщение. | |
Создать программу вычисления стоимости покупки с учетом скидки. Скидка в 3% предоставляется в том случае, если сумма покупки больше 500 руб., в 5% — если сумма больше 1000 рублей. | |
Написать программу проверки знания начала второй мировой войны. В случае неверного ответа пользователя программа должна выводить правильный ответ. | |
Написать программу, которая вычисляет оптимальный вес пользователя, сравнивает его с реальным и выдает рекомендацию о необходимости поправиться или похудеть. Оптимальный вес вычисляется по формуле: рост (в сантиметрах) – 100. | |
Написать программу, которая сравнивает два числа, введенных с клавиатуры. Программа должна указать, какое число больше, или, если числа равны, вывести соответствующее сообщение. | |
Написать программу, которая проверяет, является ли четным введенное пользователем целое число. |