Программирование на языке BASIC - Часть 2

Если теперь ввести команду RUN, то она запустит программу на исполнение. Таким образом, последовательный набор команд с номерами строк является программой на языке Бейсик. Программировать на языке Бейсик означает научиться составлять определенный набор команд для решения поставленной задачи. Какие имеются команды у Бейсика и как ими пользоваться - рассмотрим ниже. Режим, при котором команды не выполняются непосредственно, а «копятся», называют косвенным. В этом режиме, основном для Бейсика, он и является языком программирования.
Основные базовые операторы (команды) языка Бейсик определяют ввод и вывод данных, присвоение, изменение порядка выполнения команд и циклические конструкции.
INPUT <список объектов ввода>           - ввод данных;
PRINT < список объектов вывода>        - вывод данных;
LET a = <арифметическое, логическое
или символьное выражение>
(служебное слово LET можно не писать)  - присвоение;
IF <условие> THEN <оператор 1 >
ELSE <оператор2>                    - условный оператор;
GOTO <номер строки>                   - безусловный переход;
FOR x=l TO n STEP h <оператор>
NEXT x                              - циклическая конструкция.
Часто используют, так называемый, внутренний ввод данных посредством операторов READ - DATA.
Добавим к этому списку несколько системных команд, с помощью которых программист и пользователь занимаются отладкой и обслуживанием программы:
RUN         - команда запуска программы на выполнение;
LIST          - команда вывода текста программы на экран дисплея;
SAVE         - команда сохранения текста программы в виде файла;
LOAD         - загрузка ранее сохраненной программы из существующего файла.
Этих операторов и команд обычно хватает, чтобы написать и отладить любую вычислительную программу.

3. Музыкальные и графические возможности.

