Лабораторная работа №1 - Камышинский технологический

advertisement
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
ВОЛГОГРАДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
КАМЫШИНСКИЙ ТЕХНОЛОГИЧЕСКИЙ ИНСТИТУТ (ФИЛИАЛ)
ВОЛГОГРАДСКОГО ГОСУДАРСТВЕННОГО ТЕХНИЧЕСКОГО УНИВЕРСИТЕТА
КАФЕДРА «ИНФОРМАТИКА»
ПРОГРАММИРОВАНИЕ
НА ЯЗЫКЕ VISUAL BASIC
Часть I
Методические указания
к лабораторному практикуму
РПК «Политехник»
Волгоград
2005
УДК 681.3.06 (07)
П 78
ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ VISUAL BASIC. Методические
указания к лабораторному практикуму / Сост. Д. В. Медведев, Е. В. Морозова,
Л. П. Тарасова; Волгоград. гос. техн. унт. – Волгоград, 2005. – 35 с.
Излагаются основы работы в среде программирования Visual Basic.
Включают теоретический материал, практические упражнения и задания
для самостоятельного выполнения.
Предназначены в помощь студентам, обучающимся по направлениям
551200, 551700, 521600 и 552900 высшего профессионального образования.
Ил. 14.
Табл. 5.
Библиогр.: 3 назв.
Рецензент В. И. Кручинин
Печатается по решению редакционно-издательского совета
Волгоградского государственного технического университета
 Волгоградский
