Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Окно Просмотр объектов (Object Browser)

Поиск

Окно «Просмотр объектов» (Object Browser) предназначено для просмотра объектов, доступных при создании программы. Хотя на самом деле в этом окне просматриваем не объекты, а структуру соответствующего класса объектов.

Окно просмотра объектов (рисунок 3.5) может использоваться для поиска или свойства объекта. Чтобы найти какое-либо свойство или метод, необходимо выполнить следующую последовательность действий:

1. Откройте в редакторе Visual Basic нужный модуль.

2. Нажмите на панели инструментов кнопку «Просмотр объектов» (Object Browser).

3. Используя раскрывающийся список «Проект/Библиотека» (Project/Library), расположенный в верхнем левом углу окна просмотра объектов, выберите нужную библиотеку.

4. Пометьте нужный объект в списке «Классы» (Classes).

5. Используя список «Компонент» (Members Of), выберите подходящий метод или свойство.

 

 

Рис.3.5 Окно Просмотр объектов

 

Для получения сведений о выбранном классе, методе, событии или свойстве нажмите кнопку «Справка» (Help) в окне «Просмотр объектов» (Object Browser).


Лабораторная работа № 4. Программирование алгоритмов линейной структуры

4.1 Цель работы: изучение методов алгоритмизации и программирования алгоритмов линейной структуры.

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

При программировании линейной структуры используется оператор присваивания и встроенные диалоговые окна.

 

Оператор присвоения

Оператор присвоения присваивает значение выражения переменной или константе. Оператор присвоения всегда включает знак равенства(=).

Синтаксис:

[Let] Переменная = выражение

Инструкция Let не обязательна и чаще всего опускается. Оператор присвоения предписывает выполнить выражение, заданное в его правой части, и присвоить результат переменной, имя которой указано в левой части. В результате, например, действие следующей пары операторов

х==2

х==х+2

Переменной х будет присвоено 4.

Имена переменных должны отражать суть обозначаемого объекта так, чтобы делать программу легко читаемой. В VBA имеются следующие ограничения на имена:

1. Длина имени не должна превышать 255 символов.

2. Имя на может содержать точек, пробелов и следующих символов: %, &,!, #, @, $.

3. Имя может содержать любую комбинацию, цифр и символов, начинающуюся с буквы.

4. Имена должны быть уникальны внутри области, в которой они определены.

5. Не следует использовать имена, совпадающие с ключевыми словами VBA и именами встроенных функций и процедур.

 

Хотя регистр (верхний или нижний) в имени не имеет значения, умелое использование его может существенно облегчить понимание содержательной стороны переменной. Например, вместо плоских и невыразительных имен

 

процентнаяставка

 

х_начзнач

предпочтительнее использовать следующие имена, которые легче воспринимаются, благодаря выделению нескольких символов, входящих в них, разумным использованием верхнего регистра

 

ПроцентнаяСтавка

 

х_НачЗнач

 

Выражение состоит из элементов выражения (операндов) разделенных знаками операций и скобками. В программах на VBA можно использовать стандартный набор операций над данными. Имеются три основных типа операций:

Математические, выполняются над числами, и их результатом являются числа

Отношения, применяются не только к числам, и их результатом являются логические значения, например х>у

Логические, используются в логических выражениях и их результатом являются логические значения, например Not x And y

Приведем операции VBA указанных и дополнительных категорий.

Таблица 4.1

Математические операции.
[Операнд1] + [Операнд2] Сложение
[Операнд1] - [Операнд2] Вычитание
- [Операнд] Перемена знака
[Операнд1] * [Операнд2] Умножение
[Операнд1] / [Операнд2] Деление
[Операнд1] \ [Операнд2] Целочисленное деление
[Операнд1] Mod [Операнд2] Остаток от деления по модулю
[Операнд1] ^ [Операнд2] Возведение в степень
   
Операции отношения.
[Операнд1] < [Операнд2] Меньше
[Операнд1] > [Операнд2] Больше
[Операнд1] <= [Операнд2] Меньше или равно
[Операнд1] >= [Операнд2] Больше или равно
[Операнд1] <> [Операнд2] Не равно
[Операнд1] = [Операнд2] Равно
[Операнд1] Is [Операнд2] Сравнение двух операндов, содержащих ссылки на объекты
[Операнд1] Like [Операнд2] Сравнение двух строковых выражений
   
