Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы программирования.pdf
Скачиваний:
39
Добавлен:
13.02.2015
Размер:
785.63 Кб
Скачать

Навести курсор на Кнопку в режиме конструктора. Вызвать контекстное меню ПКМ. Выбрать пункт

Исходный текст. Автоматически попадаем в режим редактора VBA и появляется заголовок Процедуры-События:

Набирать процедуру на

месте курсора:

Private Sub CommandBatton1_Click() Dim a, b, h As Single

Dim S, P As Single ’Ввод данных

a = Range(“A1”).Value

b = Range(“B1”).Value

h = Range(“C1”).Value ’Вычисление

S = a * h

P = 2 * (a + b)

’Вывод результатов в ячейки B4 и B5 Range(“B4”).Value = “Площадь = “ & S Range(“B5”).Value = “Периметр = “ & P End Sub

Этап 5. Выполнение

Перейти на рабочий лист (ViewMicrosoft Excel или Alt+F11). Выйти из режима Конструктора, левой клавишей мыши (ЛКМ) нажать Кнопку. В ячейке В4 появится результат «Площадь =

18», в В5 Þ «Периметр = 22».

Этап 6. Переименование листа Навести курсор на закладку Лист1, правой клавишей мыши (ПКМ) вызвать контекстное меню, выбрать пункт Переименовать, удалить старое название

листа и с клавиатуры набрать новое Площадь_Периметр, нажать Enter.

Задачи для самостоятельной работы

Задача 2. Составить программу перевода значения угла αº (данного в градусах) в радианы.

7

Задача 3.

 

Составить

 

 

программу.

 

 

 

 

Комплексное

число

заданное

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z = x + iy

 

 

 

 

 

 

 

 

действительной и мнимой части

записать в тригонометрической форме

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

æ

y

ö

 

z = r(cosϕ +

i sin ϕ ) . Примечание: r =

 

 

 

 

 

 

 

 

x2

+

y

2 , ϕ = arctgç

 

 

÷ .

 

x

 

Задача 4.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

è

ø

 

 

Составить программу вычисления угла (в градусах) между двумя

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k1 k2

 

 

 

 

 

прямыми y1 = k1x + b1 . Примечание: tgϕ =

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y2 = k2 x + b2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 + k1k2

 

 

 

 

Задача 5.

 

Составить

программу

вычисления угла

(в градусах) между

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

векторами a(xa , ya , za ) и

 

 

 

( xb , yb , zb ) .

 

 

 

 

 

 

 

 

 

 

 

 

b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(a ×

 

 

)

 

 

 

 

 

xa xb + ya yb + za zb

 

 

 

 

Примечание: cosϕ =

 

b

=

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

×

b

 

 

xa

2 + ya 2 + za

2

 

 

xb 2 + yb 2 + zb 2

 

В VBA

Arccos(X) = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1)

 

 

 

 

Лабораторная работа № ПР2 «Работа с условным оператором If ... Then»

Цель работы: закрепить полученные в лабораторной работе № 1 навыки. Научиться работать с алгоритмом ветвления в кодах VBA.

Теоретические сведения

Условный оператор. Оператор If ... Then

В VBA есть два типа операторов If ... Then — линейный и блочный. Линейный оператор If ... Then используется для того, чтобы выполнить

какой-либо один оператор, если некоторое условие будет истинным. Условие является выражением или функцией, истинность которого оценивается.

Синтаксическая конструкция линейного оператора:

If <Условие> Then <Оператор_1> Else <Оператор_2>

При значении Условия = True выполняется Оператор_1, следующий за словом Then, а затем следующий за условным оператор. Если Условие принимает значение False, то выполняется следующий за Else оператор Оператор_2. Else может отсутствовать, тогда оператор называется безальтернативным и, если Условие= True, то выполняется Оператор_1, а затем следующий за условным оператор. Если Условие= False, а выполняется следующий оператор.

