История создания языка программирования Basic и Visual Basic. Основы программирования на языке basic Год в котором был разработан язык программирования бейсик

Язык программирования Бейсик - это семейство языков программирования высокого уровня. Первоначально разработанный в качестве учебного пособия, он получил широкое распространение на домашних микрокомпьютерах в 1980-е годы, и остается популярным и по сей день в сильно изменном диалекте. Программирование для начинающих.
Название языка программирования BASIC было придумано в классических традициях информатики, что привело к хорошему сокращению наименования, Beginner"s All-purpose Symbolic Instruction Code (Многоцелевой код символьных инструкций для начинающих). Название связано с названием неопубликованной работы изобретателя языка Томаса Курца. Некоторые критики шутливо называют его Попытка языка Билла захватить контроль над промышленностью в ответ на политику Microsoft в отношении интерпретатора Бейсика, который включенали во все поставки с ранними ПК совместимых с IBM. Программирование для чайников.

История

До появления
До середины 1960-х годов, компьютеры были очень дорогие инструментами, которые использовались только для задач специального назначения, в то время выполнять могли они только одну "работу". С середины 1960-х годов, однако, компьютеры начали падать в цене, вплоть до того момента, когда даже небольшие компании могли их себе позволить, а скорости исполнения инструкций выросли до такой степени, когда компьютеры стали простаивать, потому что не было достаточного количества работы для них, что впоследствии рассматривалось в основах программирования.
Языки программирования той эпохи, как правило, разрабатывались с учетом возможностей вычислительных машин и для конкретных целей, таких, как научная обработкая формул. Компьютеры, которые могли выполнять только одну "работу" были дорогими, а самой главной характеристикой являлась скорость исполнения инструкций. В общем, их использование было трудным делом, и, даже можно сказать, немного "уродливым".
Именно в это время концепция разделения времени операционной системой начала становиться популярной. В такой системе время основной обработки компьютер "нарезал" на части, и каждый пользователь получал небольшое количество времени в определенной последовательности. Машины были уже достаточно быстрыми, так что большинство пользователей заблуждались, думая, что они монопольно использовали целый компьютер. В теории разделения времени снижение времени вычисления чрезвычайно важно, поскольку на одном компьютере могут работать сотни пользователй, по крайней мере теоретически.

Рождение и ранние годы
Язык программирования BASIC изобрел в 1964 году Джон Джордж Кемени (1926-93) и Томас Курц Евгений (1928 -) в Дартмутском колледже. В последующие годы, после появления множества разновидностей Бейсика, было выпущено описание оригинального BASIC от Кемени и Курца, которое дало название настоящему Бейсику "Дартмут Бейсик".
Язык программирования Бейсик был разработан для того, чтобы студенты могли писать программы, используя с компьютерные терминалы в режиме разделения времени. Бейсик предназначен для решения сложных вопросов, которые решало предыдущее поколение языков. Разработанный специально для нового класса пользователе, которые приняли идею использования разделения времени, то есть для "простого" пользователя, который был заинтересован не столько в скорости, сколько в простой возможности использования компьютера. Разработчики языка также хотели, чтобы язык стал общественным достоянием, которое помогло бы ему распространяться.
Восемь принципов построения BASIC:

  1. Быть легким для новичков
  2. Быть языком общего назначения
  3. Разрешить расширенные возможности добавления собственным усовершенствований для специалистов (при сохранении языка простым для начинающих)
  4. Быть интерактивным
  5. Разработка четких и дружественных сообщений об ошибках
  6. Быстро реагировать на небольшие программы
  7. Не требуется знание компьютерных аппаратных
  8. Ограждение пользователя от операционной системы

Язык был основан частично на Фортран II и частично на Алгол 60, с дополнениями, чтобы сделать его пригодным для разделения времени и матрицей арифметики, BASIC был впервые реализован на манфреймах GE-265, которые поддерживали несколько терминалов. Вопреки распространенному мнению, на момент создания это был компилируемый язык. Почти сразу же после его выпуска, компьютерные специалисты начали высмеивать Бейсик как слишком медленный и слишком простой. Так как элитарность языка является постоянной темой в компьютерной индустрии.
БЕЙСИК тем не менее, распространяется на большое количество машин, и становится довольно популярным на новых миникомпьютерах, таких как серия DEC PDP и Data General Nova. В этих случаях язык, как правило, выступает в качестве переводчика, а не компилятора, или, наоборот, в зависимости от потребностей.

Взрывной рост
Однако только с появлением микрокомпьютера Altair 8800 в 1975 году BASIC начинает свое массовое распространение. Большинство языков программирования были слишком велики, чтобы уместиться в небольшой памяти компьютеров, которые большинство пользователей могут позволить себе купить, а если еще учесть, что чтение происходило с медленной бумажной ленты (или в более поздних версиях аудио кассеты) и отсутствовали подходящие текстовые редакторы, то малый требования языка BASIC хорошо отвечали этим требованиям. Одним из первых появившихся на этой машине был Tiny BASIC, простая реализация BASIC изначально написанная доктором Ли-Ван Чэнь, а затем перенесенная на Альтаир Деннисом Эллисоном по просьбе Боба Альбрехта (который позже основал доктор Dobbs Journal - DDJ) . Дизайн Tiny BASIC и полный исходный код был опубликован в 1976 DDJ.
В 1977 году Microsoft (в то время это были только два человека - Гейтс и Аллен) выпустила Altair BASIC. Версии затем начали появляться и на других платформах в соответствии с лицензией, и миллионы копий и вариантов вскоре были в использовании, он стал одним из стандартных языков на Apple II. К 1979 году Microsoft ведет переговоры с несколькими поставщиками микрокомпьютеров, в том числе IBM, для того, чтобы лицензировать интерпретатор BASIC для этих компьютеров. Версия была зашита в чипах IBM PC в ПЗУ, а для ПК без дисков, Бейсик стал загружаемым автоматически при включении питания.
По мере появления новых компаний, многие из них пытались повторить успех Альтаира, например, IMSAI, Полярная звезда, и Apple, и, таким образом произошла революция домашнего компьютера, в котором BASIC стал стандартным атрибутом домашних компьютеров того времени. Большинство шли с интерпретатором BASIC в ПЗУ (функция впервые появилась на Commodore PET в 1977). Вскоре появились многие миллионы машин, работающих с BASIC во всем мире, вероятно, гораздо больше, чем число всех пользователей всех других языков вместе взятых. Многие программы, особенно те, что на Apple II и IBM PC, стали зависимыми от интерпретатора BASIC компании Microsoft и не работали без него. Таким образом, Microsoft использовали авторскую лицензию на трансляторы BASIC, чтобы получить рычаги давления на переговорах с поставщиками компьютеров.

