Язык программирования visual basic. Иллюстрированный самоучитель по Basic, вводный курс

Занятие 1

Введение в язык программирования Basic.

Для представления алгоритма в виде, понятном компьютеру, служат языки программирования . Сначала разрабатывается алгоритм действий, а потом он записывается на одном из таких языков. В итоге получается текст программы - полное, законченное и детальное описание алгоритма на языке программирования. Затем этот текст программы специальными служебными приложениями, которые называются трансляторами , либо переводится в машинный код (язык нулей и единиц), либо исполняется.

Языки программирования - искусственные языки. От естественных они отличаются ограниченным числом "слов", значение которых понятно транслятору, и очень строгими правилами записи команд (операторов ).

Для написания текста программы можно использовать обычный текстовый редактор (например, Блокнот), а затем с помощью компилятора перевести её в машинный код, т.е. получить исполняемую программу. Но проще и удобнее пользоваться специальными интегрированными средами программирования.

Basic (Бейсик) создавался в 60-х годах в качестве учебного языка и очень прост в изучении. По популярности занимает первое место в мире.

Алгоритмический язык Бейсик используется преимущественно в режиме диалога человека и ЭВМ. Этот язык ориентирован на решение различных задач вычислительного и не вычислительного характера. Название языка возникло от сокращения английских слов (Beginner’s Allpurpose Symbolic Instuction Code), что в переводе означает “многоцелевой язык символических инструкций для начинающих”.

Алфавит языка (основные символы языка).

В языке Бейсик используют следующие основные символы:

а) 26 букв заглавного латинского алфавита A,B,C,...,X,Y,Z.

(допустимы также строчные).

б) цифры 0,1,...,9

в) Специальные символы:

1) знаки арифметических операций +,-,*,/,\,^.

2) знаки отношений <, <=, =, >, >=, <>

3)) (. : ; , % ! # $ ? “

Язык Бейсик использует ряд слов для обозначения команд, операторов, имен функций. Изменить значение этих слов пользователь не может, поэтому эти слова называются зарезервированными (служебными, ключевыми). К ним относятся:

1) имена команд: NEW, RUN, LIST...

2) имена функций: SIN, COS, ATN,...

3) имена операторов: READ, INPUT, IF...

Основные элементы языка .

К основным элементам языка относятся константы, переменные и специальные функции.

Константы .

Константы представляют собой объекты, чьи значения не могут быть изменены в процессе выполнения программы. В языке Бейсик различают числовые и символьные константы. Числовые константы делятся на целые и действительные.

1)Целая константа имеет вид обычных десятичных чисел со знаком или без него. Целый тип константы указывает знак %. Целые константы могут принимать значения в диапазоне от -32768% до 32768%.

2) Вещественная константа может быть записана в двух формах:

а) нормальный 3.21

б) экспотенциальный 1.2Е3 = 1200

Пример. Определить правильно или неправильно записаны константы: 37.25Е28, 1.5Е2, 3Е, Е5, 1Е2.5, 34Е 24, 33%, 4.2Е2%, 3Е44, 44.

3) Символьные (строковые или текстовые) константы представляют собой последовательность символов (цепочку литер) заключенную в кавычки “ ПРИВЕТ”. Максимальная длина текстовой константы 255 символов. В символьных константах могут использоваться любые символы алфавита, кроме кавычек.

Переменные.

В отличие от констант переменные представляют такие объекты, значение которых могут изменяться в процессе выполнения программы . Каждая переменная снабжается уникальным именем - идентификатором, состоящим из одних букв либо из букв и цифр. Имя переменной в конце может иметь знак, определяющий тип переменной:

% - целая переменная;

$ - символьная переменная.

Имя переменной может содержать от одного до 40 алфавитно-цифровых символов. В идентификаторах должны использоваться только буквы латинского алфавита и начинаться обязательно с буквы.

Стандартные и нестандартные функции .

Функцию можно представить себе как некоторую вычислительную процедуру, на вход которой подается набор допустимых аргументов, а на выходе получается единственный результат - значение числового или символьного типа . Любая функция реализуется с помощью программы, которая либо является постоянной компонентой системы программирования, либо должна быть сконструирована в той или иной форме пользователя. В соответствии с этим все функции подразделяются на системные (стандартные) и пользовательские (нестандартные). Подобно переменным каждая функция снабжается уникальным именем, которое образуется по тем же правилам, что и имя переменной. За стандартными функциями закреплены фиксированные имена, которые нельзя употреблять в качестве идентификаторов других объектов. Аргумент функции всегда записывается непосредственно за названием функции и заключается в скобки.

Стандартные математические функции :

SIN (X ) - sinx

ABS(X) -  x 

SQR(X) -  x

INT(X) - нахождение ближайшего целого, не превосходящего х

FIX(X) - ближайшее целое с округлением

SGN(X)-взятие знака числа (-1 при x<0 , 1 при x>0, 0 при x=0)

RND(X)- генерация случайных чисел от 0 до 1.

Аргумент тригонометрических функций должен задаваться в радианах. Результаты работы функции ATN(X) также выдается в радианах. Аргументы функции LOG(X) должны быть положительными.

Натуральный логарифм легко перевести в простой логарифм

