Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка VBA.doc
Скачиваний:
23
Добавлен:
27.03.2016
Размер:
3.2 Mб
Скачать

Лабораторная работа №2 условные конструкции

Требования к выполнению лабораторной работы

Содержание работы:

  1. Условие задачи

  2. Блок-схему и программу алгоритма

  3. Фрагменты экрана с ЭТ и окнами диалога

  4. В программе предусмотреть сбойные ситуации (деление на ноль, извлечение квадратного корня из отрицательного числа и т.д.).

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

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

x + y , если x > 0 и y > 1

z =

x / y, , если x < = 1 и y < > 0

Блок – схема алгоритма

Программа

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 Написать программу вычисляющую значение Z

( x - y) x, если x>0.1 и y> 0.1;

Z = sin(x) , если x<0.1 и y<0.1;

x2 / y, если x=0.1 и y=0;

Программа

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<0.1 и y<0.1 (Идет вычисление sin(x))

Результат работы программы при x>0.1 и y>0.1 (Идет вычисление ( x - y) x)

Результат работы программы при x=0.1 и y=0

Варианты индивидуальных заданий.

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

(x - y) x, если x>0.1 и y> 0.1;

Z = sin(x) , если x<0.1 и y<0.1;

x2 / y, если x=0.1 и y=0;

Вариант2. Составить блок-схему и написать программу вычисления функции пользователя Y :

|-x+1| 3, если x<=0.3;

Y = sin3(x) - cos2(x-3) , если x [0.3, 0.9];

х4 / 2е х , если x>=0.9;

Вариант3. Составить блок-схему и написать программу вычисления функции пользователя T:

|v| -2, если v<=0;

Т = 1/sin(3v) , если v[0, 1];

3v3 +e2v+1, если v>=1.

Вариант4. Составить блок-схему и написать программу вычисления функции пользователя g :

|x+1|+e3x , если x<= -1;

g = -2x /sin(x+3), если x [-1,1];

x3 +2|cos(3x)|, если x>=1.

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

Вариант6. Составить блок-схему и программу вычисления функции пользователя Q:

Вариант7.Составить блок-схему и написать программу вычисления функции пользователяg:

z3 +cos(2z), если z<= 1;

g = 1 /z, если z [-1,2];

- e5z, если z>=2.

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

Вариант9. Составить блок-схему инаписать программу вычисления функции пользователя W:

eb +7b3, если b<=4;

W = 1.8 / sin3(b2), если 4< b<6;

|6 - (b-2) 3|, если b>=6;

Вариант10. Составить блок-схему инаписать программу вычисления функции пользователя S :

Вариант11. Составить блок-схему инаписать программу вычисления функции пользователя F:

|-x| -3sin(x3), если x<1.3;

F = 1.3x / (sin(x+1)+cos2(x)), если x=1.3;

(x-1.1) / e-2x+1, если x>1.3;

Вариант12.Составить блок-схему инаписать программу вычисления функции пользователя S:

| cos2(2b) –3b3|, если b<=-2;

S = 8/sin(3-b2), если -2< b<2;

(b+2) 4 +6b, если b>=2;

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

|x-2| -5x3, если x<1.4;

W = 1.3sin(3x), если x=1.4;

cos2(x)+e-2x+1, если x>1.4;

Вариант14. Составить блок-схему и написать программу вычисления функции пользователя Z :

x+ye x, если x<0 и y< 0;

Z = cos(y), если x>=0.1 и y>=0.1;

y3 - x, в остальных случаях.

Вариант15.Составить блок-схему и написать программу вычисления функции пользователяS:

z2 +cos(2z), если z<= 0.8;

S = -2z |sin(z)|, если z [0.8,2];

/e4-z, eсли z>=2.

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

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

I=,

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

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

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

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

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

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

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

Y=,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • первые 240 квт/час: 1,62руб. за квт/час,

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

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

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

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

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

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

  • при трех иждивенцев – 5%,

  • при двух иждивенцев – 10 %,

  • при одном иждивенце – 12 %,

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