Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Инф VBA

.pdf
Скачиваний:
31
Добавлен:
29.03.2016
Размер:
1.88 Mб
Скачать

110

Лабораторная работа № 8 на тему: «Работа с двумерными массивами

(продолжение)»

Постановка задачи.

Из матрицы A8,5 получить матрицу B 8,5 , элементы которой равны

косинусам соответствующих элемент матрицы A .

Выполнение.

Ввод и вывод данных. Пусть исходные данные элементов матрицы расположены в таблице Еxcel, как в Лабораторной работе 7:

Результаты счета – матрицу В будем располагать начиная с ячейки А15.

Приступим к созданию процедуры:

1.Загрузите приложение Excel и создайте рабочую книгу с именем

«Лабораторная работа 8».

2.Введите матрицу A.

3.Одним из способов запустите редактор VBA и вставьте модуль.

4.В модуль вставьте процедуру Массивы4.

Public Sub Массивы4 ()

End Sub

5. Под заголовком поместите код подпрограммы.

Const n=8, m=5

Dim A (1 To n, 1 To m) As Single

Dim B (1 To n, 1 To m) As Single

Dim i, j As Integer

For i=1 To n

For j=1 To m

A(i,j)=Cells(i+2,j).Value

B(i,j)=cos(A(i,j))

Cells(i+14,j).Value =B(i,j)

Next

111

Next

6.Сохраните рабочую книгу. Запустите процедуру вычисления площади с помощью команды Запуск (Run) или нажмите F5.

7.При необходимости устраните ошибки.

8.Установите на рабочий лист кнопку и привяжите к ней написанную программу, так как это делалось в Лабораторной работе 2.

Лабораторная работа № 9 на тему: «Работа с двумерными и одномернымимассивами»

Постановка задачи.

Из матрицы A A 9 , 7 получить вектор b , координаты которого равны среднему геометрическому положительных элементов соответствующих строк матрицы A .

Выполнение.

Ввод и вывод данных. Предположим, что исходные данные элементов матрицы расположены в таблице excel как в предыдущей лабораторной работе.

Результат счета – вектор b – расположим в одну колонку, начиная с ячейки I1.

Приступим к созданию процедуры:

1.Создайте рабочую книгу «Лабораторная работа 9».

2.Введите матрицу A.

3.Одним из способов запустите редактор VBA и вставьте модуль.

4.В модуль вставьте процедуру Массивы5.

Public Sub Массивы5 ()

End Sub

5. Под заголовком поместите код подпрограммы.

Const n=8, m=5

Dim A (1 To n, 1 To m) As Single

Dim b (1 To n) As Single

Dim i, j, k As Integer

112

For i=1 To n

For j=1 To m

A(i,j)=Cells(i+2,j).Value

Next

Next

For i=1 To n

P=1

K=0

For j=1 To m

If A(i,j)>0 Then

P=p* A(i,j)

K=k+1

End If

Next

If k=0 Then

B(i)=0

Else

B(i)=p^(1/k)

End If

Next

Cells(1,9).Value="Вектор b"

For i=1 To n

Cells (i+2,9).Value=b(i)

Next

6.Сохраните рабочую книгу. Запустите процедуру вычисления площади с помощью команды Запуск (Run) или нажмите F5.

7.При необходимости устраните ошибки.

8.Загрузите приложение Excel и создайте рабочую книгу с именем

113

9. Установите на рабочий лист кнопку и привяжите к ней написанную

программу, так как это делалось в Лабораторной работе 2.

Лабораторная работа № 10 на тему: «Использованием форм пользователя»

Задание. Разработайте экранную форму и программу, в которой находится сумма либо произведение двух чисел. В программе предусмотреть проверку корректности вводимых исходных данных и выдачу сообщений в случае обнаружения какой-либо ошибки. (Данные корректны, если они являются числовыми.) Для вывода окна на экран используйте кнопку, которую поместите на первом рабочем листе.

Выполнение. Перед созданием формы пользователя необходимо определиться, какие элементы управления необходимы программе, а именно – для вывода исходных данных, указания на выполнение вычислений и завершения работы программы. В нашем случае, для выбора операции, в форме необходимо разместить элемент Рамка (Frame), внутри которого, как в контейнере, расположите два Переключателя (OptionButton). Для непосредственного подсчета суммы либо произведения двух чисел необходимо задать два параметра (первое число и второе число). Следовательно, в форме пользователя должны быть размещены два элемента Поле (TextBox). Для вывода результата будем использовать элемент Надпись (Label). Кроме этих элементов, в форме должны быть размещены ещё три элемента Надпись