MOD – нахождение остатка от деления.

Арифметические выражения.

Арифметическое выражение является аналогом обычной алгебраической формулы. Оно задает правило выполнения конечной последовательности арифметических действий, результатом которой является число. В арифметическое выражение могут входить константы, переменные и функции, соединенные между собой знаками арифметических операций и круглыми скобками.

В языке Бейсик различают следующие арифметические операции:

Сложение;

Вычитание;

* умножение;

/ деление;

\ целочисленное деление;

^возведение в степень.

Записать на Бейсике следующее выражение:

(X ^2+SIN (X )^2)/(2.5*SQR (X ))

Правила записи арифметических выражений.

1. Арифметические выражения записываются линейно, т.е. в строчку.

2. Два знака операций не должны стоять рядом:

3. Круглые скобки используются для указания очередности выполнения операции.

4. Если последовательность выполнения операций не полностью определены скобками, то действия выполняются в следующем порядке:

Приоритет операций.

1) Функции.

2) Возведение в степень.

3)Умножение и деление.

4) Деление нацело.

5) Сложение и вычитание.

5. Возведение в целочисленную степень выполняется путем последовательных умножений.

6. Если показатель степени вещественный, то основание Х должно быть положительным.

7. Операция извлечения корня любой степени кроме квадратного заменяется возведением в дробную степень
x^(m/n).

Операторы

CLS – очистка экрана .

REM – оператор комментария. Все что следует после этого оператора до конца строки игнорируется компилятором и предназначено исключительно для человека. Т.е. здесь можно писать что угодно. Удобно использовать комментарий в начале программы для указания её названия и назначения.

REM Это комментарий

можно и так:

" Это тоже комментарий

1.Оператор присваивания.

Программа на языке Бейсик представляет собой последовательность конкретных указаний ЭВМ: ввести информацию, вычислить значение выражений, напечатать результат и т.д.

Каждое конкретное указание называется оператором. Все операторы можно разделить на 2 группы: выполняемые и невыполняемые.

Оператор присваивания имеет вид

V=A, где V - переменная(простая или индексированная), А - арифметическое выражение.

Оператор присваивания выполняется следующим образом: вычисляется значение арифметического выражения, полученный результат присваивается переменой, т.е. заносится в ячейку памяти ЭВМ, соответствующую переменной V.

Пример: x=3.4 z=x+y z=8.9

y =5.5 z =z +1 z =9.9

1. К моменту выполнения оператора присваивания все переменные, входящие в арифметическое выражение должны быть определены.

2. Тип переменной, стоящей слева от знака присваивания может не совпадать с типом выражения, стоящим справа от знака присваивания. В этом случае осуществляется автоматическое преобразование числового значения из одного формата в другой. Никаких округлений при этом не происходит.

2. Оператор ввода.

Операторы ввода-вывода информации предназначены для обмена информации между оперативной памятью ЭВМ и ее внешними устройствами.

Оператор ввода INPUT

При его использовании данные вводятся с клавиатуры дисплея во время выполнения программы.

Общий вид: INPUT V 1 ,V 2 , ...,

где V 1, V 2 ,.. - список переменных, разделенных запятой.

При выполнении этого оператора ЭВМ делает паузу и на экране появляется?, и ЭВМ ждет ввода данных. На клавиатуре набираются числа, подлежащие вводу в порядке, задаваемом списком ввода. Если чисел несколько, то они отделяются друг от друга запятой. После того, как ввод данных закончен необходимо нажать ввод.

В общем виде оператор INPUT записывается следующим образом:

INPUT [;][“text ”][;] V 1 ,V 2 ,...

Выполнение оператора INPUT начинается с приостанова работы программы. В этот момент на экране дисплея появляется сообщения, заданное параметром “text”, вслед за которым в этой же строке или в начале следующей появляется знак “?”. Позиция, в которой появляется знак вопроса зависит от наличия или отсутствия символа “;” сразу после наименования оператора. Если символ “;” присутствует, то знак “?” появляется в той же строке, что и подсказка “text”. Если в качестве разделителя, стоящего за параметром “text” используется “,”, то выдача “?” отменяется.

3. Оператор вывода.

Общий вид PRINT список вывода (на экран).

Список вывода может содержать имена переменных, константы, арифметические выражения, тексты.

Тексты применяются для печати всевозможных заголовков и пояснений. Текст может содержать любые символы, включая буквы русского алфавита. Сам текст заключается в кавычки.

Если в списке вывода содержатся арифметические выражения, то они сначала вычисляются.

Для удобства восприятия информации строка экрана разбивается на 6 зон по 14 позиций первые пять и 10 позиций последняя (всего 80). Если разделителем в списке вывода является запятая, то вывод осуществляется по зонам. Если данные не помещаются в зоне, то берется следующая зона.

Появление запятой всегда указывает на переход в следующую зону. Если в качестве разделителя в списке вывода используется “;”, то вывод осуществляется в так называемом плотном формате, т.е. каждая следующая данная печатается после предыдущей через пробел. При последнем “,” или”;” переход на новую строку не осуществляется.

Простейшие примеры алгоритма с командами ввода-вывода.

