Добавлен: 17.05.2023
Просмотров: 98
Скачиваний: 4
Введение
Потребность в разработке средств программирования напрямую связана с совершенствованием технических средств, развитием ЭВМ. На начальных этапах, для машин первого поколения приходилось писать программы на языке компьютера, в машинных кодах. Это очень сложный и долгий процесс. Программист был вынужден вручную писать коды операций и адреса операндов, выраженных в виде последовательностей единиц и нулей. Вероятность ошибки была очень высока, а отследить её было почти невозможно, как и редактировать и модифицировать такую программу. В период перехода к машинам второго поколения (50-е годы) возникла необходимость в создании больших и сложных программ, составление которых в машинных кодах резко снижало эффективность использования новых машин и замедляло процесс их внедрения. Именно на этот период пришлось появление первых алгоритмических языков программирования. Они имели наглядную форму реализации алгоритма, в них использовалась привычная математическая символика. Основным их преимуществом стала возможность их всестороннего применения.
Работа с программой, написанной на алгоритмическом языке, стала весьма легче за счет относительной простоты написания, возможности модифицирования. Модернизация вычислительной техники, а именно увеличение объема памяти и быстродействия машин, делало программирование на алгоритмических языках все более перспективным. Языки программировании стали посредником между машинами и программистами.
История
Всё большее распространение использования компьютеров стало предпосылкой к появлению языка Бейсик.
В 1964 году Джоном Кемени и Томасом Курцем, преподавателями Дартмутского Колледжа, был создан язык Бейсик. Его реализовали студенты колледжа под наставничеством своих преподавателей. Через какое-то время язык оброс множеством диалектом и изначальную версию стали именовать как Dartmouth BASIC.
Бейсик был рассчитан на то, чтобы предоставить студентам возможность без затруднений писать программы, используя терминалы с разделением времени. Язык предназначался для нетребовательных пользователей, для которых скорость выполнения программ была не так важна, как простота использования компьютера для выполнения своих задач, не требующих специальных профессиональных навыков.
При разработке языка создатели ориентировались на определенные принципы. Новый язык должен был обладать характерными чертами:
- простота в использовании для начинающих;
- применимость к широкому спектру областей
- возможность расширения функциональности для опытных программистов;
- понятные сообщения об ошибках;
- высокая скорость выполнения небольших программ;
- возможность работы без знания аппаратного обеспечения;
Фортран 2 и Алгол 60 стали основой для разработки языка.
Новый язык был более пригодным для работы в режиме разделения времени и, чуть позже, при обработке текста и матричной арифметики. С самого начала Бейсик был компилируемым языком.
Рост
Бейсик уже был реализован на нескольких мини-компьютерах, но настоящий рост его использования начался с момента, когда язык Бейсик появился на микрокомпьютере Альтаир 8800. Множество языков программирования были слишком объёмными и не могли поместиться в небольшую память, установленную в таких машинах. Для такой медленной техники, как бумажная лента (позднее — аудиокассета), и без подходящего текстового редактора такой компактный язык, как Бейсик, был хорошей альтернативой.
В 1975 году Microsoft выпустила Altair BASIC. Для операционной системы CP/M был разработан диалект BASIC-80, который задал темп развития языка.
В 1970—1980 годах Бейсик обрел множество версий и диалектов высокого уровня, большинство которых были несовместимых между собой из-за недостаточной стандартизации, так как для каждого компьютера разрабатывалась собственная версия. Во времена роста использования домашних и учебных компьютеров, Бейсик являлся основным высокоуровневым языком.
Зрелость
Более стремительное развитие языка пришлось на 1970-1980 года.
В это время почти все персональные компьютеры были наделены собственным интерпретатором Бейсика, который в некоторых компьютерах осуществлял функции операционной системы. Многие более мощные компьютеры также были оснащены интерактивными Бейсик-системами.
Создавались всё более новые версии Бейсика, такие как IBM Advanced BASIC, GW-BASIC, QuickBASIC. На основе Бейсика создавались и иные средства программной разработки, например, язык Turbo Pascal. Синтаксис Бейсика был использован в некоторых языках для создания совершенно новой системы. Чтобы увеличить производительность Бейсик-программ были разработаны полноценные компиляторы.
В середине 1980-х Бейсик стал основным языком в программируемых калькуляторах.
К концу 1980-х годов персональные компьютеры стали намного мощнее, появилось множество новых возможностей, реализация которых в Бейсик была не удобна. На компьютерах появились недорогие трансляторы промышленных языков (прежде всего — Паскаля и Си) с новыми и удобными программными средствами и полезными библиотеками (например, Borland Pascal с библиотекой Turbo Vision). Хотя многие версии Бейсика ещё использовались и продавались, он не мог справлятся с таким соперничеством.
Общие сведения о языке программирования Qbasic
QBasic — это интегрированная среда разработки (IDE) для реализации языка программирования BASIC, основанная на QuickBasic.
Как и QuickBasic, QBasic — язык структурного программирования, имеющий поддержку подпрограмм и условных циклов. Вместо нумерации строк введены переходы с использованием меток. QBasic имел ограниченную поддержку определяемых типов пользователя (структур) и нескольких простых типов.
QBasic задумывался как альтернатива для GW-BASIC. QBasic 1.0 включался в MS-DOS 5.0 и выше, Windows 95, Windows NT 3.x и Windows NT 4.0. Начиная с версии Windows 2000, компания Microsoft перестала включать QBasic в свои операционные системы.
В основе языка QBasic лежит ранняя версия компилятора QuickBASIC 4.50, но ни компилятор, ни компоновщик не был унаследован. До MS-DOS 7 редактор MS-DOS требовал наличие QBasic.
QBasic предоставлял современную интегрированную среду разработки, имеющую отладчик со множеством особенностей (оперативная оценка выражений, модификация кода и т.д.) в течение довольно продолжительного периода. QBasic может быть совместим почти со всеми версиями DOS и Windows, а если использовать эмулятор DOSBox может выполняться в ОС Linux, FreeBSD.
Первоначально QBASIC создавался как универсальный язык для начинающих, на котором было бы легко обучаться программированию в целом. Поэтому QBASIC отличается от остальных языков высокого уровня и имеет некоторые полезные для основной массы пользователей особенности:
- несложный синтаксис;
- простая организация данных и управляющих структур;
- большой набор встроенных команд и функций, которые дают
возможность легко выполнять такие операции, как управление текстовым и графическим экраном, обработка символьных строк и т.п.
Преимуществом QBASIC является возможность работы в режиме интерпретации, который делает процесс отладки программ намного проще: выполнение практически каждой команды можно проверить сразу после написания, зажав сочетание клавиш Shift +F5.
Программирование на языке QBASIC
Арифметические выражения
Бейсик имеет собственный синтаксис и программы на нем записываются в виде последовательностей символов, среди которых арабские цифры, русские и латинские буквы, знаки препинания (, ; : " ' ?) , знаки операций (* / - + < > <= >= = <> .), специальные символы (% & ! # $ ). Исходные данные и результаты вычислений обозначаются переменными. Идентификатор или имя переменной – это последовательность латинских букв и цифр, начинающаяся с буквы. Для записи чисел используется десятичная система счисления, в десятичных дробях для обозначения разряда ставится точка: 0, - 17, 0.25, - 34.85. Переменные и числа - это распространённые и простые элементы программы. Для составления более сложных выражений из чисел и переменных используются знаки сложения, вычитания, умножения, деления, возведения в степень (+, -, *, /, ^ ). Вычисление значений выражений производится в соответствии с обычными правилами старшинства операций:
1) возведение в степень - ^
2) умножение, деление *, /
3) сложение, вычитание +, -
Действия в арифметических выражениях выполняют слева направо по приоритету. Порядок действий можно изменить при помощи круглых скобок. Выражения, стоящие в круглых скобках, выполняются первыми. Язык содержит ряд встроенных функций для записи выражений:
ABS ( х) - модуль х
SQR ( х) - корень квадратный из х
INT ( х ) - целая часть х
SIN ( х) - синус х (аргументом служит радианная мера угла)
COS ( х ) - косинус х
TAN ( x ) - тангенс х
ATN ( x ) - арктангенс х
LOG ( x ) - натуральный логарифм х
EXP ( x ) - экспонента х
SGN (x) - определение знака числа х
Ввод и вывод данных.
Оператор ввода с клавиатуры: INPUT ["текст";] X1, [X2, X3... XN]
Параметры, стоящие в квадратных скобках не обязательны; X1, X2, ... XN – идентификаторы переменных. При выполнении этого оператора на экране появится текст, а значения переменных X1, X2, ... XN будут введены с клавиатуры.
Операторы блока данных
READ X1, X2, X3, ... XN где X1,X2,..XN - это имена переменных
DATA C1, C2, C3, ... CN где C1, C2, ... CN - это значения
При выполнении этих операторов переменной X1 будет присвоено значение C1, X2 присвоено значение C2... Оператор DATA может стоять в любом месте программы. Считывать данные из хранилища DATA позволяют некоторые операторы READ.
Оператор вывода на экран
PRINT S1[ ;S2; S3 ...] где S1, S2 ... SN - списки
Список это :
1) имя переменной, значение которой нужно вывести на печать;
2) арифметическое выражение, значение которого нужно вывести на печать;
3) текст, стоящий в кавычках.
Списки могут быть разделены двумя способами:
1) , - списки отделяются друг от друга шагом табуляции, равным 8 пробелам; 2) ; - списки печатаются вплотную друг к другу.
Чтобы управлять выводом используется специальный оператор: LOCATE X,Y где X - номер строки экрана 1<=X<= 24 , Y - номер столбца экрана 1<=Y<= 80. При помощи этого оператора указывается место для печати.
Операторы перехода
Операторы условного перехода предназначены для реализации на языке QBasic алгоритмических конструкций ветвления. Ветвление – это такая алгоритмическая конструкция, при котором выполнение одного действия зависит от выполнения другого действия или условия. Условие - это логическое выражение, содержащее знаки сравнения и логические операции.
Логическая операция NOT (отрицание) выполняется над простым логическим выражением: NOT (a> b ). Логическое выражение может принимать значение истина - TRUE (истина) или ложь - FALSE. Логические функции и выражения используются в операторах ветвления и цикла. Порядок выполнения операций также соответствует привычным правилам: первыми выполняются операции в скобках, далее логическое умножение, затем логическое сложение.
Существует два вида операторов перехода: операторы безусловного перехода и операторы условного перехода.
Оператор безусловного перехода осуществляет переход из одной
строки программы к другой, отмеченной номером или меткой. Общий вид оператора:
GOTO N где N - номер строки или метки оператора, на который происходит переход в программе.
Операторы условного перехода.
Полная форма ветвления Неполная форма ветвления Двум формам ветвления, полной и неполной, соответствуют два вида операторов: полной и неполной альтернативы.
I. Полная альтернатива (предусмотрены команды в ветви "ДА" и в ветви "НЕТ").
1) Линейная форма записи (оператор записывается в одной строке) Условие выполняется "ДА"
IF условие THEN блок операторов 1 ELSE блок операторов 2
Условие не выполняется "НЕТ"
Работа оператора: в зависимости от того выполняется или не выполняется условие (условие - логическое выражение, содержащее знаки сравнения и логические операции). Когда выражение условия является истиной, выполняется блок операторов 1, если выражение условия ложно, тогда выполняется блок операторов 2.
2) Блочная форма записи:
II. Условный оператор неполной альтернативы:
IF условие THEN блок операторов
Циклы.
Циклы в языке QBASIC создаются двумя способами:
- повторение блока операторов заданное количество раз (цикл со счетчиком);
- повторение блока операторов в цикле, пока выполняется (или не выполняется) определенное условие.
Цикл со счетчиком FOR... NEXT
Оператор цикла выполняет некоторый алгоритм, в котором
различные команды повторяются определенное количество раз. Такой цикл имеет следующий вид:
FOR K=K1 TO K2 STEP K3 - заголовок цикла
- тело цикла -
- NEXT K - конец цикла
FOR - имя оператора; К - переменная управления циклом (целого типа); К1, К2, К3 - начальное, конечное значения и шаг изменения величины К соответственно, могут быть выражены любыми арифметическими конструкциями; ТО, SТЕР - переводится - "до", "шаг"; тело цикла представляет собой небольшую отдельную программу, состоящую из некоторого количества операторов языка Бейсик; NEXT - оператор конца цикла.
Схема выполнения цикла выглядит следующим образом: