Программирование на языке BASIC

3 Июл 2014 | Автор: | комментария 2 »

Содержание

Введение
1. Версии бейсика.
2. Основы программирования на бейсике
3. Музыкальные и графические возможности.
4. Соотношение с другими языками программирования (паскалем).
Список литературы

Введение

У языка Бейсик (Basic) весьма своеобразная судьба. Будучи созданным для так называемых непрофессиональных программистов, многократно раскритикованный почти каждым пишущим о программировании, он живет уже четверть века и продолжает иметь множество пусть не поклонников, но пользователей.
Даже при беглом знакомстве обращает на себя внимание некоторая «недисциплинированность» Бейсика - с точки зрения программиста, привыкшего к структурному языку семейства Паскаля. Бейсик относится к языкам операциональным, рожденным от вечно живого Фортрана, в которых необязательно (хотя и вполне возможно) организовывать строго упорядоченные программные структуры. Это и большой недостаток (особенно при разработке крупных программных комплексов), но иногда и достоинство - например, при разработке относительно небольшой диалоговой программы с регулярным обращением к внешним устройствам, сканированием клавиатуры и т.п.
В своих старших версиях бейсик давно перестал быть столь «простым», как его принято почему-то представлять. Его возможности чрезвычайно велики, о чем можно судить хотя бы по названию одной из недавно вышедших книг - «Разработка экспертных систем на языке Бейсик». На нем создают программы самой различной предметной ориентации. По-видимому, Бейсик продолжает лидировать по количеству пользователей, и хотя бы поэтому знакомство с ним необходимо.

1. Версии бейсика.

