Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа.doc
Скачиваний:
35
Добавлен:
17.04.2015
Размер:
324.61 Кб
Скачать

Лабораторная работа №3 Алгоритмизация и программирование разветвляющихся вычислительных процессов

Цель:

Изучить процесс построения алгоритмов разветвляющейся структуры. Научиться программировать разветвляющиеся алгоритмы с помощью операторов IfThenElse

Результат обучения:

После успешного завершения занятия пользователь должен:

  • уметь составлять алгоритмы разветвляющейся структуры;

  • знать синтаксис операторов IfThenElse;

  • уметь записывать алгоритмы разветвляющейся структуры на языке VBA;

Изучение правил построения алгоритма разветвляющейся структуры и записи программы с использованием оператора If…Then…Else.

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

Для программирования проверки условия и выбора действия в зависимости от условия используются условные операторы.

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

If <логическое выражение> Then

<Процесс 1>

Else

<Процесс 2>

End If

Если логическое выражение имеет значение True, то выполняется <Процесс 1>. Если логическое выражение имеет значениеFalse, то выполняется < Процесс 2>.

Под обозначением < Процесс 1> и < Процесс 2> понимается последовательность операторов языка VBA.

Условный оператор может использоваться без части 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