Dim k1 As Integer, k2 As Integer
k1 = 0: k2 = 0
For i = 7 To Ndata
x = Worksheets(" Лист1 ").Cells(i, 4)
‘расчет количества дней с положительной температурой k1 и отрицательной температурой k2
If x > 0 Then k1 = k1 + 1 Else k2 = k2 + 1
Next
Worksheets(" Лист1 ").Cells(Ndata + 5, 4) = _ «Кол.дней с плюсовой темп."
Worksheets(" Лист1 ").Cells(Ndata + 5, 7) = k1
Worksheets(" Лист1 ").Cells(Ndata + 6, 4) = _
" Кол.дней с минусовой темп."
Worksheets(" Лист1 ").Cells(Ndata + 6, 7) = k2
End Sub
Содержание заданий
1. Разработать программу по условиям, приведенным в табл. 7.1.
2. Создать кнопку «Сумма» и написать программу, вычисляющую сумму элементов массива из табл. 7.1.
3. Для командной кнопки «Произведение» создать и выполнить программу, вычисляющую произведение элементов массива.
4. Для командной кнопки «Максимум» создать и выполнить программу, вычисляющую максимальный элемент массива.
Таблица 7.1
№ | Формула для вычислений | Исходные данные |
5. Выполнить приведенный выше пример программы расчета температуры воздуха.
6. Разработать и оформить на рабочем листе программу по условиям задач, данным ниже. Проверить полученный результат с помощью формул Excel.
· Известен возраст 10 человек. Определить сколько из них могут рассматриваться в качестве претендентов при приеме на работу в фирму, если по условиям приема возраст претендента не должен превышать 40 лет.
· Известна информация о багаже (количество вещей и общий вес багажа) 10 пассажиров. Найти число пассажиров, имеющих более двух вещей.
· Известны места занятые футбольной командой в течении последних 10 лет. Определить сколько раз эта команда была призером чемпионата (призерами считаются команды, занявшие первые три места).
ФОРМЫ ПОЛЬЗОВАТЕЛЯ
Управление электронными документами в Excel может производиться с помощью вспомогательных окон, которые называются пользовательскими формами UserForms.
Свойства и методы элементов управления. Списки
Для того чтобы в проект документа включить диалоговую пользовательскую форму необходимо в окне редакторе VBA (открывается командой Сервис/Макрос/Редактор Visual Basic) выполнить команду Вставка/UserForm (Insert/UserForm). После этого в проект документа добавится объект UserForm1, а на экране появится заготовка для формы пользователя с именем UserForm1 и панель элементовToolbox, почти совпадающая с панелью инструментов Элементы управления.
На форме пользователя так же, как и на рабочем листе, можно создавать кнопки (CommandButton), текстовые поля (TextBox), надписи (Label), комбинированные (раскрывающиеся) списки (ComboBox) и другие объекты.
Свойства объектов можно задавать не только в окне свойств, но и программным путем. Например, можно создать форму UserForm1 и на рабочем листе расположить кнопку со следующей программой:
Private Sub CommandButton1_Click()
UserForm1.BackColor = RGB(255, 0, 0)
UserForm1.Show
End Sub
При выполнении этой программы появляется форма, окрашенная в красный цвет. Здесь BackColor–цвет фона, его значение задается функцией RGB. В этой функции определяются цвета цифрами от 0 до 255: оттенки красного на первом месте (red), оттенки зеленого (green) – на втором, оттенки синего (blue) – на третьем.
Для появления на экране пользовательской формы UserForm1в программном коде используется метод Show (UserForm1.Show):
Чтобы убрать форму можно использовать метод Hide.
VBA предоставляет возможность использования элементов управления, служащих для хранения и обработки одномерных массивов. Это простые списки ListBoxикомбинированные (раскрывающиеся) списки ComboBox. Комбинированные списки, в отличие от простых, содержат, кроме собственно списка, еще и текстовое поле, через которое можно записывать и вводить данные в список, добавляя последовательно к существующим новые элементы массива.
Основные свойства списков: List(i) – i-й элемент в списке; ListIndex – номер выбранного элемента в списке; ListCount – количество элементов в списке; RowSource – источник заполнения списка ComboBox или ListBox.
Основные методы обработки списков: AddItem – добавить элемент в список; Clear – удалить весь массив из списка.
Пример работы с формой пользователя
Пример. Пусть имеется список группы, в котором содержатся сведения об оценках, полученных студентами во время сессии (рис. 8.1).
Рис. 8.1 – Рабочий лист Excel со списком группы
Требуется посчитать средний балл для конкретного студента, выбранного из списка.
На рабочем листе с помощью панели Элементы управления создана кнопка с надписью «Средний балл».
Для выбора фамилии студента разработана форма, представленная на рис. 8.2. На этой форме с именем UserForm1создан комбинированный список ComboBox1с надписью «Раскройте список, выберите фамилию, нажмите кнопку» в элементе управления Label1. Командная кнопка с заголовком «Расчет среднего балла» запускает программу расчета. В поле TextBox1 выводится полученный результат, перед этим полем в метке Label2 сделана надпись «Средний балл».
Рис. 8.2 – Пользовательская форма
Для кнопки «Средний балл», которая находится на рабочем листе Лист1, процедура может иметь следующий вид:
Sub CommandButton1_Click()
I=4
Do Until Worksheets(“Лист1”).Cells(I,1)=””
I=I+1
Loop
J=I-1
UserForm1.ComboBox1.RowSource = "Лист1!b4:b” & J
UserForm1.Show
End Sub
Здесь ””означает пустую ячейку. В переменной J определяется номер последней заполненной строки в таблице. Затем с помощью метода RowSourceзаполняется комбинированный список ComboBox1информацией из ячеек b4:bJ.С помощью метода Showформа вызывается на экран.
Процедура для кнопки «Расчет среднего балла»:
Sub CommandButton1_Click()
n = UserForm1.ComboBox1.ListIndex + 1
s = 0
For i = 1 To 4
b = Worksheets("Лист1").Cells(n + 3, i + 2).Value
s = s + b
Next
a = s / 4
UserForm1.TextBox1.Text = a
End Sub
В этой программе определяется номер выбранного элемента списка посредством свойства ListIndex, а затем высчитывается средний балл. Полученный результат помещается в текстовое окно TextBox1 на форме.
Содержание заданий
1. Создать в Excel таблицу, пользовательскую форму, записать для них программы в соответствии с приведенными выше примерами. Опробовать работу программ.
2. Добавить в таблицу дополнительные сведения о годе рождения студентов, адресе и т.п.
3. Пусть имеется список товаров на листе Excel. Разработать пользовательскую форму, в которой из раскрывающегося списка товаров можно было бы выбрать нужный товар, и, при нажатии кнопки на этой форме, в текстовом окне отображалась бы цена товара.
ПРИЛОЖЕНИЕ MATHCAD
Приложение Mathcad предназначено для выполнения различных расчетов, для работы с графическими изображениями.
Объединение текстового, формульного и графического редакторов с вычислительным ядром позволяет готовить электронные документы с высоким качеством оформления, способные выполнять расчеты с наглядной демонстрацией результатов.
Для удобства работы с математическими выражениями в приложении имеется панель Математика, которая служит для вывода на экран еще 9 панелей: Арифметика – для вставки цифр и основных математических операторов; Графики – для построения графиков; Матрицы – для работы с матрицами; Вычисления – для вставки операторов управления вычислениями; Матанализ – для использования операторов дифференцирования, интегрирования, пределов, сумм и произведений; Логический (Булево) – для вставки логических операторов; Программирование – для программирования средствами Mathcad; Греческий алфавит – для вставки греческих символов; Символы – для вставки ключевых слов и операторов символьных вычислений.
Вывод на экран и отключение панелей производится при помощи пункта меню Вид/Панели инструментов. Многие операторы, имеющиеся на этих панелях, можно также ввести и с клавиатуры. Комбинации клавиш отображаются во всплывающих подсказках при наведении на соответствующие кнопки панелей указателя мыши.
Ввод информации
Текст.Для работы с текстом надо ввести знак двойной кавычки или выбрать пункт меню Вставить/Текстовая область– появится прямоугольник с курсором ввода в виде красной вертикальной черты. При вводе русскоязычного текста надо использовать шрифт, заканчивающийся, словом Суг. Для перехода на новую строку используется клавиша Enter.Завершается ввод щелчком мыши вне рамки.
Форматирование текста возможно тогда, когда курсор ввода находится в рамке текстового поля. Для установки параметров форматирования можно использовать панель инструментов или команду меню Формат/Текст.
Выделенные рамкой текстовые блоки можно переносить на другое место.
Ввод математических выражений. Ввод информации можно производить с помощью кнопок на панелях инструментов и с помощью клавиатуры. В качестве разделителя у десятичных чисел при вводе используется точка.
При наборе выражений курсор ввода превращается в синий уголок, указывающий направление и место ввода. Для расширения охваченной уголком области можно пользоваться клавишей Пробел и/или левой кнопкой мыши и клавишами перемещения курсора.
Mathcad различает регистр букв, например, переменные х и X считаются разными.
Для присвоения переменной некоторого значения используется оператор присваивания «:=», который с клавиатуры вводится нажатием клавиши с двоеточием.
При перемножении двух переменных знак умножения опускать нельзя.
Допустим, переменная x меняется от 1 до 2 с шагом 0,1, тогда она будет выглядеть следующим образом: x:=1,1.1..2. Здесь символ «..» появляется после нажатия клавиши (;) на клавиатуре, либо кнопки на панели Матрицы.
Очень важно, чтобы значение переменной в документе было определено левее или выше того выражения, в котором она используется.
Встроенные функции. Mathcad поддерживает множество встроенных функций. Например: ехр(х) – экспонента (соответствует eх); ln(x), log(x) – натуральный и десятичный логарифм; log(x,n)– логарифм х по основанию n; sin(x), cos(x), tan(x), cot(x), sec(x), csc(x)– тригонометрические функции соответственно синус, косинус, тангенс, котангенс, секанс и косеканс; asin(x), acos(x), atan(x), acot(x), asec(x), acsc(x) – обратные тригонометрические функции.
Для организации разветвлений используется встроенная функцияif(cond, x, y).Если условие cond выполняется, то функция принимает значение x, в противном случае – значениеy.
Например:
Здесь |
- логическое выражение имеет значение "истина" |
Чтобы вставить встроенную функцию, надо выбрать кнопку f(x) на панели инструментов или выбрать пункт меню Вставить/Функция и в открывшемся диалоговом окне выбрать необходимую категорию, а затем функцию. Щелкнуть по кнопке Вставить. После этого в окне редактирования появится шаблон функции, в который надо ввести аргументы. Функция может быть также набрана и непосредственно с клавиатуры.
Создание функций пользователя.Для того чтобы определить функцию пользователя, необходимо ввести имя функции и в скобках ввести через запятую имена переменных. Например: f(x,y):=x2+y2
После определения функции ее можно использовать точно так же, как и встроенные функции.
Форматирование математических выражений и числовых результатов.Форматирование числовых результатов вычислений возможно при выполнении команд меню Формат/Результат. В открывшемся диалоговом окне надо установить требуемые параметры.
Форматирование математических выражений может относиться к переменным (Variables) или константам (Constants). Выбор объекта форматирования производится командой Формат/Уравнение,в диалоговом окне задается стиль Variables или Constants.Затем устанавливаются желаемые параметры форматирования.
При желании можно изменить цвет листов документов. Для выбора произвольного цвета заливки: Формат/Цвет/Фон.
Вычисление сумм и произведений.Для вычисления сумм и произведений вводится соответствующее выражение с помощью панели Матанализ и выбирается пункт меню Символика/Упрощение или вводится оператор символьного вывода (/) панели Символы.
Дифференцирование и интегрирование.Надо ввести выражение, стоящее под знаком дифференциала или подынтегральное выражение, выделить переменную дифференцирования или интегрирования и выполнить Символика/Переменная/Дифференциация или Интеграция.
Можно также ввести нужное выражение производной или интеграла с помощью панели Матанализи записать оператор символьного вывода /.
Матричные вычисления. Чтобы создать матрицу, надо ввести ее имя, знак присваивания и выполнить Вставка/Матрица либо нажать кнопку Матрица или вектор на панели Матрица (либо «горячие» клавиши Ctrl + M).
В появившемся окне задать количество строк и столбцов, затем ввести конкретные значения элементов матрицы.
Номер первого элемента массива по умолчанию равно 0. Mathcad допускает обращение к отдельным элементам матриц и векторов с помощью нижних индексов и к столбцам матриц с помощью верхних индексов. Нижние индексы вводятся с помощью кнопки Хn панели Матрица или клавишей открывающей квадратной скобки ([). Нижние индексы, если их несколько, отделяются друг от друга запятой. Верхние индексы вводятся кнопкой М<> панели Матрица.
Графики
Mathcad позволяет строить двумерные графики (XY график в декартовой системе координат, полярные графики в полярной системе координат) и трехмерные графики (график трехмерной поверхности, график линий уровня, трехмерная гистограмма, трехмерное множество точек, векторное поле).
Двумерные графики.На одном графике можно построить до 16 различных зависимостей.
Сначала нужно определить значения аргумента (или нескольких аргументов) и вид функции (или нескольких функций). Затем надо поместить курсор в то место, куда требуется вставить график и при помощи меню Вставить/График или панели График выбрать X-Y графикилиПолярный график.
В появившейся пустой области графика в местозаполнители возле осей надо ввести имена аргумента и функции (для нескольких – через запятую). Например, на рис. 8.1 представлены два графика для значений х, меняющихся от –3 до 2 с шагом 0,1:
x := – 3, – 2.9 .. 2
y1(x) := cos(x) y2(x) := sin(x)
Рис. 9.1 –Графики в приложенииMathcad
На вкладке Метки можно задать название графика, его расположение и отображение, названия и отображение меток осей.
На вкладке Умолчание можно указать использование формата графика как образца формата графиков по умолчанию для данного документа.
Содержание заданий
1. Ввести текстовый заголовок к работе.
2. Произвести символьные вычисления, упростить сложные результаты.
3. Записать пользовательскую функцию и вычислить ее значения при x=-5, x=0,3, x=4.
4. Пусть заданы матрицы:
А= В= С=
Вычислить D=AC, F=A-1B, AT Найти определитель матрицы В.
5. Построить графики зависимостей y = k×x3+2×x2–5×x–2. Значение k выбрать произвольно. Произвести форматирование полученных графиков.