3.1. Простой ввод-вывод

3.2. Ввод-вывод с коментариями

10 INPUT “Введите два числа”; А,В

20 PRINT “Вы задали А=“;А;”В=“;В

3.3. Простейшие вычисления формул:

3.4. Решение геометрических задач.

Задана сторона квадрата А. Найти площадь квадрата S.

10 INPUT “Чему равна сторона квадрата”;А

30 PRINT “ Площадьквадрата S=“; S

3.5. Решение физических задач.

Велосипедист едет со скоростью V в течении t времени. Какой путь он проедет.

10 INPUT “Чему равна скорость”;V

20 INPUT ”Какое время”; t

30 S =V *t

40 PRINT “ Путь S=“;S

4. Записать выражения на языке Бейсик:

y=ABS(x^2+TAN(x))

y=COS(x) + x^(3/2)

y=(TAN(x)+ABS(x))/(2*SQR(x)+sin(x+5*x^2)^3)

Задачи для самостоятельного решения.

1.1. Записать выражение на Бейсике:


Домашнее задание


Стив Каммингс - VBA для чайников

Стив Кяммингс занимается программированием больше 20 лет, используя такие разные языки программирования, как ассемблер, COBOL и C++, а также VBA и Visual Basic. Он автор и соавтор более десятка компьютерных книг, среди которых и книга Секреты Office 97, выпушенная издательством Диалектика. Кроме того, ему принадлежат сотни статей, опубликованных в известных компьютерных журналах, в том числе PC World, Macworld, PC Magazine, PC/Computing и PC Week.

Посвящение

Моей бабушке по поводу 97-летия

Благодарности

Спасибо всем сотрудникам издательства Hungry Minds, а особенно моим редакторам:

Джеймсу Расселу (James Russel), который проявил немало внимания и терпения при работе над настоящей книгой, а также Джейд Вильяме (Jade Williams) и Кэлли Оливер (Kelly Oliver).

Я благодарен компании VCommunications (www.v-com.com) за предоставление таких программных продуктов, как System Commander и Partition Commander. Это замечательные утилиты для настройки работы нескольких операционных систем на одном компьютере, что мне требовалось при работе с beta-версиями Microsoft Office XP. Также спасибо Лизе Роббинс (Lisa Robbins) из компании Waggener Edstrom, подразделения компании Microsoft, за помошь при знакомстве с нюансами новой версии VBA, а также за предоставление пробных версий программных продуктов компании Microsoft, необходимых мне при работе.

Начинаем...

Да, это именно та книга, которая необходима для того, чтобы начать освоение VBA (аббревиатура от Visual Basic for Applications, что означает Visual Basic для приложений).

Благодаря этой книге вы узнаете об основных принципах программирования в VBA и получите необходимые навыки для создания полезных программ. А самое главное, вы сможете сделать это без лишних усилий.

В книге использовано много примеров, написана она легко и понятно, поскольку, кто знает, сколько скучных томов уже издано в этом мире! Я попытался изложить все самым обычным языком, по возможности исключив из употребления режущий ухо нормального человека специальный жаргон. И с этого момента я начинаю отпускать (иногда не самые лучшие) шуточки, чтобы вам было на что направить свое раздражение.

С другой стороны, обсуждение рассматриваемых вопросов не слишком упрощено, иначе оно было бы лишено всякой ценности. Если отбросить шутки в сторону, то эта книга- полноценное справочное пособие, охватывающее все основные разделы VBA.

О чем эта книга

Вы, наверное, уже знаете, что VBA - это язык программирования, встроенный во множество программ, от приложений Microsoft Office, Microsoft Project, Visio и AutoCAD до многочисленных специализированных приложений, предназначенных для управления производственными процессами, учета финансовых ресурсов или информационной поддержки клиентов.

В этой книге рассмотрены все существенные аспекты программирования в VBA. Здесь вы найдете достаточно полную информацию по следующим темам:

* использование преимуществ визуальных средств программирования VBA;

* запись и редактирование макросов;

* запуск VBA-программ из других приложений;

* создание приятных на вид диалоговых окон и других элементов интерфейса;

* работа с объектами, которая станет ключом к использованию всей силы VBAt приложений.

В настоящей главе рассмотрены версии VBA с версии 6 по 6.3 (VBA6.3 входит в состав приложений Microsoft Office ХР). Согласно данным компании Microsoft, все версии VBA, начиная с версии 6 и заканчивая версией 6.3, с точки зрения программиста совершенно идентичны.

Компания Microsoft исправила некоторые ошибки, улучшила производительность, но способы написания программного кода или создания диалоговых окон не изменились. Поэтому, когда я говорю о VBA б, это касается как VBA 6.0 и VBA 6.3, так и всех промежуточных версий.

Не следовало бы делать предположений...

