Студопедия Главная Случайная страница Обратная связь

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

Технология выполнения работы. 1. Разработать алгоритм для написания программы в виде блок-схемы




1. Разработать алгоритм для написания программы в виде блок-схемы.

2. Написать программу.

3. Протестировать ее с разными исходными данными.

 

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

1. Цель работы, условие задачи

2. Алгоритм в виде блок-схемы.

3. Исходный текст программы.

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

5. Фрагменты экрана с диалоговыми окнами Excel.

6. В программе значение одной из переменных должно быть записано в ячейке электронной таблицы.

7. Значение другой переменной задается в программе или вводится с помощью окна-диалога.

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

9. Результат работы программы должен иметь наглядный вид.

10. Для запуска макроса создать кнопку с соответствующей надписью.

Вопросы для защиты работы

1. Какие встроенные типы данных вы знаете?

2. Как описываются переменные?

3. Как объявляют константы?

4. Какие операции языка VBA вы знаете?

5. Какие операторы языка VBA вы знаете?

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

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

8. Как заменить Arcsin в VBA?

9. Укажите формулу, которая заменит Arcctg в VBA.

 


Лабораторная работа № 6
Visual Basic for Applications (VBA).
Условные алгоритмы

 

Время выполнения – 6 часов.

Цель работы

Научиться использовать язык программирования Visual Basic for Applications (VBA) для разработки модулей в Excel на основе условных алгоритмов.

 

Задачи лабораторной работы

После выполнения данной работы студент должен знать и уметь:

- знать все операторы, используемые в программах;

- уметь применять любые из изученных операторов для написания своих модулей;

- уметь объяснить написанную программу.

 

Перечень обеспечивающих средств

Для обеспечения выполнения работы необходимо иметь компьютер со следующим математическим обеспечением: операционная система Windows XP, электронные таблицы Excel с приложением в виде языка Visual Basic for Applications.

 

Общие теоретические сведения

VBA – это язык объектно-ориентированного программирования.

Основными парадигмами являются объект, свойство, метод, событие, класс и семейство объектов.

Объект – это инкапсуляция данных вместе с кодом, предназначенным для их обработки.

Семейство – объект, содержащий несколько других объектов того же типа.

Классы – это проект, на основе которого будет создан объект, т.е. класс определяет имя объекта, его свойства и действия, над ним выполняемые. А каждый объект, свою очередь, является экземпляром класса.

Методы – это действия, выполняемые над объектом.

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

События – это действия, распознаваемые объектом.

Пример 1.

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

Предусмотреть сбойную ситуацию (при y = 0) и в этом случае выдать сообщение об ошибке.

 

Запись программы в виде блок-схемы (рис. 1) и визуальное представление ввода данных и вывода результата (рис. 2):

Рисунок 1 – Блок-схема решения задачи

 

Программный код

Function z (x, y)

If y = 0 Then

z = "Ошибка! На ноль делить нельзя!"

ElseIf x > 0 And y > 1 Then

z = x + y

ElseIf x < = 1 And y <> 0 Then

z = x / y

End If

End Function

Рисунок 2 – Ввод исходных данных в процессе выполнения программы

 

Пример 2.

Написать программу вычисляющую значение Z

 

 

Программный код

Sub Условия()

Dim x, y, Z As Double

x = Range("A2").Value

y = Range("B2").Value

If x > 0.1 And y > 0.1 Then

Z = (x - y) ^ x

ElseIf x < 0.1 And y < 0.1 Then

Z = Sin(x)

ElseIf x = 0.1 And y = 0 Then

If y = 0 Then

MsgBox "Ошибка! Деление на ноль!"

Else: Z = (x * x) / y

End If

End If

Cells(2, 4).Value = Z

End Sub

 

Рассмотрим результат работы программы при разных значениях x и y (рис. 3, 4, 5).

Рисунок 3 – Результат вычисления функции y= sin(x) при x<0.1 и y<0.1

 

Рисунок 4 – Результат вычисления функции y= (x - y)x при x>0.1 и y>0.1

 

Рисунок 5 – Результат вычисления функции y=x2/y при x=0.1 и y=0

Варианты заданий

Задание 1. Составить блок-схему и написать программу вычисления функции пользователя

1.

 

2.

 

3.

 

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

14.

15.

 

Задание 2. Составить блок-схему и функцию пользователя согласно условию задачи.

1. Составить блок-схему и функцию пользователя для определения премии торговому агенту от суммы совершенной им сделки. Если объем сделки до 3000 рублей, то премия 1.5 %; если объем до 10000, то – 3 %; если выше 10000, то – 5 %. Предусмотреть проверку корректности данного «объем сделки».

2. Составить блок-схему и разработать функцию пользователя для вычисления годовой процентной ставки контракта по кредиту, взятого на определенный срок при известных сумме долга и сумме, подлежащей возврату. Используйте формулу:

,

где P – сумма кредита, S – сумма, подлежащая возврату, Т – срок кредита.

Предусмотреть проверку корректности данных.

Для проверки и отладки программы используйте следующие исходные данные: Т = 4 месяца, Р = 200 000, S = 210 000.

3. Составить блок-схему и разработать функцию пользователя для вычисления надбавки к стипендии по результатам сессии. Размер стипендии составляет 2 МРОТ (минимальный размер оплаты труда). Если три экзамена сданы на "5", то надбавка составляет 50 %, если есть одна "4" (при остальных "5"), то надбавка составит 25 %, если есть хотя бы одна "2", то стипендия не назначается, т. е. равна "0".

4. Составить блок-схему и разработать функцию пользователя для расчета суммы вклада с начисленным процентом в зависимости от вида вклада: до востребования – 2 %, праздничный – 5 %, срочный – 3 %.

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

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

.

где i – годовая процентная ставка, g - налог на прибыль, выраженный в процентах, h - годовой темп инфляции, вычисляемый по формуле:

h=(1+h1/12)12- 1, где h1/12 – месячный темп инфляции.

Предусмотреть проверку корректности данных.

Для проверки и отладки программы используйте следующие исходные данные: i =60 %, h1/12 =3 %, g =25 %.

6. Составить блок-схему и разработать функцию пользователя расчета надбавки к окладу в зависимости от стажа работы сотрудников предприятия. Если стаж работы меньше 5 лет, то надбавка составляет 0 %, если стаж от 5 до 10 лет, то надбавка – 5 %, если стаж больше 10 лет, то надбавка – 10 %.

7. Составить блок-схему и разработать функцию пользователя определения комиссионных менеджеру по продажам от объема проданного товара. Если объем продажи до 8 000 рублей, то комиссионные 6 %; если объем до 16 000 рублей, то – 8 %; если объем до 32 000 рублей, то – 10 %; если выше 32 000, то – 12 %. Для обозначения ограничений объема продажи используйте константы.

8. Составить блок-схему и разработать функцию пользователя для расчета премиальных, выплачиваемых рабочему, размер выплаты которых определяется в зависимости от оклада и процента перевыполнения нормы выработки:

- Ниже 100% - премия не назначается, т. е. равна нулю,

- 100% - премия 20% от оклада,

- 101-110% - премия 30% от оклада,

- Выше 110% - премия 40% от оклада.

9. Составить блок-схему и разработать функцию пользователя, определяющую площадь треугольника по его сторонам по следующей формуле:

,

где a, b, c – стороны треугольника, р – полупериметр:

.

Предусмотреть проверку корректности данных.

10. Составить блок-схему и разработать функцию пользователя возвращающую большее из трех значений с указанием имени переменной.

11. Составить блок-схему и разработать функцию пользователя возвращающую меньшее из трех значений с указанием имени переменной.

12. Составить блок-схему и разработать функцию пользователя, возвращающую сумму первой и третьей по величине значений.

13. Составить блок-схему и разработать функцию пользователя, вычисляющую стоимость потребляемой энергии компанией в зависимости от установленной расценки и количества потребляемой энергии:

- Первые 240 кВт/час: 1,62руб. за кВт/час,

- Следующие 300 кВт/час: 2,10руб. за кВт/час,

- Свыше 540 кВт/час: 2,76руб. за кВт/час.

Для обозначения тарифов в процедуре использовать константы.

14. Составить блок-схему и разработать функцию пользователя начисления премии сотрудникам малого предприятия в зависимости от стажа работы и объема продажи товаров. Если стаж работы меньше 2 лет и объем продажи больше 80 000руб., то премия составляет 1.5 %. Если стаж от 2 до 5 лет, а объем продажи больше 100 000 руб., то премия – 5 %, если стаж больше 5 лет, а объем продажи выше 100 000 руб., то премия – 7 %, в остальных случаях - премия – 1 % .

15. Составить блок-схему и разработать функцию пользователя начисления процента удержания у работников завода от начисленной заработной платы и количества иждивенцев по следующему правилу:

- при количестве иждивенцев более трех – 0 %;

- при трех иждивенцев – 5 %;

- при двух иждивенцев – 10 %;

- при одном иждивенце – 12 %;

- если нет иждивенцев – 14 %.

 







Дата добавления: 2014-11-10; просмотров: 1054. Нарушение авторских прав


Рекомендуемые страницы:


Studopedia.info - Студопедия - 2014-2020 год . (0.009 сек.) русская версия | украинская версия