Основы программирования на языке basic. Язык программирования Бейсик

Раздел очень прост в использовании. В предложенное поле достаточно ввести нужное слово, и мы вам выдадим список его значений. Хочется отметить, что наш сайт предоставляет данные из разных источников – энциклопедического, толкового, словообразовательного словарей. Также здесь можно познакомиться с примерами употребления введенного вами слова.

Значение слова бейсик

бейсик в словаре кроссвордиста

бейсик

Энциклопедический словарь, 1998 г.

бейсик

БЕЙСИК (BASIC; от начальных букв английских слов Beginners - для начинающих, All-purpose - универсальный, Symbolic - символический, Instruction - учебный, Code - код) язык программирования, ориентированный на обучение основам программирования. Используется в основном при программировании на персональных ЭВМ.

Википедия

Бейсик

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

Был разработан в 1964 году профессорами Дартмутского колледжа Томасом Курцем и Джоном Кемени.

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

Бейсик (значения)

Бейсик , Basic :

  • Бейсик-инглиш - международный искусственный язык на основе английского языка.
  • Бейсик - высокоуровневый язык программирования.
  • Бейсик - советский бытовой компьютер начала 1990-х годов, клон ZX Spectrum .
  • Бейсик Вильнюс - реализация языка программирования Бейсик для 16-разрядных компьютеров с процессорами архитектуры PDP-11.

Примеры употребления слова бейсик в литературе.

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

Отметим, что Бейсик имеет собственную переменную, хранящую текущее положение курсора.

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

Отметим, что Бейсик обычно выключает курсор, когда начинает выполнение программы.

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

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

Языки высокого уровня, такие капк Бейсик , создают эти области автоматически.

По умолчанию Бейсик устанавливает число буферов равное 8, но Вы можете изменить это число на другое от 4 до 15.

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

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

Хотя в некоторых случаях Бейсик прощает незакрытые файлы, но это не тот случай.

В файлах прямого доступа Бейсик рассматривает все переменные - включая числовые - как строковые.

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

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

Обычное решение этой проблемы состоит в том, что процедура помещается в те адреса памяти, к которым Бейсик не может получить доступ.

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

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

Рождение

Рост

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

Бейсик используется в некоторых моделях программируемых калькуляторов . Например, он был встроен в советский калькулятор «Электроника МК-85 ».

Описание

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

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

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

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

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

10 PRINT "Hello, World!"

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

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

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

