Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

regeda_v_v_regeda_o_n_osnovy_programmirovaniya_na_vba

.pdf
Скачиваний:
11
Добавлен:
06.02.2016
Размер:
1.26 Mб
Скачать

Основными элементами языка TB являются символы, с помощью которых записываются константы, переменные, массивы, выражения, встроенные функции и операторы.

При написании программы можно использовать символы из определенного набора, называемого алфавитом языка. Он включает в себя буквы от A до Z и от a до z, цифры от 0 до 9, пробел, а также специальные символы: = (знак равенства), + (плюс), – (минус), * (звездочка, знак умножения), / (слэш, знак деления), \ (знак целочисленного деления), ^ (крышка, знак возведения в степень), % (знак процента), & (амперсенд), ! (восклицательный знак), # (знак номера), $ (знак доллара), ( ) (круглые скобки), [ ]

(квадратные скобки), , (запятая), . (точка), ‘ (апостроф), ; (точка с запятой), : (двоеточие), ? (восклицательный знак), < (знак больше), > (знак меньше), “ (кавычки), _ (подчеркивание). Кроме того, в комментариях и символьных константах могут использоваться заглавные и строчные буквы кириллицы (русские буквы).

Определенное множество слов в TB зарезервировано, т.е. не может использоваться в программах в качестве имен переменных.

TB поддерживает несколько типов числовых и символьных данных. К

числовым данным относятся следующие типы: целое (число без десятичной точки в диапазоне от - 32768 до 32767); длинное целое (в диапазоне от -2147483648 до 2147483647); вещественное (число с десятичной точкой в

диапазоне от 10-38 до 1038, однако точность представления его ограничива-

ется 6 значащими цифрами); вещественное двойной точности (число с десятичной точкой в диапазоне от 10-308 до 10308 и может иметь до 16 зна-

чащих цифр).

Константы это элементы языка, значения которых определены и неизменны. Они бывают числовыми и символьными.

Числовые константы, в свою очередь, могут быть целыми и вещественными. Они используют цифры, знак минус и необязательный знак плюс. Целые числа, например число 257, допускается записывать и в двоичном (&B100000001), восьмеричном (&401) и в шестнадцатеричном (&H101) представлении. Вещественные константы можно задавать как в десятичном (0.000235988), так и в экспоненциальном (235.988E-6) представлении.

Символьные константы представляют собой набор символов алфавита языка, заключенных в кавычки (“Среднее значение”, “263”).

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

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

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

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

Имя символьной переменной должно заканчиваться знаком $, например F$, МАХ$.

Вконце имени целой переменной должен стоять знак % (A%=15).

Вдлинной целой используется амперсенд & (a&=7600&).

Вещественная переменная может заканчиваться знаком !

(a!=15.1).

Вещественная переменная двойной точности должна заканчиваться знаком # (a#=15.14578943).

Если в имени переменной не используется никакой из приведенных здесь знаков, то переменная имеет вещественный тип (x=1.7, y=1.0).

Массив это последовательность данных одинакового типа, имеющих общее имя. Элемент массива является отдельной переменной. Он идентифицируется путем указания в скобках после имени массива номера (индекса) элемента.

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

В TB используются встроенные функции и операторы.

Элементы числовых выражений могут связываться между собой с помощью арифметических и логических операций, приведенных в таблице 2.1 в порядке убывания их приоритета (устанавливающего порядок выполнения операций в выражении).

 

 

 

Таблица 2.1

Обозначение

Наименование операции

операции

 

 

 

^

 

 

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

-

 

 

Унитарная операция минус (для обозначения

 

 

 

отрицательных чисел или изменения знака)

*

,

/

Умножение, деление

\

 

 

Деление нацело

MOD

 

 

Вычисление остатка от деления (взятие по мо-

 

 

 

дулю)

+

,

-

Сложение, вычитание

<,

 

<=,

Операции сравнения

