Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы программирования.doc
Скачиваний:
3
Добавлен:
13.11.2018
Размер:
3.32 Mб
Скачать

Решение

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

Дано: сторона a=6, сторона b=5 и высота h=3.

Найти: S-? P-?

= ah;

= 2(+ b).

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

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

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

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

Вводятся: a, b, h ( тип Single)

Выводятся (результат): S, P ( тип Single).

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

На рабочем листе Лист1 при помощи Элементов управления создать элемент Кнопка (СommandBatton1).

Примечание Если Панель инструментов Элементы управления отсутствует, необходимо навести курсор мыши на свободное место в строке Панели инструментов Правой Клавишей Мыши (ПКМ) вызвать меню и выбрать пункт Элементы управления.

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

Навести курсор на Кнопку в режиме конструктора. Вызвать контекстное меню ПКМ. Выбрать пункт Исходный текст. Автоматически попадаем в режим редактора 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.

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

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

  1. Составить программу. Комплексное число заданное действительной и мнимой части записать в тригонометрической форме . Примечание: , .

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

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

Примечание: .

В 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

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

End If

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

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

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