Зрелость
В этот период времени были созданы новые и более мощные версий BASIC. Microsoft продала несколько версий BASIC для MS-DOS / PCDOS включая BASICA, GW-BASIC (BASICA-совместимую версию, которая не требовала наличия ROM IBM) и Quick Basic. Компания Borland (разработчик Turbo Pascal) опубликовала Turbo Basic 1.0 в 1985 (преемник этой версии все еще продается под названием PowerBASIC другой компанией). Появлялись различные расширения для домашнего компьютера которые поддерживал Бейсик, например, графика, звук и DOS команды, а также средства для структурного программирования. Другие языки программирования использовали широко известный синтаксис языка Бейсик в качестве основы для переноса на другие операционные системы, в качестве примера можно вспомнить GRASS .
Однако во второй половине 1980-х годов новые компьютеры были гораздо более сложными и имели множество возможностей (например, графические интерфейсы пользователя), что делало BASIC все менее и менее подходящим для программирования. В то же время компьютеры прогрессируют от инструмента любителей до инструмента профессионалов. Персональные компьютеры начинают использоваться в основном для выполнения приложений, написанных другими людьми, и программирования в целом становится менее важной составляющей для быстро растущего числа простых пользователей. БЕЙСИК начал исчезать, хотя многочисленные версии остались доступными.
Бедственное положение БЕЙСИКА изменяется с появлением Visual Basic от Microsoft. Хотя уже довольно трудно рассмотреть в этом языке классический BASIC (несмотря на использование в названии знакомых слов BASIC), но этот новый стал одним из наиболее часто используемых языков на платформе Windows. Не забудем упомянуть, что программы, написанные на этом языком представляют собой примерно 70 до 80% всех коммерческих приложений. Visual Basic для приложений (VBA) был добавлен в Microsoft Excel 5.0 в 1993 году и включен во всю линейку продуктов Microsoft Office в 1997 году. В Windows 98 появился транслятор VBScript. Последняя версия Visual Basic называется VB.NET. OpenOffice Suite включает в себя вариант BASIC менее мощный, чем его коллега MS.

Синтаксис
Оператор завершения логической строки это перевод на новую строку, если только не встретился оператор переноса логической строки на следующую с помощью символа продолжения строки. Минимальный синтаксис Бейсика: LET, PRINT, IF и GOTO команды. Интерпретатор, который запускает программу с этим минимальным синтаксисом не нуждается в стеке, потому что некоторые ранние реализации микрокомпьютеров были настолько простыми. Если добавить стек, то могут быть добавлены циклы и команды GoSub . Интерпретатору BASIC для работы с этими функциями необходимо иметь код номера строк.
Номера строк были отличительной особенностью классического BASIC для домашнего компьютера. Увы, использование номеров строк имеет большой недостаток, который требует от программиста чутья на то, сколько строк будет в программы, поскольку основными командами был переход к номеру определенной строки. А в случае внесения правок или дополнений в более поздних версиях программы, номера этих строк начинали изменяться, что приводило к необходимости изменения почти всей программы. Для решения данный проблемы использовались хитрые приемы, которые скажем гласили, что нумеровать надо строки с запасом и шаг составлял +10. Но все равно это не спасало в случае серьезных модификаций программы. Чтобы решить эту проблему с ранними трансляторами BASIC, опытные пользователи скоро написали свои собственные утилиты для перенумерации строк исходного кода программы. Некоторые трансляторы БЕЙСИКА, которые появились позже, имели встроенную команду изменения нумерации строк, тем самым устраняя наиболее актуальную проблему с номерами строк.
Современные диалекты BASIC отказались от номерации строк, и большинство реализаций поддерживают структурные управляющие операторы, которые используются в известных языках, таких как Си или Паскаль как известно и в других языках, таких как C и Pascal (хотя остаются и версии, где совмещено структурное управление и нумерация строк):

  • do - loop - while - until - exit
  • on x goto / gosub (switch & case)

Последние варианты, такие как Visual Basic ввели возможность объектно-ориентированного программирования, и даже наследование в последней версии. Управление памятью в последней реализации намного легче, чем во многих других процедурных языках программирования из-за того, что обычно включен сборщик мусора (который самостоятельно очищает память и удаляет ненужные данные).
Разнообразие вариантов языка показывает, что язык имеет "органический" характер и что этот язык может рассматриваться как субкультура в компьютерном мире, а не как фиксированный набор синтаксических правил. То же самое относится и к другим "старым" языкам программирования, таким как COBOL и FORTRAN. Огромное количество профессионалов в ИТ индустрии, которые владеют БЕЙСИКОМ, можно объяснить тем, что основная масса оттачивала зубы в программировании в 80-х годах, годы популярности Бейсика.

Процедуры и управление потоком
Basic не имеет стандартных внешних библиотек, как другие языки, такие как Си. Вместо этого транслятор (или компилятор) содержит обширную встроенную библиотеку собственных процедур. Эти процедуры включают в себя большинство инструментов, с помощью которых программист должен научиться программированию и писать простые приложения, включая математические функции, ввод и вывод строк на консоль, графики и обработка файлов.
Некоторые диалекты BASIC не позволяют программистам писать свои собственные процедуры. Программисты должны вместо этого писать свои программы с большим количеством GOTO заявлений для ветвления. Это может привести к очень запутанному исходному коду, который обычно называют код спагетти. GoSub объявляет простые виды подпрограмм без параметров или локальных переменных. Большинство современных версий BASIC, таких как Microsoft QuickBASIC добавили поддержку полных подпрограмм и функций. Это еще одна область, которой этот язык отличается от многих других языков программирования. BASIC, как Паскаль, делает различие между процедурой, которая не возвращает значение (так называемые подпрограммы) и процедуры, которые возвращают значение (называется функция). Многие другие языки (в частности, C) не делают различия и называют всё функциями (хотя некоторые функции возвращают "пустые" значения и являются процедурами-подпрограммами).

Типы данных
БЕЙСИК хорошо известен своей отменной функцией обработки строк. Уже в первых диалектах было множество фундаментальных функций (LEFT$, MID$, RIGHT$) для простой обработки строк. Так как строки часто используются в повседневных приложениях, то это было значительное преимущество перед другими языками в момент появления языка.
Оригинальный Дартмут BASIC поддерживает только числовые и строковые типы данных. В языке не было целого типа данных, вместо этого предполагалось описывать все числа с помощью переменных с плавающей точкой (весщественный тип). Строки были динамической длины. Поддерживались массивы, а также матрицы (двумерные массивы).
В каждом современном диалекте BASIC по крайней мере есть целые и строковые типы данных. Типы данных, как правило, отличаются следующим: строковые идентификаторы содержат в конце $, а целых нет. В некоторых диалектах, переменные должны быть объявлены до первого использование, в других диалектах не требуют этого, но есть возможность проверить его выполнение этого правила, для этого используют директивы, такие как Option Explicit. Многие диалекты также имеют поддержку дополнительных типов, такие как 16 и 32-разрядных целых чисел и чисел с плавающей точкой. Кроме того, некоторые позволяют определять пользовательские типы данных, похожие на Pascal "записи", или С "структуры".
Большинство основных диалектов также поддерживает массивы целых чисел или других типов. В некоторых, массивы должны быть предопределенными, прежде чем они могут быть использованы (с заявлением DIM). Поддержка двух и многомерных массивов, а также массивы нецелых типов, являются обычным делом.
DIM myIntArray (100) AS INTEGER
DIM myNameList (50) AS STRING
В зависимости от диалекта BASIC и по использованию Option Base, значения могут колебаться от myIntArray (0) до myIntArr (100), от myIntArr (1) к myIntArr (100) или из myIntArray (LowInteger) в myIntArray (HighInteger), иными словами номер первого элемента может начинаться с нуля или с единицы.