Но я все же сделаю. Я предполагаю, что вы не такой уж и чайник, наоборот, думаю, вы должны весьма комфортабельно чувствовать себя в Windows. Поэтому, если вы не знаете, как обращаться с мышью, выбирать из меню и щелкать на кнопках, появляющихся на экране вашего монитора, вам имеет смысл предварительно прочитать одну из книг, выпущенных издательством Диалектика, например Windows для чайников (есть также отдельные издания по Windows 95, Windows 98, Windows Me и Windows 2000). Далее, чтобы использовать VBA, вы должны иметь по крайней мере одно приложение, в которое встроены средства разработки VBA-программ. Среди таких приложений прежде всего следует назвать лидера рынка программ для бизнеса Microsoft Office, за которым следует постоянно растущая группа продуктов, принадлежащих другим производителям. Изо всех многочисленных возможностей подойдет, например, любое из следующих приложений:

* любое приложение Microsoft Office - Word, Excel, PowerPoint, Access, Outlook или FrontPage;

* Microsoft Project;

* CorelDraw версии 9 или 10 и Corel WordPerfect Office 2000;

* серия графических бизнес-приложений iGrafx от Micrografx;

* Visio версий 4.5, 5 или 2000;

* AutoCAD R14, AutoCAD 2000 или AutoCAD 2000i для Windows;

* TurboCAD Professional;

* M.Y.O.B. Accounting Software;

* пакет программ для учета ресурсов Great Plains (некоторые программы из этого пакета понимают VBA);

* Omni Trader, средства оценки рисков и управления торговыми операциями.

Разделяй и властвуй

Теоретические знания и навыки, которые требуются для программирования в VBA, образуют нечто целое, органический симбиоз взаимосвязей, подобный самой жизни... Именно по этой причине мне пришлось разбить предлагаемый материал на пять больших частей, каждая из которых содержит как минимум две главы.

Часть I. Начальные сведения о VBA

Начинает книгу только одна унылая глава, посвященная теоретическим вопросам, зато следующие три шустренькие главы разбудят вас и заставят бежать вместе с VBA. Вы научитесь записывать макросы, чтобы не обращаться к программированию там, где это можно и оправданно, запускать свои VBA-программы из других приложений. Вам даже предстоит по ходу дела создать полностью законченную программу, выполняющую определенное практическое задание.

Редактор Visual Basic является, так сказать, доверенным представителем VBA на экране- здесь вы пишете свои программы, конструируете открываемые этими программами окна и тестируете свои создания, чтобы выяснить причины, по которым они отказываются работать так, как нужно. Об этом я расскажу в первой главе части. Затем я расскажу об использовании переменных. В остальных главах обсуждаются способы контроля того, что происходит при выполнении программы, а также способы выявления и исправления хотя бы части тех ошибок, которые всегда норовят прицепиться к любой программе. Завершим мы материал части II рассмотрением таких вопросов, как создание окон, диалоговых окон и форм, а также приемов программирования, необходимых для этого.

Часть III. Практикуемся в программировании на VBA

Эта часть - сердце книги. Здесь, в сотворенных с любовью главах, я открою вам секреты мира VBA. Первая половина глав этой части систематизирует компоненты VBA-программы и раскрывает структуру этих компонентов, чтобы вы всегда точно знали, что и где вам следует печатать. Далее идет практикум по правильному присвоению имен в VBA и приданию презентабельного вида программному коду. Затем следуют главы, рассказывающие о работе с переменными и объектами, что очень важно при настройке таких приложений, как Word, Excel или CorelDraw. В последней главе мы поговорим о обработке данных, представленных в виде массивов и наборов.

Часть IV. Профессиональная работа с VBA

В главах этой части вы познакомитесь с приемами программирования, которые применимы практически ко всем приложениям Office, например настройка интерфейса пользователя, программирование помощника по Office и многое другое. Затем мы подробно поговорим о программировании для Word и Excel, а также вопросах, представляющих немалый интерес для VBA-программистов, независимо оттого, с какими приложениями они работают.

19.08.2010

В процессе так называемого визуального программирования большая часть кода создается компьютерной программой. Пользователю остается лишь водить мышью по экрану и вписывать значения в отведенные окна. В таком режиме очень сложно научиться программировать «от и до». На ум приходит сравнение из области кулинарии.

С одной стороны, можно сделать лазанью, используя шаблонный полуфабрикат, с другой - такой подход малопригоден при обучении будущих поваров.

Впрочем, начинать программировать можно и на Visual Basic. Главное, не отвлекаться на графический интерфейс и создавать первые программы в виде консольных приложений. Учебники и самоучители, посвященные программированию в консоли, вы вряд ли найдете, и потому мы постараемся научить вас его азам на страницах нашего журнала. Причем в понятном формате.

Для старта скачаем последнюю редакцию Visual Studio 2010 (бесплатная версия Express доступна по адресу www.microsoft.com/express/downloads/) и установим на пользовательский ПК. Мы начнем знакомиться с классическими алгоритмическими конструкциями на примере игры «Угадай-ка». Пусть компьютер загадывает число от до 100, а вы попытаетесь его угадать за семь попыток. Домашний ПК будет вам помогать фразами «перелет» и «недолет».

Итак, «Пуск Программы Microsoft Visual Studio 2010 Express Microsoft Visual Studio 2010 Express». В открывшемся окне идите в меню «Файл», укажите пункт «Создать проект» и в раскрывшемся списке выберите строку «Консольное приложение». Задайте имя проекта (по умолчанию - ConsoleApplication1). И даже здесь вы увидите четыре «бесплатные» строки будущей программы:

