Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Реализация алгоритмов с помощью макросов в excelСодержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
Цель работы: получить практические навыки разработки функций для реализации линейных, разветвляющихся и простейших циклических алгоритмов с помощью макросов в Excel.
Теоретические сведения
Реализация линейных и разветвляющихся алгоритмов
В Visual Basic for Application для задания значения переменной используется оператор присваивания. Этот оператор имеет следующий вид: Переменная = Выражение Выражение может быть арифметическим, текстовым или логическим. Для записи выражений используются арифметические, текстовые и логические операции (операторы). Арифметические операторы служат для выполнения арифметических действий над числами (таблица 16.1).
Таблица 16.1 ‑ Арифметические операторы
Для объединения нескольких текстовых строк в единую последовательность букв служит текстовый оператор &. Например, выражение "Энергетический " & "факультет" эквивалентно записи "Энергетический факультет". Для записи разветвляющихся алгоритмов используется оператор If (Если), который имеет две формы записи. 1. Однострочная запись: If условие Then [оператор] If условие Then [оператор 1] [ Else оператор 2] 2. Многострочная запись: If условие Then [оператор 1] [оператор 2] [оператор 3] End If В однострочном операторе условие и выполняемые при соблюдении условия действия располагаются в одной строке. В том случае, если при выполнении условия требуется выполнение блока операторов, используется многострочный оператор. После имени конструкции If должно следовать логическое выражение, содержащее условие. Для создания сложных условий используются логические операции And (И) и Or (Или). В качестве условия могут выступать следующие логические выражения: сравнение переменной с другой переменной, константой или функцией; любая переменная; выражение; поле базы данных; функция, принимающие значения True (Истина) или False (Ложь). Конструкция If … Then (Тогда) … Else (Также)аналогична конструкции If... Then, но позволяет задать действия, исполняемые как при выполнении условий, так и в случае их невыполнения. Команда If может проверить только одно условие. Если требуется осуществить переход управления в зависимости от результатов проверки нескольких условий, то дополнительное условие можно задать с помощью оператора Else If (Также Если). Оно будет анализироваться только в том случае, если предыдущее условие ложно. Ключевое слово End If обозначает конец многострочной конструкции и его наличие в команде в этом случае обязательно. Если указанное условие выполняется, то есть результат проверки равен True (Истина), то выполняются операторы, следующие за ключевым словом Then. Если условие не выполняется, то Visual Basic переходит к выполнению операторов, следующих за указанным оператором. В качестве примера приведем функцию определения корней квадратного уравнения:
Function Корни(a, b, c) d = b ^ 2 - 4 * a * c If d >= 0 Then x1 = (-b + d ^ (1 / 2)) / (2 * a) x2 = (-b - d ^ (1 / 2)) / (2 * a) Корни = "x1=" + str(x1) + "; x2=" + str(x2) Else Корни = "корней нет" End If End Function
Конструкция Select Сase позволяет обрабатывать в программе несколько условий и аналогична блоку конструкций If … Then … Else. Эта конструкция состоит из анализируемого выражения и набора операторов Case (в случае) на каждое возможное значение выражения. Работает эта конструкция следующим образом. Сначала вычисляется значение заданного в конструкции выражения. Затем полученное значение сравнивается со значениями, задаваемыми в операторах Сase конструкции. Если найдено искомое значение, выполняются команды, приписанные данному оператору Case. После завершения выполнения конструкций управление будет передано конструкции, следующей за ключевым словом End Select. Запись конструкции Select Case следующая: Select Case сравниваемое значение CASE значение 1 конструкция 1 CASE значение 2 конструкция 2 End Select В начале конструкции расположены ключевые слова Select Case, указывающие, что расположенный рядом с ними параметр “сравниваемое значение” будет проверяться на несколько значений. Далее следуют группы команд, начинающиеся с ключевого слова Case. Если параметр “сравниваемое значение” равен значению, указанному в текущем операторе Case, то будут выполняться команды, расположенные между этим и следующим ключевым словом Case. В качестве примера воспользуемся конструкцией Select Case для выбора удельного активного сопротивления и расчета полного активного сопротивления R в зависимости от заданной марки провода воздушной линии электропередачи:
Private Sub Marka() m = InputBox("Введите марку провода") l = InputBox("Введите длину линии") Select Case m Case "АС 70/11" R = l * 0.428 Case "АС 95/16" R = l * 0.306 Case "АС 120/19" R = l * 0.249 Case "АС 150/24" R = l * 0.198 Case "АС 185/29" R = l * 0.162 Case Else R = "Выбранная марка провода отсутствует в базе данных" End Select MsgBox R End Sub
Select Case может выполнить не более одной из содержащихся в ней последовательностей конструкций. После того как одно из условий оказалось равно True, и была выполнена соответствующая последовательность конструкций, Select Case завершит свою работу. Остальные условия проверяться не будут.
Реализация циклических алгоритмов
Для реализации циклических алгоритмов используются три вида операторов цикла: For, While, Do … Loop, форматы и примеры которых приведены ниже. Оператор For имеет следующий формат записи:
For переменная = начальное значение To конечное значение [операторы] Next [перменная]
В качестве примера приведем программу, в которой оператор For используется для вычисления суммы s=12+22+…+n2:
Sub Sum () n = InputBox("Введите количество слагаемых") s = 0 For i = 1 To n s = s + i ^ 2 Next MsgBox s End Sub
Оператор While имеет следующий формат записи:
While условие [операторы] Wend
Для сравнения принципа работы рассматриваемого оператора с оператором For приведем пример программы, выполняющей аналогичную задачу вычисления суммы
Sub Sum() Dim i As Integer n = InputBox("Введите количество слагаемых") s = 0 i = 0 While i < n + 1 s = s + i ^ 2 i = i + 1 Wend
Оператор Do... Loop имеет следующий две разновидности записи:
Do [{While / Until} условие] [операторы] [ Exit Do ] [операторы] Loop или: Do [операторы] [ Exit Do ] [операторы] Loop [{While / Until} условие]
Приведем пример предыдущей задачи с использованием данного оператора
Sub Sum() Dim i As Integer n = InputBox("Введите количество слагаемых") s = 0 i = 0 Do While i < n + 1 s = s + i ^ 2 i = i + 1 Loop MsgBox s End Sub
или
Sub Sum() Dim i As Integer n = InputBox("Введите количество слагаемых") s = 0 i = 0 Do s = s + i ^ 2 i = i + 1 Loop Until i > n MsgBox s End Sub
Порядок выполнения работы
1. Изучите теоретические сведения. 2. Создайте макросы по заданному преподавателем варианту. 3. Сохраните файл с созданными макросами. 4. Перепишите текст макросов в отчет. 5. Закройте Visual Basic и Microsoft Excel. 6. Ответьте на контрольные вопросы по указанию преподавателя.
16.3 Контрольные вопросы
1. С помощью каких операторов составляются циклические алгоритмы? 2. Каково назначение операторов For, While, Do … Loop? 3. В чем разница между операторами For и While? 4. Что может содержаться в условии оператора If? 5. Что происходит в случае невыполнения условия в операторе If? 6. Каково назначение операторов Then, Else и Else If? 7. В чем разница между операторами If и Select Case? 8. В чем разница между операторами While и Until?
16.4 Задания для самостоятельной работы
1. В редакторе Visual Basic напишите программу для нахождения минимального числа из трех заданных чисел A, B, C.
2. В редакторе Visual Basic создайте макрос, запрашивающий целое число. В случае ввода положительного числа должен осуществляться вывод строки “число положительное”, отрицательного - “число отрицательно”, 0 - “ноль”.
3. В редакторе Visual Basic создайте макрос для определения вида треугольника (равносторонний, равнобедренный, прямоугольный), если три заданных числа A, B, C - длины его сторон.
4. В редакторе Visual Basic напишите макрос для вычисления эквивалентного сопротивления параллельно и последовательно соединенных проводников с сопротивлениями R1 и R2. Предусмотреть возможность выбора соединения.
5. В редакторе Visual Basic напишите программу, осуществляющую табличный вывод значений синуса углов от 0 до 180 градусов с шагом, равным 10.
6. В редакторе Visual Basic напишите программу для нахождения суммы , где n - заданное число.
7. В редакторе Visual Basic составьте программу для определения с заданной погрешностью значения выражения: . ЛАБОРАТОРНАЯ РАБОТА № 17
ПРОГРАММА MICROSOFT ACCESS.
|
|||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-04-26; просмотров: 2256; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.129.69.134 (0.012 с.) |