Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Цель работы: изучение объектов Visual Basic for Application на примере линейной программы



Лабораторная работа № 14

VBA. Линейные операторы.

Цель работы: изучение объектов Visual Basic for Application на примере линейной программы

1. ОСНОВНЫЕ ТЕОРЕТИЧЕСКИЕ ПОЛОЖЕНИЯ:

Рабочая книга EXCEL состоит из рабочих листов. Основу рабочего листа составляет прямоугольная таблица ячеек.

Для обращения к рабочему листу из редактора VBA, следует использовать объект Worksheets (N), где N -номер рабочего листа рабочей книги. Этот объект не позволяет непосредственно обратится к ячейке таблицы.

Для получения данных из ячейки или их возврата в нее используется объект Range.

Объект Range имеет свойства: Range и Сells.

Для задания адресов ячеек используются два типа форматов:

— формат А1;

— формат R1C1.

В формате А1 имя ячейки строится из имени столбца (А, В…) и имени строки (1..16384). Адреса ячеек в этом формате являются относительными. Признаком абсолютного адреса является знак "$" в имени строки или столбца.

Формат R1C1 называется так потому, что адрес задается индексом строки (Row) и индексом столбца (Column). И здесь ссылки бывают абсолютные и относительные. В абсолютных ссылках указываются действительные индексы ячейки, в относительных - их смещение по отношению к активной ячейке. Смещение в относительных ссылках задаётся в квадратных скобках и со знаком, учитывающим направление смещения.

ПРИМЕЧАНИЕ: При вызове Range его параметры можно задавать только в формате А1. В формулах и циклах целесообразнее использовать свойство Сells и адресацию R1C1, чтобы явно подчеркнуть относительный характер ссылок.

Пример, характеризующий эти свойства:

'разным объектам Range (А1; А2; А3:А4) присваиваем значения и формулы

Worksheets(1).Activate 'активация первого рабочего листа рабочей книги

Range ("A1").Value =5

Range ("A2").Formula = "=A1+2"

Range ("A3:A4").Formula = "=A1+A2"

 

Переделаем наш пример так, чтобы в формулах использовались ссылки формата R1C1:

'разным объектам Range присваиваем значения и формулы

‘используется относительная ссылка

Worksheets(1).Activate 'активация первого рабочего листа рабочей книги

Range ("A1").Value =5

Range ("A2").Formula = "=R1C1+2"

Range ("A3:A4").Formula = "=R[-2]+R[-1]"

1. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ:

1. Для вычисления выражения с использованием VBA следует ввести исходные данные в ячейки А1 и В1. Результат Вычисление вывести в ячейку С1.

2. Выполнить Сервис/Макрос/Редактор VBA

3.

 
 

Выполнить Вставка/Модуль



4. Набрать программу для вычисления формулы, соответствующей вашему варианту.

5. Запустить программу на выполнение.

6. Просмотреть результаты выполнения на рабочем листе.

7. Внести изменения в программу, используя адресацию R1C1.

8. Оформить отчет.

Пример выполнения лабораторной работы:

Задание: вычислить выражение с=Sin(a)/Cos(b).

 
 

Схема алгоритма.

Текст программы:

Public Sub Lin() ' заголовок процедуры

Dim a, b, c As Double ' раздел описания переменных

'Исполняемая часть программы

a = Worksheets(1).Range("a1").Value 'присваивание переменной а числового значения ячейки а1 рабочего листа

b = Worksheets(1).Range("b1").Value ' присваивание переменной b числового значения ячейки b1 рабочего листа

c = Sin(a)/Cos(b) ' вычисление арифметического выражения

Worksheets(1).Range("c1").Value = c ' передача вычисленного значения в ячейку С1 рабочего листа 1

End Sub 'конец процедуры

СОДЕРЖАНИЕ ОТЧЕТА:

1. Название лабораторной работы.

2. Цель работы.

3. Задание

4. Схема алгоритма.

5. Текст программы.

6. Выводы.

ЗАДАНИЯ ДЛЯ ВЫПОЛНЕНИЯ

 

1. f(x,y¸z) = (x**2-y**2)/(1+z+x**2).

2. f(x,y,z) = (x+y+z)/(x**2+y**2+z**2).

3. Вычисление площади прямоугольного треугольника по двум катетам. Катет a=5, катет b = 3.

4. f(x,y)=x./(1+y)+y/(1+x)+1/(x+y).

5. Вычисление площади куба по его стороне а=3.

6. f(x,y,z)=(x+y+z)/(x*y*z).

7. f(a,b,c,x)=a*x**2+b*x+c.

8. Вычисление процентного отношения двух чисел (сколько процентов составляет величина первого от величины второго). Исходные данные: первое число 5.7 второе число 8.7.

9. f(x,y,z)=x/y/z+z/y/x/+y/x/z.

10. Вычисление дискриминанта квадратного уравнения. Исходные данные а=5.9, b=8.9, с= 0.7.

11. f(x,y)=(x+y)(x**2+y**2)(x**3+y**3).

12. Вычисление объема шара по заданному радиусу r =5.78.

13. Вычисление объема цилиндра по заданному радиусу и высоте - r=5.1 h=1.9.

14. f(x,y,z)=(x*y*z)/(x+y**2+z**3).

15. Вычисление главной диагонали параллелепипеда. Исходные данные a=4, b=3, c=6.

16. Вычисление произведения четырех вещественных чисел. Исходные данные x1=3 x2=4.1 x3=1.8 x4=0.8.

 


Дата добавления: 2015-11-04; просмотров: 20 | Нарушение авторских прав




<== предыдущая лекция | следующая лекция ==>
Контрольная работа по эконометрике №2 | Z=x*cos(y) , u=z^2+y^2+zy, z=x^2+y^2, z=sqrt(4+x^2+y^2) , z=x^3-3x^2y+3xy^2+1, z=ln(x+y), z=yln(x), z=x^3+2xy^2-y^4,

mybiblioteka.su - 2015-2024 год. (0.009 сек.)