В ряд версий Бейсика встроен специальный подъязык, который позволяет программировать музыку. Это делается без труда командой PLAY. В команде указывается строковое выражение, составленное из символов, кодирующих ноты.
Общий формат команды PLAY таков:
PLAY A$, В$, С$,
где А$, В$, С$ - строки символов, число которых не превышает числа параллельных звуковых каналов в системе. Каждый символ - команда специального языка, задающая ноту, длительность и громкость звучания, другие параметры. Следующие латинские буквы соответствуют основным нотам:
с - «до»,
d - «ре»,
е - «ми»,
f - «фа»,
g - «соль»,
а - «ля»,
b - «си»
Например,команда PLAY "cdefgab" осуществляет музыкальное исполнение гаммы (до-ре-ми-фа-соль-ля-си) четвертой октавы с длительностью 1/4 ноты (устанавливаемой, при отсутствии явных указаний, «по умолчанию»).
Нота может звучать на полтона выше (бемоль - знак «минус») или ниже (диез -знак «плюс», либо #). Высота звучания ноты определяется октавой. Октава кодируется символом с номером On, помещаемым перед нотой или группой последующих нот. Принято кодировать октавы по порядку с единицы в соответствии с фортепианным рядом: первая октава (01) - контроктава, вторая октава (02) - большая октава, третья октава (03) - малая октава, четвертая октава (04) - первая октава, пятая октава (05) - вторая октава и т.д. Например, команда PLAY "оЗ а а а" проигрывает три ноты ля-ля-ля в малой октаве.
Длительность звучания ноты измеряется в специальных единицах - одна целая нота (произнесите четко «раз-и, два-и, три-и, четыре-и», тогда время, затраченное на эту фразу, приблизительно соответствует длительности одной ноты). Выделяют длительность в полноты (1/2 ноты), четверть, одну восьмую, одну шестнадцатую и т.д. - вплоть до одна шестьдесят четвертая. Длительность звучания в программе устанавливают командой Ln (n = 1, 2,... 64), включаемой в символьную последовательность, либо непосредственно в самих командах установки нот. Например,
PLAY "C8   D2   L16   fbe"
означает звучание ноты «до» длительностью в одну восьмую ноты, «ре» - в одну вторую, а ноты фа-си-ми звучат длительностью в одну шестнадцатую ноты. Аналогичную размерность имеет пауза, обозначаемая Rn или Рп.
Уровень громкости может быть установлен командой Vn, предшествующей ноте (n = 0, 1,... 15); по умолчанию n = 8 - «средняя» громкость.
Для получения графических образов необходимо задать графический экран (например, SCREEN 9) и масштаб или окно экрана WINDOW (х1,у1) - (х2,у2). Здесь (х1,у1), (х2,у2) - координаты угловых точек экрана, расположенных на диагонали. Если ограничиться этим, то цвет фона будет черным. Для задания фона другого цвета используется оператор COLOR zl, z2, где zl- цвет текста, z2- цвет фона. Например, зададим графический экран, с размерами по горизонтали и по вертикали, соответственно 32 и 24 единицы, с началом координат в центре экрана. Цвет фона - синий (z2=l), а цвет надписей - желтый (zl=14).
10 '**************** чистый лист *********************
20 SCREEN 9
30 WINDOW (-16, -12) - (16, 12)
40 COLOR 14,1
Изображение точки с координатами (х,у) и заданным цветом осуществляется командой PSET(x,y),z. Здесь z - номер цвета. Точку на бумаге можно изобразить маленьким кружком. Иногда, когда требуется изображение точки покрупнее, буквально рисуют кружок и закрашивают его. В этой связи, изображение точки на экране дисплея можно создавать, выводя образ окружности и закрашивая ее в тот или иной цвет. Для создания окружности используется оператор CIRCLE (x,y),r,z, где х,у - координаты центра окружности, г - радиус окружности, z ~ номер цвета окружности. Закрашивают окружность оператором PAINT (x,y),zl,z , где zl - номер цвета которым закрашивают, z - номер цвета окружности.
Для изображения линий используется оператор LINE, который строит линии одной и той же толщины. Однако, при создании графических образов в компьютерных демонстрациях требуются линии различной толщины. Например, выделяются оси координат на фоне координатной сетки или рисуется график линейной зависимости и т.д. Существует очень быстрый способ получения изображений вертикальных и горизонтальных линий различной толщины. Это достигается выводом на экран узких прямоугольников. Этот прием иллюстрируется на примере построения осей координат:
LINE (-16,-.1)-(16,.1), 15, bf LINE (-.1,-12)-(.1,12), 15, bf
Линии произвольной формы и толщины, в том числе и прямые, выводятся на экран дисплея при помощи оператора CIRCLE. Заключенный в цикл с достаточно малым шагом, оператор CIRCLE действует аналогично плакатному перу с шириной линии, равной диаметру окружности:
FOR х = - 4 ТО 4 STEP .01
у = 0.5*х^2
CIRCLE (x,y), .1, 15
NEXT х
Если требуется провести очень тонкую линию, то вместо CIRCLE используется оператор PSET (x,y), z, где z - номер цвета, а (х,у) - координаты точки (PSET -точка).

4. Соотношение с другими языками программирования (паскалем).

Сопоставим бейсик и некоторые другие популярные языки - не в деталях, а в целом. В Бейсике отсутствуют:
• ряд структур данных (множества, записи, перечисляемые и интервальные типы);
• ссылочные типы и динамические переменные (хотя в старших версиях возможно динамическое описание массивов);
• в большинстве версий - процедуры и функции (их слабыми аналогами являются подпрограммы);
• модули (и, следовательно, возможности организации больших внешних библиотек).
По работе с графикой, возможностям обработки строк (текстов) Бейсик не уступает Паскалю, а по возможностям организации диалога, пожалуй, даже превосходит.
Одна из неприятных особенностей Бейсика для тех, кто привык к структурной записи программного кода, состоит в том, что Бейсик провоцирует программиста к неструктурности. Впрочем, это вопрос навыков и привычек. По большому счету, однако, язык, в котором нет настоящих процедур и средств создания внешних библиотек, не может быть языком структурного программирования.
Усложненные версии Бейсика, в которых фигурируют истинные процедуры и другие средства, заимствованные из более мощных языков, производят неоднозначное впечатление, так как теряется одно из главных достоинств языка - простота (лучше уж тогда пользоваться во многих отношениях превосходящим Бейсик языком операционального программирования Фортран-77). При написании же коротких простых программ Бейсик реально не уступает Паскалю (и многие специалисты утверждают, что процедура программирования на Бейсике проще, хотя это спорно). Поскольку современные версии Бейсик-систем используют не интерпретаторы, а компиляторы, эффективность программ не ниже, чем аналогичных на Паскале.

Список литературы

1. Абрамов С.А. Задачи по программированию . – М.: наука, 1988.
2. Алексеев В.Е. Вычислительная техника и программирование. – М.: Высшая школа, 1991.
3. Кетков Ю.В. Диалог на языке Бейсик для мини- и микро-ЭВМ. – М.: Наука, 1988.
4. Кнут Д. Искусство программирования. – М.: Мир, 1989.
5. Семакин И.Г.Лекции по программированию. – М.: Пермь, 1996.
6. Фигурнов В.Э. IBM PC для пользователя. Краткий курс. – М.: Инфра-М, 1999.

(15.6 KiB, 153 downloads)

© Размещение материала на других электронных ресурсах только в сопровождении активной ссылки

Вы можете заказать оригинальную авторскую работу на эту и любую другую тему.

Контрольные работы в Магнитогорске, контрольную работу купить, курсовые работы по праву, купить курсовую работу по праву, курсовые работы в РАНХиГС, курсовые работы по праву в РАНХиГС, дипломные работы по праву в Магнитогорске, дипломы по праву в МИЭП, дипломы и курсовые работы в ВГУ, контрольные работы в СГА, магистерские диссертации по праву в Челгу.

Страниц: 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

+7(908)07-32-118

О сайте

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