(Label), поясняющие назначение элементов управления. Для включения режима вычислений и для выхода из программы в форму пользователя следует поместить два элемента Кнопка (CommandButton). Примерный вид формы:

114

Для выполнения задания сделайте следующее:

1.Перейдите в редактор VBA.

2.Добавьте в проект новую форму (команда Вставка\UserForm). Добавьте в форму нужные элементы.

3.Выведите на экран окно свойств, если его нет (команда Вид\Окно свойств). Измените значения свойства Caption у всех надписей и кнопок.

4.Напишите процедуру обработки события Click для кнопки Вычислить.

Надо дважды щелкнуть на этой кнопке. Появится заготовка для процедуры.

Private Sub CommandButton1_Click()

End Sub

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

If IsNumeric(TextBox1.Text) = False Then

MsgBox "Введите правильно первое число"

TextBox1.SetFocus

Exit Sub

End If

a = Val(TextBox1.Text)

If IsNumeric(TextBox2.Text) = False Then

MsgBox "Введите правильно второе число"

TextBox2.SetFocus

Exit Sub

End If

b = Val(TextBox2.Text)

If OptionButton1.Value = True Then

Label3.Visible = True

Label3.Caption = a + b

End If

If OptionButton2.Value = True Then

115

Label3.Visible = True

Label3.Caption = a * b

End If

Встроенная функция IsNumeric возвращает значение True, если ее аргумент является числом, и False, если аргумент не число.

Напишите процедуру обработки события Initialize для экранной формы

UserForm1, которое генерируется в момент инициализации формы. Эта процедура должна содержать код, задающий значения для элементов управления формы таковыми, каковыми они должны быть при открытии формы. Выполните двойной щелчок по экранной форме. Откроется окно кода с заголовком UserForm_Click( ). Чтобы создать процедуру обработки события

Initialize, щелкните на кнопке со стрелкой, направленной вниз, в правой части раскрывающегося списка возможных событий и выберите событие Initialize. В

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

Private Sub UserForm_Initialize()

OptionButton1.Value = True

Label3.Visible = False

End Sub

Напишите процедуру обработки события Click для кнопки Отмена. Private Sub CommandButton2_Click()

UserForm1.Hide

End Sub

6.Вставьте на Лист1 кнопку для вывода вашего диалогового окна. Создайте для этой кнопки макрос Кнопка1_Щелчок

Private Sub Кнопка1_Щелчок ()

UserForm1.Show

End Sub

7. Вернитесь в Excel и запустите программу.

116

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

1.Акулов, О. А. Информатика. Базовый курс : учеб. для студентов вузов,

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

/О. А. Акулов, Н. В. Медведев. – 5-е изд., стер. – М. : Омега-Л, 2009. – 574 с.

2.Безручко, В. Т. Информатика (курс лекций) : учеб. пособие / В. Т Безручко. –

М. : Инфра-М : Форум, 2009. – 432 с. – (Гриф МО РФ).

3.Острейковский, В. А. Информатика : учеб. для студентов техн. и экон.

специальностей вузов / В. А. Острейковский. – 5-е изд, стер. – М. : Высш.

школа, 2009. – 511 с.

4.Симонович, С. В. Информатика. Базовый курс : учеб. для техн. вузов /

С. В. Симонович. – 2-е изд. – СПб. : Питер, 2009. – 640 с

5.Соболь, Б. В. Информатика : учеб. / Б. В. Соболь [и др.] – 4-е изд., перераб. и

доп. – Ростов н/Д : Феникс, 2009. – 446 с.

6.Степанов, А. Н. Информатика : учеб. для вузов / А. Н. Степанов. – 5-е изд.,

испр. и доп. – СПб. : Питер, 2008. – 768 с.

7.Волосатова Т.А., Шамраева В.В. Методические указания и упражнения по курсу: “Решение нелинейных уравнений средствами Microsoft Excel –Ростов-

на-Дону, РИЦ РГСУ, 2009.— 44 с.

8.Джон Уокенбах Excel 2010: профессиональное программирование на VBA =

Excel 2010 Power Programming with VBA.—М.:«Диалектика», 2011.— 944 с.

9.Слепцова Л.Д. Программирование на VBA в Microsoft Office 2010.—

М.:«Диалектика», 2010.— 432 с.