Реляционные и логические операторы
= Равны
<= меньше или равно
not логическое отрицание
<> Не равно
>= больше или равно
and логическое умножение
< Меньше
or логическое сложение
> Больше
(Обратите внимание, что нет лексического различия между оператором равенства и оператором присваивания в Бейсике - это знак "=")

Доступность и варианты диалектов
Basic доступен практически для любой платформы микропроцессоров. Есть свободный интерпретатор языка, совместимый со стандартами и кросс-платформенный Байуотер BASIC (bwBASIC). Интерпретатор написан на C и поставляется под лицензией GNU. Он предназначен для текстовой консоли программы, и как таковой не включает инструменты для создания графического интерфейса пользователя (GUI). Бесплатный Бейсик, который не включает GUI Builder, похож на Visual Basic и работает на Windows и Linux - это Phoenix Object Basic.
Самые известные версии - это компилируемая версия Microsoft Quick BASIC и QBASIC версия, которая не создает автономные программы. Некоторые версии Visual Basic также могут компилироваться в машинный код. Microsoft сохранила в Visual Basic минимальную совместимость даже с ранними версиями.
Другие версии включают язык программирования PowerBASIC от компании PowerBASIC, а также True BASIC от компании True BASIC, которые совместима с последними официальными стандартами для BASIC. Компания True BASIC была основана одним из создателей Дартмут BASIC.
REALbasic это вариант для Apple Macintosh, которая также создает исполняемые файлы для Microsoft Windows. PureBasic являет вариант с простым синтаксисом, но который производит быстрые и крошечные исполняемые файлы для Windows и Linux. SmallBASIC это диалект, который работает на многих платформах (Win32, DOS, Linux и PalmOS) и поставляется под лицензией GNU (GPL).

Занятие 1

Введение в язык программирования Basic.

Для представления алгоритма в виде, понятном компьютеру, служат языки программирования . Сначала разрабатывается алгоритм действий, а потом он записывается на одном из таких языков. В итоге получается текст программы - полное, законченное и детальное описание алгоритма на языке программирования. Затем этот текст программы специальными служебными приложениями, которые называются трансляторами , либо переводится в машинный код (язык нулей и единиц), либо исполняется.

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

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

Basic (Бейсик) создавался в 60-х годах в качестве учебного языка и очень прост в изучении. По популярности занимает первое место в мире.

Алгоритмический язык Бейсик используется преимущественно в режиме диалога человека и ЭВМ. Этот язык ориентирован на решение различных задач вычислительного и не вычислительного характера. Название языка возникло от сокращения английских слов (Beginner’s Allpurpose Symbolic Instuction Code), что в переводе означает “многоцелевой язык символических инструкций для начинающих”.

Алфавит языка (основные символы языка).

В языке Бейсик используют следующие основные символы:

а) 26 букв заглавного латинского алфавита A,B,C,...,X,Y,Z.

(допустимы также строчные).

б) цифры 0,1,...,9

в) Специальные символы:

1) знаки арифметических операций +,-,*,/,\,^.

2) знаки отношений <, <=, =, >, >=, <>

3)) (. : ; , % ! # $ ? “

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

1) имена команд: NEW, RUN, LIST...

2) имена функций: SIN, COS, ATN,...

3) имена операторов: READ, INPUT, IF...

Основные элементы языка .

К основным элементам языка относятся константы, переменные и специальные функции.

Константы .

Константы представляют собой объекты, чьи значения не могут быть изменены в процессе выполнения программы. В языке Бейсик различают числовые и символьные константы. Числовые константы делятся на целые и действительные.

1)Целая константа имеет вид обычных десятичных чисел со знаком или без него. Целый тип константы указывает знак %. Целые константы могут принимать значения в диапазоне от -32768% до 32768%.

2) Вещественная константа может быть записана в двух формах:

а) нормальный 3.21

б) экспотенциальный 1.2Е3 = 1200

Пример. Определить правильно или неправильно записаны константы: 37.25Е28, 1.5Е2, 3Е, Е5, 1Е2.5, 34Е 24, 33%, 4.2Е2%, 3Е44, 44.

3) Символьные (строковые или текстовые) константы представляют собой последовательность символов (цепочку литер) заключенную в кавычки “ ПРИВЕТ”. Максимальная длина текстовой константы 255 символов. В символьных константах могут использоваться любые символы алфавита, кроме кавычек.

Переменные.

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

% - целая переменная;

$ - символьная переменная.

Имя переменной может содержать от одного до 40 алфавитно-цифровых символов. В идентификаторах должны использоваться только буквы латинского алфавита и начинаться обязательно с буквы.

Стандартные и нестандартные функции .

Функцию можно представить себе как некоторую вычислительную процедуру, на вход которой подается набор допустимых аргументов, а на выходе получается единственный результат - значение числового или символьного типа . Любая функция реализуется с помощью программы, которая либо является постоянной компонентой системы программирования, либо должна быть сконструирована в той или иной форме пользователя. В соответствии с этим все функции подразделяются на системные (стандартные) и пользовательские (нестандартные). Подобно переменным каждая функция снабжается уникальным именем, которое образуется по тем же правилам, что и имя переменной. За стандартными функциями закреплены фиксированные имена, которые нельзя употреблять в качестве идентификаторов других объектов. Аргумент функции всегда записывается непосредственно за названием функции и заключается в скобки.

Стандартные математические функции :

SIN (X ) - sinx

ABS(X) -  x 

SQR(X) -  x

INT(X) - нахождение ближайшего целого, не превосходящего х

FIX(X) - ближайшее целое с округлением

SGN(X)-взятие знака числа (-1 при x<0 , 1 при x>0, 0 при x=0)

RND(X)- генерация случайных чисел от 0 до 1.

Аргумент тригонометрических функций должен задаваться в радианах. Результаты работы функции ATN(X) также выдается в радианах. Аргументы функции LOG(X) должны быть положительными.

Натуральный логарифм легко перевести в простой логарифм

MOD – нахождение остатка от деления.

Арифметические выражения.

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

В языке Бейсик различают следующие арифметические операции:

Сложение;

Вычитание;

* умножение;

/ деление;

\ целочисленное деление;

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

Записать на Бейсике следующее выражение:

(X ^2+SIN (X )^2)/(2.5*SQR (X ))

Правила записи арифметических выражений.

1. Арифметические выражения записываются линейно, т.е. в строчку.

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

3. Круглые скобки используются для указания очередности выполнения операции.

4. Если последовательность выполнения операций не полностью определены скобками, то действия выполняются в следующем порядке:

Приоритет операций.

1) Функции.

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

3)Умножение и деление.

4) Деление нацело.

5) Сложение и вычитание.

5. Возведение в целочисленную степень выполняется путем последовательных умножений.

6. Если показатель степени вещественный, то основание Х должно быть положительным.

7. Операция извлечения корня любой степени кроме квадратного заменяется возведением в дробную степень
x^(m/n).

Операторы

CLS – очистка экрана .

REM – оператор комментария. Все что следует после этого оператора до конца строки игнорируется компилятором и предназначено исключительно для человека. Т.е. здесь можно писать что угодно. Удобно использовать комментарий в начале программы для указания её названия и назначения.

REM Это комментарий

можно и так:

" Это тоже комментарий

1.Оператор присваивания.

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

Каждое конкретное указание называется оператором. Все операторы можно разделить на 2 группы: выполняемые и невыполняемые.

