Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Создание функций пользователя с разветвляющимся алгоритмом



Индивидуальные задания

Требования к выполнению ИЗ

ИЗ должно содержать:

1. Титульный лист

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

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

4. Программу

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

6. Результаты экрана с ЭТ для созданной функции с проверкой всех условий.

Пример1. Составить функцию пользователя:

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

Z = x +sin(x) cos(x), если xÎ [0.3, 0.9];

x3 +1, если x>=0.9;

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

¨ Выберите команду Сервис/Макрос/Редактор Visual Basic. Откроется окно редактора Visual Basic.

¨ Выберите команду Вставка /Модуль.

¨ Выберите команду Вставка /Процедура.

¨ В открывшемся диалоговом окне Вставка процедуры, установить переключатель - Функция, в поле Имя ввести имя функции, например Z. Щелкните на ОК.

¨ В появившемся окне модуля появится заготовка функции (заголовок и окончание), между которыми нужно поместить код тела функции:

Public Function z()

End Function

¨ Внутри скобок заголовка функции введите параметр “ х ”:

Public Function z(х)

¨ Под заголовком функции введите код тела функции:

Пользовательская функция с использованием блочной структуры оператора If:

Function z(x)

If x <=0.3 Then

z = Abs(x + 1)

ElseIf x > 0.3 And x < 0.9 Then

z = x + sin(x) * cos(x)

Else

z = x^3 + 1

End If

End Function

Другой вариант пользовательской функции с использованием трех операторов If:

Function zz(x)

If x < = 0.3 Then zz = Abs(x + 1)

If x > 0.3 And x < 0.9 Then zz = x + sin(x) * cos(x)

If x > = 0.9 Then zz = x^3 + 1

End Function

Блок-схема.

           
 
   
Да
     
Z= |x+1|
 
 


 
 


Теперь необходимо проверить работу функции на примере, вызывая ее с помощью мастера функций Excel:

· Введите значения «х» в ячейки А2:А6 рабочего листа ЭТ.

· Выделите ячейку В2, в которой получим значение функции.

· Выберите команду Вставка/Функция.

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

· Во втором окне Мастера функций в поле Х введите ссылку на ячейку А2 и нажмите кнопку ОК.

· Вы должны получить следующие результаты:

x z
0.1 1.1
0.5 0.920735
0.7 1.192725
0.9 1.729
0.2 1.2

Проверьте работу двух вариантов пользовательской функции.

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

Для этого необходимо повторить действия из предыдущего задания, начиная с команды Вставка /Процедура.

Пользовательская функция будет иметь следующий вид:

Public Function Пересчет(Рубли, Курс)

'Проверка корректности данных

'Функция IsNumeric проверяет, являются ли ее аргументы числами

If (IsNumeric(Рубли) And IsNumeric(Курс)) = False Then

MsgBox "Ошибка в исходных данных", vbInformation, "Пересчет рублей"

Пересчет = 0

'Выход из процедуры в случае ошибки данных

Exit Function

'Проверка, Курс = 0 или Курс < 0

ElseIf Курс = 0 Or Курс < 0 Then

MsgBox "Неверно введен курс"

Exit Function 'Выход из процедуры в случае ошибки данных

Else

Пересчет = Рубли / Курс

End If

End Function

Проверьте работу этой функции для корректных и некорректных данных.

ВАРИАНТЫ ИНДИВИДУАЛЬНЫХ ЗАДАНИЙ.

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

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

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

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

Вариант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;

Т = sin(3v) - cos(v2), если 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.5z /sin(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. Составить блок-схему и разработать функцию пользователя для определения рейтинга студента по заданному среднему балу: если бал больше или равен 4,5, то рейтинг - высокий, если больше или равен 3,8 – средний, если больше или равен 3 – низкий и в остальных случаях – неудовлетворительный.

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

Х22 если x+у>0;

F = (x+у)2, если x+у<0;

0, если x+у=0;

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

С =

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

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

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

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

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

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

- если стаж работы меньше 2 лет и объем продажи больше 80000 руб., то премия составляет 1.5%.

- если стаж от 2 до 5 лет, а объем продажи больше 100 000руб., то премия - 5%,

если стаж больше 5 лет, а объем продажи выше 100 000руб., то премия - 7%,

-в остальных случаях - премия - 1%.

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

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

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

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

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

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

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

· если бал больше или равен 4,5, то рейтинг –«высокий»,

· если бал больше или равен 3,8 – «средний»,

· если бал больше или равен 3 – «низкий»

· в остальных случаях – «неудовлетворительный».

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

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

· если температура выше 30 градусов, характер- “ жарк о”,

· если выше 20 - “ умеренно ”,

· если выше 10 – “ прохладно ”,

· иначе – “ холодно ”.

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





Дата публикования: 2015-07-22; Прочитано: 635 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.018 с)...