Файл: Технологии программирования. Основы программирования на языке QBasic.pdf
Добавлен: 29.06.2023
Просмотров: 93
Скачиваний: 2
Рис. 8. Выполнение контекстной замены
2.6 Работа с несколькими окнами
Редактор QBasic позволяет работать одновременно с несколькими окнами. Это удобно, когда требуется модифицировать текст программы, и в то же время не упускать из виду логически связанных с изменяемым блоком частей.
Рис. 9. Разбиение окна программы на несколько частей
Чтобы разделить текущее окно редактора на две части, надо выполнить команду View > Split. При этом возникнет новое окно редактора.
Переключаться между окнами можно с помощью клавиши F6. Закрывается одно из двух окон редактора (текущее активное окно) повторным выполнением команды Split.
В нижней части QBasic расположено окно Immediate. Это окно предназначено для немедленного выполнения отдельных операторов Бейсика. Оно может быть использовано для первого знакомства с возможностями этого языка, в качестве мощного калькулятора, а также в процессе отладки.
Работа с этим окном будет описана позднее.
Размеры каждого окна можно менять. Для этого используются комбинации клавиш ALT+- и ALT++. Текущее окно можно раскрыть на всю величину экрана с помощью комбинации клавиш Ctrl+F10.
2.7 Настройка QBasic
Настройки редактора и QBasic доступны в разделе меню Options.
Пункт Display позволяет задать цветовое оформление редактора. Переключатели:
1. Normal Text
2. Current Statement
3. Breakpoint Lines
задают цвета соответственно для обычного текста, строки, содержащий текущий выполняемый оператор, и строки, для которой установлена точка прерывания работы программы. Выделив с помощью переключателя нужный раздел, в списках Foreground (цвет символов) и Background (цвет фона) можно подобрать нужную комбинацию цветов.
Доступные цвета
Black |
Черный |
Brown |
Коричневый |
Blue |
Синий |
White |
Белый |
Green |
Зеленый |
Gray |
Серый |
Cyan |
Голубой |
Pink |
Розовый |
Red |
Красный |
Yellow |
Желтый |
Magenta |
Фиолетовый |
Если к началу названия цвета приписано Вr (например, BrGreen), то это означает цвет с повышенной яркостью.
Можно также отключить вывод полос прокрутки (флажок Scroll Bars) и указать, сколько пробелов будет вставляться в редакторе при использовании клавиши табуляции TAB (поле ввода Tab Stops:). После выполнения всех настроек для их сохранения надо нажать <Ок> (для отказа — <Сапсе1>).
Пункт Help Path позволяет задать путь к файлу справочной системы qbasic.hlp, если он находится не в одном каталоге с интерпретатором qbasic.exe.
Пункт Syntax Checking (Проверка синтаксиса) работает наподобие флажка. Если он включен (в левой части этого пункта меню загорается точка), то после ввода очередного оператора Бейсика и нажатия клавиши ENTER (или CTRL+ENTER) редактор проверяет его корректность и в случае ошибки выдает предупреждение.
Pиc. 10. Автоматическое обнаружение нарушений синтаксиса
Если данный пункт отключен (его переключение осуществляется повторным выбором), то при вводе операторов Бейсика проверки их корректности не происходит. Такой режим работы удобен, например, при использовании редактора QBasic для ввода произвольной текстовой информации.
2.8 Немедленное выполнение команд
В окне Immediate (Немедленное выполнение) можно вводить команды Бейсика, сразу их выполнять и видеть результаты на экране. Например, перейдите в это окно с помощью клавиши F6, наберите текст
PRINT 2+2
и нажать клавишу ENTER (словно PRINT переводится с английского как «печатать»). Окно QBasic пропадет, вверху черного экрана появится число 4, а внизу — надпись Press any key to continue. Что же произошло?
Оператор Бейсика PRINT предназначен для вывода значения следующего за ним выражения на экран. Он вычислил значение выражения «2+2» (равное 4) и вывел его на экран, что вы и увидели. В принципе, целая программа на Бейсике может состоять из одного такого оператора. Тогда при ее запуске на экран просто выведется число 4.
Строка Press any key to continue означает: «Нажать любую клавишу для продолжения работы». Таким образом, QBasic выполнил действие, указанное в окне Immediate, вывел результат на экран и теперь ждет нажатия клавиши, чтобы вернуться обратно.
Выражение можно усложнить. В Бейсике доступны четыре арифметических действия: сложение (знак операции +), вычитание (-), умножение (*) и деление (/), а также возведение в степень (Л). Для управления порядком вычислений служат круглые скобки: ( и).
Так, чтобы вычислить значение выражения «(5 умножить на 6) в квадрате», надо записать
PRINT (5*6) ^ 2
и нажать клавишу ENTER. На экране вывода в строке за ранее напечатанной четверкой появится число 900 — после каждого своего выполнения оператор PRINT производит перевод на новую строчку.
Бейсик содержит немало математических функций, которые можно использовать для различных вычислений. Например, стандартная функция SQR вычисляет квадратный корень из числа: оператор PRINT SQR(121) напечатает значение 11.
PRINT 2+2 print 2+2 pRINt 2+2
Во всех случаях этот оператор выполнится корректно.
Но операторы Бейсика, хотя это и не обязательно, принято набирать заглавными буквами. Это общемировая практика, а истоки ее начинаются с первых реализаций этого языка, когда вводимые в компьютеры символьные данные еще не имели разделения по регистрам. Перевод названий операторов в верхний регистр QBasic выполнит автоматически.
А вот если случайно ввести не print, a primt, то QBasic сразу же сообщит о синтаксической ошибке.
Рис. 11. Синтаксическая ошибка, вызванная опечаткой в операторе
Нельзя разбивать операторы Бейсика на части пробелами. Следующие варианты записи недопустимы:
pr int 2+2
prin t 2+2
Интерпретатор просто не поймет, что имеется в виду.
Но пробелы можно произвольно вставлять между любыми логическими частями текста. Например, можно написать
PRINT ( 5 * 6) ^2
В дальнейшем во время отладки программы вам не раз придется воспользоваться окном Immediate и оператором PRINT для уточнения различных значений используемых объектов.
2.9 Справочная система QBasic
В ходе работы с интерпретатором QBasic наверняка будут встречаться незнакомые слова, выражения, команды. Все они определены в прилагаемой к QBasic справочной системе (она содержится в файле qbasic.hlp и должна располагаться либо в том же каталоге, где и сам интерпретатор qbasic.exe, либо в каталоге, указанном в настройках с помощью команды Options > Help Path). Эта система (полностью написанная на английском языке) вызывается командой Help > Index. В появившемся окне отобразится длинный список всех команд Бейсика в алфавитном порядке. Отыщите среди них интересующее вас слово, подведите к нему курсор и нажать клавишу F1. В появившемся окне будет кратко рассказано о значении этого слова.
А если вы неплохо знаете английский, то войдите из главного окна в раздел Contents, где все аспекты работы с QBasic разбиты на разделы.
Рис. 12. Содержание справочной системы программы QBasic
Глава 3. ПОНЯТИЕ О ПРОГРАММИРОВАНИИ В QBASIC
Программа на Бейсике составляется в QBasic в его текстовом редакторе. Она представляет собой набор операторов, которые последовательно выполняются и решают определенную задачу. С помощью операторов QBasic можно производить вычисления, хранить промежуточные результаты, осуществлять те или иные действия в зависимости от состояния созданных в программе объектов, выводить информацию на принтер или экран в текстовом или графическом виде, обрабатывать действия пользователя, работать с файлами, управлять памятью и реагировать на всевозможные исключительные ситуации и ошибки, которые могут возникнуть в ходе выполнения программы.
Но составить серьезную программу достаточно сложно. Для этого надо хорошо знать возможности Бейсика, выучить основные его операторы и, самое главное, постоянно практиковаться в написании новых и новых программ.
3.1 Переменные
Зачем нужны переменные
Переменная — ключевое понятие любого языка программирования. Переменные используются для хранения промежуточных значений, получаемых в процессе выполнения программы. Например, при работе программы- редактора в ее внутренних переменных записаны вводимые пользователем тексты, при работе с электронной таблицей в переменных располагаются значения отдельных ячеек и результаты вычисления формул, при работе с графической программой в переменных могут храниться, в частности, картинки. Вообще, информация о любом объекте операционной системы может быть записана и обработана с помощью переменных.
Чтобы программа понимала, какие данные хранятся в той или иной переменной, они делятся на типы: числовые, текстовые и т. д. Переменные конкретного типа могут содержать только корректную, соответствующую этому типу информацию. При попытке записать, например, в числовую переменную текст интерпретатор сообщит об ошибке и прервет работу.
Запись чисел
В переменных могут храниться числа или строки. Числа в Бейсике бывают целые или дробные, с десятичной частью. Дробные числа (их называют числами с плавающей точкой, так как во всех языках программирования принято отделять дробную часть десятичной дроби не запятой, а точкой) в свою очередь записываются как в обычной форме (в качестве десятичного разделителя используется символ точки «.»), так и в форме с экспонентой. Это требуется для того, чтобы представлять очень большие числа или очень маленькие числа. Например, записать число 1 230 000 000 (или 1,23 с 9 нулями) в Бейсике можно так:
1.23Е+9
Такая запись означает, что число 1,23 надо умножить на 10 в 9 степени.
А число 0,00000123 (или 1,23, деленное на 10 в 6 степени) будет выглядеть следующим образом:
1.23Е-6
Символ экспоненты Е используется, когда величина степени состоит из одной или двух цифр (Е5, Е99). Если величина степени состоит из трех цифр, то вместо символа Е применяется символ D:
5.5D+123
Перед отрицательными числами спереди указывается знак «-». Пробелы в записи чисел не допускаются. Вот правильно записанные числа:
-25
3.1415
2Е22
-0
7.34D-243
0.0
-2.67Е-44
Запись строк
Строки в Бейсике берутся в двойные кавычки (”). Максимальная длина строки — 32 767 символов, минимальная — 0 (пустая строка). Внутри строки допускается использование различных символов, в том числе и русских букв, например:
"Это строка"
"123,45 output \\"
Как добавить переменные в программу
Чтобы интерпретатор знал, какие переменные будут использоваться в программе, и зарезервировал для них место в оперативной памяти, эти переменные надо явно описать (еще говорят: объявить или декларировать). Для этого применяется оператор DIM. Он записывается так:
DIM {имя-переменной) AS {тип}
В качестве имени переменной может использоваться любая комбинация английских букв и цифр (без пробелов), начинающаяся с буквы. Длина этой последовательности должна быть не менее одного символа и не более 40.
Записываться переменные могут в любых регистрах, например Abcd3 или aBcD3, но интерпретатор автоматически выполнит приведение всех различных написаний одной и той же переменной к последнему использованному написанию.
Допустимых типов переменных в QBasic шесть. Они приведены в следующей таблице.
Название типа |
Диапазон значений |
INTEGER |
от -32 768 до 32 767 |
LONG |
от -2 147 483 648 до 2 147 484 647 |
SINGLE неотрицательное |
0 или от 2.802597Е-45 до 3.402823Е+38 |
SINGLE отрицательное |
от -3.402823Е+38 до -2.802597Е-45 |
DOUBLE неотрицательное |
0 или от 4.940656458412465D-324 до 1.79769313486231D+308 |
DOUBLE отрицательное |
от -1.79769313486231D+308 до -4.940656458412465D-324 |
STRING |
строка переменной длины (от 0 до 32 767 символов) |
STRING * n |
строка фиксированной длины (п символов, п — число в диапазоне от 0 до 32 767) |
Вот допустимые описания переменных:
DIM х AS INTEGER
DIM s AS STRING
DIM str AS STRING * 500
В одном операторе DIM можно указывать несколько переменных. Их описания отделяются друг от друга запятыми: