Программирование на visual basic
Скачать 1.19 Mb.
|
21.10.00 16:42 МИНИСТЕРСТВО ОБРАЗОВАНИЯ РФ МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНДУСТРИАЛЬНЫЙ УНИ- ВЕРСИТЕТ Н.А. Берков ПРОГРАММИРОВАНИЕ НА VISUAL BASIC УЧЕБНОЕ ПОСОБИЕ Издание третье, переработанное Москва 2001 2 УДК 681.3.06 ББК 32.973-01 Б48 Берков Н. А. ПРОГРАММИРОВАНИЕ НА VISUAL BASIC: Учебное пособие. – М: МГИУ, 2001. –152с. Данное учебное пособие предназначено для студентов и учеников старших классов из подшефных школ МГИУ, изучающих информатику. Приводится описание основных типов данных и операторов популярного алгоритмического языка Visual Basic for Ap- plication. В работе рассмотрено большое число учебных примеров на различные типы алгоритмов. Все приведенные в учебном пособии примеры отлаживались в среде паке- та Microsoft Office 2000 под управлением операционной системы Windows 98. Основ- ное внимание уделено методам программирования стандартных алгоритмов. Рецензент Пярнпуу А.А., д.ф.-м.н., профессор каф. "Вычислительная ма- тематика и программирование" (МГАИ) Редактор ЛР № 020407 от 12.02.97 Подписано в печать Сдано в производство Формат бумаги 60 x 90/16 Бум. множит. Усл. печ. л. 8,25 Уч.-изд. л. 8,75 Тем. план Тираж 500 Заказ РИЦ МГИУ , 109280, Москва, Автозаводская, 16 ISBN 5-276-00002-6 © Н.А.Берков, 2001 © МГИУ, 2001 3 Введение Алгоритмический язык Basic был разработан в 1964 году как алгорит- мический язык для начинающих пользователей ЭВМ. С тех пор было на- писано несколько тысяч версий языка Basic для самых различных типов ЭВМ. Особой популярности он достиг на этапе появления бытовых и пер- вых персональных компьютеров. Эти компьютеры имели малый объем оперативной памяти, в который необходимо было поместить ядро опера- ционной системы, программу пользователя ЭВМ, данные для программы и еще программу перевода с алгоритмического языка на машинный язык. В этих компьютерах Basic служил в качестве операционной системы и про- граммы переводчика программ пользователя в машинный язык. С появле- нием современных ПЭВМ язык Basic был существенно модернизирован под их значительно возросшие возможности. Современная версия алго- ритмического языка Basic имеет название Visual Basic(VB) и является дос- таточно мощным инструментом для решения широкого круга задач: от учебных задач для начинающих пользователей до объектно- ориентированных программ. Язык Visual Basic разработан фирмой Microsoft и практически является стандартом визуального проектирования приложений. Ядро основных операторов Visual Basic полностью позаимствовано с более ранней версии Basic – QBasic. Последняя редакция Visual Basic имеет номер 6.0. Во все приложения всемирно известного пакета программ Microsoft Office (Word, Excel, Access и др.), который установлен практически на всех ПЭВМ мира, встроен вариант языка Visual Basic имеющий название Visual Basic for Application. На Visual Basic for Application пишутся макросы и процедуры текстового процессора Word, табличного процессора Excel, системы управления базами данных Access и т.д. Таким образом, почти на каждом домашнем компьютере, где установлено любое приложение Microsoft Office, можно изучать Visual Basic. Основной целью данного учебного пособия является: помочь читателям научиться достаточно сложному процессу составления программ для компьютера. Для этой цели трудно найти другой такой про- стой и удобный язык программирования. Ныне модные алгоритмические языки C++ и Java не имеют такого удобного визуального интерфейса с пользователем как Visual Basic. После ввода имени функции в Visual Basic сразу же появляется подсказка, дающая информацию о количестве и типах аргументов. При неправильном синтаксисе оператора, метода или другого программного элемента сразу же возникают информация об ошибке и кно- почка, нажав на которую можно получить исчерпывающую информацию об ошибке. Для обнаружения ошибок этапа выполнения в Visual Basic имеется мощный и удобный отладчик. Можно в любом месте программы поставить 4 контрольную точку, в которой на этапе выполнения останавливается про- грамма. Затем, подведя курсор к любой переменной величине в программе, мы узнаем ее значение на момент остановки программы. Это освобождает программиста от многочисленных контрольных печатей на этапе отладки программы и тем самым экономит время этапа отладки программы. Данное учебное пособие ориентировано, прежде всего, на учащихся средних общеобразовательных школ и студентов 1 го курса высших учеб- ных заведений. В программу обучения входит изучение табличного про- цессора Excel. Одним из мощнейших средств этого процессора является умение его самостоятельно записывать код макроса в виде программы на Visual Basic. Следующим сильным средством Excel является простота и удобство построения графиков, диаграмм и гистограмм при помощи мас- тера диаграмм. Проведя расчеты при помощи программы, написанной на VB, и записав значения функции в столбец рабочего листа Excel, можно вызвать подпрограмму автоматического построения графика решения и за- тем при необходимости средствами Excel, Word или другого приложения распечатать на принтере. При работе с VB на Excel удобно результаты вы- водить в ячейки рабочих листов, которые можно затем анализировать и обрабатывать. Все программы, приведенные в данной работе, ориентированы на таб- личный процессор Excel. Кроме того, работа рассчитана на начинающих программистов, поэтому приведены только основные типы данных, опера- торов, методов и свойств объектов VB. Основное внимание в работе уде- лено стандартным алгоритмам программирования. Поэтому такие сложные элементы объектно-ориентированного программирования, как инкапсуля- ция, наследование, полиморфизм, классы и т.д., в данной работе опущены. В момент написания учебного пособия в России используется три ру- сифицированные версии пакета Microsoft Office: Office 5.0, Office 97 и Of- fice 2000. Учитывая, что работа будет опубликована в 2000 году, когда ко- личество копий пакета Office 97 пока что превышает количество копий других версий, работа ориентирована, в основном, на пакет Microsoft Of- fice 97. 5 1. Основные элементы языка 1.1. Первая программа По установившейся традиции большинство учебников по программи- рованию начинаются с первой простейшей программы, печатающей при- ветствие на английском языке: Hello World. На английском, потому что проще. Многие компиляторы необходимо еще научить понимать русский алфавит. Чтобы запустить первую программу, необходимо провести доста- точно трудоемкий процесс инсталляции приложения. Мы предполагаем, что на Вашем компьютере уже установлено приложение Excel с пакета Microsoft Office 97 или 2000 и в него включен раздел Visual Basic. Также предполагается, что читатель уже (хотя бы немножко) знаком с работой в Excel. Напишем первую программу, которая выводит предложение: Привет начинающим программистам! Для этого необходимо войти в Excel 97, Word 97 или Access 97 и одно- временно нажать комбинацию из двух клавиш Alt и F11 (Alt+F11). Вы войдете в стандартное окно Microsoft Visual Basic – Книга1. В главном ме- ню войдите в подменю Вставка и нажмите на пункт Модуль. (Для кратко- сти в дальнейшем будем обозначать Вставка/Модуль.) Возникнет окно: Книга1 Модуль1 (Программа). Существует и второй способ войти в мо- дуль. Для этого необходимо нажать комбинацию клавиш Alt+F8 или Сервис/Модуль/ Макросы. При этом появляется окно со списком имею- щихся в открытом файле программ. После чего, необходимо выбрать уже существующую программу и нажать кнопку иэменить или ввести имя но- вой программы и нажать на кнопку создать. В качестве первой программы после команды Alt+F8, введем в поле имя макроса слово Привет и нажмем мышкой кнопку Создать. Появиться новое окно, в котором записаны три строки. Первая строка является заглавием программы, вторая строка явля- ется пустой и третья строка показывает, что текст программы закончен. Sub Привет() End Sub В пустой строке напишите функцию вывода текста MsgBox с парамет- ром, содержащим выводимый текст. Sub привет() MsgBox (“Привет начинающим программистам!”) End Sub Находясь внутри программы, нажмите функциональную клавишу F5 или на кнопку Run Sub/UserForm (Выполнить программу/Форму). Эта кнопка находится на панели инструментов Visual Basic и имеет форму треугольника. В возникшем 6 окошке Вы получите результат работы программы. На этапе отладки программы результаты удобно выводить в окно от- ладки Debug при помощи метода Print. Вывод в окно отладки удобен еще в том случае, если полученные результаты необходимо выводить на печать или включать в другой файл. Sub привет1() Debug.Print “Привет начинающим программистам!” End Sub Для того чтобы посмотреть результаты работы этой программы, необ- ходимо войти в меню вид/окно отладки или нажать комбинацию из двух клавиш Ctrl+G. В результате этих действий откроется окно отладки, в ко- торую будут выводиться результаты метода Print. Позже мы еще вернемся к функции MsgBox и методу Print для вывода числовой информации и для управления выводом. Если Вы все же работаете с версией Excel 5.0 или 7.0, то для выполне- ния приведенной выше тестовой программа необходимо вставить Модуль. Для этого переместите курсор мышки на название любого рабочего листа таблицы Excel и нажмите правую кнопку мышки. В контекстном меню вы- берите пункт Модуль. В полученном листе Модуль1 можно писать про- граммы на VB. Опытные программисты всегда в текст программы вставляют много- численные комментарии. Они предназначены для того, чтобы другой про- граммист мог разобраться в программе, а также, чтобы сам программист по истечении времени мог легко модернизировать свою же программу. Комментарии можно вставлять в любом месте программы, поставив символ ‘ (апостроф), после которого пишется текст комментария. Весь текст от символа ‘ до конца строки при переводе программы в машинный код компилятор пропускает. Если вся строка является строкой- комментарием, то вначале строки пишется слово Rem, а затем текст- комментарий. Операторы языка Visual Basic пишутся на отдельной строке. В случае, если оператор не вмещается на одной строке, его можно продолжить на следующей строке, добавив в конце продолжаемой строки пробел и сим- вол подчеркивания. Например: Debug.Print “Привет начинающим программистам”; _ “Московского Государственного Индустриального Университета!” Для того чтобы на одной строке написать два коротких оператора их необходимо разделить символом двоеточия. Например: A=cos(x) : B=sin(x): c=0 Программы, написанные в Visual Basic for Application, хранятся внутри файла с документом приложения Word, Excel или Access. Для сохранения написанной программы в пакете Excel, необходимо вернуться в рабочий лист и в пункте меню Файл выбрать команду Сохранить как …, а затем в предложенном окне выбрать папку и ввести имя файла. 7 1.2. Типы данных Как известно, вся информация в компьютере хранится в виде последо- вательности бит (т.е. двух символов 0 и 1). Для того чтобы считать инфор- мацию с определенного адреса, необходимо знать не только начало ин- формации, но и вид информации. Для каждого вида информации есть стандарт ее хранения. Видеоинформация имеет один стандарт, аудиоин- формация — другой, текстовая информация — третий, числовая информа- ция — четвертый и т.д. Причем для хранения числовой информации в ЭВМ имеется несколько типов данных. Целые и вещественные числа хра- нятся в памяти ЭВМ различным способом. 1.2.1. Константы Константы хранят значения, которые нельзя изменять во время вы- полнения программы. Константы также могут иметь имена. Константы, имеющие имена, называются поименованными. В VB имеется ряд встро- енных поименованных констант. Программист также может создавать свои константы. Константы бывают арифметические, логические и символьные. 1.2.1.1. Арифметические константы Арифметические константы в свою очередь разделяются на целые и вещественные. Целая константа представляет собой непустую последовательность десятичных или шестнадцатеричных цифр, возможно с предшествующим знаком + или -. Знак + необязателен, поэтому его можно опустить. Если константа представлена в виде восьмеричного или шестнадцатеричного целого числа, то перед константой ставится два символа &O (в восьмерич- ной системе) или &H (в шестнадцатеричной системе). Примеры целых констант: 1998 -125 0 2737 &HAB1 &O5261 . Последние три целые константы имеют одно и то же значение, но зада- ны в различных системах счисления: десятичной, шестнадцатеричной и восьмеричной. Вещественные константы соответствуют рациональным числам. Применяются два типа записи вещественных констант. Константа в форме с фиксированной запятой, которая записывается в виде целой части числа, десятичной точки и дробной части. Например: 12.3 -3.14159 0.0001. Для очень малых (по абсолютной величине) и очень больших чисел ис- пользуется степенная форма записи вещественных констант: ±α.βE±γ. В математике это число записывается в виде: ±α,β·10 ±γ . При записи знаков — как числа, так и порядка — символ + можно опускать. Примеры констант в такой форме: 1.6E-20 -3.14e+20 8 1E100 0.314e1 31.4e-1 . Диапазон представления констант в степенной форме: от -1,79·10 308 до -4,94·10 -324 для отрицательных чисел и от 4,94·10 -324 до 1,79·10 308 для по- ложительных чисел. Степеннаяформа, в которой целая часть α равна 0, а дробная часть β начинается с цифры большей 0, называется нормализованной формой числа. 1.2.1.2. Логические константы Существуют всего две логические константы True и False, что означает истина и ложь. Логические константы используются в логических выражениях. 1.2.1.3. Символьные константы Символьные константы состоят из последовательности символов, за- ключенных в кавычки. Длиной константы является количество содержа- щихся в ней символов. Каждый символ, включая пробел, занимает в памя- ти 1 байт. Каждый символ, входящий в символьную константу, имеет код яв- ляющийся целым числом в диапазоне от 0 до 255. Первые 128 символов (0–127) набора символов соответствуют буквам и символам стандартной американской клавиатуры. Эти первые 128 символов совпадают с набором символов ASCII. Следующие 128 символов (128–255) представляют буквы национальных алфавитов. Примеры. “Visual Basic” , “ Привет всем программистам”, “Microsoft Office 2000”, “2000”. 1.2.2. Переменные величины В программах написанных на VB часто необходимо вводить обозначе- ния для некоторых величин. Затем эти величины в программе могут изме- няться в зависимости от результата действий некоторых команд других ве- личин. Для хранения значений этих величин в памяти ЭВМ автоматически отводится необходимое количество ячеек памяти. В большинстве языков программирования для хранения таких величин используются переменные. Переменная – именованная область памяти, используемая для хране- ния данных, значения которых можно изменять в ходе выполнения про- граммы. 1.2.2.1. Основные типы переменных Каждая переменная имеет имя (идентификатор), которое обязано быть уникальным в пределах области видимости этой переменной. Кроме того, переменная имеет тип, определяющий ее длину и способ ее хранения в па- мяти ЭВМ. На имя переменной накладываются некоторые ограничения: начинает- ся с буквы; не должно содержать пробелов и специальных символов; длина не более 255 символов; не совпадает с ключевыми словами VB. 9 В современных языках программирования все переменные, используе- мые в программе, необходимо описать, т.е. сообщить компилятору или ин- терпретатору тип всех используемых переменных. В этом случае уменьша- ется количество ошибок, связанных с несоответствием типа переменных. В VB действует следующее соглашение: если в модуль, в котором на- писана программа, включен оператор Option Explicit, то необходимо в обя- зательном порядке описывать все встречающиеся в программе перемен- ные. В табл. 1.1 приведены основные типы данных. В первом столбце указа- но наименование типа данных; во втором столбце — размер памяти, необ- ходимый для переменной соответствующего типа; в третьем столбце — диапазон изменения переменных и в четвертом столбце — краткое описа- ние переменной. Таблица 1.1 Назва- ние Раз- мер Диапазон изменения Описание Byte 1 байт От 0 до 255 Байтовая целая переменная Integer 2 бай- та -32768 до 32767 Короткая целая переменная Long 4 бай- та От –2 147 483 648 до 2 147 483 647 Длинная целая переменная Currency 8 байт Денежный формат. 4 знака по- сле запятой и 15 знаков для це- лой части Single 4 бай- та ≈-3,4·10 38 до - 1,7·10 -45 ≈1,7·10 -45 до 3,4·10 38 Вещественная переменная с одинарной точностью. (Точ- ность 7 значащих цифр) Double 8 байт ≈-1,7·10 308 до - 4,9·10 -324 ≈4,9·10 -324 до 1,7·10 308 Вещественная переменная с двойной точностью. (Точность 15 значащих цифр) Decimal· 14 байт ≈±79·10 28 для це- лых чисел и ≈±7,9 для дробных чи- сел 29-значное целое десятичное число или дробное сверхточное число с 28 знаками после запя- той String Кол- ву сим- волов До ≈2 млрд. символов Строковая переменная произ- вольной длины String*n n байт Не более 65567 символов Строковая переменная постоян- ной длины n байт 10 Boolean 2 бай- та True или False Логическая переменная Date 8 байт От 1 января 100 г до 31 декабря 9999 г Переменная для описания даты Object 4 бай- та Передает ссылку (адрес) на объект произвольного типа Variant 16 байт Переменная хамелеон Кроме основных типов данных представленных в таблице, имеется множество второстепенных типов данных. Программист может вводить свои пользовательские типы данных, в других языках программирования называемые структурами. |