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

Решение

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

Дано: начало a и конец n суммирования и произведения.

Найти: Sum, Pr.

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

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

В ячейку А1 вводится значение числа a, в ячейку B1 вводится значение числа n, в ячейку C1 вводится значение шага h для цикла.

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

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

Промежуточные переменные: (счетчик цикла) i (тип Integer), (bi) b (тип Single).

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

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

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

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

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

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

Private Sub CommandButton1_Click()

Dim a, n, h, i As Integer

Dim Sum, Pr, b As Single

'Ввод данных

a = Range("A1").Value

n = Range("B1").Value

h = Range("C1").Value

'Вычисления

Sum = 0

Pr = 1

For i = a To n Step h

b = Sin(2 * i + 0.4)

Sum = Sum + b

Pr = Pr * b

Next i

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

Range("B4").Value = "Сумма = " & Sum

Range("B5").Value = "Произведение = " & Pr

End Sub

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

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

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

Лабораторная работа № пр4 «Программирование циклов с условием»

Цель работы: научиться использовать оператор VBA «Цикл с условием».

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

Программирование цикла с условием

Циклы с условием применяются тогда, когда число повторений неизвестно, а некоторые действия в программе должны повторяться до тех пор, пока выполняется определенное условие или до тех пор, пока не будет выполнено определенное условие. Условием может быть любым выражением, принимающим значение True (Истина) или False (Ложь). В VBA есть два основных цикла с условием — цикл Do While ... Loop и цикл Do Until ... Loop. Оба они могут быть с предусловием или с постусловием.

Циклы Do While | Until имеют следующий синтаксис:

Цикл с предусловием:

Do While | Until <Условие>

Операторы [Exit Do]

Loop

Цикл с постусловием:

Do

Операторы

[Exit Do]

Loop While | Until <Условие>,

где Do — зарезервированное слово VBA, указывающее на начало цикла; While|Until — зарезервированные слова VBA, если используется While -> цикл выполняется, если <Условие> принимает значение True и заканчивает свою работу, если <Условие> принимает значение False. Если используется Until -> цикл выполняется, если <Условие>=False и заканчивает свою работу, если <Условие>=True; <Условие> — логическое выражение, принимающее значение True или False; Loop — зарезервированное слово VBA, указывающее на окончание цикла.

Цикл с предусловием и Цикл с постусловием отличаются тем, что Цикл с постусловием выполняется хотя бы один раз до проверки <Условие>, а Цикл с предусловием может не выполняться ни разу, если не выполняется <Условие>.

Используя цикл с условием, можно организовать бесконечный цикл. Иногда это бывает необходимо, гораздо чаще это происходит из-за ошибки пользователя. Для создания бесконечного цикла условное выражение должно быть таким, которое никогда не выполняется или выполняется всегда. Выйти из такого бесконечного цикла и прервать работу программы можно, нажав комбинацию клавиш <Ctrl+Break>.

Вызов процедуры

Выполнить процедуру типа Sub, у которой аргументы есть, можно только вызвав её из другой процедуры.

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

Если процедура имеет аргументы, то она будет требовать эти аргументы при выполнении своей работы. Вызывается процедура с помощью оператора Call, вслед за которым должно следовать имя процедуры и список её параметров в скобках. Вместо входных параметров могут стоять их значения. Допускается и бесскобочная запись оператора вызова (при этом ключевое слово Call – имя оператора – не используется).