государственный
технический
университет, 2005
Содержание
Введение ................................................................................................ 4
Лабораторная работа №1. Знакомство со средой Visual Basic .......... 4
Контрольные вопросы .......................................................................... 11
Задания для самостоятельной работы ................................................. 11
Лабораторная работа №2. Переменные, выражения и операторы в
VB. Разработка программ ..................................................................... 12
Контрольные вопросы .......................................................................... 26
Задания для самостоятельной работы ................................................. 26
Лабораторная работа №3. Visual Basic: программа калькулятор ..... 27
Контрольные вопросы .......................................................................... 32
Задания для самостоятельной работы ................................................. 33
Список литературы ............................................................................... 34
3
Введение
Современное программирование – сложная и быстро развивающаяся
наука, неразрывно связанная с практикой. Невозможно научиться программировать не проведя определенного количества часов за составлением и отладкой программ. Лабораторный практикум по программированию желательно проводить параллельно с изучением технологии разработки программ и освоением особенностей конкретного языка программирования.
Visual Basic относится к числу языков программирования, реализующих наиболее распространенные сегодня принципы программирования.
Эти принципы позволяют создавать полезные программы, имеющие
удобные средства общения с пользователем. При этом создание программ становится доступным «непрограммирующим профессионалам»,
т.е. специалистам в областях знаний, для которых расчеты на ЭВМ – не
самоцель, а лишь средство для решения текущих задач.
Лабораторная работа №1
Знакомство со средой Visual Basic
Объем – 2 часа.
Цель работы: ознакомление со средой разработки приложений VB.
Знакомство со средой Visual Basic
Способы запуска Visual Basic (смотри рис. 1):
1. С рабочего стола, нажав на «иконку» Microsoft Visual Basic 6.0
(двойным щелчком мыши).
2. Нажав кнопку Пуск, выбрать Программы→Microsoft Visual Studio 6.0→Microsoft Visual Basic 6.0.
Рис. 1. Запуск Microsoft Visual Basic 6.0.
4
После того, как Вы одним из
способов запустите VB, перед Вами
появится окошко, в котором Вам
необходимо будет выбрать тип проекта Standart EXE и нажать Открыть (рис. 2).
В результате, на экране появится
окно проекта (это основное окно среРис. 2. Выбор проекта в VB
ды разработки приложений VB):
В окне VB
(см. рис.3) присутствуют знакомые
Вам
элементы
оконного
интерфейса: заголовок,
меню, панели инструментов, рабочая область.
Познакомимся
с основными коРис. 3. Окно проекта Microsoft Visual Basic
мандами меню VB.
1. Команды меню File:
New Project (Ctrl+N) – создание нового проекта, при этом, если не сохранен старый проект, то будет запрос на его запись;
Open Project (Ctrl+O) – открытие проекта с диска, если не сохранен текущий проект, то будет запрос на его запись;
Add Project – добавить проект (уже существующий или новый);
Remove Project – удалить проект;
Save Project – сохранить проект;
Save Project As… – сохранить проект под другим именем;
Save Form1 (Ctrl+S) – сохранить форму (после слова Save указывается
имя формы, которое записано в свойстве Name сохраняемой формы);
Save Form1 As – сохранить форму под другим именем;
Print… – печать на принтере содержимого формы или модуля;
Print Setup – установка настроек принтера (параметров печати);
Make Project.exe – создание EXE-файла под Windows (файл будет работать без Visual Basic);
Exit (Alt+Q) – выход из Visual Basic.
2. Команды меню Edit:
Undo – отменить последнее действие;
Redo – возвратить отмененное действие;
5
Cut (Ctrl+X, Shift+Delete) – вырезать помеченные объекты на форме или
выделенный участок программы в буфер;
Copy (Ctrl+C) – скопировать выделенный участок текста программы или
выделенные объекты в буфер;
Paste (Ctrl+V) – вставить в программу в текущую позицию курсора текст
из буфера или вставить из буфера объекты на форму;
Select All (Ctrl+A) – выделить все;
Find (Ctrl+F) – поиск текста в программе;
Find Next (F3) – следующий поиск;
Replace (Ctrl+H) – поиск с заменой.
3. Команды меню View:
Code – вызов окна программы;
Object (Shift+F7) – вызов окна формы;
Watch window – выводит окно для наблюдения значений переменных в
ходе выполнения программы;
Project Explorer (Ctrl+R) – выводит окно проекта (см. рис. 3);
Properties window (F4) – выводит окно свойств (см. рис. 3, рис. 5);
ToolBox – выводит панель объектов (для создания их на формах);
Color palette – выводит палитру цветов;
ToolBars – выбор вида панелей в VB.
4. Команды меню Project:
Add Form – добавить новую форму или уже существующую;
Add MDI Form – добавить главную форму MDI;
Add Module – добавить программный модуль;
Add Class Module – добавить класс модулей;
Add File… – добавить файл (форму или модуль) к текущему проекту;
Remove Form1 – удалить из проекта (но не с диска) форму;
Project1 Properties – свойства текущего проекта.
5. Команды меню Format:
Align – выравнивание текста или объектов;
Make Same Size – изменение размеров нескольких объектов.
6. Команды меню Debug:
Step Into (F8) – пошаговый просмотр с заходом в процедуры;
Step Over (Shift+F8) – пошаговый просмотр без захода в процедуры (выполнится, но не войдет внутрь);
Step Out – пошаговый просмотр с выходом из текущей подпрограммы;
Run to Cursor – программа выполняется до места где стоит курсор (при
этом будет запущен режим отладки);
Add Watch… – добавить выражение для наблюдения (переменную или
свойство объекта, или функцию);
Edit Watch (Ctrl+W) – редактировать выражение для наблюдения;
6
Toggle BreakPoint (F9) – установить/снять точку останова (при отладке
бывает необходимо в каком-то месте программы проверить значения переменных, для этого устанавливают точки останова, дойдя до которых
программа останавливается и ожидает действий программиста)
Clear All Breakpoints (Ctrl+Shift+F9) – очистить (убрать) все точки останова.
7. Команды меню Run:
Strat (F5) – запустить программу на выполнение;
Start with Full Compile (Ctrl+F5) – запуск программы вместе с компиляцией;
Break (Ctrl+Break) – прерывание;
End – закончить программу;
Restart (Shift+F5) – перезапустить программу, например, после ее прерывания.
8. Команды меню Tools:
Add Procedure – добавить процедуру;
Procedure Attributes – атрибуты (параметры) процедуры;
Menu Editor (Ctrl+E) – вызов разработчика меню;
Options… – опции VB.
9. Команды меню Window:
Split – расщепление (разделение) окон;
Tile Horizontally – расположение окон по горизонтали;
Tile Vertically – расположение окон по вертикали;
Cascade – каскадное расположение окон;
10. Команды меню Help (F1) предназначены для вызова помощи по VB.
Теперь рассмотрим содержимое рабочей области VB, так как оно отличается от других приложений Windows, изученных Вами ранее.
В центре находится форма Вашего приложения, имя которой Form1
(присваивается VB по умолчанию). В левой части расположена панель с
доступными элементами управления (объектами). Объектами в VB являются форма, а также представленные на рисунке 4 элементы управления,
графические объекты (рамка, линия, встроенные объекты) и др.
поле
надпись
флажок
кнопка
графические объекты
переключатель
линейки
прокрутки
поле со списком
Рис. 4. Панель объектов Visual Basic
Опишем назначение некоторых из этих элементов. Элемент метка
(Label) нужен для отображения текста, т.е. служит как бы подсказкой. В
7
нём мы будем писать подписи для текстовых полей. Элемент текстовое
поле (TextBox) предназначен для ввода пользователем информации и
вывода результатов. Элемент кнопка (CommandButton), нужен для запуска некоторого действия.
Для того чтобы поместить на форму нужный объект, необходимо
выполнить следующие действия:
1. Нажать левой кнопкой мыши на нужный элемент на панели объектов, изображенной на рис. 4.
2. Переместить указатель мыши на форму, остановив его в месте
предполагаемого расположения объекта, нажать левую кнопку и, не отпуская ее, обозначить размеры объекта.
В результате этих манипуляций у вас на форме появится объект.
Если Вам понадобится изменить размеры объекта или его местоположение, то можно использовать обычные способы работы с объектами
(окнами) в Windows.
Главное преимущество работы с объектами в том, что каждый вид
объектов предлагает стандартный набор свойств и действий (программный код, который не требуется писать разработчику). Вам достаточно
изменить необходимые свойства объекта и определить нужные действия
для этого объекта, чтобы побудить его выполнять требуемые функции.
Все объекты в VB (как и в других языках высокого уровня) имеют
свойства и методы. Свойства — это значения, которые устанавливаются
для определения внешнего вида и поведения объекта. Методы — программные процедуры, обеспечивающие выполнение объектом предопределенных действий.
Просмотреть все свойства выбранного объекта или изменить их
можно с помощью окна свойств текущего объекта (Properties) (поскольку
свойств у объекта обычно много, то с
помощью линейки прокрутки можно
найти нужное свойство, если оно не
отображено в окне). Быстрый вызов
окна свойств осуществляется с помощью функциональной клавиши F4. На
рис. 5 изображено окно свойств
(Properties), в котором отображены
свойства формы. Далее приведена таблица свойств для некоторых элементов
управления, которые используются в
Рис. 5. Окно свойств
программах наиболее часто.
8
Таблица 1. Свойства элементов управления
Свойство
Назначение
Общие свойства
(Name)
Имя элемента, которое можно использовать в программе
Caption (у TextBox нет) Заголовок элемента (может не совпадать с именем)
BackColor
Цвет фона элемента
ForeColor
Цвет текста
Enabled
Доступный/недоступный
Font
Параметры шрифта (шрифт, размер, начертание)
Height
Высота элемента
Width
Ширина элемента
Visible
Видимость элемента
Left
Расстояние от границы формы до левой границы элемента
Top
Расстояние от границы формы до верхней границы элемента
ToolTipText (у формы нет) Всплывающая подсказка
Форма
WindowState
Состояние окна формы (свернутое, во весь экран и обычное)
BorderStyle
Стиль рамки (устанавливает возможность изменения размеров окна)
Picture
Картинка на форме
MinButton, MaxButton Кнопка свернуть и кнопка полноэкранного режима
Кнопка
Default
Кнопка «по-умолчанию», на ней установлен фокус ввода
Style
Стиль кнопки (стандартная или графическая)
TabIndex
Порядковый номер элемента при переходе по клавише Tab
TabStop
Возможность выбора кнопки клавишей Tab
Текстовое поле
Text
Текст в поле «по-умолчанию»
DataFormart
Формат данных
BorderStyle
Стиль рамки
PasswordChar
Символ пароля
ScrollBars
Линейки прокрутки
Пример. Создать кнопку «Запуск» (Command Button) на форме
«Моя первая форма» (Form). Изменить ее размер и местоположение.
Последовательность действий. Запустите VB. Выберите тип Standart и
нажмите Открыть. На экране появится заготовка формы. Затем на панели объектов нажмите Кнопку (Command Button) (см. рис. 4). Поместите
указатель мыши в центр формы и, нажав левую кнопку мыши и не отпуская ее, обозначьте границы Кнопки. Если Вы хотите поменять ее местоположение, то нужно нажать левой кнопкой мыши на объекте Кнопка и,
удерживая ее, перенести Кнопку в нужное место. Чтобы изменить размеры Кнопки, нужно ее выделить нажатием левой кнопки мыши и растянуть за маркеры, расположенные на ее вершинах. Эти же действия
можно проделать с любым другим объектом.
Поменяем заголовок формы. Чтобы изменить свойства элемента
управления необходимо выделить его и изменить нужное свойство в окне
Properties. Нажмите левой кнопкой мыши в любое место формы, где нет
объектов, и найдите в окне Properties свойство Caption (названия
9
свойств отображаются по алфавиту). Измените его на «Моя первая
форма». Заголовок будет меняться по мере ввода текста. Свойство кнопки Caption изменяется аналогично (поменяйте самостоятельно).
Для того, чтобы запустить программу, нажмите на кнопку Start,
расположенную на панели инструментов ( ). После непродолжительной
компиляции, перед вами появится окно вашей программы. Это окно
можно перетаскивать, менять его размеры, минимизировать. А ведь Вы
еще даже не написали ни одной строчки кода. Вернуться в среду разработки VB можно двумя способами - нажать на крестик в правом верхнем
углу формы или нажать на кнопку End на панели инструментов, имеющей иконку ( ).
Для сохранения проекта выберите команду в меню Save Project (на
панели инструментов значок
), укажите каталог для сохранения и имя
файла для формы (Frm1.frm) и имя файла проекта (Pr1.vbp). Проект сохранён. Открыть проект в дальнейшем Вы можете кнопкой Open Project.
Как уже упоминалось ранее, каждый объект кроме свойств имеет методы. Методы объекта можно увидеть только в окне программных кодов
(Code), изображенном на
рис. 6. Это окно появляется
автоматически при двойном
нажатии левой кнопкой
мыши на объекте. В этом
окне Вы будете писать программные коды для элементов формы и разработанных
Вами алгоритмов решения
Рис. 6. Окно программных кодов
различных задач.
Замечание: Обратите внимание на окно Project (расположенное в
правой части окна VB). В этом окне есть две полезные кнопки. С помощью них Вы можете переключаться между двумя режимами:
1. View Object ( ) – режим просмотра формы, для проектирования её интерфейса.
2. View Code (
) – режим просмотра кодов формы (еще один
способ вызова окна программных кодов).
Теперь несколько замечаний касательно написания программных
кодов в VB. Для облегчения процесса программирования VB предоставляет возможность избегать ввода большого количества кода и его корректировки, выводя небольшое всплывающее окно с полезной информацией. Приведем типы таких окон, которые могут Вам встретиться при
выполнении лабораторных работ:
1. QuickInfo. Выдаёт информацию о синтаксисе текущего опера-
10
а)
б)
Рис. 7. Примеры всплывающих окон
Свойства имеют иконку:
тора Visual Basic. Если после имени оператора (функции) поставить пробел или
открывающую круглую скобку, то Visual
Basic покажет информацию о синтаксисе
этого оператора (см. рис. 7, а).
2. List Properties/Methods. Выдает
список всех доступных свойств и методов объекта. Если после имени объекта
Вы поставите точку, то VB покажет Вам
список всех доступных свойств и методов этого объекта (см. рис. 7, б).
, а методы .
Контрольные вопросы
1. Способы запуска Visual Basic.
2. Основные элементы окна среды разработки программ Visual Basic.
3. Основные элементы управления и объекты, расположенные на панели объектов.
4. Назначение элементов метка (Label), поле ввода (TextBox), кнопка (CommandButton).
5. Как поместить нужный объект с панели объектов на форму?
6. Как изменяются свойства элементов управления. Какие основные
свойства имеются у большинства объектов?
7. Создание простого приложения в Visual Basic.
8. Как осуществляется переключение режимов просмотра формы и
программных кодов?
9. Какие всплывающие окна используются в Visual Basic для облегчения работы?
10. Что такое свойства и методы объекта?
Задания для самостоятельной работы
Изучив методические указания и создав первую форму, выполните
следующие задания:
Создать форму. Изменить свойство Caption на «Моя форма».
1. Разместить на форме следующие объекты: кнопку «Закрыть», текстовое поле, метку «Моя первая программа». Изменить у кнопки свойство MousePointer на 10-Up Arrow. Попробуйте изменить цвет кнопки
(см. табл.1, предварительно надо установить свойство Style в 1Graphical).
2. Разместить на форме следующие объекты: кнопка «Закрыть», текстовое поле, метку «Hello». Кнопка должна быть неактивной при запуске
программы. Попробуйте изменить фон текстового поля (см. табл.1).
11
3. Разместить на форме следующие объекты: кнопка «Закрыть», Текстовое поле, метку «Работает». Изменить стиль рамки формы и цвет фона
текстового поля (см. табл.1).
4. Разместить на форме следующие объекты: кнопка «Закрыть», текстовое поле, метку «Программа». Изменить цвет фона метки. Кнопка
«Закрыть» должна быть неактивной при запуске программы (см. табл.1).
5. Разместить на форме следующие объекты: кнопка «Отмена», Текстовое поле, метку «Это текст». Изменить цвет текста метки. Для текстового поля изменить параметры шрифта (см. табл.1).
6. Разместить на форме следующие объекты: кнопка «Выход1»,
кнопка «Выход2», текстовое поле, метку «Синяя». Установить цвет текста метки синим, а также изменить параметры шрифта (см. табл.1).
7. Разместить на форме следующие объекты: кнопка «Решить», два
объекта текстовое поле. Изменить цвет текста в одном текстовом поле.
Измените цвет текста на кнопке (см. табл.1, предварительно надо установить свойство Style у кнопки в 1-Graphical).
8. Разместить на форме следующие объекты: кнопки «Выход1» и
«Выход2», текстовое поле, метку «Зеленая». Установить цвет текста метки зеленым, изменить параметры шрифта одной из кнопок (см. табл.1).
9. Разместить на форме следующие объекты: кнопка «Запустить»,
два объекта метка с текстом «Первая» и «Вторая». Изменить цвет текста
меток. Кнопка «Запустить» должна быть неактивной при запуске программы (см. табл.1).
10. Разместить на форме следующие объекты: кнопку «Запуск», текстовое поле, метку «Первая программа». Изменить у кнопки свойство
MosePointer на 7 – Size N S. Измените цвет текста метки (см. табл.1).
11. Разместить на форме следующие объекты: кнопка «Отмена», текстовое поле, метку «Поле». Изменить цвет фона метки. Для кнопки изменить параметры шрифта (см. табл.1).
12. Разместить на форме следующие объекты: кнопку «Расчет», два
текстовых поля. Изменить у кнопки свойство MosePointer на 2 – Cross.
Измените цвет текста в текстовых полях (см. табл.1).
Лабораторная работа №2
Переменные, выражения и операторы в VB. Разработка программ
Объем – 2 часа.
Цель работы: ознакомление с основными типами данных и конструкциями языка Visual Basic.
Переменные и выражения в Visual Basic
Во всех языках высокого уровня программный код состоит из:
 переменных;
 операторов;
