Файл: Основы программирования на языке QBasic (Некоторые основные директивы QBasic).pdf
Добавлен: 29.06.2023
Просмотров: 43
Скачиваний: 3
Введение
Бейсик (Basic) – диалоговый учебный язык программирования для персональных компьютеров. На современных компьютерах используется следующие версии Basic: GWBasic, QBasic 4.5, Turbo Basic для DOS, Visual Basic 3.0-6.0 для Windows.
QBasic входит в состав операционной системы MS-DOS 6.0-6.22. Есть русифицированная версия QBasic.
QBasic – диалект языка программирования Бейсик (BASIC), разработанный компанией Microsoft, а также среда разработки, позволяющая писать, запускать и отлаживать программы на этом языке.
QBasic удобен для выполнения несложных вычислений и для прямой работы с портами. Наряду с Pascal, язык довольно популярен для обучения программированию, и используется во многих школах.
Простота данного языка программирования делают его идеальным для начала изучения программирования. Данным аспектом поддерживается актуальность исследования.
Цель работы – изучить основы программирования на языке QBasic.
Задачи:
- изучить историю языка программирования;
- узнать особенности языка программирования;
- изучить основные элементы.
История языка
BASIC появился в 1964 г. Его создатели - Джон Кемени и Томас Курц, сотрудники Дартмутского колледжа. Цель языка - обучение программированию на маломощных компьютерах, каковыми в ту пору являлись установленные в учебных заведениях вычислительные машины. Отличительной особенностью BASIC стало стремление разработчиков сделать этот язык не закрытым проектом, а общественным достоянием. Они руководствовались следующими принципами:
- легкость освоения;
- универсальная направленность;
- возможность подключения расширенных возможностей для продвинутых пользователей;
- интерактивность;
- сообщения об ошибках должны быть максимально понятными;
- небольшие программы должны компилироваться быстро;
- язык не должен требовать знания аппаратной архитектуры;
- пользователь должен быть изолирован от операционной системы.
Язык был основан частично на Фортран II и частично на Алгол-60, с добавлениями, делающими его удобным для работы в режиме разделения времени, обработки текста и матричной арифметики. Первоначально Бейсик был реализован на GE-265 с поддержкой множества терминалов. Вопреки распространённому убеждению, в момент своего появления это был компилируемый язык.
Всеобщую же популярность язык приобрел в середине 70-х годов после его появления на микрокомпьютерах. Многие языки программирования были слишком громоздкими, чтобы умещаться в небольшой памяти. Для машин с таким медленным носителем, как бумажная лента, аудиокассета и без подходящего текстового редактора такой небольшой язык, как Бейсик, был отличной находкой.
В 1977 г. Microsoft выпустила Altair BASIC и превратила этот язык в средство коммерческого давления, добившись встраивания его в чипы ПЗУ IBM PC. Это поспособствовало резкому росту популярности языка. В те годы, на волне всплеска потребительского спроса на первые персональные компьютеры, это было объяснимо. Возможности ранних ПК были скромны, программного обеспечения для них было мало, перенос и установка ПО были трудоемки (для хранения программ использовались бытовые магнитофоны), поэтому корпорации, выпускавшие ПК, охотно встраивали BASIC в свои машины.
Со второй половины 1980-х гг. персональные компьютеры становятся сложнее и мощнее. BASIC уже, во-первых, не подходит для полноценного управления такими устройствами, во-вторых, появляется рынок готового ПО, и необходимость в написании компьютерных программ неспециалистами отпадает.
В начале 1990-х гг. Microsoft выпускает на рынок язык Visual Basic, рассчитанный, опять-таки, на то, чтобы неспециалисты могли с легкостью писать небольшие программы, повышающие эффективность приложений пакета Microsoft Office (т.н. макросы для Word, Excel). На этом языке можно было создавать и полноценные самостоятельные приложения, поэтому он получил название Visual Basic for Applications (VBA) и поддерживается до сих пор. В 1990-е гг. существовала также разновидность Visual Basic Script, которой Microsoft намеревалась вытеснить JavaScript на веб-страницах.
В настоящее время Basic – это не один язык, а целое семейство языков, отличающихся временем создания, парадигмами программирования и синтаксисом, зачастую до полной потери совместимости программ. Ранние версии не поддерживали даже структурное программирование; со временем структурное и процедурное программирование стали общепринятыми парадигмами, и появились версии, поддерживающие их. Ряд современных компиляторов во главе с Visual Basic и VB.NET реализуют объектно-ориентированное и событийное программирование.
Особенности языка
Классический BASIC настолько прост и легковесен, что не комплектуется, подобно другим языкам, стандартными внешними библиотеками. Их возможности включены непосредственно в транслятор (или компилятор) - программу, превращающую исходный код в бинарный.
Недостатком BASIC является и то, что в программах на этом языке большая роль отводится оператору GOTO ("перейти к..."), с помощью которого осуществляются ветвления. GOTO ссылается на номера строк, а они, по мере написания программы, могут изменяться. Несмотря на все ухищрения, с помощью которых программисты пытались решить эту проблему, использование GOTO затрудняет читаемость, превращает листинг в "спагетти-код", разобраться в котором со временем становится трудно даже автору программы. Интенсивное использование GOTO было связано с отсутствием в ранних версиях BASIC возможности использовать собственные подпрограммы и функции. Со временем в большинстве реализаций этот недостаток исправили.
BASIC стал одним из первых языков, создатели которого поняли, что компьютерные программы имеют дело не только с числами, но и с текстом. Поэтому его сильной стороной стало появление процедур обработки строк (LEFT, MID, RIGHT). Что касается чисел, то в языке использовался единственный их тип - числа с плавающей точкой. Поддерживаются также массивы и матрицы (двумерные массивы).
Варианты BASIC существуют для множества платформ. Под свободной лицензией распространяется, например, кроссплатформенный Bywater BASIC (bwBASIC). Он предназначен для работы в консоли, т.е. без оконного интерфейса.
Еще одна бесплатная версия BASIC - Phoenix Object Basic. Он также не предназначен для работы с графическим интерфейсом, но для других целей хорошо проявляет себя и на Windows, и в Linux.
Другие реализации:
- Microsoft Quick BASIC;
- QBASIC: PowerBASIC;
- True BASIC;
- REALbasic (для Apple Macintosh);
- PureBasic;
- FreeBASIC;
- SmallBASIC и др.
Как и QuickBasic, QBasic – язык структурного программирования, поддерживающий подпрограммы и условные циклы. Нумерация строк программы упразднена и поддерживается только для совместимости; вместо нее введены переходы при помощи меток. QBasic имел ограниченную поддержку определяемых типов пользователя (структур) и нескольких простых типов.
QBasic предназначался для замены GW-BASIC. QBasic 1.0 включался в MS-DOS 5.0 и выше, Windows 95, Windows NT 3.x и Windows NT 4.0. Компания IBM перекомпилировала QBasic и включила в PCDOS 5.x, позже в OS/2 2.0 также была введена поддержка QBasic. QBasic 1.1 поставлялся с MS-DOS 6.x, и без изменений в Windows 95, Windows 98 Windows Me. Начиная с Windows 2000, компания Microsoft перестала включать QBasic в свои операционные системы.
QBasic был основан на ранней версии компилятора QuickBASIC 4.50, но не содержал ни компилятора, ни компоновщика. До MS-DOS 7 редактор MS-DOS требовал наличие QBasic. Программа "edit.com" просто запускала QBasic в режиме редактора.
В течение долгого времени QBasic обеспечивал современную интегрированную среду разработки, включающую отладчик с рядом особенностей (оперативная оценка выражений, модификация кода и т.д.). QBasic может выполняться почти под всеми версиями DOS и Windows, а при использовании эмулятора DOSBox может выполняться в ОС Linux, FreeBSD.
Microsoft QuickBASIC (сокращение QBasic некорректно, это совершенно другая реализация) – компилятор и интегрированная среда разработки для языка BASIC, который разрабатывался корпорацией Microsoft. QuickBasic создавался ориентированным на DOS, однако недолгое время существовала версия для Mac OS. QuickBASIC основан на GW-BASIC, но включает некоторые улучшения и расширения: добавлены пользовательские типы данных, улучшены структуры программирования, усовершенствована работа с графикой и работа с диском. Microsoft распространяла QuickBASIC как первую профессиональную систему разработки программ на BASIC.
QuickBASIC 1.0 была выпущена 18 августа 1985 и распространялась на одном пятидюймовом диске. С версии QuickBASIC 2.0 была включена среда разработки, и пользователи могли редактировать программу непосредственно в текстовом редакторе.
Нумерация строк еще поддерживалась, но в ней не было необходимости. Переходы в программе могли быть осуществлены при помощи меток. Более поздние версии добавляли различные управляющие структуры (многострочные условные операторы, блоки циклов).
В поставку QuickBASIC был включен компилятор для сборки исполняемых программ. Редактор содержал интерпретатор, который позволял программисту исполнять программу в процессе редактирования. Интерпретатор использовался для отладки программы до компиляции. Но, к сожалению, существовали некоторые проблемы и порой программа, работавшая исправно в интерпретаторе, после трансляции функционировала некорректно, а иногда даже не компилировалась.
QuickBASIC 4.5 – последняя версия, выпущенная в 1988 году, однако разработка профессиональной системы разработки (PDS) продолжалась до появления последней версии 7.1 в октябре 1990. Версия IDE BASIC PDS 7.x была названа QuickBASIC Extended (QBX) и исполнялась только под DOS. Преемником QuickBASIC и Basic PDS стал Visual Basic для MS-DOS 1.0. Более поздние версии Visual Basic не включали версии для DOS, так как Microsoft ориентировалась на приложениях для Windows.
Подмножество QuickBASIC 4.5 было названо QBasic. QBasic включался в поставку MS-DOS 5 и в более поздних версиях, который заменил GW-BASIC. QBasic по сравнению с QuickBASIC имел ряд ограничений: включал только интерпретатор, существовало ограничение в его функциональности, создание программ ограничивалось определенным размером и т.д. Поскольку он не содержал компилятора, то не было возможности создавать исполняемые файлы, но программы, написанные на QBasic, могли компилироваться при помощи QuickBASIC 4.5, BASIC PDS 7.x, VBDOS 1.0.
Для ОС Macintosh QuickBASIC 1.0 был выпущен в 1988.Он работал только на System 6 и System 7 и требовал наличие ОЗУ объемом большим 1 Мб.
Основные элементы языка
Переменная - это область в памяти компьютера, где хранится некоторое значение. Каждая переменная имеет имя, значение и тип.
Имя переменной обозначается английской буквой, после которой может быть цифра, причем первой стоит буква, например: x, y, z, A1, B2. Имя переменной служит для обозначения некоторой величины в программе, которая при выполнении программы может иметь какое-либо значение, но может быть и не определена. Пример задания часто употребляемой константы: pi=3.14159.
Типы переменых: целая, вещественная, логическая, символьная, строковая и др. Если в переменной хранится число, то это числовая переменная, если в переменной хранится слово или фраза, то это строковая (символьная) переменная. В QBasic строковая переменная обозначается a$, b$ (в конце имени стоит знак доллара $). Содержимое хранится в переменной, до тех пор, пока оно не будет специально изменено.
Операция предачи новых данных в переменную называется присваиванием и обозначается в QBasic знаком "=", например, x=10.
Некоторые основные директивы QBasic
Директива REM или апостроф ' - обозначает комментарий к программе или команде. Вся строка (как правило, это поясняющий текст), что идёт после знака комментария, не исполняется. Этот знак используется при отладке программ.
Оператор CLS-оператор очистки экрана. С него часто начинаются программы, работающие в текстовом режиме.
Директива END означает конец программы. Применение этой команды в конце программы не является обязательным.
Все формулы в QBasic записываются в строку, при этом используются следующие математические знаки:
"+" и "-" - сложение и вычитание;
"*" и "/" - умножение и деление;
"^" - возведение в любую степень;
(x+3.14)/(a+b) - используются только круглые скобки и десятичная точка вместо запятой.
Пример: S=Vo*t+g*t^2/2
В QBasic применяются следующие встроенные функции:
SQR(X) - извлечение квадратного корня;
ABS(X) - модуль (абсолютная величина) числа;
SIN(X); COS(X); TAN(X) - тригонометрические функции синус, косинус и тангенс угла в радианах;
ATN(X) - арктангенс числа в радианах;
INT(X) - округление числа (дробная часть числа отбрасывается);
RND(X) - случайное число;
z = y MOD x - целый остаток от деления y на x.
LOG(X) - логарифмическая функция (натуральный логарифм по основанию e=2.71828);
EXP(X) - показательная (экспоненциальная) функция.
Операции ввода-вывода информации
Для вывода (печати) информации на экран применяется оператор PRINT. Пример:
PRINT X - вывод на экран значения числа X.
PRINT "Скорость тела равна: V="; V; "м/с" - выводимый на экран текст указывается в кавычках. Вместо знака ";" можно ставить знак ",".
Просто оператор PRINT без текста и знаков даёт пустую строку на экране.
Если при работе в среде QBasic 4.5 вместо слова PRINT ставить знак вопроса "?", а затем нажать Enter, то слово PRINT само появится на экране. Это упрощает работу программиста.
Ввод данных с клавиатуры осуществляется с помощью оператора INPUT