Автор работы: Пользователь скрыл имя, 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
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ
СТАТИСТИКИ И ИНФОРМАТИКИ (МЭСИ)
Кафедра МОИСиИ
Самостоятельная работа
по дисциплине «Информатика и программирование»
на тему: «Использование VBA при работе в Microsoft Office »
Выполнил студент
группы
<ДНМ-301>
<Караваев Н.В.>
Преподаватель:
Профессор
Смирнов Александр Алексеевич
Москва, 2013
Оглавление
Оглавление 2
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
Конструкции, обеспечивающие ветвление:
Условный оператор IF
Для реализации разветвляющегося вычислительного процесса в VBA используется оператор If…Then…Else, который представляет собой простейшую форму проверки условий. Он имеет следующий синтаксис:
If УСЛОВИЕ Then ОПЕРАТОР_1 Else ОПЕРАТОР_2
ОПЕРАТОР_1 выполняется, если УСЛОВИЕ истинно, в противном случае выполняется ОПЕРАТОР_2. При этом оператор If…Then…Else записывается в одну строку.
УСЛОВИЕ – это выражение логического типа. Результат выражения всегда имеет булевский тип. Выражение может быть простым и сложным. При записи простых условий могут использоваться все возможные операции отношения, указанные в табл. 1.1.
Таблица 1.1. Логические отношения
Операция |
Название |
Выражение |
Результат |
= |
Равно |
A = В |
True, если А равно В |
<> |
Не равно |
A<>В |
True, если А не равно В |
> |
Больше |
А>B |
True, если А ,больше В |
< |
Меньше |
A<B |
True, если А меньше В |
>= |
Больше или равно |
A>=B |
True, если А больше или равно В |
<= |
Меньше или равно |
A<=B |
True, если А меньше или равно В |
Сложные условия образуются из простых путем применения логических операций и круглых скобок. Список логических операций приведен в табл. 1.2.
Таблица 1.2. Логические операции
|
Название |
Выражение |
А |
В |
Результат |
Not |
Логическое |
Not A |
False True |
True False | |
And |
Логическое И |
A And B |
True True False False |
True False True False |
True False False False |
Or |
Логическое ИЛИ |
A Or B |
True True False False |
True False True False |
True True True False |
В условном операторе допустимо использование блока операторов вместо любого из операторов. В этом случае условный оператор имеет вид:
If УСЛОВИЕ Then
БЛОК_ОПЕРАТОРОВ_1
Else
БЛОК_ОПЕРАТОРОВ_2
End If
В условном операторе может проверяться несколько условий. В этом случае условный оператор имеет вид:
If УСЛОВИЕ_1 Then
БЛОК_ОПЕРАТОРОВ_1
ElseIf УСЛОВИЕ_2 Then
БЛОК_ОПЕРАТОРОВ_2
Else
….
End If
Оператор выбора Select Case
Оператор Select Case удобно использовать, когда в зависимости от значения некоторого выражения, имеющего конечное множество допустимых значений, необходимо выполнить разные действия. Он также относится к условным операторам, но имеет другой вид:
Select Case ПРОВЕРЯЕМОЕ_ВЫРАЖЕНИЕ
Case ЗНАЧЕНИЯ_1
ОПЕРАТОРЫ_1
Case ЗНАЧЕНИЯ_2
ОПЕРАТОРЫ_2
. . .
Case ЗНАЧЕНИЯ_N
ОПЕРАТОРЫ_N
[Case Else
ИНАЧЕ_ОПЕРАТОРЫ]
End Select
ПРОВЕРЯЕМОЕ_ВЫРАЖЕНИЕ может иметь любой скалярный тип, кроме вещественного. ЗНАЧЕНИЯ состоят из произвольного количества значений или диапазонов, отделенных друг от друга запятыми.
Тип ЗНАЧЕНИЙ должен совпадать с типом ПРОВЕРЯЕМОГО_ВЫРАЖЕНИЯ.
Сначала вычисляется ПРОВЕРЯЕМОЕ_
Первая часть предусматривает создание в прикладном программном продукте Word макроса, обеспечивающего определение знака зодиака. Программный код, должен обеспечить выполнение следующих действий:
Во-первых, ввод дня и месяца рождения.
Во-вторых, анализ введенной информации и выдачу на экран названия знака зодиака, соответствующего дате рождения.
Примечание. С 22.12 по 20.01 козерог; с 21.01 по 19.02 водолей;
с 20.02 по 20.03 рыбы; с 21.03 по 20.04 овен; с 21.04 по 21.05 телец;
с 22.05 по 21.06 близнецы; с 22.06 по 22.07 рак; с 23.07 по 23.08 лев;
с 24.08 по 23.09 дева; с 24.09 по 23.10 весы;
с 24.10 по 22.11 скорпион; с 23.11 по 21.12 стрелец.
Option Explicit
Sub Zodiac()
'определение знака зодиака по дате рождения
Dim bornDate As Date, s As String
bornDate = InputBox("Укажите дату рождения (день и месяц) в формате XX.XX.XXXX")
MsgBox Zod(bornDate) 'вызов ф-ции Zod от введенной даты и вывод ее результата
End Sub
Function Zod(x As Date)
Dim b1 As Byte, b2 As Byte
b1 = Month(x): b2 = Day(x) 'введенная дата разбивается на 2 переменые: месяц (b1) и день (b2)
Select Case b1 'в случае, если месяц равен...
Case 1: If b2 <= 20 Then Zod = "Козерог" Else Zod = "Водолей" '1 и день меньше или равен 20, то присвоить ф-ции значение "козерог", иначе - "водолей"
Case 2: If b2 <= 19 Then Zod = "Водолей" Else Zod = "Рыбы" '2 и день меньше...
Case 3: If b2 <= 20 Then Zod = "Рыбы" Else Zod = "Овен"
Case 4: If b2 <= 20 Then Zod = "Овен" Else Zod = "Телец"
Case 5: If b2 <= 20 Then Zod = "Телец" Else Zod = "Близнецы"
Case 6: If b2 <= 21 Then Zod = "Близнецы" Else Zod = "Рак"
Case 7: If b2 <= 22 Then Zod = "Рак" Else Zod = "Лев"
Case 8: If b2 <= 23 Then Zod = "Лев" Else Zod = "Дева"
Case 9: If b2 <= 23 Then Zod = "Дева" Else Zod = "Весы"
Case 10: If b2 <= 23 Then Zod = "Весы" Else Zod = "Скорпион"
Case 11: If b2 <= 22 Then Zod = "Скорпион" Else Zod = "Стрелец"
Case 12: If b2 <= 21 Then Zod = "Стрелец" Else Zod = "Козерог"
End Select
End Function
Найти корни квадратного уравнения.
Option Explicit
Sub SquareEquation()
'определение корней квадратного ур-я
Dim a As Double, b As Double, c As Double, s As String
s = InputBox("Укажите коэффициент при x^2", "Ввод чисел")
If (s = "") Then
a = 0
Else
a = s
End If
s = InputBox("Укажите коэффициент при x", "Ввод чисел")
If (s = "") Then
b = 0
Else
b = s
End If
s = InputBox("Укажите свободный коэффициент", "Ввод чисел")
If (s = "") Then
c = 0
Else
c = s
End If
MsgBox SqEq(a, b, c) 'вызов ф-ции и вывод ее результата
End Sub
Function SqEq(a As Double, b As Double, c As Double)
Dim d As Double, x1 As Double, x2 As Double
If (a <> 0) Then
d = b ^ 2 - 4 * a * c
If d >= 0 Then
x1 = (-b + d ^ (1 / 2)) / (2 * a)
x2 = (-b - d ^ (1 / 2)) / (2 * a)
SqEq = "x1=" + Str(x1) + "; x2=" + Str(x2) + "."
Else
x1 = (-b) / (2 * a)
x2 = Abs(d) ^ (1 / 2) / (2 * a)
SqEq = "x1=" + Str(x1) + "+" + Str(x2) + "i" + "; x2=" + Str(x1) + "-" + Str(x2) + "i" + "."
End If
Else
SqEq = "Введенное ур-е не является квадратным"
End If
End Function
Создание в прикладном программном продукте Excel макроса, обеспечивающего обработку информации, расположенной в таблице Excel. В таблице Excel, в первой строке, заданы положительные целые числа. Информация занесена, начиная с первого столбца. Количество заполненных столбцов не задается. Программный код, должен обеспечить определение местоположения (номера столбца) максимального элемента.
Создание в прикладном программном продукте Excel макроса, обеспечивающего обработку информации, расположенной в таблице Excel. В таблице Excel, в первой строке, заданы положительные целые числа. Информация занесена, начиная с первого столбца. Количество заполненных столбцов не задается. Программный код, должен обеспечить определение местоположения (номера столбца) максимального элемента.
Sub FindMaxValue()
Dim oRg As Range, iMax As Variant
'Выбираем первую строку в качестве диапазона поиска
Set oRg = Rows("1")
'Находим максимальное значение
iMax = Application.Max(oRg)
'Выбираем в диапазоне ячейку, содержащую максимальное значение
oRg.Find(What:=iMax, _
After:=oRg.Range("A1"), _
LookIn:=xlValues, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False _
).Select
'Изменяем формат выбранной ячейки (цвет)
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent3
.TintAndShade = 0
.PatternTintAndShade = 0
End With
'Выводим сообщение с данными по найденной ячейке
With Selection
MsgBox "Max value : " & iMax & vbCrLf & _
"Cell position " & vbCrLf & _
"Row : " & .Row & vbCrLf & _
Информация о работе Использование VBA при работе в Microsoft Office