Логические операции.
[Операнд1] And [Операнд2] Логическое умножение
[Операнд1] Or [Операнд2] Логическое сложение
[Операнд1] Xor [Операнд2] Исключающее (или)
[Операнд1] Not [Операнд2] Логическое отрицание
[Операнд1] Imp [Операнд2] Логическая импликация (в настоящее время почти не используется)
[Операнд1] Equ [Операнд2] Логическая эквивалентность (в настоящее время почти не используется)
   
Другие операции.
[Строка1] & [Строка2] Сложение строк. Для сложения строк допустимо использование операции [Строка1] + [Строка2], но предпочтительнее, во избежание путаницы, применить операцию со знаком &

 

VBA выполняет операции в соответствии с их приоритетами, что обеспечивает однозначность в трактовании значений выражений. Приведем приоритеты выполнения операций.

 

Приоритет Операции

1 Вызов функции и скобки

2 ^

3 - (смена знака)

4 *, /

5 \

6 Mod

7 +, -

8 >, <, >=, <=, <>, =

9 Not

10 And

11 Or

12 Xor

13 Equ

14 Imp

 

Операндами в выражении могут быть: переменные, константы, функции.

В VBA имеются большой набор встроенных функций и процедур, использование которых существенно упрощает программирование. Эти функции можно разделить на следующие основные категории:

- Математические функции

- Функции проверки типов

- Функции преобразования форматов

В таблице 4.2 перечислены математические функции, используемые в VBA

 

Таблица 4.2 Математические функции

Функции Возвращаемое значение
Abs Модуль (абсолютная величина) числа
Atn Арктангенс
Cos Косинус
Exp Экспонента, т.е. результат возведения основания натурального логарифма в указанную степень (ех)
Log Натуральный логарифм (основание е=2.71828…)
Rnd Случайное число из интервала [0.1) Если число меньше нуля, то Rnd возвращает каждый раз одно и тоже число, используя аргумент в качестве опорного числа; если число больше нуля или аргумент опущен, то – следующее случайное число в последовательности; если число равняется нулю, то случайное число, возвращенное при предыдущем вызове этой функции. Перед вызовом функции Rnd используйте инструкцию Randomize без аргумента
Sgn Знак числа
Sin Синус
Sqr Квадратный корень из числа
Tan Тангенс
Fix и Int Обе функции, Int и Fix, отбрасывают дробную часть числа и возвращают целое значение. Различие между функциями Int и Fix состоит в том, что для отрицательного значения аргумента число функция Int возвращает ближайшее отрицательное целое число, меньшее либо равное указанному, а Fix - ближайшее отрицательное целое число, большее либо равное указанному
Функции Возвращаемое значение
Abs Модуль (абсолютная величина) числа
Atn Арктангенс
Cos Косинус
Exp Экспонента, т.е. результат возведения основания натурального логарифма в указанную степень (ех)
Log Натуральный логарифм (основание е=2.71828…)
Rnd Случайное число из интервала [0.1) Если число меньше нуля, то Rnd возвращает каждый раз одно и тоже число, используя аргумент в качестве опорного числа; если число больше нуля или аргумент опущен, то – следующее случайное число в последовательности; если число равняется нулю, то случайное число, возвращенное при предыдущем вызове этой функции. Перед вызовом функции Rnd используйте инструкцию Randomize без аргумента
Sgn Знак числа
Sin Синус
Sqr Квадратный корень из числа
Tan Тангенс
Fix и Int Обе функции, Int и Fix, отбрасывают дробную часть числа и возвращают целое значение. Различие между функциями Int и Fix состоит в том, что для отрицательного значения аргумента число функция Int возвращает ближайшее отрицательное целое число, меньшее либо равное указанному, а Fix - ближайшее отрицательное целое число, большее либо равное указанному

 

Обратите внимание на то, что список функций таблицы 4.2 несколько сокращен. Приведены только четыре встроенные тригонометрические функции, на самом же деле тригонометрических функций около 24, включая используемые гиперболические функции. В таблице 4.3 перечислены несколько стандартных формул, где использованы встроенные функции для вычисления недостающих. Эти формулы предназначены для положительных и отрицательных значений аргумента х. Некоторые из них, содержащие знак (+-), дают двойной результат. Используйте знак плюс (+) для вычисления первого значения и знак (-) для вычисления второго.

 

