Азвание лабораторной работы.
ператор условного перехода.
Дляреализации ветвления применяется условный оператор
IF THEN
Условный оператор позволяет выбирать и выполнять действия в зависимости от истинности некоторого условия.
Имеется два варианта синтаксиса:
В первом случае однострочный оператор имеет вид:
IF <условие> Then[операторы 1][Else[операторы 2]]
Во втором случае оператор расположен на нескольких строках:
IF <условие> Then
[операторы]
[ElseIf <условие – n>Then
[операторы-n ]…
[Else]
[ИначеОператоры]]
End If
Здесь условие обязательно в обоих вариантах. Оно может быть числовым или строковым выражением со значениями TRUEили FALSE.
Операторы 1 и операторы 2 это последовательности из одного или нескольких операторов. По крайней мере одна из этих последовательностей должна быть непустой. Если условие истинно (TRUE), выполняется последовательность «операторы 1», если ложно, “операторы 2”.
Пример записи оператора:
‘Условный оператор в виде одной строки:
IF A>10 ThenA=A+1: B=B+A: C=C+B ELSE C=A*B: A=C+2
тот же условный оператор в виде блока:
IF A>10 Then
A=A+1 : B=B+A : C=C+B
ELSE
C=A*B: A=C+2
End If
рограммирование с использованием объектов EXCEL.
Рассмотрим разработку приложения с использованием объектов EXCEL. Будем использовать объекты:
· Worksheets() –для обозначения листа EXCEL
· RANGE() – для обозначения диапазона ячеек или одной ячейки
· Cells(i,j) - для обозначения ячейки (i – номер строки, j – номер столбца)
· свойство .Value для обращения к значению ячейки.
Т.е., если мы хотим записать в ячейку значение F программным способом, нужно написать в программе так:
Worksheets(1).Range(“A2”).Value = F,где в скобках указать имя или номер листа EXCEL и адрес ячейки.
Или Worksheets(1).Cells(2,1).Value = F
Примеры
Используется условный оператор и обмен данными с рабочим листом Excel
Написать программу для вычисления значения F в зависимости от значения X
X/2, если Х>=0
F=
(X+1)/2, если Х<0
Один из вариантов вида таблицы на листе Excel с указанием размещения исходных данных и результатов расчета.
После запуска Excel и открытия редактора VBA наберем текст программы в окне ввода кодов листа 1.
1. Вариант. Используем объектRange().
Sub Test_1 ()
X=Worksheets(1).Range(“A2”).Value
IF Х>= 0 Then
F=X/2
Worksheets(1).Range(“B2”).Value = F
Else
F=(X+1)/2
Worksheets(1).Range(“C2”).Value = F
End If
End Sub
2. Вариант. Вставим в проект модуль. Текст программы наберем в окне ввода кодов. Используем объектCells().
Sub Test_2 ()
X=Worksheets(1). Cells(2,1).Value
IF Х>0 Then
F=X/2
Worksheets(2). Cells(2,2).Value = F
Else
F=(X+1)/2
Worksheets(2). Cells(3,2).Value = F
End If
End Sub
ЗАДАНИЯ К САМОСТОСТЕЛЬНОМУ ВЫПОЛНЕНИЮ
Задание 1
Вариант по согласованию с преподавателем.
Представить решение с использованием двух вариантов, используя в одном объектRange в другом объект Cells.
Задание 2
Решить одну из задач по согласованию с преподавателем
1. Даны две точки А(x1, y1) и В(x2, y2). Составить алгоритм, определяющий, которая из точек находится ближе к началу координат.
2. Подсчитать количество отрицательных чисел среди чисел a, b, c.
3. Перераспределить значения переменных x и y так, чтобы в x оказалось большее из этих значений, а в y — меньшее.
4. Заданы размеры A, B прямоугольного отверстия и размеры X, Y, Z кирпича. Определить, пройдет ли кирпич через отверстие.
5. Составить программу, осуществляющую перевод величин из радианной меры в градусную или наоборот. Программа должна запрашивать, какой перевод нужно осуществить, и выполнять указанное действие.
Часть 2
2.1. ЦИКЛ С ПАРАМЕТРОМ (For…Next)
Цикл For.
Оператор цикла For позволяет повторять группу операторов заданное число раз. Синтаксис:
For счётчик_цикла =начало To конец [step шаг]
Тело цикла
Next [счётчик_цикла]
Здесь счётчик_цикла—это числовая переменная. В начале выполнения цикла она принимает значение, задаваемое числовым выражением начало.
Числовое выражение конец—- задает заключительное выражение счётчика цикла. Числовое выражение шаг не обязательно и по умолчанию=1.
Тело цикла— это последовательность операторов которая будет выполнена заданное число раз. Если шаг положителен, цикл завершится, когда впервые выполнится условие:
счетчик_цикла>конец
Если шаг цикла отрицателен, условие его завершения:
счетчик_цикла<конец
Это условие проверяется перед началом выполнения цикла, а затем—после каждого прибавления шага к счётчику цикла в операторе Next. Если оно выполнено, управление передается на оператор, следующий за Next, нет—выполняются операторы из тела цикла. Завершить цикл For…Next можно и с помощью оператора Exit For. Такие операторы могут быть расположены в тех местах тела цикла, где требуется из него выйти не дожидаясь выполнения условия завершения.
ПРИМЕР ИСПОЛЬЗОВАНИЯ ОПЕРАТОРА:
УСЛОВИЕ:
Вычислить значение функции:
Y=∑ Ln (X/2)n , где n=1,2,…,5
Текст программы для реализации рассматриваемого примера:
Заполнить диапазон ячеек А1:А5 значениями Х.
Текст программы:
Sub Test_3 ()
n=5
Y=0
For i=1 to n
X=Worksheets(1).Cells(i,1)
Y=Y+log(x)/2^i
Next i
Worksheets(1).Range (“A6”).Value = ”результат”
Worksheets(1).Range (“A7”).Value = Y
End Sub
ассивы.
a)Описание массивов
Dim <имя массива>(<начальное значение индекса> To <конечное значение индекса>) As <тип элементов массива>
Пример: Dim A(1 To 10) As Integer - массив состоит из 10 элементов, тип каждого элемента - Integer.
б)Обращение к элементу массива
Обращение к элементу массива осуществляется следующим образом: указывается имя массива, а затем в круглых скобках указывается номер элемента в массиве.
Пример:A(1)=5 - первому элементу массива А присваивается значение 5
А(17)=А(1) - 17-ому элементу массива А присваивается значение первого элемента массива А.
в)Ввод массивов
Массивы можно вводить как с листа Excel, так и используя встроенную функцию InputBox.
Пример: вводятся массивы А,В,С из 15 элементов:
For i=1 To 15
' Ввод массива A с листа Excel, используя свойство Range (элементы вводятся из столбца А, строки изменяютя с 1 по 15.
A(i)=Worksheets(1).Range("A" & i).Value
' Ввод массива B с листа Excel, используя свойство Cells (строки изменяются с 1 по 15, столбец 2 (столбец B)
B(i)=Worksheets(1).Cells(i,2)
' Ввод массива C через функциюInputBox
C(i)=InputBox("Введите " & i & "ый элемент массива")
Next i
г)Решение задачи из примера через массивы
1. Заполнить диапазон ячеек А1:А5 значениями элементов массива.
2. Текст программы:
Sub mm ()
Dim A(1 to 5) As Integer
N=5
Y=0
For i=1 to n
A(i)=Worksheets(1).Cells(i,1)
Next i
For i=1 To n
Y=Y+log(A(i))/2^i
Next i
Worksheets(1).Range (“A6”).Value = ”результат”
Worksheets(1).Range (“A7”).Value = Y
End Sub
Задание 3
ВЫПОЛНЕНИЕ. ОБРАБОТКИ ОДНОМЕРНЫХ МАССИВОВ
Вариант по согласованию с преподавателем
В программе для решения требуемой задачи:
1. Создать одномерный массив из 10 элементов, которые являются произвольными положительными и отрицательными числами. Формирование массива обеспечить, используя InputBox или считывая данные предварительно записав их на лист Excel.
2. Предусмотреть вывод сформированного массива на лист Excel.
3. Выполнить задание по согласованию с преподавателем, предусмотреть в программе вывод результатов на лист Excel или используя MsgBox.
1. Найти количество положительных чисел 2. Найти количество отрицательных чисел. |
3. Найти сумму положительных чисел 4. Найти сумму отрицательных чисел. |
5. Найти количество элементов массива больших или равных заданному значению. |
6. Найти произведение положительных элементов массива. |
7. Найти сумму элементов, стоящих на четных местах . |
8. Найти сумму элементов стоящих на нечетных местах. |
9. Заменить отрицательные элементы нулями. |
10. Обнулить элементы, имеющие четный индекс. |
11. Найти произведение, элементов стоящих на четных местах. |
12. Сформировать новый массив по правилу: с[i]=x*sqrt(a[i]), где х—некоторая постоянная. |
вумерные массивы
а) Описание массивов
Dim <имя массива>(<начальное значение индекса по строкам> To <конечное значение индекса по строкам >,
< начальное значение индекса по столбцам> To < конечное значение индекса по столбцам>) As <тип элементов массива>
Пр: Dim A(1 To 10, 1 to 5) As Integer - массив состоит из 50 элементов (10 строк и 5столбцов), тип каждого элемента - Integer.
б)Обращение к элементу массива
Обращение к элементу массива осуществляется следующим образом: указывается имя массива, а затем в круглых скобках через запятую указывается номер строки и номер столбца, где размещен элемент в массиве.
Пр:A(1,4)=15 - элементу, находящемуся в первой строке и четвертом столбце массива А присваивается значение 15
в)Ввод массивов
Массивы можно вводить как с листа Excel, так и используя встроенную функцию InputBox.
1) for i=1 to 10
for j=1 to 4
A(i,j)=InputBox("Введите A(" & i & "," & j & ")")
next j
next i
2) for i=1 to 10
for j=1 to 4
A(i,j)=Worksheets(1).Cells(i,j)
next j
next i
г) Изображение ввода двумерных массивов в блок-схемах
Задание 4
ВЫПОЛНЕНИЕ. ОБРАБОТКИ ДВУМЕРНЫХ МАССИВОВ
В программе для решения требуемой задачи:
1.Создать двумерный массив размерностью 4´4,состоящий из элементов, которые являются произвольными положительными и отрицательными числами. Его ввод обеспечить, используя InputBox или считывая данные предварительно записав их на лист Excel.
2. Предусмотреть вывод сформированного массива на лист Excel.
3. Задания для выполнения:
- Найти количество элементов массива больших или равных заданному значению.
- Найти количество отрицательных чисел среди элементов и массива.
- Найти максимальное значение, которое имеют элементы массива.
СОДЕРЖАНИЕ ОТЧЕТА:
азвание лабораторной работы.
ель работы
3. Задание – вариант задания по согласованию с преподавтелем (в отчете привести описание задание и описать алгоритм его выполнения).
лок-схема алгоритма