Бейсик характерен необычайным обилием версий, которые иногда настолько отличаются друг от друга, что могли бы считаться разными языками.
Хотя первая официальная публикация по Бейсику создавшей его группы разработчиков Дартмутского колледжа (США) относится к 1967 г., к этому времени уже было создано три «Дартмутских версии»; первая из них относится к 1964 г. После 1967 г. к разработке этого языка подключились крупные фирмы, и были созданы версии для систем с разделением времени, для сетевых информационных систем, для мощных ЭВМ третьего поколения (включая отечественную версию «Бейсик ЕС»), для малых ЭВМ.
Большой толчок развитию Бейсика дало появление персональных компьютеров. На какое-то время Бейсик с его естественной ориентацией на трансляторы интерпретирующего типа оказался доминирующим для «персоналок» языком программирования. Бейсик оказался пригоден для первых учебных и бытовых ЭВМ с малым объемом оперативной памяти и невысоким уровнем системного программного обеспечения. Зачастую Бейсик-интерпретатор выполнял и функции операционной системы (например, бывшая популярной в России в конце 80-х - начале 90-х годов версия MSX-Бейсик учебных компьютеров «Ямаха»).
Бейсик начала 60-х годов был прост и примитивен. Он насчитывал всего порядка двух десятков команд. Несмотря на простоту работы с Бейсиком, интерфейс пользователя оставлял желать лучшего. Вся информация (текст программы, «мусор», результаты работы, сообщения) размещались на скроллирующем экране. В силу несложной процедуры разработки транслятора-интерпретатора Бейсика каждый разработчик персональных компьютеров встраивал (обычно в ПЗУ) свой вариант Бейсика.
Бурное развитие микропроцессорной техники в 70-х, затем в 80-х годах и связанные с этим проблемы совместимости заставили разработчиков задуматься о стандарте Бейсика для персональных компьютеров. Аппаратное и программное развитие позволило существенно расширить возможности языка. Бейсик стал системой программирования со всеми сервисными утилитами и инструментарием программиста. Наибольшей популярностью для школьного и педвузовского образования приобрел Бейсик-MSX. Для большинства учебных компьютеров (Ямаха, Корвет, УКНЦ) были разработаны трансляторы версии Бейсик-MSX. Описание и практика работы с этим языком достаточно полно раскрыты в существующих популярных учебниках для вузов и школ.
Бейсик последних версий, в основном, отличается интерфейсом. Например, основное меню Турбо-Бейсика расположено в верхней строке экрана и представляет систему ниспадающих подменю, команды которых позволяют выполнять все необходимые действия по составлению, отладке и выполнению программ. В Турбо-Бейсике существуют несколько экранных режимов. Основной исходный экран представляет поле редактирования текста программы. Встроенный текстовый редактор выполняет две функции - редактирования текста и синхронной интерпретации строки. В этой связи строки нумеровать необязательно. Результаты работы программы, комментарии и сообщения интерпретатора представляются в текстовом экране (по умолчанию режим SCREEN 0). При работе с графикой изображения строятся в графическом экране, который имеет несколько режимов (режимы SCREEN n, п=2,3,...). Аналогичные возможности предусмотрены и в QBasic. Следует отметить, что в последних версиях Бейсика предусмотрены управляющие структуры. Введены операторы выбора SELECT CASE, циклические конструкции с пост- и предусловием WHILE-WEND, DO-LOOP-WHILE, DO-WHILE-LOOP, развит аппарат подпрограмм (SUB-CALL).
Особый интерес представляет система помощи - help (подсказок), имеющая контекстную структуру с возможностью копирования примеров из текста подсказок, что позволяет осваивать работу с языком программирования практически самостоятельно.
Кроме числовых значений переменные в Бейсике могут принимать значения в виде строки символов. Символьные значения (константы) заключаются в кавычки" ".
Имя символьной (строковой) переменной отличается от обычной числовой переменной добавлением справа специального символа, чаще знака доллара $, например, AS, Fl$, Max$. Над символьными переменными допустима операция сложения (склейка строк символов); могут быть использованы функции и процедуры обработки символьных величин.
Также в Бейсике предусмотрена работа с подпрограммами, если необходимо использовать многократно сходные действия, или для блочно-структурированного построения программы. Для организации подпрограмм используют две команды: GOSUB <номер строки> - перейти на подпрограмму; RETURN - возврат.
Во многих версиях Бейсика предусмотрен переключатель подпрограмм ON k GOSUB 100,200,300. Здесь k может принимать значения 1,2,3, что соответствует обращению к одной из трех подпрограмм, начинающихся с номеров 100, 200,300.
Подпрограммы, к которым обращаются по GOSUB, сильно уступают истинным процедурам Паскаля, поскольку у них отсутствуют возможности локализации переменных, нет формальных параметров, которые можно замещать при обращении фактическими. Однако, в более поздних версиях (например в Qbasic) предусмотрены подпрограммные единицы SUB - подпрограммы-процедуры и FUNCTION - подпрограммы-функции.
Для осуществления связи с внешними периферийными устройствами и с файловой системой операционной среды в Бейсике предусмотрена работа с файлами. В следующем фрагменте программы показаны команды для открытия внешнего файла с именем "aaa3.dat" на активном устройстве внешней памяти для записи (OPEN-FOR OUTPUT-AS #). Запись в файл осуществляется командой PRINT или WRITE с указанием номера файла (строка 30). По завершении работы с файлом его закрытие осуществляется оператором CLOSE.
5 ' ********* работа с файлами для записи ********* .
10 OPEN "aaa3.dat" FOR OUTPUT AS #3
20 FOR i = 1 TO 10
30 PRINT #3, i : ' либо эквивалентная команда WRITE #3, i
40 NEXT i
50 CLOSE #3
Аналогичные команды используют при извлечении данных из существующего файла. При этом в команде OPEN указывают служебное слово INPUT, а считывание информации происходит по команде INPUT с указанием номера файла.
' ********* работа с файлами для чтения **********
60  OPEN "aa3.dat" FOR INPUT AS #2 'для чтения
70  FOR i = 1 TO 10
80  INPUT #2, a(i)
90  PRINT a(i)
100  NEXT i
110  CLOSE #2
Добавить данные в существующий файл можно, используя служебное слово APPEND.
В Бейсике сильно развиты команды и функции ввода-вывода данных, позволяющие осуществлять диалог (интерактивный интерфейс) с пользователем.
Для осуществления клавиатурного управления программой, помимо уже известных операторов ввода INPUT и вывода PRINT, используют функцию INPUT$(n), возвращающую значение введенной символьной строки из п символов с ожиданием, функцию INKEY$, принимающую символьное значение нажатой клавиши без ожидания, функции STICK(n), STRIG(0), определяющие коды стрелок или направления джойстика (внешнего управляющего устройства для компьютерных игр и тренажеров).                  '
Часто при разработке компьютерных программ необходимо использовать коды клавиш в ASCII-представлении. Следующая программа печатает код нажатой клавиши и может оказаться полезной при отсутствии под рукой таблицы ASCII кодов.
5     '*********** по коду печать символа **************
10    FOR i = 1 ТО 256
20           PRINT "код="; i, "символ="; CHR$(i)
30           a$ = INPUT$(1)
40    NEXT i
Функцию INPUT$ часто используют для приостановки выполнения программы до нажатия любой клавиши:
n r$ = INPUT$(1) : IF r$ = "" THEN n
В отличие от оператора INPUT функция не ставит знак "?" и не высвечивает вводимые символы. Это свойство удобно использовать для защиты доступа к какой-либо информации.

2. Основы программирования на бейсике

Выполнять в среде Бейсика элементарные операции и вычисления, особенно в ранних версиях типа GW-Basic или MSX-Basic, действительно нетрудно. Если компьютер включен и Бейсик загружен, можно смело приступить к работе. Например, если мы хотим что-то вычислить. Бейсик для этого лучше, чем любой калькулятор. Набираем команду PRINT "Это команда вывода", 5*5 и нажимаем клавишу <Enter> (слово PRINT может заменить знак ?). Немедленно возникает ответ: 25. Команда PRINT выводит на экран результат вычислений или сообщений, заключенных в кавычки: PRINT "Привет!"- на экране появилось «Привет!» (без кавычек).
При вычислениях необязательно, чтобы операндом было выражение, содержащее только числа. Если ввести следующие команды (заканчивая каждую строчку нажатием на клавишу <Enter>):
а=5
Ь=4
? а*Ь
Компьютер немедленно выдаст результат: 20. Режим работы, описанный выше, часто так и называют - режим калькулятора (или непосредственный режим).
А теперь каждую из представленных выше трех команд пронумеруем.
10  а=5
20  Ь=4
30  ? a*b
Кстати, после ввода этой программы команды не выполнялись, а записывались в память компьютера. Убедиться в этом можно введя команду LIST -текст этой маленькой программы тут же появится на экране.

Страниц: 1 2
Комментарии к записи "Программирование на языке BASIC"
Оставить комментарий
  1. Турбо бейсик эффективен и в настоящее время.
    Программы расчёта оптических систем, написанные на нём, оказываются и проще и лучше современных профессиональных -
    http://www.proza.ru/2015/05/19/1630 http://www.proza.ru/2015/05/28/1750
    на Турбо бейсике можно и музыку писать - https://yadi.sk/d/1g2qF95ogtHyT
    прослушайте. Как это сделано, читайте тут -
    http://www.proza.ru/2015/04/02/1593 http://www.proza.ru/2015/04/18/1425
    http://www.proza.ru/2015/05/09/707
    Имею большой опыт. Готов сотрудничать.
    Дмитрий

  2. Как дополнение - очень хорошая программа
    Диалог в окнах для Турбо бейсика - http://www.proza.ru/2015/06/05/670

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

* Обязательные для заполнения поля
Все отзывы проходят модерацию.
Навигация
Связаться с нами
Наши контакты

vadimmax1976@mail.ru

8-908-07-32-118

8-902-89-18-220

О сайте

Magref.ru - один из немногих образовательных сайтов рунета, поставивший перед собой цель не только продавать, но делиться информацией. Мы готовы к активному сотрудничеству!