Module Module1

Sub Main ()

End Module

Теперь в главную процедуру (между второй и третьей строками) вставьте код нашей игры - чуть ниже мы его разберем по частям (см. листинг).

В этом месте неискушенный новичок покрутит пальцем у виска, а бывалый программист искренне улыбнется. Цифры слева - это классика. Строки кода на языке Бейсик нумеровались с 1964 г., когда в первом руководстве по языку программирования Beginner"s All Purpose Symbolic Instruction Code (BASIC) были представлены три команды:

10 LET X= (7+8) / 3

20 PRINT X

Сейчас это скорее атавизм, а в прошлом веке наличие строковой нумерации обусловливалось определенными целями. Мы же будем использовать ее, чтобы было удобнее разбирать код по кирпичикам.

Строка 10. С помощью оператора DIM объявляются имя и тип одной или нескольких переменных. В данном случае мы объявили три целочисленных переменных: i - будем использовать в цикле; n - загаданное число; p - наши варианты загаданного числа.

Строки 20 и 30 мы объясним в паре. Функция RND () возвращает случайное вещественное число (типа Single) в диапазоне от до 1. Мы умножили случайное число на 100, чтобы расширить диапазон от до 100. А вот функция Math.Round (), по сути, лишняя в нашей программе, но все же пусть будет. Она округляет получившееся число до целого значения. Однако переменная n объявлена как целочисленная, а значит, при выполнении программы дробная часть загаданного числа обрезалась бы автоматически. Функция Randomize () инициализирует генерацию случайных чисел, иначе задуманное число всегда будет одним и тем же.

Строки 40 и 50 обеспечивают вывод приветственных фраз на экран в консольном режиме.

Строки с 60 по 180 ключевые в нашем коде - это циклическая конструкция. Команды с 70 по 170 называются телом цикла. Нашему циклу суждено повториться 7 раз - те самые 7 попыток отгадать задуманное число. С каждым проходом (итерацией) цикла значение счетчика i будет увеличиваться с 1 до 7 в строке 180. Причем значение переменной i будет играть важную роль в строке 190, но об этом чуть позже.

Обратите внимание на уже знакомый оператор в строке 80. Здесь выводимая строка формируется динамически, в зависимости от значения переменной i. А функция Str (i) превращает числовую переменную в обычную строку, чтобы появилась информативная фраза «Это твоя 1‑я попытка. Вводи число:».

Пользователь вводит значение в переменную p в 90‑й строке. Если здесь ввести не число, а какой-либо другой символ, получится ошибка. В дальнейшем мы будем учиться обрабатывать подобные варианты событий, а пока не станем останавливаться на этом.

Конструкция с 100‑й по 170‑ю строку называется ветвлением. В зависимости от выполнения того или иного условия осуществляются те или иные команды. Допустим, вы угадали и введенное p равняется задуманному n. Тогда компьютер выполнит операторы из 110‑й и 120‑й строк. Кстати, команда Exit For нужна, чтобы в случае победы завершить выполнение запущенного цикла 60–180 и передать управление оператору в строке 190.

Строка 140 будет задействована в работе алгоритма, если введенное p окажется больше задуманного n. А строка 160 исполнится, если введенное p окажется меньше задуманного n. Правда, все просто?

Конструкция с ветвлением в строках со 190‑й по 220‑ю сработает, если на выходе с цикла значение счетчика i будет равно 8. Поясним: если бы вы угадали задуманное число на последней, 7‑й, попытке, то значение i равнялось бы 7. А если оно равно 8, то, значит, цикл завершился сам собой, «счастливый» оператор Exit For из строки 120 не выполнялся.

Ну и последний оператор из строки 230 ожидает ввода в консоль любого одного (!) символа. Если бы не он, то написанное консольное приложение отработало бы без ошибок и сразу же закрылось. Кстати, попробуйте вместо Console.ReadKey () написать оператор GoTo 30. Запустите отладку приложения клавишей. Что получилось в итоге? Если что-то не поняли, встаньте курсором на GoTo и нажмите клавишу - «Помощь» вам в помощь.

А в следующий раз мы запрограммируем еще более интересную консольную игру.

В данном материале рассмотрены основы программирования на языке Visual Basic , а конкретней в среде программирования Microsoft Visual Basic 6.0. Данная среда программирования и язык Visual Basic является одним из самых легких языков для начинающих программистов. А почему? В этой статье мы с Вами и попробуем разобраться.

Теория по Visual Basic

Вообще цель программирования - это написание команд для компьютера, которые смогут показать ему, что нужно сделать, например, напечатать отчет, подсчитать что-нибудь или просто развеселить Вас.

С самого начало заведено, что программирование в основном служит для написания команд двух типов. Команды первого типа используются для отображения пользовательского интерфейса, а команды второго типа - для самих действий, например для перемножения или открытия файла.

Для большинства людей изучение программирования доставляет определенные трудности. Первая и основная трудность связана с тем, что языки программирования, например C++ или Assembler, слишком сложны для понимания. Попытка изучить язык Assembler часто сравнима с попыткой человека, владеющего русским или немецким, научиться разговаривать и писать на арабском или японском. Вторая трудность состоит в том, что пока Вы пишите команды для создания пользовательского интерфейса, в конце концов, у Вас не останется сил и времени на написание команд, которые и выполняют конкретные действия.