10.Солохин. Н.Н., Волостова Т.А.,Данекянц А.Г., Маринченко Е.В., Назарько О.В., Сайфутдинова Н.А. Лабораторный практикум по информатике. Часть 1–

Ростов-на-Дону, РИЦ РГСУ, 2012.— 32 с.

117

Приложение 1

Правильные ответы к тестам.

Глава 1

1 B

 

2 С

3 С

4 D

5 А

6 D

7 B

8 В

9 A

10 С

 

 

 

 

 

 

 

 

 

 

 

Глава 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 D

 

2 С

3 D

4 B

4 E

6 A

7 С

8B

9 D

10 D

 

 

 

 

 

 

 

 

 

 

 

Глава 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 С

 

2 B

3 B

4 E

5 D

6 D

7 B

8 A

9 С

10 Е

 

 

 

 

 

 

 

 

 

 

 

Глава 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 D

 

2 B

3 C

4 A

5 Е

6 D

8D

9 A

10 B

 

 

 

 

 

 

 

 

 

 

 

Глава 5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 B

 

2 D

3 B

5 A

6 С

7 D

8 D

9 B

10 E

 

 

 

 

 

 

 

 

 

 

 

Глава 6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 C

 

2 B

3 A

4 B,Е

5 Е

6 А

7 D

8 А

 

 

 

 

 

 

 

 

 

 

 

 

 

Глава 7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 A

 

2 D

3 D

4A

5 B

6 С

7 C

8 B

9 D

10 C

 

 

 

 

 

 

 

 

 

 

 

 

118

 

Приложение 2

 

Задания для самостоятельной работы студентов.

 

Задача 1

1.

Составить программу вычисления площади и периметра равнобедренного

 

треугольника с основанием a и углом при вершине градусов.

2.

Составить программу вычисления площади и периметра равнобедренной

 

трапеции с основаниями a , b и высотой h .

3.Составить программу вычисления объема и полной поверхности конуса с радиусом основания R и высотой H .

4.Составить программу вычисления объема и полной поверхности шара диаметром D .

5.Составить программу вычисления площади и периметра параллелограмма со

сторонами a , b и острым углом градусов.

6. Составить программу вычисления объема и полной поверхности цилиндра с

диаметром основания D и высотой H .

7. Составить программу вычисления площади и периметра ромба со стороной

aи острым углом при вершине градусов.

8.Составить программу вычисления объема и полной поверхности прямоугольного параллелепипеда со сторонами a, b, c .

9.Составить программу вычисления полной поверхности и объема усеченного конуса с радиусами оснований R, r и высотой H .

10.Составить программу вычисления площади и периметра треугольника с

сторонами a , b и c .

 

Задача 2

 

Составить программу вычисления функции

y f (x) и вычислить

значения функции в указанных точках.

 

 

 

 

 

 

 

 

 

 

119

 

 

 

2

4x 7,3

x 0,35

 

x

 

 

1.

y cos(3,4x 4)

0,35 x 1,1

 

 

e

0,78 x

ln (x

3

4,2)

x 1,1

 

 

 

 

 

x 1,1; 0,16; 1,33; 0,35; 1,1

arctg 3,1x

2. y sin 2 x ln x

x2 4x 11

x 0,11; 1,34; 2,3; 0,47; 2

ln (3 x2 ) 3. y x sin 2,7x

e x arctg 3x

x 0,47 0,47 x 2 x 2

x 0,33

0,33 x 0,81

x0,81

 

x 1,57; 0,78; 1,95; 0,33; 0,81

 

 

 

2,1x 4,7

 

 

 

x 0,88

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x arctg 4x

0,88 x 1,7

4.

y

 

 

sin x ln (2x 0,75)

x 1,7

 

 

 

 

 

 

 

 

 

 

 

 

x 2,1; 0,64; 1,9; 0,88; 1,7

 

 

 

ln (x

2

4)

x 0,35

 

 

 

 

 

5.

y

arctg 2 x

0,35 x 2,1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4x3 3x2 2,2

x 2,1

 

 

 

 

x 0,77; 1,32; 2,71; 0,35; 2,1

 

 

 

 

 

 

 

 

 

 

 

x2 2x 18,7

 

x 0,83

6.

 

tg 0,11x

 

1 2,4x

 

0,83 x 0,5

 

 

y

 

 

 

 

 

 

 

 

 

 

x 0,5

 

e 1,72 x

 

 

 

 

 

 

 

 

 

 

x 1,33; 0,57; 0,87; 0,83; 0,5