Файл: Основы программирования на языке QBasic ( История языка программирования QBasic ).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 01.04.2023

Просмотров: 214

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Введение

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

В этой работе будет рассмотрен язык программирования QBasic и его основной функционал. Несмотря на то, что язык QBasic был разработан в 80х, а Basic – основа всех языков семейства – в 1963 году, он остаётся актуальным и сейчас. Конечно, сейчас существуют более функциональные языки программирования, и QBasic лишь иногда используется для начальной стадии обучения основам программирования для детей и студентов нетехнических специальностей.

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

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

Глава 1. История языка программирования QBasic

Название языка программирования BASIC — это первые буквы английских слов Beginner’s All-purpose Symbolic Instruction Code (Всецелевой язык программирования для начинающих).

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

Таким инструментом стал язык Basic.

К лету 1963г группа Курца и Кемени получила две субсидии от фирмы «General Electric» на разработку нового языка для решения выше обозначенной проблемы. В мае 1964г была запущена первая программа на BASIC с использованием системы разделения времени с тремя терминалами, а уже к осени 1964г система работала с устройствами с двенадцатью терминалами.

Отметим, что BASIC разрабатывался на основе уже существующих алгоритмических языков. Например, из Fortran взято указание параметров цикла, из Algol – более естественная проверка завершения выполнения цикла, операторы FOR и STEP. Кое-что было заимствовано из языков CORC и LOSS.


Первая программа на BASIC, опубликованная Кемени и Куртцем в 1964г, имела вид.

10 LET X=(7+8)/3

20 PRINT X

30 END

BASIC – язык интерпретирующего типа. В отличие от Fortran, к примеру, который является языком компилирующего типа.

В следующие 6 лет было создано 6 авторских редакций языка BASIC. В 70е годы фирмами «Hewlett-Packard», «Digital Equipment», CDC, «Honeywell» и др. были разработаны версии BASIC для различных типов мини ЭВМ.

Первые два варианта интерпретатора языка BASIC для микро ЭВМ Altair-8800 были созданы сотрудниками фирмы MITS П. Алленом и Б. Гейтсом в 1975г. В следующем году они основали фирму «Microsoft». Первоначальные версии языка фирма «Microsoft» в 1976 - 1978 гг. поставила для ПЭВМ фирм «Commodore», «Apple», «Tandy». В 1979 г. фирмой «Microsoft» была разработана версия языка –BASIC-80, а позднее – расширенная версия BASIC -80 под названием BASIC-A (Advanced – передовой), которая поддерживала текстовой и графические режимы. В 1984 г. в BASIC-A введены дополнительные возможности (работы с окном экрана, обработка прерываний от таймера, выполнение команд операционной системы и пр.) В этом же году фирмой «Microsoft» был разработан интерпретатор языка Macintosh BASIC для ПЭВМ Macintosh фирмы «Apple».

Quick BASIC – итог дальнейшего развития BASIC-A. Quick BASIC включал в себя подпрограммы и функции с локальными и глобальными переменными, средства поддержки графики и звука, алфавитно-цифровые метки и пр.

True BASIC был разработан для IBM PC в 1985г Т. Куртцом и Дж. Кемени.

Спустя 14 лет после запуска первой программы на BASIC, в 1978г, был принят стандарт ANSI на минимальный BASIC (Minimal BASIC -- ANSI X3.60), который, однако, не решил всех проблем спонтанного развития языка. Вот что пишет по этому поводу Р. Форсайт: «Сразу же после своего появления BASIC стал меняться: с ним начал происходить процесс, похожий на эволюцию естественных языков. Хотя одна из версий была утверждена комитетом стандартов и закреплена разработчиками транслятора, язык вскоре вышел из повиновения и стал общественным достоянием».

Один из создателей BASIC Т. Куртц, ставший председателем комитета ANSI по разработке стандарта языка, в 1982г. опубликовал в журнале BYTE проект расширенного стандарта языка. Проект нового стандарта на языка BASIC выдвинут совместно с ANSI рабочими группами двух европейских организаций – ECMA (Ассоциация вычислительных средств) и EWICS (Комитет промышленных средств вычислительной техники).

Согласно публикации по новому стандарту (BYTE.-1988.-13.-Э 9) определены следующие особенности языка:

нумерация строк не обязательна;

введены новые типы данных;

разрешены символьные константы;


введены новые условные операторы – расширенный IF, оператор выбора SELECT CASE

введен оператор выхода из цикла EXIT FOR и др.

В нашей стране BASIC в пакетном режиме впервые был реализован в 1969-1970 гг. на ЭВМ типа М-20 сотрудниками Горьковского университета под руководством Ю. Кеткова. Им же была опубликована первая доступная книга по программированию на BASIC. Затем появилась модернизация BASIC для ЭВМ М-222, которая позволила его использовать в режиме разделения времени. В дальнейшем сотрудники ИК АН УССР и ВЦ Сибирского отделения АН СССР реализовали BASIC на высоко производительной ЭВМ второго поколения БЭСМ-6.

Последующая отечественная история BASIC связана с мини-ЭВМ, микро-ЭВМ и ПЭВМ. В мини-ЭВМ М 6000, М 7000, СМ1 и СМ2 реализована версия BASIC, соответствующая первым авторским редакциям конца 60-х годов, а в мини-ЭВМ СМ3, СМ4, имеющих в составе операционные системы ОС РВ и РАФОС, использовалось несколько версий языка BASIC. Версия языка под названием BASIC +, разработанная в 1975г. для мини-ЭВМ PDP-11, широко применялась в СМ-3 и СМ-4.