Чтобы решить обе проблемы, компания Microsoft разработала язык Visual Basic, а точнее среду программирования Microsoft Visual Basic, которая объединила в себе язык программирования BASIC и возможности быстрого создания пользовательского интерфейса простыми способами. В отличие от многих других языков программирования, BASIC был специально разработан для обучения основам программирования начинающих пользователей.

Что касается визуальных возможностей среды Visual Basic, то здесь Вы можете создавать свой пользовательский интерфейс без написания отдельных команд. Иными словами, Вы создаете интерфейс, как будто Вы рисуете себе картинку, без всяких проблем.

Начиная писать любую программу, первым делом необходимо решить, что эта программа должна делать. Когда Вы будете точно знать, что Вы хотите от программы и компьютера, Вы без труда сможете определить, какие команды нужно дать компьютеру, чтобы он в точности выполнил Ваши указания.

Не существует уникального способа написания программы. Теоретически существуют возможность с помощью тысячи способов написать одну и ту же программу. Два программиста могут написать программы, которые будут работать абсолютно одинаково, но при этом они будут состоять из совершенно разных кодов и команд. Поэтому не важно, как написана программа и на каком языке. Важно лишь то, что она работает так, как Вы это запланировали. Visual Basic помогает реализовать идею быстрого создания пользовательского интерфейса простым способом. Пользовательский интерфейс служит двум целям: отображает информацию на экране и принимает от пользователя конкретные команды к действию.

Основы среды программирования

В Visual Basic все элементы интерфейса делятся на две группы: формы и объекты.

Форма - это всего лишь прямоугольное окно, отображаемое на экране. Объекты - представляют собой элементы, которые содержатся в форме и служат для отображения или получения информации от пользователя. Объектом может быть текст, кнопка, флажок, опции и т.д.

После того как Вы создали форму и разместили в ней нужные объекты, эту форму и ее объекты нужно подогнать под конкретную программу. С точки зрения Visual Basic, каждый элемент интерфейса имеет набор собственных свойств, который определяет, как этот объект выглядит и что делает. В частности, свойствами определяются такие атрибуты объекта, как размер, размещение на экране, цвет и т.д.

Разные элементы имеют разные свойства. Каждый раз, когда Вы рисуете форму или объект, Visual Basic назначает им свойства, установленные по умолчанию.

В отличие от таких языков программирования как C++, Visual Basic избавляет Вас от необходимости использовать коды для создания пользовательского интерфейса, но эти команды все же необходимы для того, чтобы Ваша программа заработала. В мире Visual Basic команды (коды) служат двум целям: делают пользовательский интерфейс рабочим, а также обрабатывают различные данные, с тем, чтобы вернуть пользователю полезный результат.

Даже если Вы с помощью Visual Basic создали какой-то интерфейс, он не будет работать до тех пор, пока программист не напишет ему действия, которые объяснят компьютеру, что нужно делать, если пользователь, скажем, щелкнул на кнопке. Каждый раз, когда пользователь двигает курсором, нажимает кнопку или щелкает кнопкой мыши, т.е. выполняет действие, таковое рассматривается компьютером как команда к действию. Когда такое событие происходит, компьютер обращается к командам BASIC, с тем чтобы они объяснили, как на это нужно реагировать.

Слово Basic, в названии Microsoft Visual Basic 6.0., указывает лишь на то, что синтаксис программ и операторы ссылаются на язык высокого уровня Basic (Beginners Atlpurpose Symbolic Instruction Code ). Но если Вы знаете обычный Basic, то очень скоро убедитесь, что Visual Basic заметно от него отличается.

Если Вас интересует вопрос что такое Visual Basic - компилятор или интерпретатор, можно смело сказать: "И тем, и другим". Его нельзя на сто процентов отнести ни к компиляторам, ни к интерпретаторам.

Основным признаком интерпретатора Visual Basic является то, что созданные с помощью него программы выполняются только в среде разработки. Программу можно запустить непосредственно из среды и если в ней есть ошибки, они сразу же распознаются. Все это наблюдается и в Visual Basic, где можно запустить приложение непосредственно в среде программирования. При этом Visual Basic использует технологию Threaded-p-Code, при которой каждая написанная строка кода преобразуется в промежуточный код - Threaded-p-Code. Не путайте это не машинный код, но такой код выполняется быстрее, чем при работе с обычным интерпретатором. Во-первых, Visual Basic сразу же проверяет синтаксис программы и выдает сообщение, если присутствует ошибка. Также можно самим искать эти ошибки.

При этом Visual Basic - не просто интерпретатор, так как это означало бы, что приложения выполняются только в среде Visual Basic. Эта среда программирования предоставляет возможность создавать и исполняемые ЕХЕ-файлы, поэтому она относится и к компиляторам.