Таблица 4.3 Формулы общих математических функций, не вошедших в VBA

Функция Формула
Секанс Sec (x) = 1/Cos (x)
Косеканс Csc (x) = 1/Sin (x)
Котангенс Ctg (x) = 1/Tan (x)
Арксинус Arcsin (x) = Atn (x/Sqr (1-x^2))
Арккосинус Arccos (x) = 1.5708 – Atn (x/Sqr (1-x^2))
Арксеканс Arcsec (x) = Atn (Sqr (x^2 – 1) + Sgn (x) – 1)*1.5708
Арккосеканс Arccosec (x) = Atn (1/Sqr (x^2 – 1)) + + (Sgn (x) – 1)*1.5708
Арккотангенс Arcctg (x) = 1.5708 = Atn (x)
Гиперболический синус Sh (x) = (Exp (x) - Exp (-x))/2
Гиперболический косинус Ch (x) = (Exp (x) +Exp (-x))/2
Гиперболический тангенс Th (x) = (Exp (x) - Exp (-x))/ (Exp (x) +Exp (-x))
Гиперболический секанс Sch (x) = 2/ (Exp (x) +Exp (-x))
Гиперболический косеканс Csch (x) = 2/ (Exp (x) -Exp (-x))
Гиперболический котангенс Cth (x) = (Exp (x) + Exp (-x))/ (Exp (x) -Exp (-x))
Ареасинус Arsh(x) = Log (x + Sqr (x^2 + 1))
Ареакосинус Arch(x) = Log (x ± Sqr (x^2 - 1))
Ареатангенс Arth (x) = Log ((1+ x)/(1 – x)) / 2
Ареасеканс Arsch(x) = Log ((1 ± Sqr (1 - x^2)) / x)
Ареакосеканс Arcsch(x) = Log ((1 ± Sqr (1 + x^2)) / x)
Ареакотангенс Arcth (x) = Log ((x+ 1)/(x – 1)) / 2
Логарифм по основанию n Log N (x) = Log (x) / Log (n)

 

Число 1.5708 – это приближенное значение π/2.

 

4.2.2 Функции преобразования форматов

 

Преобразование строки в число и обратно осуществляют следующими функциями

 

Val (строка) – Возвращает числа, содержащиеся в строке, как числовое значение соответствующего типа

Str (число) – Возвращает значение типа Variant (String), являющееся строковым представлением числа

 

В качестве допустимого десятичного разделителя функция Str воспринимает только точку. При наличии другого десятичного разделителя (например, запятой) для преобразования чисел в строки следует использовать функцию СStr, описанную ниже.

Чтобы представить числовое значение как дату, время, денежное значение или в специальном формате, следует использовать функцию Format.

 

Format – Возвращает значение типа Variant (String), содержащее выражение, отформатированное согласно инструкциям, заданным в описании формата.

Синтаксис:

Format (Выражение[, Формат[, ПервыйДеньНедели[, ПерваяНеделяГода]]])

Выражение – любое допустимое выражение

Формат – любое допустимое именованное или определяемое пользователем выражение формата. Примером именованного формата является Fixed– формат действительного числа с двумя значащими цифрами после десятичной точки

ПервыйДеньНедели – постоянная, определяющая первый день недели

ПерваяНеделяГода – постоянная, определяющая первую неделю года

 

При построении пользовательского числового формата возможно использование следующих символов.

 

() -Резервирует позицию цифрового разряда. Отображает цифру или нуль. Если у числа, представленного аргументом, есть какая-нибудь цифра в той позиции разряда, где в строке формата находится (), функция отображает эту цифру аргумента, если нет – в этой позиции отображается нуль

# - Резервирует позицию цифрового разряда. Отображает цифру или ничего не отображает. Если у числа, представленного аргументом, есть какая-нибудь цифра в той позиции разряда, где в строке формата находится #, функция отображает эту цифру аргумента, если нет – в исходной позиции не отображается ничего. Действие данного символа аналогично действию (), за исключением того, что лидирующие нули не отображаются

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

% - Резервирует процентное отображение числа

, - Разделитель разряда сотен от тысяч

: - Разделитель часов, минут и секунд в категории форматов Время (Time)