Блочный оператор имеет синтаксис: If <Условие_1> Then <Операторы_1, если Условие=True> [ElseIf <Условие_2> Then

<Операторы_2, если Условие_2=True>] [ElseIf <Условие_3> Then <Операторы_3, если Условие_3=False>]

[Else

<Операторы>]

8

End If

<Условие_1> – необходимая часть оператора, это то Условие, которое должно проверяться. Если значение этого условия True, то выполняется Операторы_1 следующие за словом Then. Если необходимо проверить еще условия, то добавляется зарезервированное слово ElseIf с последующим условием. Если Условие_2=True, то выполняются Операторы_2. Если необходимы еще условия, то добавляются еще структура ElseIf и если все Условия не выполняются, то выполняются Операторы следующие за словом Else.

Операторы If могут быть вложенными друг в друга. Такое вложение операторов применяется, если нужно проверить какое-либо условие при другом условии, которое является True и включить альтернативу Else.

Задача 6 (алгоритм ветвления) Найти наибольшее из трех чисел a,b и c. Составить программу.

Решение

Этап 1. Математическая часть

Дано: три числа a, b, c.

Найти: наибольшее из трех чисел.

(!) Самостоятельно разработать алгоритм на естественном языке и составить блок-схему.

Этап 2. Ввод данных в таблицу Excel

В ячейку А1 вводится значение числа a, в ячейку B1 – значение числа b, в ячейку C1 – значение числа c.

Этап 3. Определение переменных

Вводятся: a, b, c. Выводятся (результат): max.

Этап 4. Написание процедуры

На рабочем листе Лист1 при помощи Элементов управления создать элемент

Кнопка (СommandBatton1).

Навести курсор мыши на Кнопку в режиме конструктора (на панели Элементы управления нажата первая кнопка (линейка с треугольником)). Вызвать контекстное меню ПКМ Выбрать пункт Свойства закладку Alpabetic, в списке свойств выбрать Caption, справа в поле ввода удалить старое название и ввести новое название кнопки Максимальное число.

Навести курсор на Кнопку в режиме конструктора. Вызвать контекстное меню ПКМ. Выбрать пункт Исходный текст. Автоматически попадаем в режим редактора VBA и появляется заголовок Процедуры-События:

Набирать процедуру на месте курсора:

Private Sub CommandButton1_Click()

Dim a, b, c As Single Dim max As Single

’Ввод данных

a = Range("A1").Value

b = Range("B1").Value

c = Range("C1").Value

’Вычисление

9

If a > b And a > c Then max = a

Else

If b > c Then max = b

Else max = c

End If

End If

’Вывод результатов в ячейку B4

Range("B4").Value = "Максимальное число = " & max End Sub

Этап 5. Выполнение.

Перейти на рабочий лист (ViewMicrosoft Excel или Alt+F11). Выйти из режима Конструктора, левой клавишей мыши (ЛКМ) нажать Кнопку. В ячейке В4 появится результат «Максимальное число = 10».

Этап 6. Переименование листа.

Навести курсор на закладку Лист1, правой клавишей мыши (ПКМ) вызвать контекстное меню, выбрать пункт Переименовать, удалить старое название листа и с клавиатуры набрать новое Максимальное_чсило, нажать Enter.

Задачи для самостоятельной работы

Задача 7.

Определить если x [a,b], то вычислить

 

y=[x]. Вывести

 

 

 

 

 

 

 

 

 

 

 

 

 

соответствующее сообщение.

 

 

 

 

 

 

 

 

 

 

 

 

 

ì

 

 

 

 

 

 

 

 

 

 

 

x -

6

 

 

, x < - π

 

 

 

 

 

 

 

 

 

 

ï

 

 

 

 

 

 

 

- π < x £ 0

 

 

 

 

 

 

 

 

 

 

 

 

Задача 8.

Найти значение функции y в точке x.

ï sin 2x - 3x,

.

y = í

0.5x

 

 

 

 

 

 

 

 

 

ï e

 

 

,

0 <

x < 2π

 

 

 

 

ï

 

 

 

 

 

 

x ³

2π

 

 

 

 

î ln 3x,

 

 

 

 

10