Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Макросы в виде блок-схемы

Автор:   •  Февраль 11, 2018  •  Контрольная работа  •  579 Слов (3 Страниц)  •  883 Просмотры

Страница 1 из 3

Санкт-Петербургский политехнический университет Петра Великого

Институт промышленного менеджмента, экономики и торговли

Отчет по контрольной работе
по дисциплине «Информационные системы и технологии»

Студентка гр. 137331/0003         Филиппова А.В.

Преподаватель                доцент, к.т.н. Щукин А.В.

Санкт-Петербург
2017


Постановка задачи

Необходимо написать макрос для расчета суммы премии водителям грузовых автомобилей, у которых количество штрафов за последние пять лет ниже среднего по предприятию. Для расчёта суммы премии необходимо пересчитать значения в столбце с количеством штрафов, заменив их на разность между средним значением по диапазону и текущим значением в ячейке, умноженную на 10000. Если разность отрицательна, в ячейку записывается 0. Макрос должен применяться к выделенному диапазону и выполняться по выбранной комбинации клавиш.

Разработанный алгоритм

Описание алгоритма макроса в виде блок-схемы или на псевдокоде. Желательны комментарии.

START

[pic 1]

[pic 2]

Ввод данных

[pic 3]

[pic 4]

Расчет среднего значения

[pic 5]

Присваивание счетчику[pic 6]

цикла начального значения

[pic 7]

[pic 8]

                    FALSE

Проверка условия             [pic 9][pic 10][pic 11][pic 12]

  TRUE

продолжения/        [pic 13]

окончания цикла[pic 14][pic 15]

FALSE[pic 16]

Проверка условия                 [pic 17]

  TRUE

по заданным         [pic 18]

параметрам[pic 19]

[pic 20]

Расчет искомого

значения по[pic 21][pic 22]

заданной формуле[pic 23]

Переход к след. шагу[pic 24][pic 25][pic 26]

END

Текст макроса

Sub Makros1()

Dim Rng As Range, r As Integer, k As Long

Dim SumKOL As Integer, AvKOL As Double, Delta As Double

' Сочетание клавиш: Ctrl+t

Set Rng = Selection 'выделенный диапазон

k = Rng.Cells.Rows.Count 'число строк в диапазоне

AvKOL = WorksheetFunction.Average(Rng)

'Rng.Cells(r, 2) – в диапазоне выделили одну колонку, соседняя с диапазоном колонка будет 1+1=2

For r = 1 To k

    Delta = AvKOL - Rng.Cells(r, 1)

...

Скачать:   txt (5.8 Kb)   pdf (496.4 Kb)   docx (75.8 Kb)  
Продолжить читать еще 2 страниц(ы) »
Доступно только на Essays.club