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

Дата создания: 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 Мб.

Цель урока:

    Познакомить учащихся с основами языка Бейсик. Проверить знания прошлого урока. Воспитание умения слушать учителя. Развитие познавательного интереса.

План урока:

Проверка домашнего задания. Объяснение нового материала. Основные понятия языка Домашняя работа. Подведение итогов урока.

Ход урока

Проверка домашнего задания.

Постановка цели урока.

Объяснение нового материала.

Язык программирования Basic был создан в 1964 году двумя профессорами Дартмунского университета Джоном Кенеми и Томасом Куртцом. BASIC - это первые буквы английских слов Beginner"s All-purpose Symbolic Instruction Code (Всецелевой язык программирования для начинающих). В настоящее время существует множество версий этого языка, которые иногда очень сильно отличаются друг от друга. Для учебных заведений самыми распространенными являются версии MSX, впервые реализованная на японском компьютере "Ямаха", и версии фирмы Microsoft для компьютеров IBM. Кроме этого в нашей стране популярностью пользуется версия Turbo-Basic фирмы Borland. Без преувеличения можно сказать, что сегодня Бейсик является самым распространённым языком программирования. После появления мощных компиляторов Visual Basic этот язык стал популярен и у профессиональных программистов. Бейсик относится к языкам программирования высокого уровня. Как и другие языки, этот язык имеет алфавит , синтаксис, семантику.

Алфавит языка. Алфавит языка Basic представляет собой таблицу символов ASCII. Первая половина этой таблицы (символы с кодом 0-127) - стандартная. Вторая половина (символы с кодом 128-255) специфична для каждой страны. В этой таблице каждый символ имеет 8-битовое обозначение. Итак, в алфавит языка Basic входят все прописные и заглавные буквы английского и русского алфавитов, цифры, а также набор специальных символов, который имеется на клавиатуре компьютера.

Переменные. В Бейсике различают переменные следующих типов:

    числовые переменные; символьные переменные; переменные пользовательского типа (записи); переменные-массивы.

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

2,55.105=2.55Е5; 7,15.10-7=7.15Е-7

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

Целое число в диапазоне от –32768 до 32768; длинное целое в диапазоне от – до; вещественные числа обычной точности; вещественные числа двойной точности;

Данные можно представить переменными и константами.

Переменные. С понятием переменной величины вы уже знакомы по урокам алгебры. Например, в простом алгебраическом равенстве c = f + 2b – 5 значение переменной с зависит от значения переменной f и b, указанных в правой части равенства. Например, при f=2 и b=6, с=9 .

Такое же равенство можно записать в программе на Бейсике.

c = f + 2*b – 5

В терминах языка Бейсик c , f и b – это имена переменных. Такие имена также называют идентификаторами .

Идентификаторы . В языке Бейсик идентификатор – это произвольный набор символов, который может содержать от 1 до 40 символов, причём первый символ должен быть латинской буквой, а остальные – латинские буквы или цифры или символы типа @, #, % и. т.д.

Пример :

A, Ds, SodRan, k1, n123, dlina!

Тип идентификатора в Бейсике опознаётся по последнему символу в имени переменной.

% - целое число;
& - длинное целое число;
! – вещественное число обычной точности;
# - вещественное число двойной точности;
$ - символьный тип.

В Бейсике предусмотрен другой способ описания типов переменных (qbasic). Если в начале программы поместить команду: DEFINT I – L, то все переменные, имена которых начинаются с буквы I и лежат в диапазоне до буквы L будут считаться целыми (INTEGER).

Общий формат команды описания типов:

DEFINT X-X (целые числа integer) DEFLNG X-X (длинные целые числа long) DEFSNG X-X (вещественные числа обычной точности, single) DEFDBL X-X (вещественные числа двойной точности double) DEFSTR X-X (символьный тип string)

Константы. Константы, как числовые так и символьные – это величины, которые не меняются в ходе выполнения программы.

Например:

p= 3.1415
T$= “Скороднянская школа”
A=9575
m$=”Расписание на неделю”

Иногда записанные константы называют литералами. В отношении констант необходимо помнить правила:

Разделителем целой и дробной части является точка; значения символьных констант заключается в кавычки.

Числа можно записать в экспоненциальной форме, например:

0.0285=2.85Е-2 или 0.0285=2.85D-2
784.527=7.84Е+2
или 784.527=7.84D+2

Числа, записанные в экспоненциальной форме, представляют собой произведение мантиссы на порядок, т. е. На 10 в степени –2, +2 и т. п. Буква Е используется для вещественных чисел обычной точности, буква D – для вещественных чисел двойной точности.