=, >=, >, <>

 

NOT

 

 

Логическое НЕ

AND

 

 

Логическое И

OR , XOR

Логическое ИЛИ , исключающее ИЛИ

EQV

 

 

Логическая эквивалентность

IMP

 

 

Логическая импликация

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

Все арифметические операции имеют традиционную форму записи для математики, а операция 31 MOD 4 обозначает остаток от целочисленного деления 31 на 4 и дает в результате число 3.

Результатом операции сравнения является логическая истина, представляемая числом -1, или логическая ложь, представляемая 0.

2.2. Среда программирования TURBO BASIC

Запуск среды TB осуществляется путем запуска файла tb.exe. При этом на экране монитора появляется диалоговая многооконная среда

(рис. 2.1).

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

окно редактирования (Edit), окно трассировки (Trace), окно выполнения

(Run), окно сообщений (Massage). Кроме того, внизу экрана имеется

строка функциональных клавиш, а в верхней части экрана – строка главного меню.

Рис. 2.1

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

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

В нижней строке экрана находится подсказка о назначении некоторых клавиш в TB.

Результатом выбора разделов меню Edit, Run и Compile является появление соответствующего окна, а для всех остальных разделов в главном меню появление соответствующего ниспадающего меню. На рис. 2.2 показаны команды, содержащиеся в меню File. Команды в ниспадающем меню выбираются так же, как и в главном. Для возвращения в главное меню из ниспадающего меню необходимо нажать клавишу Esc.

Опция Load меню File служит для выбора файла, загружаемого в ТВ. При выборе этой опции появляется новое окно, в котором нужно ввести или имя файла, или "маску". По умолчанию в окне задана маска *.bas, которая означает все файлы с расширением .bas. После ввода маски и нажатия на клавишу Enter появляется очередное всплывающее окно,

на котором указаны все файлы текущего каталога, соответствующие маске. Выбор файлов осуществляется с помощью клавиш управления курсором и клавиш Home, End, PgUp, PgDn , а для завершения команды необходимо нажать на клавишу Enter. В результате происходит переход в режим редактирования выбранного файла.

Рис.2.2

Опция Change dir меню File используется для смены текущего ката-

лога.

Для сохранения текущей программы, находящейся в окне редактирования, в виде текстового файла с новым именем необходимо выбрать опцию File→Write to и нажать на клавишу Enter. В появившемся окне ввести с клавиатуры новое имя файла и нажать на клавишу Enter.

Для сохранения последней версии поименованной программы можно воспользоваться опцией File→Save, которая сохраняет текущий файл в текущем каталоге с именем по умолчанию, при этом предыдущая версия этого файла получает расширение .bak и также сохраняется в этом каталоге.

Опция File→Quit осуществляет выход из TB (такой же результат получается при одновременном нажатии клавиш Alt и X).

Опция File→New инициализирует режим редактирования нового файла, имеющего по умолчанию имя noname.bas, с удалением предыдущего содержимого окна редактирования и из оперативной памяти.

Команда Edit главного меню осуществляется вход во встроенный редактор, предназначенный для создания и редактирования исходных текстов программ (листингов). В окне редактирования верхней является строка состояния, в ней указано имя редактируемого файла, номер строки (Line) и позиция (Col) экрана, в которой расположен курсор. При вклю-

ченном режиме вставки символа в строке состояния высвечивается слово Insert. В этом случае вводимый символ вставляется перед курсором, в противном случае вводимый символ заменяет тот символ, под которым находится курсор. Переход на новую строку с помощью клавиши Enter возможен только при включенном режиме вставки, переключение которого выполняется нажатием клавиши Ins.

2.3. Линейное программирование в TURBO BASIC

1)Набрать с помощью клавиатуры листинг программы на TB:

CLS : X=5

PRINT Включите принтер, заправьте в него бумагу”

INPUT " и нажмите клавишу Enter"; d

 

