Basic
Бе́йсик (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
Вы будете перенаправлены на Автор24
История языка Basic
Рисунок 1. Программа на BASIC. Автор24 — интернет-биржа студенческих работ
В 1977 г. Microsoft выпустила Altair BASIC и превратила этот язык в средство коммерческого давления, добившись встраивания его в чипы ПЗУ IBM PC. Это поспособствовало резкому росту популярности языка. В те годы, на волне всплеска потребительского спроса на первые персональные компьютеры, это было объяснимо. Возможности ранних ПК были скромны, программного обеспечения для них было мало, перенос и установка ПО были трудоемки (для хранения программ использовались бытовые магнитофоны), поэтому корпорации, выпускавшие ПК, охотно встраивали BASIC в свои машины. Благодаря этому владелец компьютера мог сразу же после включения устройства приступить к его использованию.
Готовые работы на аналогичную тему
Со второй половины 1980-х гг. персональные компьютеры становятся сложнее и мощнее. BASIC уже, во-первых, не подходит для полноценного управления такими устройствами, во-вторых, появляется рынок готового ПО, и необходимость в написании компьютерных программ неспециалистами отпадает.
В начале 1990-х гг. Microsoft выпускает на рынок язык Visual Basic, рассчитанный, опять-таки, на то, чтобы неспециалисты могли с легкостью писать небольшие программы, повышающие эффективность приложений пакета Microsoft Office (т.н. макросы для Word, Excel). На этом языке можно было создавать и полноценные самостоятельные приложения, поэтому он получил название Visual Basic for Applications (VBA) и поддерживается до сих пор. В 1990-е гг. существовала также разновидность Visual Basic Script, которой Microsoft намеревалась вытеснить JavaScript на веб-страницах. Эта концепция оказалась нежизнеспособной.
Рисунок 2. Программа на Visual Basic для рисования фракталов. Автор24 — интернет-биржа студенческих работ
Особенности языка BASIC
Недостатком BASIC является и то, что в программах на этом языке большая роль отводится оператору GOTO («перейти к. «), с помощью которого осуществляются ветвления. GOTO ссылается на номера строк, а они, по мере написания программы, могут изменяться. Несмотря на все ухищрения, с помощью которых программисты пытались решить эту проблему, использование GOTO затрудняет читаемость, превращает листинг в «спагетти-код», разобраться в котором со временем становится трудно даже автору программы. Интенсивное использование GOTO было связано с отсутствием в ранних версиях BASIC возможности использовать собственные подпрограммы и функции. Со временем в большинстве реализаций этот недостаток исправили.
Реализации и диалекты BASIC
Несмотря на то, что BASIC с самого начала считался «несерьезным» языком программирования, многие компании и просто IT-специалисты создали собственные его разновидности.
Варианты BASIC существуют для множества платформ. Под свободной лицензией распространяется, например, кроссплатформенный Bywater BASIC (bwBASIC). Он предназначен для работы в консоли, т.е. без оконного интерфейса.
Пример программы на языке BASIC (диалект FreeBASIC)
Рассмотрим программу, записывающую строки в файл, а затем считывающую из него.
Что такое basic в информатике
Информатика и информационно-коммуникационные технологии в школе

| Сервисы сайта | |||||||||||||||||||||||||||||||||||||||||||||
![]() | Полная или частичная перепечатка каким бы то ни было способом материалов данного сайта допускается только с письменного согласия автора. | ||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||
| Реклама: | |||||||||||||||||||||||||||||||||||||||||||||
| Операция | Обозначение | Пример | Результат |
| Сложение | + | 2+5 | 7 |
| Вычитание | — | 10-8 | 2 |
| Умножение | * | 3*4 | 12 |
| Деление | / | 15/3 15/4 | 5 3.75 |
| Целочисленное деление | \ | 15\4 | 3 |
| Возведение в степень | ^ | 2^3 | 8 |
| Остаток от деления | MOD | 13 MOD 5 | 3 |
Математические функции на языке Basic.
| Корень | SQR(X) |
| Модуль числа | ABS(X) |
| Синус | SIN(X) |
| Косинус | COS(X) |
| Тангенс | TAN(X) |
| Целая часть числа | INT(X) |
| Натуральный логарифм | LOG(X) |
Теперь уже без осложнений можно переходить непосредственно к составлению программ.
Программирование: с чего начать, или Незаменимый бейсик
Я всегда тепло вспоминаю свой первый язык программирования. Как, полагаю, многие из увлечённых компьютерами в 80-х и ранних 90-х, я выучил его ещё до того, как прикоснуться к клавиатуре (тем более — к клавиатуре собственного компьютера!), и не по учебникам, не на спецкурсах: по распечаткам программ в популярных журналах. Синтаксически простой, семантически схожий с английским языком, с суперкомпактным набором команд, позволяющий писать сразу, с ходу, не задумываясь об инициализациях и прочем подобном, он был идеальным решением для тех, кто ничего не смыслит в программировании, но хочет разобраться. Мне даже нет нужды называть его имя, вы и так его узнали, потому что вариант только один. А случившееся на днях заставило задуматься: а правда ли век его прошёл? Правда ли он «был», но не остаётся?
Событием, которое подтолкнуло к рассуждениям о вроде бы давно забытом предмете, стал выпуск компанией Google программы Coder. Попросту говоря, это инструмент для начинающих веб-программистов, работающий в том числе (и в первую очередь) на сверхдешёвом Raspberry Pi. Десять минут на установку — и вот вы уже в среде, готовой к созданию полноценных HTML5-проектов (классическая связка HTML+Javascript+CSS). В некотором роде это современная реализация идеи восьмибитных машин: дешёвых, предельно простых, максимально открытых для изучения и девелопмента. Одна проблема, Javascript и CSS и даже современный HTML (который совсем не тот, что был пятнадцать лет назад!) ещё нужно освоить. А уж тут распечатками не обойдёшься, понадобятся минимум справочники, скорее всего, учебники, а хорошо бы ещё и знающего человека для ответов на глупые вопросы! В результате современному двенадцатилетнему пацану, решившему начать обучение с Coder’a, потребуется приложить значительно больше усилий, чем прикладывали в своё время мы, начиная с BASIC’а.
BASIC — творение 1964 года, рассветных лет компьютерной эпохи. Американцы Джон Кемени и Томас Куртц написали его, чтобы облегчить знакомство с вычислительной техникой своим студентам (в те годы как раз началось распространение терминалов, и доступ к ВТ перестал быть уделом только лишь атомщиков и ракетчиков), но язык быстро зажил самостоятельной жизнью. В 70-х, с началом эры персональных компьютеров, BASIC немедленно стал стандартом де-факто в качестве основного языка программирования, и даже больше того — пользовательской оболочкой, средой, из которой управляли машинами. Не случайно и Гейтс с Алленом для «Альтаира» и Возняк для Apple I первым делом писали именно BASIC!
Сегодня, в век графических интерфейсов, применение языка программирования в качестве основы рабочего стола кажется диким, но ещё двадцать лет назад это было не просто удобно, а и естественно — из-за ограниченных ресурсов домашних ПК. Лишь с середины 90-х, когда офисные машины захватили дом, этой моде пришёл конец. Но не бейсику (боюсь, литредактор сделает мне выговор, поскольку правильно брать название в кавычки — но рука не поднимается закавычить имя почти что друга, столько лет служившего верой и правдой)! Уже к тому моменту язык был модифицирован сотнями вендоров, которые крутили им как хотели — что, кстати, тоже было следствием того же главного достоинства, которое и обеспечило BASIC’у взлёт. А сегодня для одного только перечисления всех бейсиковских диалектов придётся занять больше дюжины страниц (если интересно, вот полный список в Википедии).
А что обеспечило ему взлёт? Простота. Абсолютная, непревзойдённая, интуитивная простота. Там, где другие языки требуют выстраивания многоэтажных конструкций, бейсик просит только номер строки. Другие требуют редактора, компилятора, операционной системы — BASIC замкнут на себя (первый вариант был компилируемым, но впоследствии его чаще выполняли в виде интерпретатора). Его структура такова, что программа в большинстве случаев работает сразу, а если не работает, то ошибка конкретна, её легко найти и понять. Да, он слаб («Слабый, легковесный язык», — говорил Возняк), но именно в этом его сила! Вообще, бейсиковская «немощь» — феномен, который заслуживает отдельной книги. Она делает язык уникальным, она помогла ему пережить несчётное множество архитектур и платформ.
Ведь как развиваются языки программирования? Усложняясь, обрастая новыми свойствами. BASIC живёт по другим законам. Его эволюционное древо прямое, как стрела: попытки привить ему новые свойства в лучшем случае обособились в отдельные проекты, никак не повлияв на популярность главного (самого простого) диалекта. Больше того, за десятилетия эволюции он отбросил словно шелуху и ту лишнюю небольшую сложность, которую изначально предусмотрели в нём авторы (к примеру, избавившись от функций матричных вычислений). Неспособный противостоять «серьёзным» языкам программирования, он нашёл себе постоянного поклонника в лице вечно молодого компьютерного новичка.
Суметь понять решающее значение «слабости», признать его — совсем не шутка. Рискну утверждать, что даже Куртц и Кемени так до конца и не поняли главной фишки созданного ими языка. В середине 80-х они попытались продавить на рынок своё новое детище, True BASIC, основав под него компанию. Как коммерческий продукт он ещё существует, но как замена BASIC’у бесстыдно провалился, ибо оказался более сложным.
Говоря о BASIC как лучшем языке для начинающих, я конечно имею в виду не исправленных до неузнаваемости ублюдков вроде Visual Basic или Openoffice.org BASIC, где от оригинала осталось почти одно лишь название, а тот базовый, универсальный для всех минимум из двух десятков команд, на котором писали уже полвека назад. Сегодня его так же легко отыскать на любой платформе для любой архитектуры — и так же просто, как и десять, и двадцать, и сорок лет назад, применить для решения несложных задач. Помнится, совсем недавно, когда жена усомнилась в справедливости парадокса Монти Холла, я за пять минут набросал программку, демонстрировавшую его практически. И использовал не любимый C, не скриптовые языки, а старину BASIC — писать на котором можно, не задумываясь о собственно программировании.
Однако времена меняются. Интернет и Веб перекроили персоналку. Компьютер сегодня — это Сеть, а оригинальный бейсик о сетях ничегошеньки не знает. Так что же, пора заменить «лучший язык для новичков» новым, более современным, более приспособленным к технике и технологиям нового столетия? Давно пора, считают многие — и предлагают наперебой варианты, чаще всего останавливаясь на Python (который даже называют «бейсиком XXI века») и Javascript. Они разные, но роднит их сравнительная простота и лёгкость в обращении с интернет-механизмами. И человек, начавший своё компьютерное образование с них, конечно, сумеет потом применить полученные знания для серьёзных дел. Вот только есть одна нестыковочка: они и близко не так просты, как BASIC!
Пусть он примитивен, пусть неспешен. Но он недостижимо прост — а значит, уже в первые полчаса — да что там, в первые десять минут! — новичок, для которого компьютер до сих пор был магическим артефактом, сможет сделать что-то своими руками. Сможет сам заставить машину сделать что-нибудь для него! Вы помните свой первый раз? Помните восторг, который испытали, когда ваши первые бейсиковские строки заставили компьютер подчиниться вашей воле? И разве вы, начиная, преследовали цель обучиться конкретным технологиям? Рискну предположить, вы начинали программировать даже не для того, чтобы понять, как работает машина, а просто чтобы получить удовольствие от управления ею!
Ну а заставив машину прокатить вас, усвоив базовые концепции программирования (для чего BASIC так же хорош, как и любой другой язык), можно спрыгнуть куда угодно. Моё поколение уходило в машинные коды и ассемблер (вот, кстати, продолжение лично моей истории: «Мой первый стартап: Россия, 94-й»); сегодня, вероятно, разумным выбором будет Python или Javascript.
Но — начинать? Руки прочь от святыни! BASIC ещё послужит.
Основы программирования на QBasic
QBasic входит в состав операционной системы MS-DOS 6.0-6.22. Есть русифицированная версия QBasic.
Запуск программы Shift-F5.
Получение помощи Shift-F1.
Создать файл: Меню Файл, Сохранить Как, выбрать каталог, задать имя файла, ОК. Файл получит расширение bas.
Сохранить файл: Меню Файл, Сохранить.
Открыть файл, то есть считать его с диска: Меню Файл, Открыть.
Выход из QBasic: Меню Файл, Выход.
Удобно выделять и делать все указанные операции с помощью мыши. Можно выделенный фрагмент программы вставить в другой файл, если после выделения открыть его.
В QBasic 4.5 можно откомпилировать текстовый bas-файл, превратив его в двоичный exe-файл, который можно использовать отдельно, то есть без среды программирования QBasic.
Имя переменной обозначается английской буквой, после которой может быть цифра, причем первой стоит буква, например: x, y, z, A1, B2. Имя переменной служит для обозначения некоторой величины в программе, которая при выполнении программы может иметь какое-либо значение, но может быть и не определена. Пример задания часто употребляемой константы: pi=3.14159.
Операция предачи новых данных в переменную называется присваиванием и обозначается в QBasic знаком «=», например, x=10.
Оператор CLS-оператор очистки экрана. С него часто начинаются программы, работающие в текстовом режиме.
Директива END означает конец программы. Применение этой команды в конце программы не является обязательным.
Все формулы в QBasic записываются в строку, при этом используются следующие математические знаки:
Пример: S=Vo*t+g*t^2/2
В QBasic применяются следующие встроенные функции:
Операции ввода-вывода информации
Для вывода (печати) информации на экран применяется оператор PRINT. Пример:
Просто оператор PRINT без текста и знаков даёт пустую строку на экране.
Если при работе в среде QBasic 4.5 вместо слова PRINT ставить знак вопроса «?», а затем нажать Enter, то слово PRINT само появится на экране. Это упрощает работу программиста.
Ввод данных с клавиатуры осуществляется с помощью оператора INPUT
Пример 1: Вычислить площадь треугольника по формуле Герона.
‘Определите площадь треугольника по формуле Герона.
INPUT «Введите величину стороны a: a=», a
INPUT «Введите величину стороны b: b=», b
INPUT «Введите величину стороны c: c=», c
p = (a + b + c) / 2
PRINT «Ответ: площадь треугольника равна: S=»; S
Пример 2 (с использованием строковых переменных). Напечатайте на экране введённые с клавиатуры фамилию, имя и класс ученика.
INPUT «Введите свою фамилию: «, f$
INPUT «Введите своё имя: «, i$
INPUT «Введите свой класс: «, k$
PRINT f$; » «; i$; «, «; k$
Управляющие конструкции QBasic
1. Оператор безусловного перехода GOTO N, где N-метка. В качестве N можно взять любое число, не обязательно совпадающее с номером строки, так как в QBasic 4.5 строки можно не нумеровать. Но двух одинаковых меток в одной программе не должно быть. Исполнение программы будет продолжено с той её части, которая начинается с указанной метки.
Пример:
GOTO 10
10 PRINT «Текст»
2. Условный оператор IF. THEN. ELSE (Если. Тогда. Иначе):
IF THEN ELSE
Если заданное условие истинно, выполняется список операторов, стоящий после THEN, в противном случае выполняется список операторов, стоящий после ELSE.
Слово ELSE может и отсутствовать. Тогда происходит переход к строке, следующей за оператором IF. THEN.
Пример 3:
INPUT «Если хочешь каникулы, вводи 1. Если нет, любое число. n=», n
IF n = 1 THEN GOTO 10 ELSE GOTO 20
10 PRINT «Хочу каникулы!»: END
20 PRINT «Хочу учиться!»
То, что стоит между началом и концом цикла, называется телом цикла. Иногда также применяются вложенные циклы, то есть циклы могут быть вложенными один в другой.
FOR X=A TO B STEP H
NEXT X
Пример 1: Напечатать на экране текст 20 раз.
FOR X=1 TO 20
PRINT «С Новым Годом!»
NEXT X
Пример 2: Вычислить сумму n первых членов ряда S=1+1/4+1/9+. +1/n^2
INPUT «Введите число членов ряда: n=», n
FOR i = 1 TO n
S = S + 1 / i ^ 2
NEXT i
PRINT «Сумма n первых членов ряда равна: S=», S
Пример 3: Нарисуйте 15 разноцветных концентрических окружностей.
SCREEN 7
FOR i = 1 TO 15
CIRCLE (160, 100), i * 6, i
NEXT i
Пример 4: Разлинуйте экран в клеточку.
SCREEN 7
FOR i = 1 TO 32
LINE (0, 10 * i)-(320, 10 * i), 15
LINE (10 * i, 0)-(10 * i, 200), 15
NEXT i
Примеры 5,6 : Одновременное использование циклического и условного операторов. Вычисление функций, имеющих ограничения в области определения.
Примечание: Оператор IF. THEN. ELSE в QBasic должен быть записан в одну строку!
Пример 5.
REM Вычислить функцию y=1/(x^2-5*x-6)
PRINT «x=»; x, » y=»; y
NEXT x
Пример 6.
REM Вычислить функцию y=1/SQR(x^2-3*x+2)
IF x >= 1 AND x 1-эллипс вытянут вдоль малой оси.
Пример графики на QBasic: Квадрат, три концентрические окружности и точка. Программа имеет вид:
SCREEN 7
COLOR 14, 8
PRINT «Пример графики на QBasic:»
LINE (100, 50)-(220, 150), 13, B
CIRCLE (160, 100), 20, 11
CIRCLE (160, 100), 30, 12
CIRCLE (160, 100), 40, 14
PSET (160, 100), 15
Установка цветов в операторе COLOR QBasic:
Число Цвет
0 Черный
1 Синий
2 Зеленый
3 Голубой
4 Красный
5 Фиолетовый
6 Коричневый
7 Серый
8 Темно-серый
9 Светло-синий
10 Светло-зеленый
11 Светло-голубой
12 Светло-красный
13 Светло-фиолетовый
14 Желтый
15 Белый