Именованные константы. Если присвоить переменной некоторое значение (числовое или символьное) и в дальнейшем не изменять эти значения, например:

F3=60, n%=15

CONST <имя_переменной = константа, имя переменной = константе>

Например: CONST F2=60, n%=15

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

Арифметические операции; Операции отношений; Логические операции; Функциональные операции; Строковые операции.

Арифметические операции.

Название операции

знак
в матем.

знак в Бейсике

Пример в
математ.

Пример в
Бейсике

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

-

^

25

2^5

Сложение

+

+

5+10

5+10

Вычитание

-

-

a-b

a-b

Умножение

x; .

*

2.5

2*5

Деление

:

/

10:2

10/2

Операции отношений.

Функция - это заранее определённая операция над данными. В Бейсике существует два вида функций: встроенные и определённые пользователем.

Встроенные математические функции

Название функции

Запись в математике

Запись в Бейсике

Пример в Бейсике

Абсолютная величина

Экспонента

Логарифм натуральн.

Остаток целочисленного деления (MOD)

19 MOD 6.7

Квадратный корень

Синус

SIN(3.14)

Косинус

Тангенс

Арктангенс

Знак числового выражения

Все остальные тригонометрические функции также как и гиперболические функции, определяются по известным математическим формулам, например, ARCSIN(X)=ATN(X/SQR(1-X^2)) .

При решении задач очень часто используются ещё две функции.

1. RND(1) - генератор случайных чисел, который задаёт случайные числа из интервала от 0 до 1.

Пример:

Задайте случайное числа от 1 до 100. (Натуральное число).

N=(RND(1)*100+1)

2. INT(числовое выражение) - эта функция отбрасывает дробную часть при делении чисел.

Пример:

В примере первом необходимо, чтобы числа N от 1 до 100 были натуральными.

N=INT(RND(1)*100+1)

Функция пользователя.

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

Пример:

Пусть X и Y - натуральные числа. R - остаток от деления X на Y. Выразить R(X, Y) - R функция от X и Y.

R=X - INT(X/Y)*Y - остаток от деления X на Y
DEF FN R(X, Y)=X-Y*INT(X/Y)

В этом примере R(X, Y) - функция двух аргументов.

Запись математических выражений на Бейсике.

Любое математическое выражение на Бейсике записывается в виде строки. Чтобы вычислить это выражение, достаточно перед ним записать PRINT или?.

Вычислить:

https://pandia.ru/text/78/020/images/image003_37.gif" alt="Формула" width="121" height="42 src=">

PRINT (SIN(47*PI/180)-COS(78*PI/180)^2)/(EXP(1.5)-SIN(13*PI/180))

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

Язык Бэйсик (он же Бейсик, он же BASIC) входит в семейство языков программирования высокого уровня.

BASIC - это аббревиатура, которая расшифровывается так: B eginner’s A ll-purpose S ymbolic I nstruction C ode - универсальный код символических инструкций для начинающих).

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

Этот язык в своё время был очень популярен и расплодился по миру компьютеров в виде различных диалектов, в основном, как язык для домашних компьютеров.

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

Начиная с 1960-х годов компьютеры становились всё более доступными. На компьютерах могли работать уже не только учёные-программисты, но и школьники и студенты, которые не являлись программистами. Однако у этих школьников и студентов уже появились задачи, которые надо было решать с помощью компьютеров.

Готовых программ тогда почти не было. Поэтому под каждую задачу надо было создавать отдельную программу. И делать это на компьютерах тех лет, используя имеющиеся тогда языки программирования, было очень сложно (отчасти поэтому раньше языки программирования создавались для решения конкретных задач, например, ПРОЛОГ был ориентирован на создание систем с искусственным интеллектом, ФОРТРАН - для работы с математическими формулами в научных и инженерных вычислениях и т.п.).

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

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

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

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

  1. Язык должен быть простым в использовании и понятным для начинающих.
  2. Должен быть языком программирования общего назначения (а не специального, как, например, упомянутые выше Фортран и Пролог).
  3. Язык должен предоставлять возможность расширения функциональности, доступную опытным программистам.
  4. Язык должен быть интерактивным, то есть выполнять команды пользователя.
  5. Язык должен предоставлять однозначные и понятные сообщения об ошибках.
  6. Язык должен быстро работать на небольших программах.
  7. Язык не должен быть привязан к “железу” и не должен требовать от программиста понимания работы этого самого “железа”.
  8. Язык должен защищать пользователя от операционной системы (или операционную систему от пользователя - кому как больше нравится))).

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

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

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