Оператор присваивания имеет вид

V=A, где V - переменная(простая или индексированная), А - арифметическое выражение.

Оператор присваивания выполняется следующим образом: вычисляется значение арифметического выражения, полученный результат присваивается переменой, т.е. заносится в ячейку памяти ЭВМ, соответствующую переменной V.

Пример: x=3.4 z=x+y z=8.9

y =5.5 z =z +1 z =9.9

1. К моменту выполнения оператора присваивания все переменные, входящие в арифметическое выражение должны быть определены.

2. Тип переменной, стоящей слева от знака присваивания может не совпадать с типом выражения, стоящим справа от знака присваивания. В этом случае осуществляется автоматическое преобразование числового значения из одного формата в другой. Никаких округлений при этом не происходит.

2. Оператор ввода.

Операторы ввода-вывода информации предназначены для обмена информации между оперативной памятью ЭВМ и ее внешними устройствами.

Оператор ввода INPUT

При его использовании данные вводятся с клавиатуры дисплея во время выполнения программы.

Общий вид: INPUT V 1 ,V 2 , ...,

где V 1, V 2 ,.. - список переменных, разделенных запятой.

При выполнении этого оператора ЭВМ делает паузу и на экране появляется?, и ЭВМ ждет ввода данных. На клавиатуре набираются числа, подлежащие вводу в порядке, задаваемом списком ввода. Если чисел несколько, то они отделяются друг от друга запятой. После того, как ввод данных закончен необходимо нажать ввод.

В общем виде оператор INPUT записывается следующим образом:

INPUT [;][“text ”][;] V 1 ,V 2 ,...

Выполнение оператора INPUT начинается с приостанова работы программы. В этот момент на экране дисплея появляется сообщения, заданное параметром “text”, вслед за которым в этой же строке или в начале следующей появляется знак “?”. Позиция, в которой появляется знак вопроса зависит от наличия или отсутствия символа “;” сразу после наименования оператора. Если символ “;” присутствует, то знак “?” появляется в той же строке, что и подсказка “text”. Если в качестве разделителя, стоящего за параметром “text” используется “,”, то выдача “?” отменяется.

3. Оператор вывода.

Общий вид PRINT список вывода (на экран).

Список вывода может содержать имена переменных, константы, арифметические выражения, тексты.

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

Если в списке вывода содержатся арифметические выражения, то они сначала вычисляются.

Для удобства восприятия информации строка экрана разбивается на 6 зон по 14 позиций первые пять и 10 позиций последняя (всего 80). Если разделителем в списке вывода является запятая, то вывод осуществляется по зонам. Если данные не помещаются в зоне, то берется следующая зона.

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

Простейшие примеры алгоритма с командами ввода-вывода.

3.1. Простой ввод-вывод

3.2. Ввод-вывод с коментариями

10 INPUT “Введите два числа”; А,В

20 PRINT “Вы задали А=“;А;”В=“;В

3.3. Простейшие вычисления формул:

3.4. Решение геометрических задач.

Задана сторона квадрата А. Найти площадь квадрата S.

10 INPUT “Чему равна сторона квадрата”;А

30 PRINT “ Площадьквадрата S=“; S

3.5. Решение физических задач.

Велосипедист едет со скоростью V в течении t времени. Какой путь он проедет.

10 INPUT “Чему равна скорость”;V

20 INPUT ”Какое время”; t

30 S =V *t

40 PRINT “ Путь S=“;S

4. Записать выражения на языке Бейсик:

y=ABS(x^2+TAN(x))

y=COS(x) + x^(3/2)

y=(TAN(x)+ABS(x))/(2*SQR(x)+sin(x+5*x^2)^3)

Задачи для самостоятельного решения.

1.1. Записать выражение на Бейсике:


Домашнее задание

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

Язык программирования бейсик был разработан Томасом Курцем и Джоном Кенеми, в 1964 году с целью обучения студентов основам программирования. Язык получился простой, понятный, с довольно-таки легким интерфейсом. Цель разработчиков была ясна: им нужен был простой язык программирования, который одновременно был бы и доступным. Вот основные положения, которые учитывали “Отцы” бейсика:

1) Простота использования;

2) Массовость;

3) Информативность;

4) Язык должен поддерживать возможность отслеживания и устранения ошибок;

5) Язык не должен требовать серьёзных аппаратных знаний;

6) Язык программирования должен стать связующим звеном между пользователем и операционной системой.

Как следствие, он стал использоваться во многих других учебных заведениях. Спустя 11 лет, когда мир наводнили миллионы новых микрокомпьютеров, язык программирования бейсик заинтересовал Билла Гейтса и Пола Алена, людей, которые создали Microsoft. Это они, объединив усилия, улучшили версию бейсика для своих которая смогла бы работать даже с 4кб оперативной памяти(!).

Спустя некоторое время именно их версия и стала одним из самых часто используемых и популярных языков программирования. Во время становления язык программирования бейсик часто пытались закрыть, многие хотели найти недочеты и добиться отмены использования этого языка. Однако, с появлением именно бейсик стал основным языком программирования, на который ориентировались другие. Стоит заметить, что он уже назывался GW-basic. Потом появились turbo basic от компании Borland и Quick Basic. Все версии которые разрабатывались позднее, обязательно писались таким образом, что бы сохранить совместимость с предыдущими. Даже самая последняя версия этого языка программирования работает с самой первой, с небольшими корректировками.

И вот наступила эра Microsoft. Начало 90-х: операционная система windows захватила почти весь рынок программного обеспечения, все были рады её видеть, все - кроме программистов. Их жизнь стала адом. Чтобы создавать самые обыкновенные, простые окна, нужно было писать море страниц кода, изменять шрифты написания, и наконец “рисовать” новые кнопки. Но надо признать, что преимуществ у неё было куда больше, чем недостатков, и в конце концов, уже третья версия операционной системы превратилась в мировой стандарт для PC.

Появилась необходимость в модификации бейсика. Таким образом, язык программирования бейсик стал называться Microsoft Visual Basic. Про обширные планы компании ещё не было ничего известно, и разработчики ориентировали новый язык программирования в первую очередь на непрофессионалов. Система программирования, реализованная в Visual Basic, давала возможность отойти от тяжёлой структуры windows и создавать программы хорошего уровня, обладая не самым большим запасом знаний. Последним гвоздем в гроб, который практически похоронил другие, такие довольно неплохие виды языков программирования как Fortran и Pascal, стала разработка разновидности бейсика для приложений.

В настоящее время язык программирования бейсик, настолько популярен, что едва ли не каждый уважающий себя программист знает и пользуется им. Хочется отметить, что он используется в таких приложениях как microsoft office и internet explorer. Но, пожалуй, одной из самых значительных сфер применения, язык программирования бейсик, получил при разработке и настройке приложений в среде.NET . Кроме того, последняя разработка компании Билла Гейтса, Microsoft C++ открывает перед пользователями огромный спектр возможностей, и все это благодаря двум профессорам из Dartmouth College.

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