PRINT "Введите дату выполнения работы”

 

INPUT " и нажмите клавишу Enter"; d

 

LPRINT "Работа выполнена

";d

 

INPUT "Введите фамилию 1 студента";A$

”,A$,

LPRINT “студентом кафедры ПРИБОРОСТРОЕНИЕ

END

 

 

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

Оператор CLS очищает экран и устанавливает курсор в левый верхний угол (строка 1, позиция 1). Второй оператор присваивает переменной X значение, равное 5. Так как он находится в той же строке, что и первый, то отделяется от него двоеточием.

Оператор ввода информации INPUT позволяет присваивать переменным, стоящим после необязательной подсказки в кавычках, числовые или символьные значения, в соответствии с типом этой переменной. Так переменная A$ символьная, поэтому она принимает значение, равное цепочке символов введенных с клавиатуры (например, Simonova), а переменная d числовая и ей присваивается значение даты выполнения работы. Когда начинает выполняться этот оператор, то программа переходит в режим ожидания ввода с клавиатуры. После ввода требуемого значения необходимо нажать клавишу Enter и программа продолжит выполняться.

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

мер, A$ или d) то значения этих переменных (например, Simonova или

22.03.97).

Оператор END означает конец выполнения программы.

При работе в режиме редактирования программы наиболее часто применяемыми являются следующие клавиатурные команды, приведенные ниже. Причем запись Ctrl+Q,R значит, что сначала нажимается клавиша Ctrl, а затем последовательно, не отпуская её, клавиши Q и R.

Команды перемещения курсора:

на символ влево

на строку вверх

на символ вправо

на строку вниз

на страницу вверх

PgUp

в начало строки

Home

на страницу вниз

PgDn

конец строки

End

в начало файла

Ctrl+Q,R

конец файла

Ctrl+C

Команды включения и удаления:

вставка строки

Ctrl+N

удаление строки

Ctrl+Y

удаление части строки от курсора до конца

Ctrl+Q,Y

удаление символа над курсором

Del

удаление символа слева от курсора

Backspace

Блоковые команды:

 

отметка начала блока

Ctrl+K,B

отметка конца блока

Ctrl+K,K

чтeние блока из файла

Ctrl+K,R

копирование блока

Ctrl+K,C

удаление блока

Ctrl+K,Y

перемещение блока

Ctrl+K,V

отмена выделения блока

Ctrl+K,H

запись блока в файл

Ctrl+K+W

2)Скопировать вторую и третью от конца строки программы перед командой END, используя блоковые команды. Для этого подведите курсор к началу третьей от конца строки в программе и нажмите клавиши Ctrl+K,B. Переведите курсор с помощью клавиши в начало предпоследней строки, а затем с помощью клавиши End в конец этой строки и нажмите клавиши Ctrl+K,K. Включите режим вставки (нажата клавиша Ins), если он отключен, а затем на клавиши Enter и Home, если курсор не находится на первой позиции строки экрана. Скопируйте выделенный блок, нажав клавиши Ctrl+K,C. Отмените выделение блока, нажав клавиши Ctrl+K,H.

3)Изменить во вновь вставленной строке с оператором INPUT текст символьной константы, введя вместо цифры 1 цифру 2.

4)Дописать в программу строку для вычисления значения арифметического выражения, приведенного в таблице 2.2 для варианта, заданного преподавателем. Предусмотреть вывод на принтер полученного зна-

чения с помощью оператора PRINT арифметическое выражение.

 

 

 

 

 

Таблица 2.2.

Арифметическое

Арифметическое

 

варианта

выражение

варианта

выражение

 

 

 

 

 

 

 

1

cos 3X+10 X 3

5

(sin X)3 + 3cos (X2)

 

 

6X

 

 

 

 

 

2

tg 3X +(3 + X )3

6

2tg (X)2+

1

 

 

X +4

 

 

 

 

 

 

3