Visual Basic нельзя назвать чистым компилятором, так как в отличие, например, от Visual C++, Visual Basic не создает исполняемый файл сразу же при запуске из среды разработки. Для создания такого файла необходимо сделать это явно (команда File\Make ***.EXE). Начиная с пятой версии, Visual Basic обладает так называемым "Native Compiler", т.е. компилятором, который может создавать машинный код. Таким образом, Visual Basic объединяет в себе возможности, как интерпретатора, так и компилятора. И это имеет больше преимуществ, чем недостатков.

Теперь давайте поближе познакомимся со средой программирования Microsoft Visual Basic. При открытие самой среды программирования у Вас появляется окно «Новый проект», в котором и нужно выбрать какой проект мы будим создавать, для начала мы создадим простой проект, а точнее стандартный, «Standard EXE» это - стандартное выполняемое приложение. В дальнейшем, когда Вы уже научитесь работать в этой среде можете пробовать создавать и другие проекты, например ActiveX DLL - динамическая библиотека ActiveX.

После того как Вы нажали создать (открыть) новый проект, у Вас появится сама среда программирования Visual Basic, а точнее форма, но пока в ней ничего нет, и она ничего делать не умеет. Для любопытства можете нажать команду меню run->start (запустить) или просто выбрать в быстром меню кнопку «старт», у Вас запустится программа, но как я уже сказал, она ничего не делает, это просто пустая форма. Закройте это окошко и давайте наполним нашу программу пользовательским интерфейсом и программным кодом.

Пример программы на VB

Для начала мы с Вами сделаем простенькую программу.

Поместите на форму следующие объекты: 2 кнопки CommandButton (Кнопка управления ) и одно текстовое поле TextBox (Текстовое поле ). Они расположены слева и называются «Кнопки панели элементов управления ». Теперь когда у Вас они расположены на форме, можете, как угодно их поместить, растянуть, и даже задать какие-нибудь свойства, которые расположены справа. Мы с Вами зададим всего лишь их название, для этого выделите кнопку Command1 (просто нажав на нее ) и с права в окне свойств найдите поле Caption и задайте название этой кнопки (измените Command1 например на «Выполнить» ). Теперь выделим Command2 и зададим ей название «Выход ».
Теперь, когда у нас есть объекты на форме, давайте зададим им действия, которые они должны выполнять. Щелкните 2 раза по кнопки Command1 (или как у нас уже «Выполнить» ) и у Вас откроется окно кода где написано:

Private Sub Command1_Click() End Sub

Вы напишите между этими строками вот что, и должно получиться вот так:

Private Sub Command1_Click() Text1.Text = "Привет! Программа работает" End Sub

Здесь мы задали, что при нажатие этой кнопки в текстовом поле будет появляться эта надпись.
Можете закрыть по крестику окно кода, и щелкнуть 2 раза по кнопке Command2 (у нас «Выход» ), появляется то же самое окно, но уже готовое, для того чтобы задать действие для второй кнопки пишем вот что:

Private Sub Command2_Click() End End Sub

Мы здесь написали команду END, которая обозначает, что программа заканчивает свою работу.

Все можете запустить Вашу первую программу и попробовать, как она работает, но это конечно все только начало т.к. на Visual Basic можно написать такие серьезные программы которые не уступят таким программам, которые написаны, например, на языке C++.

Надеюсь, Вы теперь понимаете, почему этот язык является одним из самых легких (если не самым легкий ) языков программирования. А начинать с него или не с него, то это только Ваш выбор.

Все, удачи в освоение Visual Basic, начинающим рекомендую начать свой путь программиста именно с этого языка.

Я всегда тепло вспоминаю свой первый язык программирования. Как, полагаю, многие из увлечённых компьютерами в 80-х и ранних 90-х, я выучил его ещё до того, как прикоснуться к клавиатуре (тем более - к клавиатуре собственного компьютера!), и не по учебникам, не на спецкурсах: по распечаткам программ в популярных журналах. Синтаксически простой, семантически схожий с английским языком, с суперкомпактным набором команд, позволяющий писать сразу, с ходу, не задумываясь об инициализациях и прочем подобном, он был идеальным решением для тех, кто ничего не смыслит в программировании, но хочет разобраться. Мне даже нет нужды называть его имя, вы и так его узнали, потому что вариант только один. А случившееся на днях заставило задуматься: а правда ли век его прошёл? Правда ли он «был», но не остаётся?

Событием, которое подтолкнуло к рассуждениям о вроде бы давно забытом предмете, стал выпуск компанией Google программы Coder . Попросту говоря, это инструмент для начинающих веб-программистов, работающий в том числе (и в первую очередь) на сверхдешёвом Raspberry Pi. Десять минут на установку - и вот вы уже в среде, готовой к созданию полноценных HTML5-проектов (классическая связка HTML+Javascript+CSS). В некотором роде это современная реализация идеи восьмибитных машин: дешёвых, предельно простых, максимально открытых для изучения и девелопмента. Одна проблема, Javascript и CSS и даже современный HTML (который совсем не тот, что был пятнадцать лет назад!) ещё нужно освоить. А уж тут распечатками не обойдёшься, понадобятся минимум справочники, скорее всего, учебники, а хорошо бы ещё и знающего человека для ответов на глупые вопросы! В результате современному двенадцатилетнему пацану, решившему начать обучение с Coder’a, потребуется приложить значительно больше усилий, чем прикладывали в своё время мы, начиная с BASIC’а.

