Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Программирование алгоритмов линейной структуры
Тексты программ в VBA хранятся в мáкросах. Макрос на языке VBA должен содержать хотя бы одну подпрограмму, которая называется Главной. От всех остальных она отличается тем, что ей передается управление при вызове макроса. Подпрограммы не могут быть вложенными. Подпрограмма начинается оператором заголовка, например: Sub Задача() Далее следуют строки, состоящие из операторов. Они составляют тело программы. В одной строке может находиться один или несколько операторов. Один оператор от другого отделяется знаком двоеточия. Один оператор может занимать несколько строк. В этом случае символом продолжения служит последовательность пробел-подчеркивание (_). Последним оператором в подпрограмме должен быть оператор End Sub Оператор - это минимальная конструкция языка, задающая описание некоторого действия. Оператор, c помощью которого с клавиатуры в режиме диалога присваивается значение переменной величине, называется оператором ввода. В программе ввод начальных данных производится в диалоговое окно, которое вызываются при помощи стандартной функции VBA InputBox. Синтаксис оператора ввода: Имя_Переменной = InputBox (“Текст подсказки”, “Заголовок окна”) Как только в программе встречается оператор ввода, компьютер вызывает диалоговое окно и ждет, когда пользователь введет с клавиатуры соответствующее значение. После нажатия кнопки ОК или клавиши enter, переменная примет соответствующее значение. Выполнение программы продолжается с оператора следующего за оператором ввода. Например: a = InputBox("Введите значение расстояния a", "Окно ввода") Результатом вызова функции InputBox является значение, введённое в текстовое поле, которое присваивается переменной а (рис.22).
Рис. 22 Диалоговое окно ввода данных с помощью функции InputBox Оператор вывода результатов Debug.Print [список_вывода] осуществляет вывод результатов работы программы в окно Immediate. Вызов этого окна выполняется командой меню Вид /Прямое окно (View/Immediate). Переменные из списка вывода могут отделяться друг от друга запятой или точкой с запятой, что влияет на форму печати. Если в качестве разделителя используется запятая, то печать позиционированная, при которой строка разбивается на зоны по 14 позиций в каждой зоне. При использовании в качестве разделителя выводного списка точки с запятой числа печатаются подряд через один пробел. Такая форма печати получила название - уплотненная печать.
Например:
Если оператор Debug.Print записан без списка переменных, то при печати будет пропускаться одна пустая строка. В оператореDebug.Printможно использовать функцию TAB(n). Функция TAB используется как один из элементов в списке вывода оператора Debug.Print. Она обеспечивает вывод следующего за ней элемента в позицию n, номер которой задан как аргумент функции TAB (рис.23). Например:
Рис. 23 Результаты позиционированного вывода в окно Immediate Если аргумент функции TAB меньше текущей позиции строки, то вывод результата осуществляется в следующей строке экрана. Программа линейной структуры может содержать только операторы ввода, вывода и присваивания. Оператор присваивания служит для присваивания переменной значения арифметического выражения и имеет вид: Переменная = Выражение При выполнении этого оператора вычисляется значение Выражения и присваивается Переменной, при этом тип выражения должен совпадать с типом переменной.Тип выражения определяется типом операндов, входящих в него, и зависит от операций, выполняемых над ними. Например, X = (Y + Z) / (2 + Z * 10) - 1/3 - вещественный тип G$=”Москва” - символьный тип Для записи арифметических выражений используются знаки операций (сложение, умножение, вычитание, деление, возведение в степень), функции, круглые скобки. Таблица 6 – Встроенные математические функции
При наличии в выражении нескольких арифметических операций порядок их выполнения определяется правилами приоритета:
1. вычисляются значения в скобках; 2. вычисляются значения функций; 3. возведение в степень; 4. выполняются операции умножения и деления; 5. выполняются операции сложения и вычитания. Операции выполняются слева направо с учетом их приоритета. Желаемая последовательность операций обеспечивается путем расстановки скобок в соответствующих местах выражения. В пунктах 2.2 и 2.6.1 были построены математические модели и блок-схемы алгоритмов линейной структуры. Рассмотрим примеры программ, где алгоритм решения является линейным. Листинг 1. Вычисление расстояния до складских помещений Sub Пример1() Dim a, b, c, d, r As Single a = InputBox("Введите значение расстояния a", "Окно ввода") b = InputBox("Введите значение расстояния b", "Окно ввода") c = InputBox("Введите значение расстояния c", "Окно ввода") d = 2 * ((a * b) ^ 2 + (a * c) ^ 2 + (b * c) ^ 2) - a ^ 4 - b ^ 4 - c ^ 4 r = Round((a * b * c) / Sqr(d), 3) Debug.Print "Расстояние до складских помещений = "; r; "км" End Sub Листинг 2. Вычисление суммы значений двух функций Sub Пример2() Dim a, b, c, x, t, p, y, z, s As Single a = InputBox("Введите значение переменной a", "Окно ввода") b = InputBox("Введите значение переменной b", "Окно ввода") c = InputBox("Введите значение переменной c", "Окно ввода") x = InputBox("Введите значение переменной x", "Окно ввода") t = a + b p = c * x y = (t ^ 3 - Sin(p)) / (a - 3.75) z = Log(p) - ((t + 3.75) / a) ^ (1 / 3) s = Round(y + z, 3) Debug.Print "s = "; s End Sub В рассмотренных примерах программа ведет диалог с пользователем, т.е. в ней предусматривается вывод пояснительных сообщений. В противном случае сам программист может через некоторое время забыть, что необходимо вводить и что является результатом.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2017-02-07; просмотров: 113; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.235.154.65 (0.011 с.) |