Условный оператор (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 . Это была одна из самых полезных возможностей языка, так как она позволяла разбить большой проект на модули, вызывая их в порядке необходимости.

Критика

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

Одной из «визитных карточек» Эдсгера Дейкстры стало высказывание: «Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации ».

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

Производители

В разное время интерпретаторы BASIC выпускались различными организациями, компаниями, фирмами:

Переходные Процедурные Объектные Мобильные

Basic4ppc GLBasic NS Basic

Взрывной рост

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

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

Вторую жизнь Бейсик получил с появлением Visual Basic от Microsoft . Хотя и трудно согласиться, что этот язык - действительно Бейсик (несмотря на множество привычных ключевых слов), спустя некоторое время он стал одним из наиболее часто используемых языков на платформе Windows . Microsoft создала вариант под названием WordBasic и использовала его в MS Word до появления Word 97. Вариант Visual Basic for Applications (VBA ) был встроен в Excel 5.0 в 1993 году , затем в Access 95 в 1995 году , а после и во все остальные инструменты, входящие в пакет Microsoft Office. Internet Explorer 3.0 и выше, а также Microsoft Outlook, включали интерпретатор VBScript .

Бейсик используется в некоторых моделях программируемых калькуляторов . Например, он был встроен в советский калькулятор «Электроника МК-85 ».

Описание языка

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

Ранние версии бейсика (такие как GWBASIC , QBasic) существенно отличаются от современных диалектов и на сегодня практически не используются.

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

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

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

10 PRINT "Hello, World!"

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

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

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

Условный оператор (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. Особо следует выделить довольно мощные графические и звуковые возможности QBASIC, позволяющие программировать на этом языке даже игры.

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

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

Практически все недостатки, присущие ранним версиям языка, были исправлены, и программирование на современных диалектах Бейсика мало отличается от использования других языков и сред (например, таких, как 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

Существует множество современных реализаций компилятора Basic. В состав платформы

Русское название: Бейсик

Дата создания: 1963

Создан под влиянием: ALGOL, FORTRAN

Повлиял на: ПРОФТ

Парадигма: императивная, на уровне значений, скалярная

Типизация: бестиповая

Принятые расширения файлов: .bas, .vb, .vbs

Диалекты: Applesoft BASIC, Commodore BASIC, GW-BASIC, MSX BASIC, Microsoft BASIC, Turbo BASIC, Visual Basic

Реализации и версии: 1771-DB BASIC, AMOS BASIC, AMOS Professional, Easy AMOS, AT&T BASIC, Altair BASIC, AmigaBASIC, Applesoft BASIC Interpreter in Javascript, Applesoft Lite, Atari Microsoft BASIC I/II, BASIC A+, BASIC-11, BASIC-256, BASICA, Bywater BASIC, bwBASIC 2.50, Cassette BASIC, Color BASIC, Commodore BASIC, DOS33, Dartmouth BASIC, EXIL, FreeBASIC, GW-BASIC, Galaksija BASIC, Great Cow BASIC, MBASIC, MSX BASIC, Microsoft Visual Basic, Mono VB.NET, vbnc 2.4.2, NBASIC, PureBasic, QBasic, QuickBASIC, STOS Basic, SmallBASIC, VB.NET, VB.NET 9 (2008), VBScript, Visual Basic for Applications, WordBasic, hbasic

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

Бейсик был придуман в 1963 году преподавателями Дартмутского Колледжа Джоном Кемени и Томасом Куртцом и реализован командой студентов колледжа под их руководством. Со временем, когда стали появляться другие диалекты, этот «изначальный» диалект стали называть Dartmouth BASIC.

Бейсик был спроектирован так, чтобы студенты без специального математического образования могли писать программы. Он создавался как решение проблем, связанных со сложностью более старых языков, и предназначался для более «простых» пользователей, заинтересованных не столько в скорости своих программ, сколько просто в возможности использовать компьютер для решения своих задач. Для популяризации языка первый компилятор распространялся бесплатно.

При проектировании языка были сформулированы восемь требований к нему:

  • Простота в использовании для начинающих;
  • Общность назначения (отсутствие специализации);
  • Возможность расширения функциональности средствами, доступными программистам;
  • Интерактивность;
  • Четкие и понятные сообщения об ошибках;
  • Высокая скорость работы на небольших программах;
  • Отсутствие необходимости понимания работы аппаратного обеспечения для написания программ;
  • Эффективное посредничество между пользователем и операционной системой.

Язык был основан частично на Фортран II и частично на Алгол-60 , с добавлениями, делающими его удобным для работы в режиме разделения времени, обработки текста и матричной арифметики. Первоначально Бейсик был реализован на GE-265 с поддержкой множества терминалов. Вопреки распространённому убеждению, в момент своего появления это был компилируемый язык.

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

В 1975 году компания Microsoft выпустила Altair BASIC . После этого был выпущен ряд операционных систем, использующих Basic в качестве основного языка. Для операционной системы CP/M был создан диалект BASIC-80 , надолго определивший развитие языка.

В этот период было создано множество новых компиляторов и интерпретаторов Бейсика. Майкрософт продавала несколько версий BASIC для MS-DOS/PC-DOS, включая BASICA, GW-BASIC и QuickBASIC (QBASIC). Компания Borland в 1985 выпустила Turbo BASIC 1.0 (более поздние его версии впоследствии продавались другой компанией под именем PowerBASIC ). На домашних компьютерах появились различные расширения Бейсика, обычно включающие средства для работы с графикой, звуком, выполнением DOS-команд, а также средства структурного программирования. Некоторые другие языки использовали хорошо известный синтаксис Бейсика в качестве основы, на которой строилась совершенно иная система (например, GRASS).

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

Вторую жизнь Бейсик получил с появлением в 1991 году Visual Basic от Microsoft. Этот язык напоминал оригинальный только синтаксисом, но был значительно более современным. Visual Basic и его варианты стали одним из наиболее часто используемых языков на платформе Windows. Позже был создан вариант под названием WordBasic, используемый в MS Word до появления Word 97. Visual Basic for Applications (VBA) был встроен в Excel 5.0 в 1993 году, затем в Access 95 в 1995-ом, а после и во все остальные инструменты, входящие в пакет Office - в 1997-ом. Internet Explorer 3.0 и выше, а также поставки Windows включали интерпретатор скриптового языка VBScript. В полный вариант пакета OpenOffice также включён интерпретатор Бейсика.

В настоящее время Basic – это не один язык, а целое семейство языков, отличающихся временем создания, парадигмами программирования и синтаксисом, зачастую до полной потери совместимости программ. Ранние версии не поддерживали даже структурное программирование; со временем структурное и процедурное программирование стали общепринятыми парадигмами, и появились версии, поддерживающие их. Ряд современных компиляторов во главе с Visual Basic и VB.NET реализуют объектно-ориентированное и событийное программирование .

QBasic – это интегрированная среда разработки (IDE) для реализации языка программирования BASIC, основанная на QuickBasic. Исходный код, введенный в IDE, компилировался в промежуточную форму, которую интерпретировала IDE по мере необходимости.

Как и 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 Мб.

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

Язык программирования бейсик был разработан Томасом Курцем и Джоном Кенеми, в 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.