BASIC - творение 1964 года, рассветных лет компьютерной эпохи. Американцы Джон Кемени и Томас Куртц написали его, чтобы облегчить знакомство с вычислительной техникой своим студентам (в те годы как раз началось распространение терминалов, и доступ к ВТ перестал быть уделом только лишь атомщиков и ракетчиков), но язык быстро зажил самостоятельной жизнью. В 70-х, с началом эры персональных компьютеров, BASIC немедленно стал стандартом де-факто в качестве основного языка программирования, и даже больше того - пользовательской оболочкой, средой, из которой управляли машинами. Не случайно и Гейтс с Алленом для «Альтаира» и Возняк для Apple I первым делом писали именно BASIC!

А что обеспечило ему взлёт? Простота. Абсолютная, непревзойдённая, интуитивная простота. Там, где другие языки требуют выстраивания многоэтажных конструкций, бейсик просит только номер строки. Другие требуют редактора, компилятора, операционной системы - BASIC замкнут на себя (первый вариант был компилируемым, но впоследствии его чаще выполняли в виде интерпретатора). Его структура такова, что программа в большинстве случаев работает сразу, а если не работает, то ошибка конкретна, её легко найти и понять. Да, он слаб («Слабый, легковесный язык», - говорил Возняк), но именно в этом его сила! Вообще, бейсиковская «немощь» - феномен, который заслуживает отдельной книги. Она делает язык уникальным, она помогла ему пережить несчётное множество архитектур и платформ.

Ведь как развиваются языки программирования? Усложняясь, обрастая новыми свойствами. BASIC живёт по другим законам. Его эволюционное древо прямое, как стрела: попытки привить ему новые свойства в лучшем случае обособились в отдельные проекты, никак не повлияв на популярность главного (самого простого) диалекта. Больше того, за десятилетия эволюции он отбросил словно шелуху и ту лишнюю небольшую сложность, которую изначально предусмотрели в нём авторы (к примеру, избавившись от функций матричных вычислений). Неспособный противостоять «серьёзным» языкам программирования, он нашёл себе постоянного поклонника в лице вечно молодого компьютерного новичка.

Суметь понять решающее значение «слабости», признать его - совсем не шутка. Рискну утверждать, что даже Куртц и Кемени так до конца и не поняли главной фишки созданного ими языка. В середине 80-х они попытались продавить на рынок своё новое детище, True BASIC , основав под него компанию. Как коммерческий продукт он ещё существует, но как замена BASIC’у бесстыдно провалился, ибо оказался более сложным.

Говоря о BASIC как лучшем языке для начинающих, я конечно имею в виду не исправленных до неузнаваемости ублюдков вроде Visual Basic или Openoffice.org BASIC, где от оригинала осталось почти одно лишь название, а тот базовый, универсальный для всех минимум из двух десятков команд, на котором писали уже полвека назад. Сегодня его так же легко отыскать на любой платформе для любой архитектуры - и так же просто, как и десять, и двадцать, и сорок лет назад, применить для решения несложных задач. Помнится, совсем недавно, когда жена усомнилась в справедливости парадокса Монти Холла , я за пять минут набросал программку, демонстрировавшую его практически. И использовал не любимый C, не скриптовые языки, а старину BASIC - писать на котором можно, не задумываясь о собственно программировании .

Однако времена меняются. Интернет и Веб перекроили персоналку. Компьютер сегодня - это Сеть, а оригинальный бейсик о сетях ничегошеньки не знает. Так что же, пора заменить «лучший язык для новичков» новым, более современным, более приспособленным к технике и технологиям нового столетия? Давно пора, считают многие - и предлагают наперебой варианты, чаще всего останавливаясь на Python (который даже называют «бейсиком XXI века») и Javascript. Они разные, но роднит их сравнительная простота и лёгкость в обращении с интернет-механизмами. И человек, начавший своё компьютерное образование с них, конечно, сумеет потом применить полученные знания для серьёзных дел. Вот только есть одна нестыковочка: они и близко не так просты, как BASIC!

Пусть он примитивен, пусть неспешен. Но он недостижимо прост - а значит, уже в первые полчаса - да что там, в первые десять минут! - новичок, для которого компьютер до сих пор был магическим артефактом, сможет сделать что-то своими руками. Сможет сам заставить машину сделать что-нибудь для него ! Вы помните свой первый раз? Помните восторг, который испытали, когда ваши первые бейсиковские строки заставили компьютер подчиниться вашей воле? И разве вы, начиная, преследовали цель обучиться конкретным технологиям? Рискну предположить, вы начинали программировать даже не для того, чтобы понять, как работает машина, а просто чтобы получить удовольствие от управления ею!

Ну а заставив машину прокатить вас, усвоив базовые концепции программирования (для чего BASIC так же хорош, как и любой другой язык), можно спрыгнуть куда угодно. Моё поколение уходило в машинные коды и ассемблер (вот, кстати, продолжение лично моей истории: «Мой первый стартап: Россия, 94-й »); сегодня, вероятно, разумным выбором будет Python или Javascript.

Но - начинать? Руки прочь от святыни! BASIC ещё послужит.