Сделай Сам Свою Работу на 5

Public Function ФАКТОРИАЛ(N As Integer) As Double





Практическая работа №1

СОЗДАНИЕ ПРОСТЕЙШИХ ПРОЦЕДУР НА ЯЗЫКЕ VBA

 

Цель работы:приобретение навыков обработки данных с использованием основных элементов языка (оператор присваивания, выражения, объявление переменных, вывод сообщений, организация ввода данных, условный оператор) и среды программирования VBA на примере создания простейших процедур.

 

Создание простейшего окна вывода сообщений

1. Запустите программу Excel.

2. Откройте редактор VBA (Visual Basic for Application) (Сервис à Макрос à Редактор Visual Basic).

3. Добавьте в проект новый программный модуль (Insert à Module).

4. Добавьте новую процедуру, выполнив команду Insert à Procedure…, а затем введя в поле Name значение MyProcedure и выбрав в поле Type значение Sub.

5. Введите недостающий текст так, чтобы содержимое окна редактора имело следующий вид:

Public Sub MyProcedure()

MsgBox ("Привет!")

End Sub

6. Установите текстовый курсор в пределах введенного текста и запустите созданную процедуру на выполнение с помощью команды Run à Run Sub/User Form.

7. Измените текст процедуры как указано ниже и повторите действия п.6.

Public Sub MyProcedure()

s = MsgBox("Привет!", , "Новое сообщение")



End Sub

8. Сравните полученные результаты.

 

Создание процедуры вычисления площади круга

 

1. Измените текст процедуры следующим образом:

Public Sub MyProcedure()

Const Pi As Double = 3.1415993

Dim Radius As Double

Dim S_circles As Double

Radius = 10

S_circles = Pi * Radius ^ 2

s = MsgBox (S_circles, , "Вычисление площади круга")

End Sub

2. Запустите процедуру вычисление площади круга (см. п.6). Измените значение переменной Radius, введя произвольное значение (например, Radius = 12.4), и вновь запустите процедуру. Изменилось ли вычисленное значение? В чем недостаток процедуры?

3. Замените строку

Radius = ...

на

Radius = InputBox("Введите радиус круга:")

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

5. Замените строку

s = MsgBox (S_circles, , "Вычисление площади круга")

на

MsgBox ("Площадь круга = " + CStr(S_circles))

6. Запустите процедуру. Сравните результат с полученным ранее.

 

Создание процедуры сравнения двух чисел

1. Измените текст процедуры следующим образом:



Public Sub MyProcedure()

Dim A, B As Double

A = InputBox("Введите число A:")

B = InputBox("Введите число B:")

If A = B Then

MsgBox ("Числа A и B равны.")

Else

If A > B Then

MsgBox ("Число A больше числа B.")

Else

MsgBox ("Число A меньше числа B.")

End If

End If

End Sub

2. Запустите процедуру. Проверьте правильность сравнения для нескольких пар чисел A и B.

Самостоятельная работа

 

Создать процедуру вычисления следующей функции, обратив внимание на область определения (номер задания соответствует номеру студента в списке группы):

 

1) ;

2) ;

3) ;

4) ;

5) ;

6) ;

7) ;

8) ;

9) ;

10) ;

11) ;

12) ;

13) ;

14) ;

15) .

16) ;

17) ;

18) ;

19) ;

20) ;

21) ;

22) ;

23) ;

24) ;

25) ;

 

Отчет должен содержать: цель работы; краткое описание использованных в работе элементов языка VBA; текст созданных процедур и результаты их работы; выводы по результатам работы. При оформлении отчета в печатном виде в нижний колонтитул следует поместить фамилию, инициалы и номер группы обучаемого (8 пт., Arial, выравнивание по правому краю).

 

Практическая работа № 2

СОЗДАНИЕ ПОЛЬЗОВАТЕЛЬСКОЙ ФУНКЦИИ И ОРГАНИЗАЦИЯ ОБРАЩЕНИЯ К ЯЧЕЙКАМ ЛИСТА MS EXCEL СРЕДСТВАМИ VBA

Цель работы:приобретение навыков обработки данных с использованием оператора цикла, этапов создания пользовательской функции, а также организации обращения к ячейкам листа из процедуры/функции на языке VBA.

 

Создание пользовательской функции

 

1. Запустите программу Excel.

2. Откройте редактор VBA (Visual Basic for Application) (Сервис à Макрос à Редактор Visual Basic).

3. Добавьте в проект новый программный модуль (Insert à Module).



4. Добавьте новую процедуру, выполнив команду Insert à Procedure…, а затем и введя в поле Name значение MyProcedure и выбрав в поле Type значение Sub.

5. Введите недостающий текст так, чтобы содержимое окна редактора имело следующий вид:

Public Sub MyProcedure()

Dim N, I As Integer

Dim F As Long

N = InputBox("Введите число N:")

F = 1

For I = 1 To N

F = F * I

Next

MsgBox ("N!=" + CStr(F))

End Sub

6. Установите текстовый курсор в пределах введенного текста и запустите созданную процедуру на выполнение с помощью команды Run à Run Sub/User Form. Проверьте правильность вычисления факториала для значений числа N от 0 до 13. В чем причина возникновения ошибки?

7. Замените в строке Dim F As Long

Long на Double.

8. Снова запустите процедуру и проверьте правильность вычисления факториала для нескольких значений числа N, начиная с 13. Как можно объяснить полученный результат?

9. Для создания на основе имеющейся процедуры пользовательской функции измените введенный ранее текст следующим образом:

Public Function ФАКТОРИАЛ(N As Integer) As Double

Dim I As Integer

Dim F As Double

F = 1

For I = 1 To N

F = F * I

Next

ФАКТОРИАЛ = F

End Function

Для добавления в модуль новой функции можно воспользоваться командой Insert à Procedure…, введя затем в поле Name имя создаваемой функции и выбрав в поле Type значение Function.

 

10. Выберите Лист 1 книги Excel и установите для всех ячеек формат Числовой, число десятичных знаков – 0. Введите в ячейку A1 число 0, а в ячейку B1 – формулу =ФАКТОРИАЛ(A1).

При создании формулы можно воспользоваться Мастером функций, выбрав категорию Определенные пользователем.

11. Введите в ячейку A2 число 1, выделите диапазон A1:A2 и с помощью автозаполнения заполните ячейки до A21 включительно. Заполните соответствующие ячейки столбца B, также используя автозаполнение.

12. В ячейку C1 введите формулу =ФАКТР(A1). С помощью автозаполнения заполните другие ячейки столбца C (до С21 включительно).

13. Убедитесь в равенстве значений, полученных с помощью созданной функции ФАКТОРИАЛ() и стандартной функции ФАКТР().

 

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.