12
 функций;
 выражений;
 управляющих структур;
 классов и объектов.
В Visual Basic переменные хранят информацию (значения). При их
использовании Visual Basic резервирует область в памяти компьютера
для хранения данной информации. Каждая переменная имеет своё имя,
которое может состоять не более чем из 255 символов. В имени переменной могут использоваться только латинские буквы, цифры и знак подчёркивания. Имя следует начинать с буквы. Регистр символов значения
не имеет. Приведём несколько примеров имён переменных:
 numOfLetters – подходит;
 2Bottle - неверно, т.к. начинается не с буквы;
 цName – не подходит, так как первый символ – буква русского
алфавита;
 sng.Cos - не подходит, т.к. используется точка.
Каждая переменная имеет определённый тип. Кроме того, программист может определить и свой тип. Основные типы переменных VB:
Byte - предназначен для хранения целых чисел от 0 до 255. Если переменной такого типа присвоить значение, выходящее за эти пределы, то
Visual Basic сгенерирует ошибку.
Integer - предназначен для хранения целых чисел в диапазоне -32768
до +32767, т.е. размер памяти, выделяемой под такую переменную составляет 2 байта.
Long - предназначен для хранения целых чисел в диапазоне 2147483648 до +2147483647, т.е. размер памяти, выделяемой под такую
переменную составляет 4 байта.
String - предназначен для хранения строковой (символьной) информации, т.е. текста (текст записывается в кавычках: «»). Может содержать
до 256 символов текста.
Double - предназначен для хранения дробных чисел, с точностью до
16 цифр. Диапазон отрицательных значений от -1.79769313486232Е308
до -4.94065645841247Е-324. Диапазон положительных значений от
4.94065645841247Е-324 до 1.79769313486232Е308. Длина числа может
достигать 300 знаков. Занимает 8 байтов памяти. Вычисления с данными
переменными будут приблизительными и менее быстрыми, чем с переменными целого типа. Используется для научных расчётов.
Date - этот тип данных позволяет хранить значения времени и даты в
промежутке от полуночи 1 января 100 года до полуночи 31 декабря 9999
года. Если переменной присваивается только значение даты, то время
равняется 00:00.
13
Boolean - очень важный и распространённый тип данных. Позволяет
хранить так называемые булевы значения, т.е. только два значения –
True (Истина) и False (Ложь). Используется тогда, когда вам нужно
хранить только значение Да или Нет.
Variant - переменная типа Variant может содержать данные любого
типа. Использование такого типа данных замедляет работу программы,
т.е. требуется время и ресурсы для преобразования типов. Поэтому следует воздерживаться от применения этого типа данных, за исключением
специфических случаев, например, возвращение функцией массива возможно только при использовании типа Variant.
В Visual Basic переменные объявляются в любом месте программы с
помощью следующего оператора:
Dim <Имя_переменной> As <Тип_переменной>.
Если не указывать тип, то переменная будет объявлена как Variant.
Примеры объявления переменных:
Dim a As Long – объявляется переменная с именем а целого типа,
диапазон изменения от -2147483648 до +2147483647.
Dim b As Byte – объявляется переменная с именем b целого типа,
диапазон изменения от 0 до 255.
Dim myStr As String – объявляется строковая переменная с именем myStr.
После объявления переменной ей присваивается значение по умолчанию. Для строки это – “” (пустая строка), для чисел – 0, для булевой
переменной – False.
Переменные можно объявлять и в одной строчке, разделяя объявления запятой:
Dim a As Long, Dim b As Integer
Значение переменной задается с помощью оператора присваивания –
знак “=”. Например:
a = 1234567
b = 234
myString = “Visual Basic”
В данном примере переменным присваивались константы. Но часто
бывает необходимо присвоить одной переменной значение другой. Это
делается следующим образом:
a = b 'переменная а примет значение 234, т.к. переменная b “умещается” в тип
Long (234<4294967296)
a = b + c 'переменная а станет равна сумме (b+c), т.е. а=234, т. к. с=0 по умолчанию
b = c 'переменная b примет значение 0 (0<255)
b = a 'появится сообщение об ошибке, так как значение переменной а не принадлежит [0-255]
14
В Visual Basic можно объявлять не только переменные, но и константы. Константа, как и переменная, тоже хранит некоторое значение,
но в отличие от переменной хранимое значение не может изменяться. В
Visual Basic константы объявляются в любом месте программы с помощью следующего оператора:
Const <Имя_переменной> = <Значение_переменной>.
Пример.
Const PI = 3.1415 'объявлена константа c именем PI и значением 3.1415.
Рекомендации:
Перед использованием переменной, её желательно объявить. Это избавит вас от лишних ошибок.
Переменным нужно давать осмысленные имена. Т.е. старайтесь не
использовать такие имена, как a1,a2,a3,ab,ccc и т.п.
Выражения в VB являются основными кирпичиками, из которых
строится программа. Согласно самому точному определению, “выражение” - это “что-то, что содержит значение”. Выражение (кроме логического выражения) записывается после оператора присваивания и представляет собой конструкцию, в которую могут входить переменные, константы, операторы и функции.
Пример.
b = 234 ' 234 - это выражение содержащее константу.
c = b ' выражение состоит из переменной b, имеет значение 234
c = а + 5 * 2 ' а + 5 * 2 это выражение, состоящее из переменной а, операторов + и *, констант 5 и 2.
c = sin(а) ' sin(а) выражение состоит из функции sin() и переменной а
Рассмотрим другие, очень распространённые выражения – логические выражения (выражения сравнения). Такие выражения возвращают
True или False, в зависимости от получившегося значения выражения.
Операторы
В Visual Basic операторы бывают следующих типов:
1. Арифметические операторы:
 ^