sin 3X + X3 – 13

7

cos(X3) – 3X2

 

4

(tg X2– X 2 )2

8

4x +3 X

 

 

 

 

x 1

 

 

 

5)Сохранить набранную программу, нажав на клавишу F2.

6)Для выполнения написанной программы нажать клавишу Esc и активизируйте команду меню Run. Сначала ваша программа переводится в машинные коды и на экране появится окно компиляции Message, а затем, если в программе нет синтаксических ошибок, на экране появляется окно выполнения (Run). В нашей программе строка с номером 2 содержит синтаксическую ошибку: символьная константа не имеет открывающей кавычки. Поэтому программа перестанет выполняться и в первой строке окна выполнения появится сообщение об ошибке: Error 471: Unknown

identifier/syntax error. При этом курсор стоит в позиции ошибки, а для ее исправления в данном случае необходимо добавить недостающую кавычку.

7)Нажать клавишу Esc, повторно запустите программу на выполнение. В результате работы программы на принтере должны быть распечатаны четыре строки, содержащие информацию о том, когда и кем выполнена лабораторная работа, а также результат вычисления значения арифметического выражения.

8)Откомпилировать, созданную программу с помощью команды меню Compile. В результате в рабочем каталоге создается файл с именем

pr1.exe. Во время компиляции в окне сообщений появляется информация о количестве строк исходного текста и операторов. Если обнаруживается ошибка, то в строке состояния окна Edit выдается сообщение о ней,

икурсор помещается в том месте, где эта ошибка обнаружена.

9)Выйти из среды TB, используя опцию Quit команды File. Найти файл pr1.exe и посмотреть его содержимое. Обратить внимание на

то, чем он отличается от файла pr1.bas. Запустить его на исполнение из среды Norton Commander, подведя курсор к имени файла и нажав на клавишу Enter. Обратить внимание, что программа выполняется быстрее, чем из среды TB.

2.4. Основные операторы ввода в TURBO BASIC

В данном пособии при описании формата операторов применены следующие правила:

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

после имени оператора указываются его возможные параметры, причем, если этот параметр необязателен, то он указывается в квадратных скобках (однако, если параметр необходим, то он вводится без самих квадратных скобок);

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

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

Операторы ввода предназначены для присвоения значения переменным, используемым в программах.

2.4.1. Оператор присваивания LET имеет следующий формат:

[LET] a=b

где a имя переменной (числовой, символьной или индексной), которой присваивается значение (оно должно находиться слева от знака =);

b выражение, значение которого присваивается переменной a, причем тип выражения должен соответствовать типу переменной (для числовой переменной числовое выражение, а для символьной символьное).

Слово LET в программе можно не использовать: a=b+2*c 2.4.2. Оператор обмена SWAP имеет следующий формат:

SWAP b1,b2

где b1, b2 имена переменных (числовых, символьных или индексных), которые обмениваются значениями, причем они должны быть одного типа.

При выполнении оператора значение переменной b1 присваивается переменной b2 , а значение b2 переменной b1.

2.4.3.Оператор CLEAR "очищает" значения всех переменных, присваивая числовым переменным значение 0, а символьным значение пустой стоки.

2.4.4.Оператор ручного ввода INPUT имеет следующий формат:

INPUT [;] [подсказка] {; ,} список

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

По оператору INPUT программа приостанавливается в ожидании ввода с клавиатуры, предварительно выдав на экран вопросительный знак, которому может предшествовать подсказка (если она указана).

Запятая вместо точки с запятой после подсказки подавляет вывод на экран вопросительного знака. Точка с запятой после INPUT приведет к тому, что по нажатию клавиши Enter не произойдет переход к следующей строке экрана, т.е. курсор останется в той же строке.

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

Пример:

INPUT "Введите значение а =";a s=a^2+2/a

В этом примере вычисляется значение s арифметического выражения для значения переменной a , вводимого с клавиатуры.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]