РАЗДЕЛ 1. ТЕОРЕТИЧЕСКИЙ РАЗДЕЛ. ЛЕКЦИОННЫЙ КУРС ПО
3.2 Лабораторная работа №2 "ТИПЫ ДАННЫХ. ОПЕРАТОРЫ
189
189
9. Остановите работу программы
10. Установите на форму еще одну рамку «Цвет шрифта», разметите в ней три переключателя:
OptRed Красный
OptBlue Синий
OptGreen Зеленый
11. В окне кода процедуры обработки события Click для объекта OptRed набрать
Text1.ForeColor=vbRed
12. Введите код для других переключателей, используя встроенный константы vbBlue, vbGreen
13. Проверьте работу программы. Остановите работу программы 14. Измените стиль и цвет для переключателей в рамке «Цвет шриф- та», для этого:
− выделите переключатель OprRed
− установите для свойства Style значение 1-Graphical
− удалите значение в свойстве Caption у переключателя и уменьшите ширину
− установите для свойства BackColor красный цве 15. По аналогии измените два других переключателя
16. Измените стиль флажков в рамке «Начертание», для этого:
− выделите флажок ChkItalic
− установите для свойства Style значение 1-Graphical
− удалите значение в свойстве Caption
− для свойства Picture выберите любую иконку (VB\Graphics\Icons\…)
− при необходимости измените размеры флажка
17. По аналогии измените два других флажка (картинки все разные) 18. Проверьте работу программы.
3.2 Лабораторная работа №2 "ТИПЫ ДАННЫХ. ОПЕРАТОРЫ
190
190
Основное наполнение модуля. Самое начало модуля называется общей областью, в которой располагаются общие описания, например, типа данных, используемого по умол- чанию.
Любая программа выполняет обработку данных. Данные могут быть постоянными величинами (константы) и переменными величинами. Переменные и постоянные величи- ны должны быть отнесены к какому-либо типу данных. В Visual Basic существует набор стандартных типов данных.
Типы данных для VB:
1) Byte – Массивы данного типа служит для хранения двоичных дан- ных, например, изображений. Использование данного типа предохраняет двоичные данные во время преобразования формата.
2) Boolean – для хранения логических (булевых) значений. По умолча- нию значением булевской переменной является False - ложь.
3) Currency - для хранения чисел с дробной частью до четырех цифр и целой частью до 15 цифр, то есть данных с фиксированной десятичной точ- кой, удобных для денежных вычислений.
4) Double - для хранения чисел с плавающей десятичной точкой.
5) Integer- для хранения малых целых числовых значений (от -32768 до +32767).
6) Long – для хранения больших целых числовых значений (от -2 147483648 до +2 147483647).
7) Object – поскольку VBA является объектно-ориентированным язы- ком, в нем можно манипулировать различными объектами, адреса, располо- жения которых в памяти (указатели) имеют этот тип.
8) String – по умолчанию данные строкового типа имеют переменную длину и могут удлиняться или укорачиваться. Однако такие строки занимают на 10байт памяти больше, поэтому можно объявить строки фиксированной длины, указав количество символов. Если количество символов будет мень- ше объявленного, то свободные места заполняются пробелами, при попытке занесения большего количества символов лишние отбрасываются.
9) Variant – может быть использован для хранения данных всех базо- вых типов без выполнения преобразования (приведения) типов. Применение данного типа позволяет выполнять операции, не обращая внимание на тип данных, которые они содержат. Удобен для объявления переменных, тип ко- торых заранее неизвестен.
10) Date – используется для хранения даты и времени.
Для объявления типов данных используются операторы описания.
Операторы описания
Объявление переменной производится операторами Dim, Private за ко- торым следует имя переменной и необязательная часть с ключевым словом As, после которого задается тип переменной, например Dim name [As type].
191
191
Оператор Dim используется только вне модуля, в его общей части и де- лает описываемую переменную доступной из всех процедур всех модулей проекта.
Оператор Private служит для объявления переменной уровня модуля, доступной только процедурам данного модуля.
Если необходимо объявить константу, то используется оператор Const (например Const a=5).
Для присвоения же конкретного числового значения переменной ис- пользуются оператор присваивания.
Оператор присваивания
Инструкция Let Присваивает значение выражения переменной или свойству:
[Let] имяПеременной = выражение
Явное использование ключевого слова Let зависит от вкуса пользова- теля, обычно это слово опускают, записывая, например, а=5.
Значение выражения может быть присвоено переменной, только если оно имеет совместимый с этой переменной тип данных. Невозможно присво- ить строковое выражение числовой переменной или числовое выражение строковой переменной. Такая попытка приведет к ошибке во время компиля- ции.
Переменным типа Variant могут присваиваться как строковые, так и числовые выражения. Однако обратное не всегда верно.
Присвоение выражения с одним из числовых типов переменной с дру- гим числовым типом данных преобразует значение выражения в тип данных результирующей переменной (т.е. если a - integer, то если let a=2,33, то бу- дем иметь целое значение 2).
Область видимости переменных
Переменные могут быть объявлены в модулях, формах или процедурах.
− Переменная, объявленная в процедуре, доступна для использова- ния только в пределах этой процедуры (локальная ), даже если она была объ- явлена как Static;
− Переменная, объявленная в General Declarations (раздел общих объявлений ) формы доступна в пределах всей формы.
− Область видимости переменных, объявленных на уровне модуля, зависит от ключевых слов, использованных при объявлении.
− Если переменная объявлена посредством Dim, область видимости – модуль.
− Если переменная объявлена посредством ключевого слова Public, область ее видимости – вся программа ( переменная - глобальная).
192
192
После объявления типов данных вводятся процедуры - наборы описа- ний и инструкций, сгруппированных для выполнения. Существует три типа процедур:
1) процедура Sub - набор команд, с помощью которого можно решить определенную задачу. При ее запуске выполняются команды процедуры, а затем управление передается в приложение пакета MS Office или процедуру, которая вызвала данную процедуру. Закрывается процедура командой End Sub.
2) процедура Function (функция) также представляет собой набор ко- манд, который решает определенную задачу. Различие заключается в том, что такие процедуры обязательно возвращают значение, тип которого можно описать при создании функции.
3) процедура Property используется для ссылки на свойство объекта.
Данный тип процедур применяется для установки или получения значения пользовательских свойств форм и модулей.
Задание 1
Набрать и откомпилировать следующую программу для расчёта пери- метра треугольника со сторонами 4, 5, 4.
Dim b As Integer Dim c As Integer Dim p As Integer Const a = 4
Private Sub Command1_click() b = 5
c = 4
p = a + b + c
Debug.Print a, b, c, p End Sub
Команда Private Sub Command1_click() - служит для определения пере- менной уровня модуля и процедуры Sub и используется практически в любой программе VBA.
Команда Debug.Print a, b, c, p - отображает значения всех указанных ве- личин в окне “Окно отладки (Immediate)”.
Команда End Sub - закрывает процедуру.
Задание 2 1. Загрузите графический редактор Paint.
2. Выберите в меню программы Рисунок / Атрибуты
3. В появившемся окне установите Единицы см, Ширина 6, Высота 3, нажмите Ок.
193
193
4. Используя инструментарий программы нарисуйте параллелепипед с обозначением сторон и сохраните свой рисунок.
5. Закройте программу Paint 6. Загрузите Visual Basic.
7. Установите на форме следующие объекты и измените им свойства
Объект Свойство Значение
Метки Caption Объем коробки вычисляется по формуле
Caption V=A*B*H Caption Длина Caption Ширина Caption Высота Caption Объем Командная кнопка Name CmdResult
Caption Определение объема Текстовые окна Name Text1
Name Text2
Name Text3
Name Text4
Изображение Name Image1
Picture (созданный Вами рисунок) 8. Приведите свою форму в соответствие с образцом
9. В окне кода процедуры обработки события Click для объекта CmdResult набрать
Dim a,b,h,v As Integer a = Val(Text1.Text) b = Val(Text2.Text)
194
194
h = Val(Text3.Text) v = a * b * h
Text4.Text = v
10. Проверьте работу программы на различных входных данных.
Задание 3
1. Даны два числа a и b. Получить их сумму, разность и произведение.
2. Даны действительные числа x и y. Получить (|x| – |y|) / (1 + |x·y|).
3. Дана длина ребра куба. Найти площадь грани, площадь полной по- верхности и объем этого куба.
4. Даны два действительных положительных числа. Найти среднее арифметическое и среднее геометрическое этих чисел.
5. Даны катеты прямоугольного треугольника. Найти его гипотенузу и площадь.
6. Определить периметр правильного n-угольника, описанного около окружности радиуса r.
7. Даны x, y, z. Вычислить a, b, если
а) ;
б) ;
в) ;
г) ;
д) ;
е) ;
195
195
ж) .
8. Дана сторона равностороннего треугольника. Найти площадь этого треугольника.
9. Известна длина окружности. Найти площадь круга, ограниченного этой окружностью.
10. Найти площадь кольца, внутренний радиус которого равен 20, а внешний – заданному числу r (r>20).
3.3 Лабораторная работа №3 "ФУНКЦИИ ВВОДА-ВЫВОДА И