– оператор возведения в степень;
 *
– оператор умножения;
 /
– оператор деления;
 \
– оператор целочисленного деления;
 mod
– оператор вычисления остатка от деления;
 +
– оператор сложения;
 –
– оператор вычитания.
2. Операторы сравнения:
 <
– меньше;
 >
– больше;
15
 <=
– не больше;
 >=
– не меньше;
 =
– равно;
 <>
– не равно.
3. Конкатенации (слияния):
 + или &.
4. Логические операторы:
 And
– оператор логического умножения;
 Eqv
– оператор логической эквивалентности;
 Imp
– оператор логической импликации;
 Not
– оператор логического отрицания;
 Or
– оператор логического сложения;
 Xor
– оператор логического исключающего сложения.
Так же, как и в алгебре, здесь действует принцип приоритетов. Он
заключается в том, что каждый оператор имеет свой приоритет. Например, умножение имеет больший приоритет, чем сложение. Приоритет
можно указать явно, поставив в нужной части выражения круглые скобки:
c = (5 + 5) * 2 'сначала выполнится оператор сложения, а затем умножение.
Таблица 2. Приоритеты операторов
Арифметические
Сравнения
Логические
Возведение в степень(^)
Равно (=)
Not
Отрицание (–)
Неравно (<>)
And
Умножение и деление (*, /)
Меньше чем (<)
Or
Целочисленное деление (\)
Больше чем (>)
Xor
Остаток от деления (mod)
Меньше или равно (<=)
Eqv
Сложение и вычитание (+,–)
Больше или равно (>=)
Imp
Конкатенация (&)
Принадлежность к типу (Is)
В этой таблице сверху вниз показан порядок следования приоритетов
операторов Visual Basic. Сверху вниз приоритет убывает. Операторы,
имеющие одинаковый приоритет в выражении вычисляются слева направо. Если в выражении встречаются операторы из разных категорий, то вычисляются они в порядке столбцов слева направо, т.е. сначала арифметические, затем операторы сравнения и лишь затем логические операторы.
Управляющие структуры
Во всех языках программирования есть такие классические структуры, как условные операторы и операторы цикла.
Примечание: Здесь бы хотелось заметить, что управляющие структуры мы тоже будем называть операторами.
В этом разделе мы познакомимся с операторами ветвления If…End
If и цикла For…Next.
16
Условный оператор If...EndIf
Этот оператор необходим для принятия решений, нужно ли выполнять то или иное действие или нет. Другими словами если Логическое_выражение истинно, то Оператор выполнится. Если ложно, то
выполнение не произойдёт.
If <Логическое_выражение> Then <Оператор>
или сложнее
If <Логическое_выражение> Then
<Оператор1>
...
<ОператорN>
End If
В первом случае оператор может быть только один. Во втором
сколько угодно (в том числе и один).
Пример:
If (a = b) And (c < > d) Then ‘Скобки можно опустить
b = d: a = 20
End If
Замечание: двоеточие применяют для записи нескольких выражений
в одной строке.
Условный оператор If...Then...ElseIf...Else...End If
Такая конструкция используется для более сложных ветвлений:
If <Логическое_выражение1> Then
<Оператор1>
...
<ОператорN>
ElseIf <Логическое_выражение2> Then
<Оператор1>
...
<ОператорM>
Else
<Оператор1>
...
<ОператорK>
End If
Эта схема может быть и в укороченном виде If...Then...Else...End If.
При этом операторы после Else выполняются только в том случае, если
ни одно из условий не выполнено.
Пример:
If (a = b) Or (c <> d) Then
b = d: a = 20
Else
17
c = d
End If
Выражение c=d будет выполнено только в том случае, если a<>b
или c=d.
Оператор цикла For...Next
Этот цикл используют в том случае, когда заранее известно стартовое и конечное значение счётчика. Синтаксис оператора:
For <Счётчик_цикла> = <Старт> To <Стоп> Step <Шаг>
<Оператор1>
...
<ОператорN>
Next <Счётчик_цикла>
Здесь <Старт> – начальное значение цикла, <Стоп> - конечное значение цикла.
Роль счётчика цикла может играть только ранее объявленная переменная вещественного типа. Шаг задаёт приращение счётчика цикла при
каждом проходе, это может быть любое вещественное число (кроме 0).
По умолчанию, значение шага равно 1. После слова Next счётчик можно
опустить.
Пример:
В этом примере всем элементам массива iArray присваивается значение 5.
Dim c As Integer
Dim iArray(10) As Integer
For c = 0 To 10
iArray(c) = 5
Next c
Выход из цикла Exit For
С помощью оператора Exit For можно осуществить досрочный выход из цикла вне зависимости от значения, которое имеет в данный момент условие выхода.
Пример:
Dim n As Integer
n = 10
For i=1 To 10
n = n – 1
If n = 5 Then Exit For 'Если счётчик = 5, то выход из цикла
Next i
Итак, управляющие структуры - очень важное звено в программировании на Visual Basic (да и не только на Visual Basic). Без использования
таких структур не получится написать даже самую маленькую программу. А если и получится, то программа не будет представлять никакого
18
практического интереса.
Этапы разработки программ
Разработку любого приложения (программы) на VB необходимо выполнять поэтапно в следующем порядке:
1. Анализ будущей программы (подумать, что программа должна
делать, составить и реализовать мысленно алгоритмы, которые будут
применены в программе, продумать структуру данных, и т.д.).
2. Проектирование интерфейса, т.е. помещение на форму нужных
управляющих элементов, кнопок, списков и т.п.
3. Написание программного кода, связывающего помещённые на
форму управляющие элементы.
4. Отладка программы.
5. Окончательная компиляция и, если это необходимо, создание исполняемого файла (*.exe).
Разберем пример составления программы, который поможет закрепить весь теоретический материал, изложенный выше.
Пример. Необходимо написать программу, которая сравнивает два
введенных числа и выводит результат сравнения в текстовое поле.
Решение: Для наглядности будем придерживаться основных этапов
разработки приложения.
1. Анализ будущей программы
Программа проверяет, какое из чисел больше. Составим для этой задачи алгоритм в виде блок-схемы, представленной на рис.8 (это желательно делать для любой задачи, особенно если она довольно сложная,
поскольку алгоритм в виде блок-схемы довольно легко переводится в
программные коды). Входные данные программы: переменные A, B. Выходные данные – сообщение о результате сравнения.
начало
А, В
да
А>В
Первое число
больше второго
нет
Второе число
больше первого
конец
Рис. 8. Блок-схема алгоритма
19
2. Проектирование интерфейса
Запустите VB. В диалоговом окне выберите тип Standart exe.
Поместим на форму следующие элементы управления (как показано
на рис. 9): текстовые поля (TextBox) – для ввода/вывода входных/ выходных данных; метки (Label) – для обозначения подписей на форме;
кнопку «Сравнить» (Command Button) – для выполнения операции
сравнения; кнопку «Закрыть» (Command Button) – для выхода из программы.
Рис. 9. Внешний вид интерфейса
Примечание: Создавать новые объекты можно с помощью объектов
уже имеющихся на форме. Для этого необходимо выделить уже имеющийся объект (или группу объектов) и скопировать его (их) в буфер обмена (например, клавишами Ctrl+C). Далее нужно его (их) вставить
(например, клавишами Ctrl+V). Visual Basic дважды спросит: “Нужно ли
создать массив из вставляемых элементов управления?” Ответьте оба раза Нет. После этого необходимо разместить элементы, появившиеся в левом верхнем углу формы, а также изменить необходимые свойства скопированных элементов.
Обратите внимание на имена (свойство Name в окне Properties)
только что созданных элементов. Label1, Label2, Label3, Text1, Text2,
Text3, Command1, Command2. При создании нового элемента Visual Basic
всегда даёт такие имена сам. Они могут быть изменены Вами. Вообще,
имена элементов управления так же важны, как имена переменных. По
этим именам вы будете обращаться к вашим элементам управления в коде программы.
Переименуем элементы управления. Для этого измените свойство
Name каждого элемента управления согласно таблице 3.
20
Таблица 3
Назначение элемента управления
A: - параметр A (TextBox1)
B: - параметр B (TextBox2)
Результат: - результат сравнения (TextBox3)
Кнопка для сравнения (CommandButton)
Кнопка закрытия приложения (CommandButton)
Метка с текстом “А:” (Label)
Метка с текстом “В:” (Label)
Метка с текстом “Результат:” (Label)
Форма, содержащая все эти элементы (Form)
Имя (свойство Name)
txtParamA
txtParamB
txtResult
cmdCompare
cmdExit
lblA
lblB
lblResult
frmMain
Интерфейс готов. Теперь можно переходить к следующему этапу.
3. Написание программного кода
Теперь самое интересное: мы будет писать код для нашей программы! Давайте ещё раз продумаем алгоритм работы программы:
1. Вводим исходные данные в текстовые поля (А, В). Код для этого
писать не нужно, за нас всё сделает Visual Basic и Windows.
2. После нажатия на кнопку, производим сравнение чисел.
3. Выводим полученные значения в текстовое поле результата
(TextBox).
Нам необходимо написать обработчик события Click (нажатия левой кнопки мыши) для кнопки cmdCompare. Обработчик события - это
процедура (метод), которая будет выполняться всякий раз, когда произойдёт то или иное событие. Например, если запустить программу на
выполнение и не нажимать на кнопку cmdCompare ничего не произойдёт. Но как только вы нажмете левой кнопкой мыши по кнопке, произойдёт выполнение кода, который написан в процедуре обработки события
Click (процедуре с именем cmdCompare_Click). Чтобы написать программный код метода Click, вызовите окно программных кодов (двойным нажатием кнопки мыши на объекте cmdCompare). Visual Basic создаст для вас заготовку процедуры, которая будет выглядеть следующим
образом:
Private Sub cmdCompare_Click()
End Sub
Чтобы создать обработчик для другого события, необходимо выбрать событие в правом списке в окне кода (см. рис. 10).
В списке довольно много различных событий. В левом списке вы
можете выбрать доступные элементы управления, которые помещены на
форму. В данном случае в списке вы видите cmdCompare.
21
Рис. 10. Список событий кнопки
Заметьте, что у процедуры обработки события Click нет входных
параметров, о чём нам говорят пустые скобки. Добавить свои параметры
в эту процедуру нельзя. У процедур обработки некоторых других событий могут быть параметры. Например, у события MouseMove (координаты курсора мыши) или KeyUp (код отжатой клавиши). Эти параметры
передаются незаметно для программиста, и их можно использовать по
своему усмотрению (а можно и вовсе не использовать).
Теперь давайте приступим непосредственно к программированию.
Для начала объявим переменные с типом Double (для хранения вещественных чисел):
Private Sub cmdCompare_Click()
' объявляем переменные
Dim paramA As Double
Dim paramB As Double
End Sub
Теперь считаем введённые параметры A и B. Для этого присвоим
переменным paramA и paramB значения свойства Text этих полей для
ввода (TextBox). Мы можем это сделать потому, что Visual Basic сам
преобразует число в строке в обычное число с плавающей точкой. Получим следующий код (далее все вставки будем делать в эту функцию):
Private Sub cmdCompare_Click()
' объявляем переменные
Dim paramA As Double
Dim paramB As Double
paramA = txtParamA.Text
paramB = txtParamB.Text
End Sub
22
Доступ к свойству любого элемента управления осуществляется через точку, которая разделяет имя свойства и имя элемента. Обратите
внимание на технологию Intellisence. Visual Basic выдает список доступных свойств этого элемента управления. Это очень удобно. Вам не придётся выучивать наизусть длинные и сложные названия свойств. Достаточно выбрать нужное свойство из списка и всё.
Теперь нам нужно написать условия, используя конструкцию
If…Else…EndIf:
If (paramA > paramB) Then
txtResult.Text = "Первое число больше второго"
Else
txtResult.Text = "Второе число больше первого"
End If
Не забывайте про отступы! С ними код намного нагляднее. Отступы
ставятся клавишей Tab. А повторяющиеся коды программы лучше копировать и вставлять в нужное место.
Программа уже практически готова. Осталось только описать коды
для кнопки «Закрыть». Код будет выглядеть так:
Private Sub cmdExit_Click()
End
End Sub
Теперь можно запустить программу и проверить, верно ли она работает. Нажмите кнопку Start. Появится наша форма. Введите значения в
поля:
А = 3, В = 6
Нажмите на кнопку “Сравнение”. Если вы всё делали правильно, то
должны увидеть следующую картину:
Рис. 11. Результат работы программы
Программа выдала верный результат. Можете поэкспериментировать, вводя разные значения коэффициентов.
Но, обратите внимание! Что произойдёт, если мы, не введя значения
в поля, нажмём на кнопку? Что тогда присвоиться нашим переменным?
Visual Basic сгенерирует ошибку.
23
4. Отладка программы
Если в программе найдены ошибки, то надо их исправлять. Запустите программу. Ничего не вводя в поля нажмите на кнопку. Visual Basic
выдаст окно, в котором скажет: “Type mismatch”, т.е. ошибка в типах
(см. рис. 12).
В окне доступны 3 кнопки:
End – завершить приложение;
Debug – показать место
возникновения ошибки, чтобы
мы смогли от неё избавиться;
Help – вызвать справку о
возникшей ошибке.
Нажмите Debug. Visual
Рис. 12 Окно сообщения об ошибке
Basic покажет вам причину
возникновения ошибки:
Жёлтым цветом выделена строка - причина ошибки. Если навести
курсор мыши на имя переменной, то всплывёт подсказка, в которой
Visual Basic сообщит нам её значение. Такая возможность доступна только в режиме Debug.
Текущий режим можно узнать из заголовка окна Visual Basic.
Например:
 в режиме проектировки интерфейса это строка:
Имя_Проекта - Microsoft Visual Basic [design]
 при запущенном приложении:
Имя_Проекта - Microsoft Visual Basic [run]
 в режиме Debug:
Имя_Проекта - Microsoft Visual Basic [break]
Рис. 13. Строка программы, в которой найдена ошибка
24
Наведите мышкой на txtParamA.Text. VB сообщит о том, что значение текстового поля txtParamA.Text = "" (пустым кавычкам, или по
другому - пустой строке). Здесь можно догадаться, почему происходит
ошибка несовпадения типов. Ведь переменная paramA должна хранить
вещественное число, а здесь мы пытаемся присвоить ей строковое значение – «». Если бы paramA имела тип String, или в txtParamA.Text была
бы строка - число («123») - ошибка бы не возникла. А здесь Visual Basic
просто не может сам конвертировать строку «» в число типа Double. Давайте изменим код:
paramA = txtParamA.Text
paramB = txtParamB.Text
На код:
paramA = Val(txtParamA.Text)
paramB = Val(txtParamB.Text)
Теперь ошибок несовпадения типов быть не может, т.к. функция Val
при любом параметре возвратит число, а сама функция Val никогда не
вызовет ошибки.
Исправление ошибок также возможно и в режиме трассировки. Это
бывает необходимо в том случае, если в программе допущена логическая
ошибка (неверное условие или действие).
При проверке работы программы Вы обнаружите следующую
ошибку: если числа равны, то программа выводит сообщение, что второе
число больше первого. Нужно исправить эту ошибку. Для этого надо переписать код условия следующим образом:
If (paramA > paramB) Then
txtResult.Text = "Числа равные"
Else
If (paramA > paramB) Then
txtResult = "Первое число больше второго"
Else
txtResult = "Второе число больше первого"
End If
End If
5. Окончательная компиляция
Наша программа отлажена. Однако в ряде случаев возникает необходимость создания exe-файла. Для этого необходимо проделать следующие манипуляции:
1. В меню File выбрать Make имя_проекта.exe (например, Project1.exe)
2. Ввести имя выходного exe-файла (наберите, к примеру, “Площадь”)
3. Если необходимо, то выбрать некоторые опции, нажав на кнопку
25
Options. (К этим опциям также можно добраться через меню
Project→Project Properties).
4. Нажать ОК, и, если Visual Basic не найдёт никаких ошибок в
программе, то откомпилирует её и сохранит в указанном вами каталоге
под указанным вами именем.
Теперь можно запустить полученный exe файл и проверить его работоспособность. Теперь вы можете транспортировать его куда хотите,
принести куда-то и т.д.
Контрольные вопросы
1. Основные этапы создания приложений на языке Visual Basic.
2. Назначение этапа анализа программы.
3. Назначение этапа разработки интерфейса.
4. Назначение этапа написания программных кодов.
5. Назначение этапа отладки программы.
6. Назначение этапа компиляции программы.
7. Основные типы переменных в Visual Basic.
8. Понятие выражения. Операторы, виды операторов.
9. Управляющие конструкции языка Visual Basic. Ветвления и циклы. Примеры.
10.Как осуществляется запуск программы и отладка при возникновении ошибок.
11.Понятие принципа по умолчанию. Что такое константа. Приоритет операторов. Примеры.
12.Основные типы переменных в Visual Basic. Что такое константа?
Примеры.
13.Понятие выражения. Операторы, виды операторов.
14.Управляющие структуры языка Visual Basic. Ветвления и циклы.
Примеры.
15.Как осуществляется запуск программы и отладка при возникновении ошибок?
Задания для самостоятельной работы
Изучив методические указания и составив первую программу, решите следующие задачи:
1. Вычислить значение функции f(x,y) = x2+5x-10 при условии, что
x(0;15). Если переменная не попадает в заданный интервал, то напечатать в окне вывода результата “Задано неверное значение”.
2. Составить программу, которая вычисляет значение выражения
исходя из следующих условий: k  x 2  25 если x  5 и k  x 3  125
если x  5 .
26
3. Определить, какое из двух чисел является больше: первое или
второе. Вывести результат в виде: “Первое число больше” или “Второе
число больше”.
4. Даны три числа: a, b и с. Отсортировать их и вывести порядке
возрастания. Найти среднее арифметическое этих чисел.
5. Заданы две точки А(x,y) и B(x,y). Найти расстояние между этими
точками. Если одна из точек (или обе) попали в четвертую четверть,
предусмотреть возможность сообщения об этом событии.
6. Даны три числа x, y, z. Найти Т = Аz, если А = х2 + 8y при x > 2 и
А = 2y2 – x при x  2.
7. Составить программу, которая вычисляет значение выражения
исходя из следующих условий:
x 2  25
x  120
если x  5 .
t
если x  5 и t 
60
60
8. Найти время падения камня с высоты h. Ускорение свободного
падения считать равным g = 9.8 м/с2. Вычислить то же с условием, что
камень имел начальную скорость V0_= 2 м/c.
9. Составить программу, которая вычисляет значение выражения
исходя из следующих условий:
x  12
x3
если x  4 .
m
если x  4 и m 
2
4
10. Даны три числа. Вывести наименьшее из них и в отдельном окне
вывести сообщение о том, положительное ли это число или отрицательное.
11. Вычислить значение функции f(x,y) = (x+5)/(x-10) при условии,
что x10. Если переменная x=10, то напечатать в окне вывода результата
“Деление на 0”.
12. Даны три числа. Первое число возвести в квадрат, а второе
умножить на третье. Сравнить полученный результат (например, в текстовом поле вывести “квадрат первого числа больше произведения второго и третьего”).
Лабораторная работа №3
Visual Basic: программа калькулятор
Объем – 2 часа.
Цель работы: ознакомление с условным оператором Select
Case...End Select, работа с массивами объектов.
1. Анализ будущей программы
Программа калькулятор должна выполнять различные арифметические действия (сложение, вычитание, умножение, деление, вычисление
квадратного корня числа) с вводимыми числами.
27
Составление алгоритма в виде блок-схемы для подобной программы
– задача трудоемкая, но можно обойтись и без нее. Основной идеей программы будет использование массива объектов (командных кнопок) для
ввода чисел, а также использование оператора выбора для реализации
операций с числами (условный оператор Select Case...End Select).
Условный оператор Select Case...End Select
Конструкция Select Case “принимает решение” на основе анализа
значения выражения, которое указывается в строке Select Case:
Select Case <Анализируемое_выражение>
Case <Значение1>
<Оператор1.1>
...
<Оператор1.M>
Case <Значение2>
<Оператор2.1>
...
<Оператор2.K>
...
Case <ЗначениеN>
<ОператорN.1>
...
<ОператорN.S>
Case Else
<Оператор1>
...
<ОператорZ>
End Select
Данная конструкция работает следующим образом: будет выполнена
та группа операторов, которая стоит после строки case со значением, которое приняло анализируемое выражение.
Пример:
В зависимости от значения переменной iPr, строковой переменной
strResult присваиваются различные значения
Select Case iPr
Case 1
strResult = "iPr = 1"
Case 2, 3, 4
strResult = "iPr = 2, 3 или 4"
Case 5 To 9
strResult = "iPr находится в диапазоне от 5 до 9"
Case iPr < 0
strResult = "iPr меньше 0"
28
Case iPr > 9
strResult = "iPr больше 9"
Case Else
strResult = "iPr равно 0"
End Select
2. Проектирование интерфейса
Запустите Visual Basic. Выберите тип Standart EXE. Поместите на
форму
элементы
управления, как показано на рис. 14.
Сначала необходимо в окне установить
рамку
(Frame
). Затем
на форму вносятся
кнопки.
Определите
(используя
окно
Properties
(СвойРис. 14. Примерная схема размещения объектов на форме
ства)
свойства
каждого объекта, размещенного на форме, пользуясь таблицей. Окно
вызывается клавишей F4 или из горизонтального меню View – Properties
Window (Вид – Окно свойств).
Таблица 4
Элемент управления
Форма (Form)
Рамка (Frame)
Кнопка Пуск (Command Button)
Кнопка Выход (Command Button)
Кнопка = (Command Button)
Кнопка Сброс (Command Button)
Окно ввода выражения (TextBox)
Окно вывода результата (TextBox)
Кнопка с цифрой 1
(Command Button)
Name
frmCalc
frame1
cmdRun
cmdExit
CmdRezult
cmdCancel
TxtCalc
TxtRezult
CmdNumber
Caption
Калькулятор
Пуск
Выход
=
Сброс
нет
нет
Text
нет
нет
нет
нет
нет
нет
нет
Enabled
True
True
True
True
False
False
True
True
False
Слово “нет” в таблице означает, что такого свойства у объекта нет.
Последняя строка этой таблицы соответствует кнопке, которая будет
использоваться для ввода цифры “1”. Остальные кнопки можно создать
следующим образом: скопируйте созданную кнопку cmdNumber (ctrl-C)
и отвечайте «Да» («Yes») на вопрос VB «Вы уже создали кнопку с именем cmdNumber. Хотите ли создать массив фигур?» («You already have a
control named ‘cmdNumber’. Do you want to create a control array?»). Повторите копирование 15 раз (нажимайте ctrl-V и протаскивайте копию
29
«на место», см. рис.14).
Посмотрите на имена Ваших кнопок (в окошке свойств). Вы увидите
в скобках их номера: 0,1, …, 15 (всего 16 кнопок с одинаковыми свойствами): cmdNumber(0),…,cmdNumber(15).
Кнопкам 0,…,9 заголовки мы присвоим программно. Остальным
зададим следующие заголовки и свойства (см. таблицу 5).
Таблица 5
Элемент управления
Кнопка десятичной точки
(Command Button)
Кнопка суммирования
(Command Button)
Кнопка вычитания (Command Button)
Кнопка умножения (Command Button)
Кнопка деления (Command Button)
Кнопка извлечения квадратного корня
(Command Button)
Name
сmdNumber(10)
Caption
Enabled
True
сmdNumber(11)
+
True
сmdNumber(12)
сmdNumber(13)
сmdNumber(14)
–
*
/
True
True
True
сmdNumber(15)
корень
True
3. Написание программного кода
Двойными щелчками левой кнопки мыши заходите в окно программных кодов и для каждого объекта записывайте коды (программы,
вызываемые событиями – нажатием кнопок).
Начнем с написания кодов для кнопки cmdExit. Двойным щелчком
вызовем окно программных кодов и выше процедуры обработки нажатия
на эту кнопку (выше строки Private Sub cmdExit_Click( )) в
разделе (General) – Declarations объявим общие для всех программ переменные:
Dim perv, vtor As String ‘perv – для первого числа формулы,
‘vtor -
для второго
Dim a As String ‘в а хранится знак арифметического действия
Dim zagotovka As String ‘в zagotovka будут конструироваться
‘числа формулы по мере их набора щелчками по кнопкам с цифрами
Dim rezult As Single ‘rezult хранит результат вычисления
Коды, которые нужно записать для кнопки cmdExit:
Private Sub cmdExit_Click( )
End
End Sub
Коды, которые нужно записать для кнопки cmdRun:
Private Sub cmdRun_Click( )
‘В цикле на кнопки записываются цифры от 0 до 9
For i = 0 To 9
CmdNumber(i).Caption = Str(i)
‘на i-й кнопке
‘записывается текст, содержащий число i, для этого используется
‘встроенная функция Str( )преобразования числа i в текстовую форму
Next i
30
‘В цикле от 0 до 15 кнопки “включаются”, т.е. их можно “нажимать”
For i = 0 To 15
cmdNumber(i).Enabled = True
Next i
cmdRezult.Enabled = True
cmdCancel.Enabled = True
End Sub
Коды, которые нужно записать для кнопки cmdCancel:
Private Sub cmdCancel_Click( )
txtCalc.Text = “0” ‘очистка окошка ввода чисел
txtRezult.Text = “0” ‘очистка окошка вывода результата
rezult = 0
‘очистка значения результата
perv = “”
‘очистка первого числа формулы
vtor = “”
‘очистка второго числа формулы
zagotovka = “” ‘очистка заготовки для формирования чисел
End Sub
Коды, которые нужно записать для кнопки cmdNumber:
Private Sub cmdNumber_Click(Ind As Integer)
Static flag
If perv = “”
Then flag = 0
If Ind <= 10 Then ‘Если нажата клавиша с цифрой или (.), то:
‘к тексту, который уже ввели, прирастим текст с нажатой кнопки
txtCalc.Text = txtCalc.Text + cmdNuber(Ind).Caption
‘аналогично прирастим "заготовку" для первого числа формулы
zagotovka = zagotovka + cmdNumber(Ind).Caption
Number = Val(zagotovka) ‘Преобразуем строку символов
‘zagotovka в число Number с помощью встроенной функции Val( )
If flag = 0 Then ‘Различим, с каким числом формулы “работаем”
perv = Number ‘если flag = 0, то с первым
Else
vtor = Number ‘если flag = 1, то со вторым
End If
‘Если нажата одна из кнопок арифметических действий, то:
Else
‘в а запоминаем знак действия, это понадобится при вычислениях
a = cmdNumber(Ind).Caption
‘к отображаемому в окне тексту (числу), прирастим текст
‘с нажатой кнопки арифметического действия
txtCalc.Text = txtCalc.Text + a
zagotovka = “” ‘переменная готова к приёму второго числа
flag = 1 ‘разрешаем конструировать второе число и
‘одновременно запрещаем добавлять новые цифры к первому
End If
End Sub
31
Замечание: в аргументе подпрограммы написано выражение Ind As
Integer. Оно означает, что при нажатии одной из кнопок, сформированных как массив, образуется целое число Ind, равное номеру нажатой
кнопки. Тип числа – целое (Integer).
Область существования переменной flag определена оператором
Static, т.е. в промежутках между вызовами данной подпрограммы значение, которое хранится в переменной flag, сохраняется, не обнуляется.
Чтобы понять, какой в этом смысл, замените Static на Dim. Программа
будет работать неверно, не будет формироваться второе число формулы.
Коды, которые нужно записать для кнопки cmdRezult:
Private Sub cmdRezult_Click()
Select Case a
‘проверяем знак действия
Case "+"
‘Если сложение, то:
rezult = perv + vtor
Case "-"
‘Если вычитание, то:
rezult = perv - vtor
Case "*"
‘Если умножение, то:
rezult = perv * vtor
Case "/"
‘Если деление, то:
rezult = perv / vtor
Case "Корень"
‘Если извлечение корня, то:
rezult = Sqr(perv)
End Select
txtRezult.Text = Str (rezult) ‘Вывод результата в окно
End Sub
Теперь осталось запустить программу и проверить ее работоспособность.
4. Отладка программы
При необходимости, нужно будет самостоятельно исправить ошибки, возникающие в результате выполнения программы.
Контрольные вопросы
1. Условный оператор Select Case. Пример его применения.
2. Для чего используется элемент Рамка?
3. Как создать массив объектов с одинаковыми свойствами?
4. Как осуществляется вывод числа в текстовое поле?
5. Программная обработка массивов объектов на примере кнопки.
6. Для каких целей используются функции Str() и Val()?
7. Назначение метода Enabled командной кнопки.
8. Для чего используется оператор Static?
9. С помощью каких конструкций удобно обрабатывать массивы
объектов?
32
10. Какие способы запуска программы при ее отладке можно использовать?
Задания для самостоятельной работы
Изучив методические указания и составив программу – калькулятор,
усовершенствуйте ее, добавив к имеющимся операциям следующие:
1. Синус числа (число вводится в градусах).
2. Косинус числа (число вводится в градусах).
3. Натуральный логарифм числа.
4. Вычисление функции ex.
5. Вычисление функции 1/х.
6. Целая часть числа (функция Int()).
7. Квадрат числа.
8. Факториал числа.
9. Возведение числа в степень n.
10. Извлечение корня n-ой степени.
11. Логарифм числа а по основанию b.
12. Гиперболический синус числа.
33
Список литературы
1. Ананьев А.И., Федоров А.Ф. Самоучитель Visual Basic 6.0 – Спб.:
БХВ – Санкт-Петербург, 2000. – 624 с.
2. Браун С. Visual Basic 6.0: Учебный курс – Спб.: Питер, 2000. –
576_с.
3. Кларк Д. Объектно-ориентированное программирование в Visual
Basic – Спб.: Питер, 2003. – 352 с.
34
Составители: Денис Васильевич Медведев
Елена Васильевна Морозова
Людмила Петровна Тарасова
ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ VISUAL BASIC
Часть I
Методические указания к лабораторному практикуму
Под редакцией авторов
Темплан 2005 г., поз. № 2.
Подписано в печать 07. 06. 2005 г. Формат 60×84 1/16.
Бумага потребительская. Гарнитура ”Times“.
Усл. печ. л. 2,19. Усл. авт. л. 2.
Тираж 100 экз. Заказ
Волгоградский государственный технический университет
400131 Волгоград, просп. им. В. И. Ленина, 28.
РПК «Политехник»
Волгоградского государственного технического университета
400131 Волгоград, ул. Советская, 35.
Download