В отечественных ПЭВМ применялись различные диалекты языка BASIC. Так, в ПЭВМ «Искра-220» использовалась расширенная версия языка системы WANG-2200 B, а в ПЭВМ «Агат» – интерпретатор языка, идентичный тому, который применялся ПЭВМ «Apple 2». Версия BASIC+ использовалась в микро-ЭВМ «Электроника 60» и диалоговых вычислительных комплексах ДВК-1, ДВК-2, ДВК-3. Для новых учебных вычислительных комплексов типа «Корвет» разработан интерпретатор языка BASIC на основе версии MBASIC. Профессиональные персональные ЭВМ, такие, как ЕС 1841/42, «Искра 1030.11», «Нейрон N9.66», программно-совместимые с IBM PC, работали с указанными выше версиями BASIC в ОС СР/М-86 и MS DOS. Кроме того, в некоторых учебных заведениях страны успешно эксплуатировались несколько тысяч японских бытовых компьютеров «Ямаха MSX» и «Ямаха MSX-2», используемых в качестве комплектов учебной вычислительной техники (КУВТ), в которых программы реализовывались на языке MSX-BASIC. С июля 1989 г. в СССР был введен стандарт на язык программирования БЕЙСИК (ГОСТ 27787-88).

Последняя, седьмая версия настоящего QuickBASIC вышла в 1990 году. Через год Microsoft выпустил Visual Basic, который со временем превратился в VB.Net, ушедший от своих корней совсем уж далеко. QBasic — урезанная версия QuickBASIC без компилятора — прилагалась к MS-DOS еще какое-то время, но в версиях ОС Windows позднее 98ой поддержка QuickBASIC прекращена.

Глава 2. Основы языка BASIC


2.1 Алфавит языка

Набор символов языка QBasic состоит из:

  • все прописные и строчные буквы латинского алфавита (A-Z, a-z);
  • цифры (0-9), а так же буквы (A-F) или (a-f) для представления шестнадцатеричных чисел[1];
  • знаки:

+

плюс

=

равно

-

минус

<

меньше

*

умножение

>

больше

/

деление

^

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

  • разделители:

,

запятая

'

апостроф

.

точка

(

открывающая скобка

:

двоеточие

)

закрывающая скобка

;

точка с запятой

_

подчеркивание

  • символы объявления типа данных:

%

целые

&

длинные целые

!

обычной точности

#

двойной точности

$

символьные

2.2 Типы данных

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

Числовые данные представляют собой числа. Они бывают следующих типов: целые, длинные целые, обычной точности, двойной точности:

  • Целые (INTEGER) — занимают в памяти 2 байта и используются для значений в диапазоне от -32768 до +32768;
  • Длинные целые (LONG) — 4 байта. Используются для значений в диапазоне от -2,147,483,648 до +2,147,483,647. Они используются в тех случаях, когда необходимы операции с целочисленными переменными, выходящими за рамки диапазона целых чисел в представлении BASIC.
  • Обычной точности (SINGLE) — 4 байта. Используется для значений в диапазоне от -3.402823Е+38 до -1.40129Е-45 для отрицательных значений и от +1.40129Е-45 до -3.402823Е+38 для положительных значений.
  • Двойной точности (DOUBLE) — 8 байт. Используется для значений в диапазоне от 1.797693134862316Е+308 до -4.94965Е- 324 для отрицательных значений и от 4.94965Е-324 до 1.797693134862316Е+З08 для положительных значений. Обычно применяется для точных математических вычислений, не допускающих потерю значности.

Символьные типы данных:


  • Строка переменной длины (STRING)— это последовательность длиной до 32567 символов из таблицы ASCII. В памяти она занимает столько байт, какова ее длина + 4 байта на описатель.
  • Строка фиксированной длины (STRING * num) — символьная строка длинною num байт. В памяти такая строка занимает num байт.

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

'Определим пользовательский тип данных Record

'с помощью оператора TYPE

TYPE Record

TabNomer AS INTEGER

Family AS STRING * 15 Stavka AS DOUBLE

END TYPE

'Присваиваем переменной Rabotnik пользовательский тип

'данных Record

DIM Rabotnik AS Record

'Последовательно вводим значение каждого элемента записи

INPUT "Введите табельный номер"; Rabotnik.TabNomer

INPUT "Введите фамилию работника"; Rabotnik.Family

INPUT "Введите тарифную ставку"; Rabotnik.Stavka

Пользовательский тип данных занимает в памяти столько байт, сколько занимают в сумме каждый из составляющих его элементов. Для нашего примера запись Rabotnik включает целое число (2 байта), строку фиксированной длины (15 байт) и число удвоенной точности (8 байт). Таким образом, она имеет размер 25 байт. Типы данных, определяемые пользователем, могут включать любые типы стандартных данных, кроме строк переменной длины и массивов.

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

Неименованные константы Они бывают символьные и числовые, и используются в программе в тех случаях, когда их значение заранее известно и не подлежит изменению. Символьные константы — это последовательность до 32767 алфавитно-числовых символов (за исключением кавычек и символов перевода каретки и пропуска строки (CR — ASCII 13 и LF — ASCII 10.)) Они обязательно должны заключаться в кавычки:

"ПРИВЕТ"

"$ 25,000,000"

"Число работников"

Пример: PRINT "Средняя заработная плата"

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