/ - Разделитель дня, месяца и года в категории форматов Дата (Date)

Е+, Е-,е+,е- - Разделитель мантиссы и порядка в экспоненциальном формате

 

Встроенные диалоговые окна

 

В проектах VBA часто встречаются две разновидности диалоговых окон: окна сообщений и окна ввода. Они встроены в VBA, и если их возможностей достаточно, то можно обойтись без проектирования диалоговых окон. Окно сообщений выводит простейшие сообщения для пользователя, а окно ввода обеспечивает ввод информации.

Функция Выводит на экран диалоговое окно, содержащее сообщение и

InputBox поле ввода, устанавливает режим ожидания ввода текста пользователем или нажатия кнопки, а затем возвращает значение типа, содержащее текст, введенный в поле.

Синтаксис:

InputBox (prompt [, title] [, default] [, xpos] _

[, ypos] [, helpfile, context])

Аргументы:

ü prompt – строковое выражение, отображаемое как сообщение в диалоговом окне. Строковое значение prompt может содержать несколько строк. Для разделения строк допускается использование символа возврата каретки (Chr (13)), символа перевода строки (Chr (10))или комбинацию этих символов(Chr (13)) & (Chr (10))

ü title – строковое выражение, отображаемое в строке заголовка диалогового окна. Если этот аргумент опущен, в строку заголовка помещается имя приложения.

ü default – строковое выражение, отображаемое в поле ввода как используемое по умолчанию, если пользователь не введет другую строку. Если этот аргумент опущен, поле ввода изображается пустым

ü xpos – числовое выражение, задающее расстояние по горизонтали между левой границей диалогового окна и левым края экрана. Если этот аргумент опущен, диалоговое окно выравнивается по центру экрана по горизонтали

ü ypos – числовое выражение, задающее расстояние по вертикали между верхней границей диалогового окна и верхним краем экрана. Если этот аргумент опущен, диалоговое окно помещается по вертикали примерно на одну треть высоты экрана

ü helpfile – строковое выражение, определяющее имя файла справки, содержащего справочные сведения о данном диалоговом окне. Если этот аргумент указан, необходимо наличие также аргумента context

ü context – числовое выражение, определяющее номер соответствующего раздела справочной системы. Если этот аргумент указан, необходимо наличие также аргумента helpfile

Процедура Выводит на экран диалоговое окно, содержащее сообщение,

MsgBox устанавливает режим ожидания нажатия кнопки пользователем, а затем возвращает значение типа Integer, указывающее, какая кнопка была нажата.

Синтаксис:

MsgBox (prompt [, buttons] [, title] [, helpfile, context])

Аргументы:

ü prompt – строковое выражение, отображаемое как сообщение в диалоговом окне

ü buttons – числовое выражение, представляющее сумму значений, которые указывают число и тип отображаемых кнопок, тип используемого значка, основную кнопку и модальность окна сообщения. Значение по умолчанию этого аргумента равняется 0. Значение констант, определяющих число и тип кнопок используемого значка, приведены в таблицах 4.1 – 4.3

ü title – строковое выражение, отображаемое в строке заголовка диалогового окна. Если этот аргумент опущен, в строку заголовка помещается имя приложения

ü helpfile – строковое выражение, определяющее имя файла справки, содержащего справочные сведения о данном диалоговом окне. Если этот аргумент указан, необходимо указать также аргумент context

ü context – числовое выражение, определяющее номер соответствующего раздела справочной системы. Если этот аргумент указан, необходимо указать также аргумент helpfile

 

Задание к работе

 

  1. Вычислить на ЭВМ значения переменных, указанных в таблице 4.4 (вариант задается преподавателем), по заданным расчетным формулам и наборам исходных данных.
  2. На печать вывести значения вводимых исходных данных и результаты вычислений, сопровождая вывод наименованиями выводимых переменных.

 

Таблица 4.4 Варианты задания