В 1975 году Microsoft (тогда это были лишь двое - и Пол Аллен, при участии Монте Давидова), выпустила Altair BASIC. Затем его версии появились на другой платформе под лицензией и скоро в использовании были уже миллионы копий и различных вариантов. Один из вариантов, Applesoft BASIC, стал стандартным языком на . Для операционной системы CP/M был создан диалект BASIC-80, который надолго опередил свое время.

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

Наиболее бурно и успешно Бэйсик развивался в течение 1970-х и в начале 1980-х годов. В это время почти все персональные компьютеры имели собственный интерпретатор Бейсика, часто зашиваемый прямо в ПЗУ. В простейших компьютерах он даже выполнял функции операционной системы.

Практически все более мощные компьютеры также имели интерактивные Бейсик-системы. Было создано несколько новых версий Бейсика для платформы IBM PC и совместимых. Microsoft продавала Бейсик для MS-DOS/PC DOS, включая BASICA, GW-BASIC (модификация BASICA, не требующая «прошивки» от IBM) и QuickBASIC.

Компания Borland, получившая широкую известность благодаря (с которым она и вышла впервые на рынок) в 1985 году выпустила основанную на той же программной среде систему Turbo Basic 1.0 (его наследники впоследствии продавались другой компанией под именем PowerBASIC).

К концу 1980-х годов персональные компьютеры стали намного мощнее и предоставляли новые возможности (такие, как графический интерфейс пользователя). Использовать эти новые возможности в Бейсике было уже не так просто и не так удобно. Кроме того, появились недорогие компиляторы более продвинутых языков (таких как Паскаль и Си), которые, к тому же, имели навороченные по тем временам и дополнительные библиотеки с готовыми (например, Borland Pascal с библиотекой Turbo Vision).

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

Особенности языка Бейсик

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

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

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

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

«Раздвинуть» строки было невозможно, если требовалось вставить новую строку между строками с соседними номерами, приходилось повторно вводить эти строки с другими номерами, чтобы обеспечить разрыв в нумерации (либо применять специальную команду RENUM, которая изменяла номера всех уже введённых строк с постоянным шагом).

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

Поэтому для обеспечения последующего редактирования программы стало принято нумеровать строки с шагом 10 (а иногда и больше). Это позволяло в большинстве случаев без проблем вставлять новые строки без изменения номеров строк, которые были введены ранее.

Пример рассмотрим чуть позже, когда познакомимся с синтаксисом языка Бейсик.

Синтаксис языка Бейсик

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

Простейшая программа на Бэйсике:

10 PRINT “Hello, WORLD!”

Бэйсик - не чувствительный к регистру язык. То есть для Бэйсика слова PRINT и print - это одно и тоже. Это касается не только ключевых слов, но и имён переменных. Хотя некоторые реализации языка являются чувствительными к регистру полностью или частично (например, Liberty BASIC).

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

Например:

X = 100 ‘Числовая переменная X$ = “Hello” ‘Строковая переменная

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

Объявлять простые переменные не нужно. Просто в любом месте программы пишем имя переменной, и всё. Правда, массивы надо объявлять.

Ниже перечислены самые основные конструкции языка, которые были реализованы практически в любой Бейсик-системе конца 1970-х годов (многие из этих конструкций поддерживаются и современными реализациями языка Бэйсик):

LIST
Вывод на монитор текста программы в правильной последовательности строк.

RUN
Запуск текущей программы с первого оператора строки с самым маленьким номером.

REM
Комментарий. Текст, находящийся после ключевого слова и до конца строки, является комментарием. Многие интерпретаторы также поддерживают в качестве знака начала комментария одиночную кавычку ". Некоторые интерпретаторы допускают использовать слово REM, только если оно находится в самом начале строки.

INPUT
Выводит на монитор текст приглашения и ожидает, пока пользователь введёт значение и нажмёт ENTER.

PRINT
Выводит данные на монитор (текст и значения переменных).

CLS
Очищает экран.

DIM
Описание массива. В отличие от обычных переменных, массивы требуют предварительного объявления.

GOTO Метка
Команда безусловного перехода на Метку.

IF … THEN …
Обычный оператор ветвления. После IF размещается логическое условие, после THEN - оператор, который должен быть выполнен при истинности этого условия.

END
Завершение выполнения программы. Система выходит в интерпретатор и пользователю выдаётся приглашение на ввод команд.

SAVE
Команда интерактивного режима, которая сохраняет текущую программу в файле на внешнем носителе.

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

Пример программы на Бейсике:

10 CLS "Очистить экран 20 PRINT "Привет, МИР!!!" 30 X = 100 "Присвоить 100 переменной Х 40 INPUT "Введите число: "; Y 50 PRINT Y; " * "; X; " = "; X * Y 60 END

Интерпретаторы Бэйсик

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

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

Вторую жизнь Бейсик получил с появлением Visual Basic от Microsoft. Но, несмотря на популярность, в 2001 году Microsoft отказалась от дальнейшей поддержки Visual Basic (если не ошибаюсь, последняя версия Visual Basic была 6.5) в пользу принципиально нового языка Visual Basic .NET, где язык был снова “перекроен” и “перешит”, ориентирован на кросс-платформенную технологию.NET, и в текущем состоянии практически совпадает по набору возможностей c языком C#. Отличия только в синтаксисе и ключевых словах.

Так Basic перерос из средства для создания программ любителями-непрофессионалами до полноценного средства создания программ.

Помимо написания полноценных программ, Бейсик широко применяется как основа для различных скриптовых языков (например, макросы в пакете Microsoft Office пишутся на диалекте VBA, язык сценариев VBScript используется в SCADA-системах и других подобных программах).

Сколько людей, столько и мнений

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

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

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

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

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

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

Язык Бэйсик (даже первые его реализации, такие как QBasic), вполне пригоден для обучения, потому что с моей точки зрения нет совершенно никаких проблем, при необходимости, выучить потом другой язык. Может быть в 60-е годы прошлого столетия это и было проблемой - не знаю (я родился в 1969). Но сейчас - нет.

К тому же сегодня и переучиваться особо не потребуется, так как можно создавать свои классные программы, например, на Visual Basic.

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

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

Рождение

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

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

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

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

Синтаксис языка напоминает Fortran , и многие элементы - явные заимствования из него. Язык задумывался для обучения, поэтому его конструкции максимально просты. Как и в других языках программирования , ключевые слова взяты из английского языка. Основных типов данных два: строки и числа. С появлением версии 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 . Это была одна из самых полезных возможностей языка, так как она позволяла разбить большой проект на модули, вызывая их в порядке необходимости.

# 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

Несмотря на популярность, в 2001 году Microsoft отказалась от дальнейшей поддержки Visual Basic в пользу принципиально нового языка Visual Basic .NET - в этой реализации язык был снова кардинально пересмотрен, и в текущем состоянии он практически совпадает по набору возможностей c языком , отличаются только детали синтаксиса и ключевые слова. Таким образом, Basic перерос из средства для создания программ любителям-непрофессионалам до полноценного средства создания программ.

Помимо написания полноценных программ, Бейсик широко применяется как основа для различных скриптовых языков (например, макросы в пакете Microsoft Office пишутся на диалекте VBA).

Критика

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

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

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

Стандарты

  • ANSI X3.60-1978 «FOR MINIMAL BASIC»
  • ISO/IEC 6373:1984 «DATA PROCESSING - PROGRAMMING LANGUAGES - MINIMAL BASIC»
  • ANSI X3.113-1987 «PROGRAMMING LANGUAGES FULL BASIC»
  • ISO/IEC 10279:1991 «INFORMATION TECHNOLOGY - PROGRAMMING LANGUAGES - FULL BASIC»
  • ANSI X3.113 INTERPRETATIONS-1992 «BASIC TECHNICAL INFORMATION BULLETIN # 1 INTERPRETATIONS OF ANSI 03.113-1987»
  • ISO/IEC 10279:1991/ Amd 1:1994 «MODULES AND SINGLE CHARACTER INPUT ENHANCEMENT»

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

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

Иностранные

  • Basic International
  • CDC (англ.) русск.
  • Comshare
  • Concept Omega
  • Data General (англ.) русск.
  • Exidy (англ.) русск.
  • Fantaisie Software
  • The Game Creators
  • Gordon Eubanks (англ.) русск.
  • Hedge Systems
  • Mark Williams (англ.) русск.
  • Microdata (англ.) русск.
  • Microway (англ.) русск.
  • Morgan Computing
  • NCR Century (англ.) русск.
  • Radio Shack (англ.) русск.
  • Ryan McFarland (англ.) русск.
  • Sax Software
  • Sperry (англ.) русск. / Univac (англ.) русск.
  • Summi Software Tehnology
  • True Basic (англ.) русск.
  • Unicomp (англ.) русск.
  • Varian (англ.) русск.
  • Zedcor (англ.) русск.
  • ВЦ СО АН СССР - Новосибирск
  • Университет - Нижний Новгород

Реализации

Apple

Microsoft

Другие

  • BBC-basic

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

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

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

бейсик

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

бейсик

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

Википедия

Бейсик

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

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

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

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

Бейсик , Basic :

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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