Автор работы: Пользователь скрыл имя, 04 Февраля 2014 в 14:57, контрольная работа
Сначала вычисляется ПРОВЕРЯЕМОЕ_ВЫРАЖЕНИЕ. Если его значение совпадает с одним из значений ЗНАЧЕНИЯ_I, то выполнятся ОПЕРАТОРЫ_I и управление передается оператору, стоящему после End Select. Если его значение не совпадает ни с одним из значений ЗНАЧЕНИЯ_I, то выполнятся ИНАЧЕ_ОПЕРАТОРЫ и управление передается оператору, стоящему после End Select
1. Организация программирования в Word с использованием встроенного языка VBA. 3
1.1. Описание конструкций языка VBA, обеспечивающих ветвление 3
1.2. Условие задачи на разветвление алгоритма 5
1.3. Распечатка программного кода 5
1.4. Распечатка результатов выполнения 6
2. Постановка задачи на обработку информации с использованием разветвления алгоритма 7
2.1. Описание условия задачи 7
2.2. Распечатка программного кода 7
2.3. Распечатка результатов выполнения 8
3. Программная обработка информации в таблице Excel 9
3.1. Описание организации информации в таблице Excel 9
3.2. Условие задачи на организацию обработки информации, представленной в виде таблицы Excel 9
3.3. Распечатка программного кода 9
3.4. Распечатка результатов выполнения 10
4. Постановка задачи на обработку информации в таблице Excel с использованием встроенного языка VBA 11
4.1 Описание условия задачи 11
4.2 Распечатка программного кода 11
4.3 Распечатка результатов выполнения 12
5. Литература и Internet-ресурсы 14
"Column : " & .Column
End With
End Sub
Пусть есть станок возраста t лет. Пусть оборудование можно менять раз в год (в самом конце года). Пусть r(t) – стоимость продукции, l(t) – затраты на оборудование (сервис), s(t) – остаточная стоимость оборудования, p – стоимость нового оборудования.
Необходимо спланировать оптимальный график замены оборудования на N+1 лет (т.е. так, чтобы за N+1 лет получить максимальную прибыль).
Option Explicit
Sub ChangingEquipmentIssue()
Dim oRg As Range, p As Double, s As Double, n As Double, str As String, i As Integer, j As Integer
‘Обеспечиваем ввод параметров с клавиатуры
str = InputBox("Введите число лет", "Ввод чисел")
If (str = "") Then
n = 0
Else
n = str
End If
str = InputBox("Укажите остаточную стоимость", "Ввод чисел")
If (str = "") Then
s = 0
Else
s = str
End If
str = InputBox("Укажите стоимость нового оборудования", "Ввод чисел")
If (str = "") Then
p = 0
Else
p = str
End If
‘Создаем двойной цикл, заполняющий ячейки
For i = 1 To n
For j = 1 To n + 1
‘При заполнении первой строки используем функцию ChEqIsFirst
If (i = 1) Then
Cells(1, j) = ChEqIsFirst(p, s, j - 1)
‘При заполнении последующих строк - ChEqIsNext
Else
Cells(i, j) = ChEqIsNext(p, s, j - 1, i)
End If
Next j
Next i
End Sub
Function ChEqIsFirst(p As Double, s As Double, t As Integer)
Dim fi As Double
If (10 - t > 0) Then fi = 10 - t Else fi = 0
'ChEqIsFirst = max(fi, fi + s - p)
If (fi > fi + s - p) Then ChEqIsFirst = fi Else ChEqIsFirst = fi + s - p
End Function
Function ChEqIsNext(p As Double, s As Double, t As Integer, i As Integer)
Dim fi As Double
If (10 - t > 0) Then fi = 10 - t Else fi = 0
'Если лучше без замены - вывести число, иначе - вывести число, выделить и закрасить ячейку
If (fi + Cells(i - 1, t + 2) > 10 - p + s + Cells(i - 1, 2)) Then
ChEqIsNext = fi + Cells(i - 1, t + 2)
Else
ChEqIsNext = 10 - p + s + Cells(i - 1, 2)
Cells(i, t + 1).Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent3
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End If
End Function
Пусть в нашей задаче fi = r(t) - l(t) = max(10-t, 0); s(t), p – константы, задаваемые пользователем вместе с числом лет N.
Программой был сгенерирован график. В интересующей нас последней строке замена оборудования происходит после 4 лет эксплуатации (незакрашенные ячейки – эксплуатация без замены). Следовательно, для оптимальной работы потребуется 4 замены за 13 лет, т.к. рекомендуется замена с периодичностью 4 года.
Использованные для вычисления таблицы формулы:
Первая строка:
Последующие:
В них если максимум – первая строка, то выгоднее эксплуатация без замены, иначе – с заменой.
1. Информатика: Учебник./Под ред. Н.В. Макаровой, Финансы и статистика, 2005
2. Основные операторы языка
VBA http://dpivi.ru/104-3-
3. Технология обработки информации
в электронных таблицах http://www.maksakov-sa.ru/
Информация о работе Использование VBA при работе в Microsoft Office