Вариант задания Расчетные формулы Значения исходных данных
     
  х=1,42 у=-1,2 z=3,5
  х=1,825 у=18,225 z=-3,29
  х=0,335 у=0,025  
  a=-0,5 b=1,7 t=0,44
  a=1,5 b=15,5 x=-2,9
  a=16,5 b=3,4 x=0,61
  a=0,7 b=0,05 x=0,5
  a=1,1 b=0,004 x=0,2
  m=2, c=-1 t=1,2, b=0,7  
  a=3,2 b=17,5 x=4,8
  a=10,2 b=9,2 x=2,2 c=0,5
  a=0,3 b=0,9 x=0,61
  a=0,5 b=3,1 x=1,4
  a=0,5 b=2,9 x=0,3
  m=0,7 a=0,5 b=1,08 x=1,7 c=2,1
  В бочке радиусом R и высотой H находится 40% вещества А плотностью G, 32% вещества В плотностью К, остальное – С плотностью L. Определить массу содержимого тары. R=0,3 мм H=1,000 м G=800 кг/м3 K=1600 кг/м3 L=2400 кг/м3
  Вычислить площадь треугольника со сторонами a,b,c по формуле Герона: , где p=(a+b+c)/2 a=2,81 b=3,63 c=1,27
  Вычислить для усеченного конуса площадь поверхности и объем l=15,75 мм R=4,82 мм r=3,11 мм h=11,32 мм
  Вычислить координаты центра массами трех материальных точек с массами m1, m2, m3 и координатами (x1, y1),(x2, y2), (x3, y3) по формулам x1=8,5 y1= 0,1 x2=-3,42 y2=2,8 x3=4,5 y3=-2,7
  Вычислить координаты точки, делящей отрезок [a1;a2] в отношении n1;n2 по формулам: где x1, y1 – координаты точки a1, x2, y2 - координаты точки a2. x1=0,52 y1= 2,18 x2=2,38 y2=11,71 n1=3 n2=5
  Материальная точка совершает прямолинейное движение по закону S(t)=2t+6t2-t3, где S – путь, t - время. Найти наибольшее значение скорости движения точки. Скорость материальной точки: V(t)=ds(t)/d(t)=2+12t+3t2. Приравняем скорость нулю, найдем значение t, при котором скорость достигает максимума, а подставляя в выражение для V(t) найденное t, получим значение максимальной скорости.  
  Определить площадь геометрической фигуры: A=13,8 B=4,21
  Определить площадь геометрической фигуры: A=17,2 B=5,71
  Определить площадь геометрической фигуры A=28,51 B=7,11
  Вычислить функцию: x=-0,21

 

4.4 Методика выполнения задания

Заранее (до выполнения лабораторной работы)

 

  1. Изучить:

- запись констант, переменных, стандартных функций;

- правила записи арифметических выражений;

- арифметический оператор присваивания;

- организацию простейшего ввода-вывода данных.

2. Разработать алгоритм решения в соответствии с заданием.

3. Составить программу решения задач.

4. Подготовить тестовый вариант исходных данных и вычислить для них вручную или с помощью микрокалькулятора значения вычисляемых в программе величин.

 

4.5 Пример выполнения задания

 

Заданы формулы:

Требуется вычислить b и z при х=1,542 и у=-3,26

 


Схема алгоритма вычисления b и z:

 
 

 

 


Блок 1 – ввод исходных данных, блок 2 – печать введенных значений, блок 3 – вычисление Z, блок 4 – вычисляется промежуточное значение, блок 5 – вычисляется b, блок 6 – вывод на печать результата.

Программа, реализующая приведенный алгоритм, имеет вид:

 

SUB LINEINAJA PROGR()

X=Val(InputBOX(“Введите Х”))

Y=Val(InputBOX(“Введите Y”))

MsgBox “X=” & Str(X) & “Y=” & Str(Y)

Z= (x^2+y^2)/18.3*ABS(SIN(Y))

C=SQR(EXP(X-Y)+X)

B=LOG(C+X^(ABS(Y))+Z)

MsgBox “B=” & Str(B)

End Sub

 

Содержание отчета.

Цель работы.

Краткие теоретические сведения.

Задание к работе

Текст процедуры на VBA с пояснениями.

Анализ результатов. Выводы.

 

Библиографический список

1. Р.Персон. Microsoft Ecxel 97 в подлиннике: В 2т. – BHV – Санкт-Петербург. 1998. Том 2 – 640с.

2. Васильев А., Андреев А. VBA в Office 2000: учебный курс. – СПб.: Питер, 2001. – 432 с.: ил.




Поделиться:


Последнее изменение этой страницы: 2016-12-17; просмотров: 414; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.191.200.151 (0.008 с.)