Материал: Ивличева Н.А. Информиционные системы... Практикум Ч. 1

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

 

 

 

6

 

 

Абонент

 

Тип

 

Продолжительность в секундах

 

Скидка

 

 

 

 

вызова

 

(для СМС – шт.)

 

 

 

 

 

 

мама

 

4

 

273

 

 

начальник

 

1

 

76

 

 

клиент 2

 

5

 

108

 

 

подруга

 

1

 

165

 

 

муж

 

1

 

43

 

50%

коллега 2

 

8

 

1

 

 

подруга

 

1

 

133

 

 

мама

 

4

 

171

 

 

родственник

 

3

 

140

 

 

коллега 1

 

5

 

45

 

 

клиент 1

 

6

 

230

 

 

муж

 

1

 

162

 

50%

подруга

 

8

 

2

 

 

подруга

 

1

 

52

 

 

клиент 2

 

5

 

192

 

 

начальник

 

1

 

80

 

 

начальник

 

5

 

34

 

 

коллега 1

 

4

 

107

 

 

муж

 

1

 

20

 

50%

мама

 

4

 

308

 

 

начальник

 

3

 

36

 

 

коллега 1

 

4

 

76

 

 

муж

 

1

 

122

 

50%

муж

 

1

 

23

 

50%

мама

 

5

 

67

 

 

клиент 1

 

2

 

340

 

 

подруга

 

4

 

765

 

 

коллега 2

 

1

 

210

 

 

муж

 

8

 

2

 

 

муж

 

1

 

21

 

50%

мама

 

4

 

50

 

 

коллега 1

 

5

 

62

 

 

коллега 1

 

4

 

312

 

 

клиент 2

 

5

 

212

 

 

клиент 2

 

1

 

101

 

 

подруга

 

4

 

186

 

 

муж

 

1

 

43

 

50%

муж

 

1

 

21

 

50%

начальник

 

1

 

35

 

 

муж

 

1

 

19

 

50%

клиент 1

 

2

 

120

 

 

муж

 

1

 

72

 

50%

мама

 

4

 

21

 

 

сестра

 

4

 

312

 

 

коллега 2

 

8

 

3

 

 

Тарифные планы

ПервыйВторойНовыйЛюбимыйЛучшийСамыйГлавный

 

 

 

7

 

 

Абонент

 

Тип

 

Продолжительность в секундах

 

Скидка

 

 

 

 

вызова

 

(для СМС – шт.)

 

 

 

 

 

 

сервис

 

5

 

206

 

 

сестра

 

5

 

54

 

 

мама

 

5

 

130

 

 

мама

 

4

 

23

 

 

сервис

 

5

 

108

 

 

сервис

 

5

 

62

 

 

родственник

 

3

 

186

 

 

родственник

 

7

 

388

 

 

мама

 

4

 

73

 

 

муж

 

1

 

98

 

50%

подруга

 

4

 

233

 

 

подруга

 

5

 

31

 

 

подруга

 

4

 

412

 

 

родственник

 

7

 

205

 

 

мама

 

5

 

21

 

 

мама

 

4

 

98

 

 

сестра

 

4

 

509

 

 

сервис

 

5

 

98

 

 

сервис

 

5

 

102

 

 

муж

 

1

 

100

 

50%

Тарифные планы

ПервыйВторойНовыйЛюбимыйЛучшийСамыйГлавный

Введите данные таблиц 1.1 и 1.2 на Лист 1 Excel. Обратите внимание на

работу средства автозавершения при вводе текстовых данных в столбец. Установите форматирование ячеек согласно образцу.

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

Помимо использования стандартных функций, Excel предоставляет пользователю возможность создания собственных (пользовательских) функций. Для расчета тарифных планов создадим функции пользователя. Начнем с функции обработки первого тарифного плана.

1. Для комфортной работы с макросами (к которым относятся и функции пользователя) выполните команду меню Сервис – Макрос – Безопасность и

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

Замечание. В дальнейшем, если неправильно написанные макросы создают проблемы в работе системы, документ следует открыть в режиме отключения макросов и устранить ошибки в коде пользователя.

2.Выполните команду меню Сервис – Макрос – Редактор Visual Basic.

3.В открывшемся окне редактора выделите строку Эта книга в обозре-

вателе проекта (если окно обозревателя отсутствует, откройте его, выполнив

команду меню View – Project Explorer) и выполните команду Insert – Module.

8

4. По этой команде будет создан новый модуль и откроется окно кода модуля. В окне кода введите заголовок функции Function First_plan () и команду закрытия функции End Function.

5.Закройте окно редактора Visual Basic и установите курсор в любую свободную ячейку Листа 1. Выполните команду меню Вставка – Функция и в категории Определенные пользователем найдите созданную функцию.

6.Отмените вставку функции, поскольку содержание функции First_plan еще не определено.

7.Выполните команду меню Сервис – Макрос – Редактор Visual Basic,

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

Описание функции First_plan

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

рые запишем в скобках после названия функции. Заголовок примет вид:

Function First_plan(type_c, counting, sales)

Теперь составим код самой функции. В коде функции следует указать, как будет рассчитываться значение переменной First_plan в различных случаях.

Так как стоимость вызова, а значит, и значение функции зависит от типа вызова, то формулы для расчета будут меняться в зависимости от значения переменной type_c. Для организации подсчета по нескольким формулам воспользуемся оператором выбора Select Case. Переменной выбора в этом случае будет переменная type_c.

9

Рассмотрим случаи, когда стоимость минуты разговора составит 2,6 рубля

(вызовы типов 1, 2, 3, 4, 5, 6). Введем соответствующую строчку

Case 1,2,3,4,5,6

Стоимость звонка зависит от его продолжительности (переменная counting), для ее расчета надо продолжительность звонка умножить на 2,6 и поделить

на 60 (поскольку продолжительность указана в секундах). В виде формулы это записывается следующим образом:

Теперь учтем возможную скидку, уменьшив на ее размер рассчитанную сумму:

Учтем, что на первом тарифе стоимость вызова увеличивается на 0,5 рубля:

Рассмотрим теперь случай междугородных вызовов (тип вызова 7), учитывая, что стоимость минуты разговора составит в этом случае 4,5 рубля, получим следующий фрагмент кода:

Теперь рассчитаем стоимость отправленных СМС (тип вызова 8). Для этого достаточно умножить цену СМС (1,5 рубля) на их количество (counting).

10

Поскольку это последний случай тарификации, то закроем оператор Case, добавив строку End Select. Полный текст функции First_plan выглядит

следующим образом:

Введите текст функции First_plan в окно редактора кода. Закройте

окно редактора.

Вставка функции в документ

1.Поместите курсор на Лист 1 напротив первого вызова в столбец пер-

вого тарифного плана.

2.Выполните команду Вставка – Функция и в категории Определенные пользователем выберите функцию First_plan.

В поле Type_c введите ссылку на ячейку таблицы 1.2, содержащую тип вызова, в поле Counting – ссылку на ячейку с продолжительностью вызова, в ячейку Sales – ссылку на ячейку со скидкой. Получим стоимость первого вызова:

2,103333.

3.Округлите полученное значение до двух знаков после запятой. Для этого используйте математическую функцию ОКРУГЛВВЕРХ(). Отредактируйте в

строке формул содержимое ячейки, чтобы оно приняло вид

=ОКРУГЛВВЕРХ(First_plan(ссылка;ссылка;ссылка);2)

4.Присвойте ячейке денежный формат.

5.Скопируйте формулу протягиванием (автозаполнением) по ячейкам столбца.

Источник: https://studfile.net/preview/16409033/