Язык создавался как инструмент, с помощью которого студенты-непрограммисты могли самостоятельно создавать компьютерные программы для решения своих задач. Получил широкое распространение в виде различных диалектов, прежде всего как язык для домашних компьютеров . К настоящему моменту претерпел существенные изменения, значительно отойдя от характерной для первых версий простоты, граничащей с примитивизмом, и превратившись в достаточно ординарный язык высокого уровня с типичным набором возможностей. Используется как самостоятельный язык для разработки прикладных программ, главным образом, работающих под управлением ОС Windows различных версий. Также широко распространён в качестве встроенного языка прикладных программных систем различного назначения и в качестве языка для программируемых калькуляторов .

Энциклопедичный YouTube

  • 1 / 5

    Предпосылкой к появлению Бейсика стали повышение доступности компьютеров в 1960-х годах и появление возможности работы в режиме разделения времени (time-sharing ). К компьютерам получили доступ учащиеся и специалисты, не являющиеся подготовленными программистами, но нуждающиеся в решении на компьютере своих задач.

    Рождение

    Рост

    Несмотря на то, что язык уже использовался на нескольких мини-компьютерах, его настоящее распространение началось с его появления на микрокомпьютере Альтаир 8800 . Многие языки программирования были слишком большими, чтобы поместиться в небольшую память, которую пользователи таких машин могли себе позволить. Для машин с таким медленным носителем, как бумажная лента (позднее - аудиокассета), и без подходящего текстового редактора такой небольшой язык, как Бейсик, был отличной находкой.

    Зрелость

    Описание

    Синтаксис языка напоминает Фортран и многие элементы - явные заимствования из него. Язык задумывался для обучения, поэтому его конструкции максимально просты. Как и в других языках программирования , ключевые слова взяты из английского языка. Основных типов данных два: строки и числа. С появлением версии Visual Basic , а также различных его модификаций (таких как VBA), в языке появились многие другие типы данных и дополнения, типичные для современных языков программирования (например, такие, как объектная модель). Объявление переменных не требует специальной секции (в отличие от Паскаля). Объявление переменной - это первое её использование.

    Ранние версии Бейсика (такие как BASICA, GW-BASIC) существенно отличаются от современных диалектов и сегодня практически не используются.

    Ранние версии

    Внешний вид программ на ранних версиях Бейсика во многом определялся тем, что он предназначался для среды программирования со строчным редактором текста. В таком редакторе пользователь не имел возможности отображать весь текст на экране (в окне), перемещаться по нему в любых направлениях с помощью клавиатуры и/или мыши. В строчных редакторах пользователь для изменения строки текста должен дать команду изменения строки с заданным номером, затем ввести новый текст указанной строки. Для вставки новой строки нужно дать команду вставки, опять-таки указав номер. Вводимые строки отображаются на экране последовательно (независимо от номеров). Чтобы увидеть сделанные изменения, применяется команда вывода текста, которая выводит строки в правильном порядке (по возрастанию номеров).

    Всё это отразилось в Бейсике. Каждая строка начиналась с номера. При вводе в редактор строка оказывалась в исходном тексте программы на позиции, соответствующей её номеру. Для вставки новой строки нужно было дописать строку с номером, находящимся в диапазоне между номерами двух других строк. «Раздвинуть» строки было невозможно, если требовалось вставить новую строку между строками с соседними номерами, приходилось повторно вводить эти строки с другими номерами, чтобы обеспечить разрыв в нумерации (либо применять специальную команду RENUM , которая перенумеровывала все уже введённые строки с постоянным шагом, синхронно изменяя все команды переходов). Для упрощения оперативного редактирования программы сложилась практика нумеровать строки с шагом 10 - это позволяло практически во всех случаях вставлять новые строки без изменения номеров ранее введённых. Например, чтобы добавить третью строку между строками 20 и 30, нужно было написать строку с номером в диапазоне от 21 до 29. Типичная строка из программы на Бейсике выглядела так:

    10 PRINT "Hello, World!"

    Изменять вручную номера уже имеющихся строк было небезопасно, так как номера выполняли роль меток для оператора GOTO . Ранее в Бейсике были допустимы только числовые метки для этого оператора, и наличие в каждой строке уникального номера делало возможным безусловный переход к любой из них. Числовые метки и активное использование GOTO было неизбежным при программировании на Бейсике, что способствовало плохой структуре кода и в больших проектах приводило к запутыванию самих авторов. Был даже придуман шуточный термин «макаронное программирование» (spagetti code), потому что логика программы с частыми переходами GOTO напоминает тарелку со спагетти.

    Признаком конца оператора служил конец строки. Чтобы на одной строке разместить несколько операторов, нужно поставить между ними двоеточие (это разрешалось не во всех реализациях языка). Имена переменных в большинстве диалектов могли состоять только из одной буквы, после которой можно было добавить одну цифру, что также не способствовало улучшению понимания кода. Для создания переменной строкового типа нужно было после имени указать знак доллара ($). Переменная без этого знака являлась числовой (с плавающей точкой). Было ещё несколько модификаторов, относящихся к числовому типу: знак процента (%) - целый тип, восклицательный знак (!) - обычная точность, октоторп (#) - двойная точность (для данных с плавающей точкой, то есть десятичных дробей). В некоторых версиях числовые модификаторы могли не применяться или применяться не все. В абсолютном большинстве программ использовался только базовый числовой тип.

    Выражения сходны с большинством других процедурных языков программирования, но в первых вариантах Бейсика их набор был довольно бедным. В самых ранних вариантах число ключевых слов не достигало даже 20. Вот набор основных программных конструкций и интерактивных команд, которые были реализованы практически в любой Бейсик-системе конца 1970-х годов:

    • LIST - Вывод на монитор текста программы в правильной последовательности строк. В зависимости от реализации команда поддерживала параметры - диапазон строк, который требуется вывести. Иногда поддерживался вариант LLIST - вывод на печатающее устройство.
    • RUN - Запуск текущей программы с первого оператора строки с самым маленьким номером. Мог поддерживаться параметр - номер строки, с которого нужно начинать исполнение.
    • REM - Комментарий. Текст, находившийся после ключевого слова и до конца строки, на исполнение программы не влиял. Многие интерпретаторы также поддерживали в качестве знака начала комментария одиночную кавычку ".
    • INPUT "Приглашение: ", Переменная - Вывод на монитор текста "Приглашение: " и ожидание, пока пользователь не введёт значение и не нажмёт Enter. После этого в Переменную запишется введённое значение. В простейших реализациях приглашение в INPUT не поддерживалось и его нужно было выводить отдельным оператором PRINT (см. ниже).
    • PRINT «Текст»;Переменная;Переменная;«Текст» - Вывод на монитор последовательно перечисленных объектов (текста и значений переменных). В зависимости от реализации, по-разному воспринимались разделители: в одних случаях разделитель приводил к выводу хотя бы одного пробела, в других - значения выводились подряд и разделители нужно было добавлять вручную. Разделитель «;» выполнял также функцию подавления перевода на следующую строку.
    • CLS - Очистка экрана терминала. В зависимости от реализации, конструкции и режима работы терминала текстовый курсор переносился либо в верхний левый, либо в нижний левый угол.
    • LET - Присваивание (формат «LET Переменная = Значение»). В абсолютном большинстве версий оператор LET поддерживался, но был факультативным - присваивания переменным значений записывались без LET).
    • DIM - Описание массива. В отличие от обычных переменных, массивы требовали описания. Максимальное число размерностей массива определялось только реализацией
    • DATA - Набор данных, размещаемых прямо в тексте программы (аналог константы или массива-константы).
    • READ - Команда считывания из набора DATA.
    • GOTO Lbl - Команда безусловного перехода на метку Lbl.
    • ON… GOTO - Команда вычисляемого перехода - после ON должно было идти вычисляемое выражение или переменная, а после GOTO - набор меток через запятую. Значение выражения указывало номер метки, на которую нужно перейти.
    • IF … THEN … - Обычный оператор ветвления. После IF размещается логическое условие, после THEN - оператор, который должен быть выполнен при истинности этого условия. Для сокращения записи многие реализации поддерживали соглашение - если после THEN идёт число, то это - метка, на которую нужно перейти, то есть форма «IF … THEN 150» равнозначна «IF … THEN GOTO 150». Также могли поддерживаться формы «IF … GOTO…»
    • FOR ПеременнаяЦикла=НачальноеЗначение TO КонечноеЗначение STEP Шаг - Заголовок цикла с шагом. Инициирует цикл, в котором Переменная последовательно проходит ряд значений от НачальноеЗначение до КонечноеЗначение с шагом Шаг. Тело цикла ограничивается заголовком и ключевым словом NEXT. Часть STEP могла опускаться - в этом случае шаг был равен единице. Когда ПеременнаяЦикла выходит за указанные пределы, происходит переход за соответствующий оператор NEXT.
    • NEXT - Завершение тела цикла с шагом. Оператор показывает, что необходимо перейти на заголовок текущего исполняемого цикла FOR и продолжить работу. В более развитых реализациях NEXT мог содержать список переменных цикла через запятую - это означало, что в данной точке программы завершается тело не одного, а нескольких циклов. Применение NEXT с переменной также страховало от нарушения логики программы, так как вызывало ошибку времени выполнения, если при выполнении этой команды оказывалось, что активен цикл не по той переменной, имя которой указано.
    • WHILE Условие - Заголовок цикла с предусловием. Цикл завершался, если условие оказывалось ложно. В этом случае происходил переход за соответствующий заголовку оператор WEND.
    • WEND - Завершение тела цикла WHILE. Аналог NEXT но для цикла с предусловием.
    • GOSUB Метка - Переход к подпрограмме, начинающейся с Метки. Возврат происходит при достижении оператора RETURN. Рекурсивный вызов процедуры был, как правило, запрещён и приводил к ошибке времени выполнения.
    • RETURN - Оператор возврата из подпрограммы. Выполняется безусловный переход на оператор, следующий за командой GOSUB, которой был произведён переход к подпрограмме.
    • END - Завершение выполнения программы. Система выходит в интерпретатор и пользователю выдаётся приглашение на ввод команд.
    • CHAIN - Загрузка диапазона строк программы с внешнего носителя.
    • OPEN - Открытие файла данных на внешнем носителе.
    • CLOSE - Закрытие файла данных на внешнем носителе.
    • GET - Последовательное чтение значений указанных переменных из файла с перемещением файлового указателя за последний считанный символ.
    • PUT - Последовательная запись значений указанных переменных в файл с перемещением файлового указателя за последний записанный символ.
    • DELETE - Команда интерактивного режима - удаление строки с указанным номером.
    • SAVE - Команда интерактивного режима - сохранение текущей программы в файле на внешнем носителе.
    • LOAD - Команда интерактивного режима - загрузка в память программы из файла на внешнем носителе. Как правило, по умолчанию она приводила к уничтожению ранее загруженной программы и данных.
    • RENUM - Команда интерактивного режима - перенумерация всех или заданного диапазона строк программы начиная с заданного числа с указанным шагом. По умолчанию - перенумеруются все строки программы с шагом 10.

    Условный оператор (IF..THEN) изначально имел только одну ветвь - ветвь ELSE в нём отсутствовала и моделировалась с помощью безусловного перехода. Так, в нижеследующей программе выполняется элементарная операция - ввод числа и вывод сообщения «Отрицательное число» или «Положительное число или нуль» в зависимости от его значения:

    10 INPUT I 20 IF I >= 0 THEN PRINT "Positive number or null" : GOTO 40 30 PRINT "Negative number" 40 END

    Имелся оператор перехода по вычисляемой метке ON..GOTO (унаследованный от аналогичной конструкции Фортрана) - в нём после ON указывалось числовое выражение, а после GOTO - список номеров строк. Переход происходил на строку, номер которой в списке соответствовал значению выражения. Присутствуют также циклы (цикл со счётчиком FOR и цикл с предусловием WHILE).

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

    Подпрограммы не являлись аналогом функций таких языков, как Си или Паскаль , так как не имели имён и не могли принимать и/или возвращать параметры. Параметры и результаты передавались через глобальные переменные (все переменные в ранних версиях Бейсика были глобальными). Подпрограммы писались обычно в конце модуля, с нумерацией заведомо большей, чем планируемое количество строк (к примеру, нумерация блока подпрограмм могла начинаться с 5000, даже если в программе была пара сотен строк). Подпрограммы не имели заголовков и имён, и ничем не отличались от любого другого участка кода. Вызов подпрограммы осуществлялся с помощью ключевого слова GOSUB <метка> . Это практически клон GOTO , за исключением одного: возврат в точку вызова происходил автоматически, при достижении в подпрограмме ключевого слова RETURN . GOSUB , как и GOTO , только способствовали плохой структуре кода, так как отследить выполнение программы, содержащей большое количество безусловных переходов и подпрограмм, было сложной задачей. Рекурсия не допускалась.

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

    В некоторых диалектах Бейсика имелась возможность загрузить файл с кодом непосредственно при выполнении программы (текущий при этом выгружался) оператором CHAIN . Это была одна из самых полезных возможностей языка, так как она позволяла разбить большой проект на модули, вызывая их в порядке необходимости.

    Редактора кода в ранних версиях, как такового, не было. При запуске интерпретатора Бейсика запускался диалоговый режим ввода команд. Для работы в этом режиме были предусмотрены специальные команды, которые не являлись операторами самого языка (их нельзя было включить в код программы). Это команды по управлению средой ввода, такие как: LIST <диапазон строк> - вывод листинга программы на экран (LLIST - на принтер), SAVE <имя файла> - сохранение текста программы в файл, LOAD <имя файла> - загрузка кода в память и т. д. Запуск программы производился вводом команды RUN. В большинстве интерпретаторов Бейсика в нижней части экрана была строка с этими (и другими) командами.

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

    Для редактирования уже введённой строки в большинстве реализаций нужно было перепечатать её полностью. Удаление строк производилось командой DELETE <диапазон строк> . Команда RENUM - позволяла восстановить шаг 10 в нумерации строк. Часто возникала ситуация, что штатного шага 10 для будущих строк не хватало (так как такой шаг позволяет добавить лишь 9 строк между требуемыми) и тогда команда RENUM была необходимой (все строки перенумеровывались с шагом 10, и соответствующим образом корректировались строки с GOTO под новую нумерацию строк).

    Для выполнения программы на Бейсике использовалась передача имени файла с кодом программы интерпретатору в командной строке. В этом случае после загрузки кода команда RUN (начать выполнение программы) вызывалась автоматически.

    Фрагмент типичной программы на Бейсике:

    10 CLS "Очистка экрана 20 PRINT "Добро пожаловать!" "Заголовок в первой строке 30 40 FOR I = 1 TO 80 50 PRINT "=" ; 60 NEXT I 65 "Ввод символьных данных от пользователя (комментарий добавлен после ввода нижних строк) 70 INPUT "Имя: " , N$ 80 INPUT "Фамилия: " , S$ 90 INPUT "Отчество: " , T$ 95 100 N2$ = LEFT$ (N$ , 1 ) 110 T2$ = LEFT$ (T$ , 1 ) 120 "Выводим результат 130 PRINT "Ваше имя кратко: " ; S$ ; " " ; N2$ ; ". " ; T2$ ; "." 140 INPUT "Повторить программу? (Y/N) " , U$ 150 IF U$ = "Y" THEN GOTO 10 160 END

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

    Поздние версии

    Одним из наиболее распространённых вариантов языка Бейсик стала реализация интерпретатора QBasic корпорации Microsoft . Долгие годы она включалась как бесплатное приложение, входящее в операционные системы MS-DOS и ранних Windows . В нём имелись довольно мощные графические и звуковые возможности, позволяющие создавать на этом языке даже игры.

    Бейсик поздних версий (начиная с Turbo Basic и Visual Basic) резко отличается от ранних вариантов. Фактически, это новый язык, который во многом ближе к Фортрану или Паскалю , чем к исходному Бейсику. Основные изменения версий 1990-х годов состоят в следующем:

    • Отказались от представления программы как неструктурированного набора пронумерованных строк. Номера строк превратились в обычные метки, которые стали необязательными и перестали влиять на порядок исполнения программы. Если ранее строка с номером 15 всегда шла в программе раньше строки с номером 20, то теперь порядок исполнения стал определяться порядком расположения строк в исходном коде. Метки перестали быть только числовыми.
    • В языке появились именованные подпрограммы с параметрами, механизм вызова подпрограмм стал обычным: подпрограмма вызывается по имени, с указанием списка фактических параметров.
    • Появилась рекурсия.
    • Были введены структурные управляющие конструкции, в результате для организации обычных ветвлений и циклов перестало быть необходимым использование оператора GOTO и меток строк.
    • Существенно расширилась номенклатура типов данных, появилась возможность явно описывать типы обычных переменных.
    • Стали необязательными типизирующие суффиксы в именах переменных, хотя их использование не запрещалось.
    • В более поздних версиях появилась обработка исключений и поддержка элементов ООП .
    • Были введены механизмы поддержки модульности - появилась возможность без «фокусов» (типа динамической загрузки модулей с помощью явных системных вызовов) разделять программу на несколько файлов исходного кода.
    • Появились средства для работы с цветной графикой и звуковой картой.
    • Visual Basic, ориентированный на разработку Windows-приложений с графическим интерфейсом пользователя, был выполнен интегрированным с графическим дизайнером интерфейса, что позволило быстро писать простые программы под Windows.
    • Появились кроссплатформенные реализации, например, FreeBASIC и PureBasic .

    Практически все недостатки, присущие ранним версиям языка, были исправлены, и программирование на современных диалектах Бейсика мало отличается от использования других языков и сред (например, таких, как Delphi). Оборотной стороной процесса модификации Basic является то, что язык стал гораздо объёмнее и сложнее, его освоение требует больше времени и усилий.

    Фрагмент типичной программы на FreeBASIC:

    # Lang "fb" Dim As String n , s , t , n2 , t2 Cls : Print "Добро пожаловать!" "Заголовок в первой строке Do "Цикл, выводящий линию под заголовком, на всю ширину экрана For i As Integer = 1 To LoWord (Width ) Print "=" ; Next i "Ввод символьных данных от пользователя Input "Имя: " , n Input "Фамилия: " , s Input "Отчество: " , t "Вырезаем копию первых символов из имени и отчества n2 = Left (n , 1 ) t2 = Left (t , 1 ) "Выводим результат Print "Ваше имя кратко: " ; s ; " " ; n2 ; ". " ; t2 ; "." Print "Повторить программу? (y/n) " Loop While LCase (Input (1 )) = "y" End 0

    Несмотря на популярность, в

    DONKEY.BAS. Входит в комплект IBM PC в 1981. Соавтор - Билл Гейтс

    Название BASIC появилась как сокращение от «Beginner"s All-purpose Symbolic Instruction Code», что в дословном переводе означает «многоцелевой язык символических команд для начинающих». Это тот случай, когда дословный перевод совершенно точно передавал суть. Ключевой особенностью BASIC"а была не только его простота, но и возможность, находить решение задач в режиме диалога с компьютером.

    Для многих компьютеров конца 60-х BASIC позиционировался как единственный язык программирования высокого уровня общего назначения, и со временем это привело к появлению различных его модификаций. Поворотным моментом в развитии языка стало появление Visual Basic.

    Предыстория

    В середине 50-х годов роль программирования в машинных кодах стала уменьшаться. Появились языки более высокого уровня – Fortran, Algol, Cobol и так далее.

    Первым из них и одним из наиболее распространенных был Фортран (FORTRAN, от FORmula TRANslator – переводчик формул), разработанный группой программистов фирмы IBM в 1954 году (первая версия). Этот язык был ориентирован на научно-технические расчеты математического характера.

    Название языка Algol (ALGOrithmic Language), первая версия которого появилась в 1958 году, подчеркивает то обстоятельство, что он предназначен для записи алгоритмов. Благодаря четкой логической структуре Алгол стал стандартным средством записи алгоритмов в научной и технической литературе.

    Тогда для языков программирования высокого уровня была характерна предметная ориентация. Кроме того, подобные языки были чересчур сложны для начинающих разработчиков, особенно, если они не были инженерами. Поэтому естественно, что со временем появился язык программирования для «простых смертных».

    BASIC. Просто BASIC

    С идеей создания этого языка программирования ассоциируют известную историю про английского миссионера.
    В XIX веке одному английскому миссионеру, который искал возможность облегчить и упростить контакт с туземцами, пришла в голову гениальная мысль - вычленить из английского языка самую простую его часть, практически не имеющую грамматики, и содержащую около 300 самых распространённых слов. Этот урезанный подвид английского языка был назван BASIC ENGLISH, и как показала практика - он действительно оказался очень простым для усвоения, и вскоре завоевал популярность не только среди туземного населения, но и среди иммигрантов, для которых английский не был родным языком.
    Спустя сто лет аналогичный путь избрали сотрудники математического факультета Дартмутского колледжа. Они решили облегчить взаимодействие между компьютером и непрофессиональным пользователем с помощью «упрощенного» языка программирования.

    В 1964 году Томас Курц и Джон Камени создали специализированный язык программирования, который состоял из простых слов английского языка. Новый язык назвали BASIC.

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

    Серьезное влияние на BASIC оказали Fortran II и Algol 60. Кроме того, разработчики реализовали в нем механизмы работы для систем с режимом разделения времени, а также обработки текста и матричной арифметики. Изначально компилятор языка был написан для мейнфрейма GE-265.

    Расцвет

    В 70-х появились более компактные компьютеры (ПК). Это обстоятельство удачно использовали Билл Гейтс и Пол Аллен, основатели Microsoft.

    Они создали новую версию BASIC для первых компьютеров «Альтаир» (MITS Altair), способную работать в 4КБ оперативной памяти. Со временем именно эта версия и превратилась в один из самых популярных языков программирования в мире.


    Altair

    Периодом наибольшего расцвета и развития исходного BASIC можно считать конец 1970-х - первую половину 1980-х годов. Его версии появились на других платформах, и скоро стали расходиться миллионными тиражами с всевозможными изменениями и доработками. Одной из самых популярных версий был Applesoft BASIC, ставший стандартным языком на Apple II.

    Applesoft BASIC был написан фирмой Microsoft как замена системе Integer BASIC, использовавшейся в самой первой модели Apple II и обладавшей весьма ограниченными возможностями. Applesoft BASIC был прошит в ПЗУ всех моделей Apple II, начиная с Apple II+, и всех клонов Apple II. Также более ранняя и урезанная версия Applesoft BASIC была доступна на кассетах для самой первой модели Apple II.

    Для операционной системы CP/M был создан диалект BASIC-80, надолго определивший развитие языка.

    Когда появились первые персональные компьютеры IBM PC, именно он стал стандартом в программировании, но уже в виде GW-Basic.

    В середине 1980-х BASIC стал основным языком в сложных моделях программируемых калькуляторов, которые как раз к этому времени достигли мощности, допускающей применение полноценного языка высокого уровня. BASIC был встроен в советский калькулятор «Электроника МК-85» и все его более поздние модели.

    Также в 1985 году появилась IDE Quick Basic - интегрированная среда разработки и компилятор языка программирования BASIC, разрабатывавшаяся компанией Microsoft с 1985 по 1988 год. Существовали версии для DOS и Mac OS. Используемый диалект BASIC был основан на усовершенствованном диалекте GW-BASIC: была реализована поддержка пользовательских типов, конструкций структурного программирования, значительно расширена поддержка графических и дисковых операций.

    Роберт «Боб» Зейл в 1987 году на основе своей многолетней разработки BASIC/Z создал Turbo Basic, а затем продал его компании Borland. Журнал Infoworld назвал его одним из самых значительных продуктов того года.

    В отличие от большинства реализаций BASIC того периода, Turbo Basic был полным компилятором, генерировавшим родной код для MS-DOS.

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

    Вторая жизнь

    В начале 90-х появилась операционная система Microsoft Windows с новым графическим интерфейсом пользователя.

    Чтобы создать простую программу, разработчикам приходилось писать по несколько страниц кода: прописывать объемные блоки кода для меню и окон, шрифтов, очищать память, «рисовать» кнопки и т.д. Однако преимущества нового интерфейса были довольно сильны, и у Windows появились реальные перспективы стать популярной повсеместно.

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

    Вторую жизнь BASIC получил, когда Microsoft выпустила Visual Basic. Он стал логическим завершением эволюции языка и, несмотря на сохранение привычных ключевых слов, по структуре и набору возможностей был ближе к Pascal, чем к изначальному BASIC.

    В 1991 году появилась первая версия новой IDE Microsoft Visual Basic. Однако в тот момент Microsoft достаточно скромно оценивала возможности этой системы, ориентируя ее, все же, на категорию начинающих и непрофессиональных программистов.

    Конечно, это был только первый шаг, так как компания Билла Гейтса планировала укрепить позиции Windows на рынке. А это было бы очень трудно сделать, оставив коммерческих разработчиков без эффективных средств создания приложений под MS Windows.

    Система программирования, созданная разработчиками Visual Basic, позволяла абстрагироваться от внутренней структуры Windows. Меню, окна, списки, кнопки, поля ввода текста и другие элементы интерфейса Windows добавлялись в программу с помощью простейших операций drag&drop, и большая часть кода для их инициализации и настройки генерировалась автоматически.

    Свою первую программу VB-программисты могли создать уже через несколько минут после начала изучения этого языка. Более того, Visual Basic позволял разработчикам создавать новые элементы графического интерфейса, которые также могли использоваться в программах наравне со стандартными.

    Несмотря на то, что многие С-разработчики не воспринимали всерьез попытки Microsoft сделать простой и понятный инструмент разработки Windows-программ, остальные участники ИТ-сообщества возлагали на Visual Basic большие надежды.

    В 1994 году компания выпустила Visual Basic for Applications. Именно в это время, после включения VBA в состав Microsoft Office, Basic стал одним из основных стандартов программирования для Windows.

    Первоначально задумывавшийся как игрушка, Visual Basic от Microsoft невероятно быстро завоевал программистский мир. Его популярность обусловлена двумя причинами: относительной простотой и продуктивностью.

    Программы на VB работали медленнее своих аналогов на C/C++, но все же они достаточно быстры для многих деловых целей и требуют гораздо меньше времени на разработку. Формы были той самой сберегающей усилия абстракцией, которую предложил VB программистам Windows.

    IDE VB позволила разрабатывать окна графически, перетаскивая элементы управления, такие как кнопки и списки, с панели инструментов в форму. Получив удовлетворительный внешний вид формы, можно было переходить к кодовой части и писать обработчики событий для каждого элемента управления формы.

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

    С точки зрения написания кода важным отличием от того же C++ стал отказ от указателей. Так решил Билл Гейтс, еще во время разработки первых версий Microsoft BASIC. Хотя указатели полезны, так как разрешают прямой доступ к памяти по любому адресу, их использование сопряжено с ошибками в том случае, если они применяются неаккуратно. А так как первоначально язык создавался для «простых смертных», это решение выглядит вполне оправданным.

    Основные версии Visual Basic

    В первой версии (1991 год) Алан Купер реализовал принцип связи языка и графического интерфейса.

    Начиная с третьей версии (1993) в VB появилась поддержка MS Access.

    Visual Basic 4.0 (1995) - версия, в которой появилась возможность создавать как 32-х так и 16-разрядные Windows-приложения. Кроме того, в язык были добавлены классы.

    Начиная с VB 5.0 (1997), появилась возможность разрабатывать собственные COM-компоненты. Кроме того, появилась новая виртуальная машина, реализованная в динамической библиотеке MSVBVM50.DLL. Компилятор VB для трансляции использовал многопроходный режим, но в конечном счете полагался на компилятор Microsoft C++ для получения выходного машинного кода после компиляции в промежуточный язык. Использование библиотеки времени исполнения и внутреннего интерфейса C++ явилось отправной точкой для формирования технологии.NET.

    VB версии 6 - это уже мощный язык, который можно использовать для создания распределенных приложений с применением компонентов СОМ и Microsoft Transaction Server. Microsoft предложила трехуровневый подход для архитектур «клиент-сервер», в котором «тонкие» пользовательские интерфейсы взаимодействовали с удаленными компонентами VB для получения данных из базы данных или с другой машины.

    Более того, VB6 (1998) можно было использовать для создания элементов управления Active-X, работающих вместе с Internet Explorer.

    В 2002 году появился первый выпуск Visual Basic .NET. С этого момента обратная совместимость с классической версией Visual Basic оказалась нарушена.

    С 2005 года Visual Basic входит в состав IDE Microsoft Visual Studio 2005. По сей день язык развивается вместе с IDE – вплоть до текущей версии – MS Visual Studio 2015.

    Языки Basic и Visual Basic прошли серьезный путь и претерпели существенные, можно сказать, необратимые изменения. От их изначальной простоты мало что осталось. В результате VB превратился в «обычный» объектно-ориентированный язык программирования высокого уровня.



Просмотров