Basic — Внутри Minecraft можно программировать на Basic


Visual Basic для новичков. Шаг за шагом. Самоучитель/справочник (Евгений Матвеев)

Для самостоятельного изучения языка Visual Basic, позволяет без помощи преподавателя, «с нуля» разобраться в основах программирования и научиться создавать полноценные приложения для Windows. Большое количество информации о Visual Basic также даёт возможность использовать книгу и в качестве справочника.

Оглавление

Приведённый ознакомительный фрагмент книги Visual Basic для новичков. Шаг за шагом. Самоучитель/справочник (Евгений Матвеев) предоставлен нашим книжным партнёром — компанией ЛитРес.

© Евгений Матвеев, 2020

Создано в интеллектуальной издательской системе Ridero

О чЁм эта книга?

Книга представляет собой пошаговый самоучитель по программированию на языке Microsoft Visual Basic версии 6.0, с последовательным изучением всех основных компонентов языка Visual Basic и элементов управления Windows, которые в нём используются.

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

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

Прочитав эту книгу, вы научитесь:

• устанавливать Microsoft Visual Basic 6.0 на свой компьютер,

• пользоваться всеми основными возможностями среды программирования,

• находить нужную информацию в справочной системе,

• оперировать свойствами и методами объектов Windows,

• программировать различные внешние устройства,

• писать сетевые приложения для работы в Интернете,

• проектировать свое собственное приложение,

• разрабатывать его интерфейс,

• создавать исходный текст программы,

• отлаживать программу и находить в ней ошибки,

• компилировать код программы в исполнимый файл,

• создавать инсталляцию готового приложения,

• распространять свои программы через Интернет,

• …и многому другому!

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

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

• для лучшего понимания принципов работы операционной системы Microsoft Windows,

• изучения основ программирования вообще,

• написания программ на других диалектах языка Basic.

История появления языка Visual Basic

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

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

По мере распространения ЭВМ возникла необходимость упрощения языка взаимодействия человека с машиной, в результате чего в Dartmouth College был создан язык программирования BASIC. Это название являлось аббревиатурой, а полное наименование этого языка звучало как Beginner’s All-purpose Symbolic Instruction Code (универсальный символьный программный код для начинающих). В то же время слово Basic переводится с английского как «базовый», «основной». Как бы то ни было, прижился именно короткий вариант названия.

Поначалу Basic был очень простым языком программирования, так как предназначался для обучения. Именно из-за своей простоты и компактности он был выбран в качестве языка для первых микрокомпьютеров серии Альтаир (Altair), выпущенных в 1975 году и имеющих всего 4 кб оперативной памяти. Разрабатывали интерпретатор языка основатели корпорации Microsoft – Билл Гейтс (Bill Gates) и Пол Аллен (Paul Allen).

Когда появились персональные компьютеры фирмы IBM, был создан интерпретатор Microsoft GW-Basic, работающий под управлением операционной системы DOS. У интерпретатора GW-Basic имелся интерфейс командной строки и занимал он менее 100 кб оперативной памяти компьютера.

Следующим шагом в развитии языка Basic для DOS было появление двух компиляторов: Microsoft QuickBasic и Borland TurboBasic. Они оба отличались более удобным оконным интерфейсом, наличием текстового редактора для написания программ, системы отладки и возможностью генерации выполнимых exe-файлов.

Через несколько лет после появления операционной системы Microsoft Windows, в 1991 году был создан Microsoft Visual Basic for Windows версии 1.0. Это был революционный шаг в развитии языка, так как теперь отпала необходимость в скурпулезном программировании интерфейса приложений – достаточно было нарисовать его.

В дальнейшем развитие языка шло в направлении совершенствования Microsoft Visual Basic for Windows, которое было связано, в основном, с добавлением новых инструментальных средств и расширением поддержки работы с объектами операционной системы Windows, а также прикладными программами, прежде всего – с пакетом Microsoft Office.

Отличительные особенности Visual Basic

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

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

Создание объектов интерфейса: окон, кнопок, полей ввода, флажков и т. п., с помощью Visual Basic не представляет большого труда и напоминает рисование в графическом редакторе. После этого остается лишь написать подпрограммы, связанные с этими объектами.

Существенное отличие Visual Basic от QuickBasic, TurboBasic и других диалектов языка Basic для DOS, заключается в том, что в него встроена поддержка работы с объектами Windows, а также предоставлена возможность использования любых функций операционной системы.

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

Но он же может быть и компилятором, создающим исполняемые файлы, которые работают независимо от самой среды программирования.

Работа в среде Visual Basic очень комфортна, чему способствует наличие большого количества мастеров, многоуровневой справочной системы и удобных средств отладки приложений.

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

Редакции Visual Basic

Фирма Microsoft выпускает Visual Basic 6.0 в нескольких редакциях, которые различаются своими возможностями, поставляемой документацией и, конечно же, своей стоимостью:

Learning Edition (Учебная редакция) – включает основные возможности по созданию приложений и базовый набор элементов управления,

Professional Edition (Профессиональная редакция) – содержит больше инструментов и вспомогательных средств разработки, а также ряд дополнительных элементов управления,

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

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

Visual Basic 6.0 Enterprise Edition, какой мы будем рассматривать в этой книге, поставляется не отдельно, как это было в предыдущих версиях, а в составе интегрированного пакета Microsoft Visual Studio 6.0, предназначенного для разработчиков программного обеспечения.

В этот пакет входит, кроме Microsoft Visual Basic еще и Microsoft Visual C++, Microsoft Visual FoxPro, а также ряд других вспомогательных программ и компонентов.

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

Списки, в которых перечисляются какие-либо понятия, выглядят так:

• элемент списка 1,

• элемент списка 2,

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

Сделайте это… На экране появится следующее…

Названия клавиш, которые придется нажимать на клавиатуре, заключены в квадратные скобки и выделены жирным шрифтом, например: [F1]. Комбинации клавиш, нажимаемые одновременно, содержат между собой знак «плюс», например: [Ctrl] + [Break].

Последовательно выбираемые мышью пункты меню разделены знаком «дефис», а в скобках приводится их перевод на русский язык: File – Open… (Файл – Открыть…).

Названия программ в тексте выглядят таким образом: Microsoft Visual Basic.

Исходные тексты программ, которые придется набирать на клавиатуре вручную, отделены от остального текста пустыми строками и выделены жирным шрифтом, например:

Visual Basic 2010: начинаем с нуля

В процессе так называемого визуального программирования большая часть кода создается компьютерной программой. Пользователю остается лишь водить мышью по экрану и вписывать значения в отведенные окна. В таком режиме очень сложно научиться программировать «от и до». На ум приходит сравнение из области кулинарии.

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

Впрочем, начинать программировать можно и на Visual Basic. Главное, не отвлекаться на графический интерфейс и создавать первые программы в виде консольных приложений. Учебники и самоучители, посвященные программированию в консоли, вы вряд ли найдете, и потому мы постараемся научить вас его азам на страницах нашего журнала. Причем в понятном формате.

Для старта скачаем последнюю редакцию Visual Studio 2010 (бесплатная версия Express доступна по адресу www.microsoft.com/express/downloads/) и установим на пользовательский ПК. Мы начнем знакомиться с классическими алгоритмическими конструкциями на примере игры «Угадай-ка». Пусть компьютер загадывает число от до 100, а вы попытаетесь его угадать за семь попыток. Домашний ПК будет вам помогать фразами «перелет» и «недолет».

Итак, «Пуск •Программы • Microsoft Visual Studio 2010 Express • Microsoft Visual Studio 2010 Express». В открывшемся окне идите в меню «Файл», укажите пункт «Создать проект» и в раскрывшемся списке выберите строку «Консольное приложение». Задайте имя проекта (по умолчанию — ConsoleApplication1). И даже здесь вы увидите четыре «бесплатные» строки будущей программы:

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

В этом месте неискушенный новичок покрутит пальцем у виска, а бывалый программист искренне улыбнется. Цифры слева — это классика. Строки кода на языке Бейсик нумеровались с 1964 г., когда в первом руководстве по языку программирования Beginner’s All Purpose Symbolic Instruction Code (BASIC) были представлены три команды:

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

Строка 10. С помощью оператора DIM объявляются имя и тип одной или нескольких переменных. В данном случае мы объявили три целочисленных переменных: i — будем использовать в цикле; n — загаданное число; p — наши варианты загаданного числа.

Строки 20 и 30 мы объясним в паре. Функция RND () возвращает случайное вещественное число (типа Single) в диапазоне от до 1. Мы умножили случайное число на 100, чтобы расширить диапазон от до 100. А вот функция Math.Round (), по сути, лишняя в нашей программе, но все же пусть будет. Она округляет получившееся число до целого значения. Однако переменная n объявлена как целочисленная, а значит, при выполнении программы дробная часть загаданного числа обрезалась бы автоматически. Функция Randomize () инициализирует генерацию случайных чисел, иначе задуманное число всегда будет одним и тем же.

Строки 40 и 50 обеспечивают вывод приветственных фраз на экран в консольном режиме.

Строки с 60 по 180 ключевые в нашем коде — это циклическая конструкция. Команды с 70 по 170 называются телом цикла. Нашему циклу суждено повториться 7 раз — те самые 7 попыток отгадать задуманное число. С каждым проходом (итерацией) цикла значение счетчика i будет увеличиваться с 1 до 7 в строке 180. Причем значение переменной i будет играть важную роль в строке 190, но об этом чуть позже.

Обратите внимание на уже знакомый оператор в строке 80. Здесь выводимая строка формируется динамически, в зависимости от значения переменной i. А функция Str (i) превращает числовую переменную в обычную строку, чтобы появилась информативная фраза «Это твоя 1‑я попытка. Вводи число:».

Пользователь вводит значение в переменную p в 90‑й строке. Если здесь ввести не число, а какой-либо другой символ, получится ошибка. В дальнейшем мы будем учиться обрабатывать подобные варианты событий, а пока не станем останавливаться на этом.

Конструкция с 100‑й по 170‑ю строку называется ветвлением. В зависимости от выполнения того или иного условия осуществляются те или иные команды. Допустим, вы угадали и введенное p равняется задуманному n. Тогда компьютер выполнит операторы из 110‑й и 120‑й строк. Кстати, команда Exit For нужна, чтобы в случае победы завершить выполнение запущенного цикла 60–180 и передать управление оператору в строке 190.


Строка 140 будет задействована в работе алгоритма, если введенное p окажется больше задуманного n. А строка 160 исполнится, если введенное p окажется меньше задуманного n. Правда, все просто?

Конструкция с ветвлением в строках со 190‑й по 220‑ю сработает, если на выходе с цикла значение счетчика i будет равно 8. Поясним: если бы вы угадали задуманное число на последней, 7‑й, попытке, то значение i равнялось бы 7. А если оно равно 8, то, значит, цикл завершился сам собой, «счастливый» оператор Exit For из строки 120 не выполнялся.

Ну и последний оператор из строки 230 ожидает ввода в консоль любого одного (!) символа. Если бы не он, то написанное консольное приложение отработало бы без ошибок и сразу же закрылось. Кстати, попробуйте вместо Console.ReadKey () написать оператор GoTo 30. Запустите отладку приложения клавишей . Что получилось в итоге? Если что-то не поняли, встаньте курсором на GoTo и нажмите клавишу — «Помощь» вам в помощь.

А в следующий раз мы запрограммируем еще более интересную консольную игру.

Основы программирования на QBasic

Среда программирования QBasic.
Бейсик (Basic) — диалоговый учебный язык программирования для персональных компьютеров. На современных компьютерах используется следующие версии Basic: GWBasic, QBasic 4.5, Turbo Basic для DOS, Visual Basic 3.0-6.0 для Windows. Здесь мы рассмотрим QBasic 4.5.

QBasic входит в состав операционной системы MS-DOS 6.0-6.22. Есть русифицированная версия QBasic.

Для запуска QBasic надо или найти файл qbasic.exe и Enter, или ввести в командную строку qbasic и Enter. Меню — Alt.

Запуск программы Shift-F5.

Получение помощи Shift-F1.

Создать файл: Меню Файл, Сохранить Как, выбрать каталог, задать имя файла, ОК. Файл получит расширение bas.

Сохранить файл: Меню Файл, Сохранить.

Открыть файл, то есть считать его с диска: Меню Файл, Открыть.

Выход из QBasic: Меню Файл, Выход.

Копирование выделенного фрагмента программы в буфер (Edit,Copy) — Ctrl-Insert,

Вставка фрагмента из буфера (Edit,Paste) — Shift-Insert,

Вырезать (Edit,Cut) — Shift-Delete.

Удобно выделять и делать все указанные операции с помощью мыши. Можно выделенный фрагмент программы вставить в другой файл, если после выделения открыть его.

В QBasic 4.5 можно откомпилировать текстовый bas-файл, превратив его в двоичный exe-файл, который можно использовать отдельно, то есть без среды программирования QBasic.

Переменная в программе
Переменная — это область в памяти компьютера, где хранится некоторое значение. Каждая переменная имеет имя, значение и тип.

Имя переменной обозначается английской буквой, после которой может быть цифра, причем первой стоит буква, например: x, y, z, A1, B2. Имя переменной служит для обозначения некоторой величины в программе, которая при выполнении программы может иметь какое-либо значение, но может быть и не определена. Пример задания часто употребляемой константы: pi=3.14159.

Типы переменых: целая, вещественная, логическая, символьная, строковая и др. Если в переменной хранится число, то это числовая переменная, если в переменной хранится слово или фраза, то это строковая (символьная) переменная. В QBasic строковая переменная обозначается a$, b$ (в конце имени стоит знак доллара $). Содержимое хранится в переменной, до тех пор, пока оно не будет специально изменено.

Операция предачи новых данных в переменную называется присваиванием и обозначается в QBasic знаком «=», например, x=10.

Некоторые основные директивы QBasic
Директива REM или апостроф ‘ — обозначает комментарий к программе или команде. Вся строка (как правило, это поясняющий текст), что идёт после знака комментария, не исполняется. Этот знак используется при отладке программ.

Оператор CLS-оператор очистки экрана. С него часто начинаются программы, работающие в текстовом режиме.

Директива END означает конец программы. Применение этой команды в конце программы не является обязательным.

Все формулы в QBasic записываются в строку, при этом используются следующие математические знаки:

«+» и «-» — сложение и вычитание;

«*» и «/» — умножение и деление;

«^» — возведение в любую степень;

(x+3.14)/(a+b) — используются только круглые скобки и десятичная точка вместо запятой.

Пример: S=Vo*t+g*t^2/2

В QBasic применяются следующие встроенные функции:

SQR(X) — извлечение квадратного корня;

ABS(X) — модуль (абсолютная величина) числа;

SIN(X); COS(X); TAN(X) — тригонометрические функции синус, косинус и тангенс угла в радианах;

ATN(X) — арктангенс числа в радианах;

INT(X) — округление числа (дробная часть числа отбрасывается);

RND(X) — случайное число;

z = y MOD x — целый остаток от деления y на x.

LOG(X) — логарифмическая функция (натуральный логарифм по основанию e=2.71828);

EXP(X) — показательная (экспоненциальная) функция.

Операции ввода-вывода информации
Для вывода (печати) информации на экран применяется оператор PRINT. Пример:

PRINT X — вывод на экран значения числа X.

PRINT «Скорость тела равна: V=»; V; «м/с» — выводимый на экран текст указывается в кавычках. Вместо знака «;» можно ставить знак «,».

Просто оператор PRINT без текста и знаков даёт пустую строку на экране.

Если при работе в среде QBasic 4.5 вместо слова PRINT ставить знак вопроса «?», а затем нажать Enter, то слово PRINT само появится на экране. Это упрощает работу программиста.

Ввод данных с клавиатуры осуществляется с помощью оператора INPUT

Пример: INPUT X — ввод числа X. На экране появится знак «?» и компьютер ждёт ввода переменной Х (это приглашение ввести число).

INPUT «Введите число Х=»; X — можно вводить в кавычках подсказку, она будет выводиться на экран. После подсказки можно ставить знак «,» вместо знака «;», но тогда знака вопроса «?» на экране не будет, а вместо него в качестве приглашения будет мигать курсор.

Пример 1: Вычислить площадь треугольника по формуле Герона.

CLS

‘Определите площадь треугольника по формуле Герона.

INPUT «Введите величину стороны a: a=», a

INPUT «Введите величину стороны b: b=», b

INPUT «Введите величину стороны c: c=», c

p = (a + b + c) / 2

S = SQR(p * (p — a) * (p — b) * (p — c))

PRINT «Ответ: площадь треугольника равна: S=»; S

Пример 2 (с использованием строковых переменных). Напечатайте на экране введённые с клавиатуры фамилию, имя и класс ученика.

CLS

INPUT «Введите свою фамилию: «, f$

INPUT «Введите своё имя: «, i$

INPUT «Введите свой класс: «, k$

PRINT

PRINT f$; » «; i$; «, «; k$

END

Управляющие конструкции 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.

Условия представляют собой логические соотношения: равенства или неравенства = равно, <> неравно, > больше, = больше или равно, GOTO N ELSE Число N — метка. Если условие выполняется, то происходит переход по метке N, а иначе выполняется список операторов, стоящих после ELSE. Слово ELSE может и отсутствовать. Тогда происходит переход к строке, следующей за оператором IF. GOTO.

Пример 3:

CLS

INPUT «Если хочешь каникулы, вводи 1. Если нет, любое число. n=», n

IF n = 1 THEN GOTO 10 ELSE GOTO 20

10 PRINT «Хочу каникулы!»: END


20 PRINT «Хочу учиться!»

3. Оператор цикла FOR. TO. NEXT. позволяет реализовать циклический алгоритм, когда часть программы может быть выполнена много раз подряд. FOR. TO. — начало цикла, NEXT. — конец цикла.

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

FOR X=A TO B STEP H

NEXT X

Здесь X — переменная, A — начальное значение переменной, B — конечное значение переменной, H — шаг, с которым меняется переменная. Если шаг STEP H отсутствует, то по умолчанию шаг H=1. При этом переменная X называется счётчиком цикла. Повторение участка программы с шагом H происходит до тех пор, пока X B.

Пример 1: Напечатать на экране текст 20 раз.

CLS

FOR X=1 TO 20

PRINT «С Новым Годом!»

NEXT X

Пример 2: Вычислить сумму n первых членов ряда S=1+1/4+1/9+. +1/n^2

CLS

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.

CLS

REM Вычислить функцию y=1/(x^2-5*x-6)

FOR x = -10 TO 10

IF x ^ 2 — 5 * x — 6 = 0 THEN PRINT «При x=-1, x=6 функция не определена!»

ELSE y = 1 / (x ^ 2 — 5 * x — 6)

PRINT «x=»; x, » y=»; y

NEXT x

Пример 6.

CLS

REM Вычислить функцию y=1/SQR(x^2-3*x+2)

FOR x = -5 TO 5

IF x >= 1 AND x 1-эллипс вытянут вдоль малой оси.

Пример: CIRCLE (160, 100), 70, 15, , , 0.5

Пример графики на 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

END

Установка цветов в операторе COLOR QBasic:
Число Цвет

0 Черный

1 Синий

2 Зеленый

3 Голубой

4 Красный

5 Фиолетовый

6 Коричневый

7 Серый

8 Темно-серый

9 Светло-синий

10 Светло-зеленый

11 Светло-голубой

12 Светло-красный

13 Светло-фиолетовый

14 Желтый

15 Белый

Некоторые сочетания цветов в операторе COLOR QBasic:
1) 14, 8 — желтый на темно-сером фоне;

2) 1, 7 — синий на светло-сером фоне;

3) 5, 14 — фиолетовый на желтом фоне;

4) 4, 11 — красный на голубом фоне;

5) 5, 10 — фиолетовый на светло-зеленом фоне;

6) 15, 5 — белый на фиолетовом фоне;

7) 14, 1 — желтый на синем фоне;

8) 15, 1 — белый на синем фоне;

9) 8, 11 — темно-серый на голубом фоне;


10) 1, 15 — синий на белом фоне

Программирование: с чего начать, или Незаменимый бейсик

27 сентября 2013

Я всегда тепло вспоминаю свой первый язык программирования. Как, полагаю, многие из увлечённых компьютерами в 80-х и ранних 90-х, я выучил его ещё до того, как прикоснуться к клавиатуре (тем более — к клавиатуре собственного компьютера!), и не по учебникам, не на спецкурсах: по распечаткам программ в популярных журналах. Синтаксически простой, семантически схожий с английским языком, с суперкомпактным набором команд, позволяющий писать сразу, с ходу, не задумываясь об инициализациях и прочем подобном, он был идеальным решением для тех, кто ничего не смыслит в программировании, но хочет разобраться. Мне даже нет нужды называть его имя, вы и так его узнали, потому что вариант только один. А случившееся на днях заставило задуматься: а правда ли век его прошёл? Правда ли он «был», но не остаётся?

Цукерберг рекомендует:  C# - Суперкласс в C#

Событием, которое подтолкнуло к рассуждениям о вроде бы давно забытом предмете, стал выпуск компанией 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 ещё послужит.

Программирование: с чего начать, или Незаменимый бейсик

27 сентября 2013

Я всегда тепло вспоминаю свой первый язык программирования. Как, полагаю, многие из увлечённых компьютерами в 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 ещё послужит.

Basic — Внутри Minecraft можно программировать на Basic

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

Простейшее действие, которое можно выполнить над символь-
ными значениями, — это сложить их с помощью обычного знака +:

PRINT «BAS»+»IC»
BASIC

Результат такой же, как если бы мы попросили компьютер
напечатать слово BASIC целиком (PRINT «BASIC»).

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

PRINT «ABCDEF»(2 ТО 5)
BCDE

Если подстрока выделяется, начиная с первого символа, то мож-
но писать сокращенно: (ТО 5). И, аналогично, если подстрока

выделяется до конца символьной строки, то разрешается записать:
(2 ТО). Допустимо задавать сечение и вообще без параметров:

PRINT «ABCDEF»(TO)
ABCDEF

Последнее сечение можно было записать и без ТО:
ABCDEF()

Слово ТО также можно опустить, если выделяется лишь один
символ, то есть вместо (3 ТО 3) использовать (3):

PRINT «ABCDEF»(3)
С

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

PRINT «ABCDEF»(2 ТО 10)
— и получите внизу экрана сообщение Subscript wrong (неправиль-
ный индекс).

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

С помощью функции LEN можно выяснить длину символьной
строки, то есть определить, сколько позиций займет она на экране
при печати*:

PRINT LEN » SINCLAIR «
II

Пробелы также считаются сим-
волами и учитываются при рас-
чете длины.

Функция STR$ преобразует
числовые значения в символьные
(«прицепляет» к числу кавычки).
Например, STR$ 3 возвращает
символьное значение «3 й .

Можно рассчитать его длину:
PRINT LEN STR$ 3
1

При необходимости можно выполнить преобразование, обрат-
ное функции STR$, — превратить строковое значение в числовое.
Нужно только воспользоваться функцией VAL:

PRINT VAL «5.25 м —2.25
3

Это не совсем точно: строка может содержать символы, которые не выводятся на
экран.

VAL «оторвала» кавычки, пре-
вратив строковое значение в
нормальное число, с которым
можно производить математи-
ческие операции.

Функция VAL может обраба-
тывать и числовые выражения,
представленные как символь-
ные значения. Например:
PRINT VAL «3*3+1»
11

Если VAL применить к сим-
вольному значению, не имею-
щему ничего общего с числами,
то компьютер воспримет это как
ошибку.

Символы и их коды

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

ZX Spectrum так организован, что ключевые слова Бейсика
(PRINT, VAL ит. д.) также являются отдельными знаками, каждый со
своим кодом*.

Всего в ZX Spectrum опре-
делено 256 символов с кода-
ми от 0 до 255. Полный на-
бор и тех и других можно по-
смотреть в таблице символов
на стр. 100.

Выяснить, какой код со-
ответствует символу или, на-
оборот, символ — коду, мож-
но и не пользуясь таблицей, а
с помощью функций code и
chr$:

Это существенно сокращает объем памяти, занимаемый бейсик-программой.

Так мы узнали, что код заглавной буквы А равен 65. Или,
наоборот:

PRINT CHR$ 65
А

Что и требовалось проверить — коду 65 соответствует символ А.

Если символьное значение, подставляемое вслед за CODE, со-
стоит больше чем из одного символа, функция возвратит код
первого символа.

ГРАФИКА__

PLOT, DRAW, CIRCLE, CLS

Оператор PRINT за одно элементарное действие — вывод символа
— воздействует сразу на 64 точки экрана (8×8). Это, конечно же,
хорошо с точки зрения ускорения процесса вывода символьной
информации, но хотелось бы иметь возможность «обращаться» и к
отдельным точкам (пикселям).

Spectrum-Бейсик говорит: «Пожалуйста», — и предоставляет в
наше распоряжение оператор PLOT. С его помощью можно «вклю-
чить» любой пиксель основного экрана*. Для оператора PLOT не
существует разделения экрана на знакоместа. Для него экран —
поле высотой 176 и шириной 256 пикселей. Каждый пиксель
имеет свои координаты, не координаты знакомест в строках и
столбцах, а графические координаты:

х — по горизонтали (0. 255),
у— по вертикали (0. 175).

Начало отсчета системы координат (пиксель с координатами
х=0, у=0) находится в нижнем левом углу основного экрана. Об-
ратите внимание на то, что отсчет вертикальной графической
координаты идет снизу вверх, в отличие от нумерации символьных
строк, которая производит-
ся от верха экрана (см.
рис. 3).

После получения некото-
рого представления об уст-
ройстве графического экра-
на можно вернуться к опе-
ратору PLOT. Нетрудно
предположить, что для рабо-
ты ему нужны два па-
раметра — координаты точ-
ки. Они записываются че-
рез запятую после ключево-
го слова: сначала х, потом у.

Рис. 3. Строение графического экрана.

Рис. 3. Строение графического экрана.

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

К примеру, оператор
PLOT 130, 80 высветит точку
почти по центру экрана.

Ставя точку за точкой с
помощью PLOT, в принципе,
можно нарисовать чудесную
картинку. Попробуйте. Од-
нако вряд ли у кого-нибудь
хватит терпения выставить
более десятка точек. Кое в
чем поможет сам Бейсик.
Например, построение от-
резков и дуг берет на себя
оператор DRAW (от англ. ри-
совать, чертить).

DRAW при проведении
прямой использует лишь два
параметра: расстояние в
пикселях по х ч по у от некой
начальной точки до конеч-
ной ^оч^л строящейся ли-
нии. Следовательно, пара-
метры DRAW задают только направление и длину отрезка, но не
устанавливают его начальную точку. Выполнив, например, опера-
тор DRAW 127, 87 сразу после включения компьютера, увидим, что
линия будет проведена к середине экрана от начала координат
(0, 0). Следующий оператор, скажем, DRAW 0, —50 проведет отрезок
длиной в 50 пикселей вертикально вниз от конца предыдущей
линии. Вообще, началом линии для DRAW всегда является послед-
няя выставленная на экране точка. На-
глядней и проще всего начальную точку
можно задать с помощью оператора PLOT.

Если к оператору DRAW через запятую
добавить еще один параметр, то на экра-
не появится дуга. Этот дополнительный
параметр задает величину угла (в ради-
анах), который будет образован дугой.
Знак параметра определяет направление
построения дуги: положительный — про-
тив часовой стрелки, отрицательный —
по часовой. Принцип получения началь-
ной и конечных точек дуги остается тем
же, что и при построении отрезка. По-
пробуем:

PLOT 150, 100
DRAW -100, 0, PI


Получим полуокружность с центром в
точке (100, 100) и радиусом 50 пикселей.
С константой PI мы уже сталкивались:
она подставляет вместо себя число «пи».

Используя конструкцию с PLOT и DRAW,
можно, конечно, построить и полную окруж-
ность. Но зачем, когда в Бейсике существует
специально «обученный» для этого оператор
CIRCLE? Его параметры очевидны: координа-
ты центра и радиус окружности. Например,
нарисуем окружность с центром в середине
экрана и радиусом 50:

CIRCLE 127, 87, 50

Оператор CIRCLE строит окружности до-
статочно точно, но уж очень медленно.

Очистить экран от любого изображения
(как от графики, так и от текста), то есть
«выключить*» все пиксели, можно опе-
ратором CLS, к описанию которого мы еще
вернемся.

Основы программирования на QBasic

Среда программирования QBasic.
Бейсик (Basic) — диалоговый учебный язык программирования для персональных компьютеров. На современных компьютерах используется следующие версии Basic: GWBasic, QBasic 4.5, Turbo Basic для DOS, Visual Basic 3.0-6.0 для Windows. Здесь мы рассмотрим QBasic 4.5.

QBasic входит в состав операционной системы MS-DOS 6.0-6.22. Есть русифицированная версия QBasic.

Для запуска QBasic надо или найти файл qbasic.exe и Enter, или ввести в командную строку qbasic и Enter. Меню — Alt.

Запуск программы Shift-F5.

Получение помощи Shift-F1.

Создать файл: Меню Файл, Сохранить Как, выбрать каталог, задать имя файла, ОК. Файл получит расширение bas.

Сохранить файл: Меню Файл, Сохранить.

Открыть файл, то есть считать его с диска: Меню Файл, Открыть.

Выход из QBasic: Меню Файл, Выход.

Копирование выделенного фрагмента программы в буфер (Edit,Copy) — Ctrl-Insert,

Вставка фрагмента из буфера (Edit,Paste) — Shift-Insert,

Вырезать (Edit,Cut) — Shift-Delete.

Удобно выделять и делать все указанные операции с помощью мыши. Можно выделенный фрагмент программы вставить в другой файл, если после выделения открыть его.

В QBasic 4.5 можно откомпилировать текстовый bas-файл, превратив его в двоичный exe-файл, который можно использовать отдельно, то есть без среды программирования QBasic.

Переменная в программе
Переменная — это область в памяти компьютера, где хранится некоторое значение. Каждая переменная имеет имя, значение и тип.

Имя переменной обозначается английской буквой, после которой может быть цифра, причем первой стоит буква, например: x, y, z, A1, B2. Имя переменной служит для обозначения некоторой величины в программе, которая при выполнении программы может иметь какое-либо значение, но может быть и не определена. Пример задания часто употребляемой константы: pi=3.14159.

Цукерберг рекомендует:  Девушки - Стоит ли начинать учиться

Типы переменых: целая, вещественная, логическая, символьная, строковая и др. Если в переменной хранится число, то это числовая переменная, если в переменной хранится слово или фраза, то это строковая (символьная) переменная. В QBasic строковая переменная обозначается a$, b$ (в конце имени стоит знак доллара $). Содержимое хранится в переменной, до тех пор, пока оно не будет специально изменено.

Операция предачи новых данных в переменную называется присваиванием и обозначается в QBasic знаком «=», например, x=10.

Некоторые основные директивы QBasic
Директива REM или апостроф ‘ — обозначает комментарий к программе или команде. Вся строка (как правило, это поясняющий текст), что идёт после знака комментария, не исполняется. Этот знак используется при отладке программ.

Оператор CLS-оператор очистки экрана. С него часто начинаются программы, работающие в текстовом режиме.

Директива END означает конец программы. Применение этой команды в конце программы не является обязательным.

Все формулы в QBasic записываются в строку, при этом используются следующие математические знаки:

«+» и «-» — сложение и вычитание;

«*» и «/» — умножение и деление;

«^» — возведение в любую степень;

(x+3.14)/(a+b) — используются только круглые скобки и десятичная точка вместо запятой.

Пример: S=Vo*t+g*t^2/2

В QBasic применяются следующие встроенные функции:

SQR(X) — извлечение квадратного корня;

ABS(X) — модуль (абсолютная величина) числа;

SIN(X); COS(X); TAN(X) — тригонометрические функции синус, косинус и тангенс угла в радианах;

ATN(X) — арктангенс числа в радианах;

INT(X) — округление числа (дробная часть числа отбрасывается);

RND(X) — случайное число;

z = y MOD x — целый остаток от деления y на x.

LOG(X) — логарифмическая функция (натуральный логарифм по основанию e=2.71828);

EXP(X) — показательная (экспоненциальная) функция.

Операции ввода-вывода информации
Для вывода (печати) информации на экран применяется оператор PRINT. Пример:

PRINT X — вывод на экран значения числа X.

PRINT «Скорость тела равна: V=»; V; «м/с» — выводимый на экран текст указывается в кавычках. Вместо знака «;» можно ставить знак «,».

Просто оператор PRINT без текста и знаков даёт пустую строку на экране.

Если при работе в среде QBasic 4.5 вместо слова PRINT ставить знак вопроса «?», а затем нажать Enter, то слово PRINT само появится на экране. Это упрощает работу программиста.

Ввод данных с клавиатуры осуществляется с помощью оператора INPUT

Пример: INPUT X — ввод числа X. На экране появится знак «?» и компьютер ждёт ввода переменной Х (это приглашение ввести число).

INPUT «Введите число Х=»; X — можно вводить в кавычках подсказку, она будет выводиться на экран. После подсказки можно ставить знак «,» вместо знака «;», но тогда знака вопроса «?» на экране не будет, а вместо него в качестве приглашения будет мигать курсор.

Пример 1: Вычислить площадь треугольника по формуле Герона.

CLS

‘Определите площадь треугольника по формуле Герона.

INPUT «Введите величину стороны a: a=», a

INPUT «Введите величину стороны b: b=», b

INPUT «Введите величину стороны c: c=», c

p = (a + b + c) / 2

S = SQR(p * (p — a) * (p — b) * (p — c))

PRINT «Ответ: площадь треугольника равна: S=»; S

Пример 2 (с использованием строковых переменных). Напечатайте на экране введённые с клавиатуры фамилию, имя и класс ученика.

CLS

INPUT «Введите свою фамилию: «, f$

INPUT «Введите своё имя: «, i$

INPUT «Введите свой класс: «, k$

PRINT

PRINT f$; » «; i$; «, «; k$

END

Управляющие конструкции 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.

Условия представляют собой логические соотношения: равенства или неравенства = равно, <> неравно, > больше, = больше или равно, GOTO N ELSE Число N — метка. Если условие выполняется, то происходит переход по метке N, а иначе выполняется список операторов, стоящих после ELSE. Слово ELSE может и отсутствовать. Тогда происходит переход к строке, следующей за оператором IF. GOTO.

Пример 3:

CLS

INPUT «Если хочешь каникулы, вводи 1. Если нет, любое число. n=», n

IF n = 1 THEN GOTO 10 ELSE GOTO 20


10 PRINT «Хочу каникулы!»: END

20 PRINT «Хочу учиться!»

3. Оператор цикла FOR. TO. NEXT. позволяет реализовать циклический алгоритм, когда часть программы может быть выполнена много раз подряд. FOR. TO. — начало цикла, NEXT. — конец цикла.

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

FOR X=A TO B STEP H

NEXT X

Здесь X — переменная, A — начальное значение переменной, B — конечное значение переменной, H — шаг, с которым меняется переменная. Если шаг STEP H отсутствует, то по умолчанию шаг H=1. При этом переменная X называется счётчиком цикла. Повторение участка программы с шагом H происходит до тех пор, пока X B.

Пример 1: Напечатать на экране текст 20 раз.

CLS

FOR X=1 TO 20

PRINT «С Новым Годом!»

NEXT X

Пример 2: Вычислить сумму n первых членов ряда S=1+1/4+1/9+. +1/n^2

CLS

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.

CLS

REM Вычислить функцию y=1/(x^2-5*x-6)

FOR x = -10 TO 10

IF x ^ 2 — 5 * x — 6 = 0 THEN PRINT «При x=-1, x=6 функция не определена!»

ELSE y = 1 / (x ^ 2 — 5 * x — 6)

PRINT «x=»; x, » y=»; y

NEXT x

Пример 6.

CLS

REM Вычислить функцию y=1/SQR(x^2-3*x+2)

FOR x = -5 TO 5

IF x >= 1 AND x 1-эллипс вытянут вдоль малой оси.

Пример: CIRCLE (160, 100), 70, 15, , , 0.5

Пример графики на 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

END

Установка цветов в операторе COLOR QBasic:
Число Цвет

0 Черный

1 Синий

2 Зеленый

3 Голубой

4 Красный

5 Фиолетовый

6 Коричневый

7 Серый

8 Темно-серый

9 Светло-синий

10 Светло-зеленый

11 Светло-голубой

12 Светло-красный

13 Светло-фиолетовый

14 Желтый

15 Белый

Некоторые сочетания цветов в операторе COLOR QBasic:
1) 14, 8 — желтый на темно-сером фоне;

2) 1, 7 — синий на светло-сером фоне;

3) 5, 14 — фиолетовый на желтом фоне;

4) 4, 11 — красный на голубом фоне;

5) 5, 10 — фиолетовый на светло-зеленом фоне;

6) 15, 5 — белый на фиолетовом фоне;

7) 14, 1 — желтый на синем фоне;

8) 15, 1 — белый на синем фоне;


9) 8, 11 — темно-серый на голубом фоне;

10) 1, 15 — синий на белом фоне

Basic — Внутри Minecraft можно программировать на Basic

LOC — возврат текущей позиции в файле.

Пример . OPEN «Rab.dat» FOR RANDOM AS #1

FOR i1% = 2 TO 10 STEP 2

PRINT » Данное — «; i2%; » Текущая запись — «; LOC(1)

В первой строчке программы открывается файл произвольного доступа под именем « Rab . dat ». Далее в него в пять первых записей заносятся четные числа, в запись под номером 1 — значение 2, в запись 2 — 4, 3 — 6, 4 — 8, 5 — 10. Следующие операторы считывают данные из записи под номером 1, 2 …5 и выводят их на экран вместе с номером текущего положения в файле.

LOCATE — устанавливает курсор в текстовом режиме на определенное положение на экране.

Пример. LOCATE 10, 40

PRINT » Пробная печать «

LOCATE 11, 40, 1, 1, 14

Первый оператор устанавливает курсор на 10й строке, 40й столбец. Далее с этой позиции происходит печать текста « Пробная печать ». Третий оператор устанавливает курсор на 11 строке, 40 столбце, делает курсор видимым (0 — невидимый), причем курсор будет выведен на всю позицию знакоместа, то есть в виде прямоугольника (1, 14). Для того, чтобы вывести курсор как символ подчеркивания, следует указать эти параметры как « 13, 14 », а чтобы он занимал верхнюю часть знакоместа — « 1, 2 » .

LOCK — запрет доступа к файлам при работе в сети.

LOF — возвращает длину файла в байтах.

Пример . OPEN «Rab.txt» FOR INPUT AS #1

LOG — возврат значения натурального логарифма.

Пример . PRINT LOG(1), LOG(5) ((0 1.609438))

LPOS — возвращает количество символов, посланных на принтер со времени последнего сигнала возврата каретки (переход на следующую строчку).

В первой строчке на принтер выводится некоторое значение, состоящее из пробела, символов « 123 » и пробела. Так как далее находится символ «,», то следующей позицией будет позиция номер 15. Если указать вместо запятой символ «;», то выведется значение 6. В операторе LPOS (1) указана единица, что обозначает номер параллельного порта, а именно: LPT 1 .

LPRINT — вывод информации на принтер. Данный оператор по синтаксису сходен с оператором PRINT для вывода на экран дисплея (см. оператор PRINT ).

LPRINT USING — вывод форматированной информации на принтер. Данный оператор по синтаксису сходен с оператором PRINT USING для вывода на экран дисплея (см. оператор PRINT USING ).

LSET — занесение значений в поле, образованное оператором FIELD (пример см. в описании оператора FIELD ). Кроме того, производит перенос значения из одной переменной в другую, как это показано на примере ниже.

Пример . a1$ = «123456»: a2$ = «78»: LSET a2$ = a1$

PRINT LEN(a2$), a1$, a2$ ((2 123456 12))

В данном примере переменная а2$ принимает значение « 12 » потому, что ее длина до операции присвоения была равна двум (два символа: « 78 »), поэтому оператор « LSET » присваивает значение этой переменной в виде двух символов из переменной а1$ : « 12 ».

LTRIM $ — убирает лидирующие (с левого края) пробелы.

Пример . a1$ = » 123456″: a2$ = «7 8»

PRINT «==»; LTRIM$(a1$); «==»; LTRIM$(a2$) ((==123456==7 8))

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

MID $ — замена символов в символьной переменной.

Пример. a 1$ = «Моя первая программа «

PRINT MID$(a1$, 5, 16)

MID $( a 1$, 5) = «вторая «: PRINT a 1$

((Моя вторая программа))

В данном примере во второй строчке происходит печать переменной, начиная с 5й позиции, всего 16 символов. В третьей строке происходит замена текста: « Моя первая программа » на текст « Моя вторая программа », при котором меняется середина текста, начиная с 5й позиции.

MKD $, MKI $, MKL $ и MKS $ — упаковка числовых данных, которые могут использоваться в поле FIELD . Обратное их преобразование происходит при помощи команд: CVD , CVI , CVL и CVS . (пример см. в описании оператора CVI ).

MKSMBF $ и MKDMBF $ — упаковка числовых данных. Обратное их преобразование происходит при помощи команд: CVSMBF и CVDMBF (пример см. в описании оператора CVSMBF ).

MRDIR — создание новой директории.

Пример. 1. MKDIR «rab2» 2. a$ = «c:\zbook\rab1»: MKDIR a$

В первом примере создается директория с именем « rab 2 » в текущей директории, а во втором создается новая директория, путь которой явно указан. Причем этот путь заносится в переменную, которая является аргументом оператора « MKDIR ».

MOD — возвращает остаток от деления двух чисел.

Пример . PRINT 5 MOD 2, 2 MOD 5, 2.2 MOD 5, 5 MOD 2.2 ((1 2 2 1))

NAME — переименование директории.

Пример . MKDIR «rab»: NAME «rab» AS «rab1»

В примере сначала в текущей директории образуется поддиректория под именем « Rab », а затем она меняет свое имя на « rab 1 ».

OCT $ — преобразование числа из десятичной системы в восьмеричную.

Пример . i1% = 17: PRINT OCT$(i1%), OCT$(55) ((21 67))

ON ERROR — передача управления подпрограмме для ее обработки в случае ошибки (пример см. ERDEV )

ONGOSUB — вызов подпрограммы по условию.

ON i1% GOSUB sub1, sub2: PRINT i2%,

sub2: i2% = i2% + 10

В данном примере сначала выполняется подпрограмма « sub 1 », так как переменная i 1% принимает значение 1, затем подпрограмма « sub 2 », так как переменная i 1% в цикле принимает значение 2.

ONGOTO — переход по меткам по условию. Действие данного оператора аналогично оператору: ON … GOSUB . Отличие в том, что будет выполняться не подпрограмма, а произойдет переход по метке или номеру программы.

Пример . ON i1% GOTO m1, m2

Если значение переменной i 1% равно 1, то произойдет переход на метку « m 1», если равно 2, то на метку « m 2 ».

OPEN — открытие файла или устройства.

Примеры . 1. OPEN “Rab1.dan” FOR OUTPUT AS #1 2. OPEN “Rab2.dan” FOR INPUT AS #1 3. OPEN “Rab3.dan” FOR APPEND AS #1 4. OPEN “Rab4.dan” FOR BINARY AS #1 5. OPEN “Rab5.dan” FOR RANDOM AS #1 LEN=80

В первом примере имя открываемого файла — « Rab 1. dan », тип данных определяется ключевым словом, находящимся за « FOR ». В данном случае — это « OUTPUT » или файл с последовательной организацией, в который выводится информация. Если файл не существовал, то он будет образован. Если файл существовал, то все данные файла будут уничтожены и запись данных будет проводиться с начала файла. В дальнейшем, как для этого примера, так и для других, ссылка на этот файл будет производиться как « #1 » или просто « 1 » (параметр « AS #1 »).

Во втором примере открывается последовательный файл под именем « Rab 2. dan » для ввода данных из файла (ключевой слово « INPUT ») с его начала.

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

OPEN « COMn : — открытие последовательного канала для ввода/вывода данных. Пример см. в справочной системе языка Бейсик.

OPTION BASE — установка нижней границы размерности массива.

Примеры . 1. OPTION BASE 0 2. OPTION BASE 1

В примерах устанавливается нижний предел размерности массива как 0 или 1. Если массив будет определен как « DIM a (10) », то в первом примере количество элементов массива равно одиннадцати, от 0 до 10, а во втором десяти, от 1 до 10. Если массив определен как « DIM a (2 TO 10) », то вне зависимости от определения в операторе « OPTION BASE », размерность массива будет от 2 до 10 и содержать 9 элементов.

OUT — посылка данных в порт.

PAINT — заполнение графической фигуры определенным цветом.

Пример . SCREEN 9: CLS: CIRCLE (30, 30), 20, 1: CIRCLE (100, 30), 20, 1

CIRCLE (30, 100), 20, 1: CIRCLE (100, 100), 20, 1

P AINT (30, 30), 2, 1: a$ = CHR$(2) + CHR$(3) + CHR$(4): PAINT (30, 100), a$, 1

PAINT STEP(70, 0), 3, 1: PAINT (100, 30), 4, 1

В примере на экран выводятся четыре окружности синим цветом (параметр « 1 »). Далее оператор « PAINT » закрашивает внутренность окружности зеленым цветом до тех пор, пока не встретится синий цвет (« PAINT (30, 30), 2, 1 »). Следующий оператор закрашивает внутренность окружности как черепицу, для чего используется переменная а$ , в которой используется три байта (2,3,4), всего может использоваться до 64 байт. В операторе « PAINT STEP (70, 0), 3, 1 » указываются не абсолютные координаты, а относительные, которые равны сумме предыдущей позиции, где находился курсор плюс смещение, указанное в операторе. То есть координаты равны (30,100)+(70,0)=(100,100) и последний оператор закрашивает внутренность четвертой окружности красным цветом.

PALETTE и PALETTE USING — изменяют цвет палитры. Всего в языке Бейсик можно использовать одновременно 16 цветов. В то же время, адаптер EGA имеет возможность работы с 64, а VGA с 256 цветами. Данная команда позволяет изменить палитру цветов, с которыми работает Бейсик на новые 16 цветов. Отметим, что разные режимы работы экрана по оператору « SCREEN » могут по иному реагировать на данные операторы.

PCOPY — копирует одну видеостраницу в другую.

Пример. SCREEN 9

LINE (i1% * 10, i1% * 10)-(i1% * 10 + 10, i1% * 10 + 10), i1%, BF

FOR i1% = 9 TO 15

LINE (i1% * 10, i1% * 10)-(i1% * 10 + 10, i1% * 10 + 10), i1%, BF

В данном примере на экран сначала выводятся 8 прямоугольников и образ текущего экрана под номером 0 запоминается на странице под номером 1. Далее выводятся еще 7 прямоугольников (цикл по переменной i 1% от 9 до 15). После ввода символьной переменной ( i 1$ ) образ экрана копируется из страницы под номером 1 на 0 и на экране появляются снова восемь прямоугольников, а не 15, которые были до ввода текста.

PEEK — возвращает значение байта из оперативной памяти.

PEN — чтение положения светового пера (если он имеется).


PLAY — проигрывание мелодии. Более подробно описание нот приведено в уроках ранее. PLAY ON — позволяет начать проигрывать мелодию, PLAY OFF — приостановить проигрывание мелодии до следующего оператора « PLAY ON », PLAY STOP — прекратить проигрывание мелодии, ON PLAY GOSUB — позволяет проигрывать мелодию в фоновом режиме (пример см. в справочной системе языка Бейсик).

Примеры. 1. PLAY «MS L8 ff ee dd de ff ee d4 d4 cc cc 2. a$= «MS L8 ff ee dd de ff ee d4 d4 cc cc

В данных примерах приведена мелодия песни «Во саду ли, во огороде», причем в первом варианте мелодия задана явно, а во втором — через переменную, для чего используется команда « Х » в операторе « PLAY » и функция « VARPTR $ ».

PMAP — возвращает логические координаты окна, в которое выводится информация, определенное оператором WINDOW (см. описание оператора WINDOW ).

POINT — возвращает текущие координаты курсора и цвет пиксела в графическом режиме.

Пример. SCREEN 1

WINDOW SCREEN (0, 0)-(100, 100)

LINE (20, 20)-(50, 50), , BF

PRINT POINT(0), POINT(1), POINT(2), POINT(3)

PRINT POINT(2, 2), POINT(310, 170) ((319 175 50 50 15 -1))

В данном примере выводятся сначала физические координаты: х = 319, у = 175, затем логические координаты: х = 50, у = 50. Следующее значение (15) задает номер цвета в этой координате, а -1 указывает, что координата задана сверх допустимых пределов координат.

POKE — записывает значение байта в определенную область памяти.

POS — возвращает текущее положение столбца курсора.

Пример . PRINT: PRINT POS(0) ((1))

В данном примере курсор находится на первом столбце, так как предыдущий оператор « PRINT » установил на эту позицию курсор.

PRESET — установка цвета фона в пикселе по указанным координатам.

Пример . SCREEN 9: CLS : COLOR 2

FOR i1% = 1 TO 300

FOR i2% = 1 TO 500: i1 = SIN(i1%): NEXT i2%

В примере, на первой строчке устанавливается зеленый цвет, как цвет основного фона (2) и остается цвет фона — черный, который действует по умолчанию. Оператор PSET устанавливает цвет основного фона по указанным координатам в цикле от (1,1) до (300, 300). Цикл по переменной i 2% организует задержку по времени, чтобы можно было видеть, как выводятся точки. Далее оператор PRESET по тем же координатам, что и оператор PSET устанавливает цвет фона (черный) и точка исчезает. В результате точка перемещается по экрану. Оператор PRESET можно указать и по другому, например, PRESET STEP (0, 0), 0 , в котором указаны относительные координаты (0,0), то есть будет выводить точку там же, где курсор был установлен по оператору PSET .

PRINT — выводит данные в файл или на экран.

П ример . PRINT: PRINT 1; 2, 3; 4, 5, 6, 7, 8, 9, 0,

В примере информация выводится на экран дисплея, при этом выводятся цифры одна за другой до тех пор, пока не будет достигнут конец строки. После этого вывод производится на следующей строчке. Первый оператор PRINT не имеет ни одного аргумента, поэтому он только переводит курсор на следующую строчку. Второй оператор имеет аргументы, которые перечислены между собой через точку и точку с запятой. Если стоит точка с запятой, то следующий текст будет следовать непосредственно за предыдущим значением. Если стоит запятая, то следующее значение будет выводиться с определенной позиции. Экран делится на пять одинаковых по ширине областей (по горизонтали) и следующее значение будет выводиться на первой позиции следующей зоны (знак табуляции). Запятая, которая находится после последнего аргумента свидетельствует о том, что следующий оператор PRINT будет выводить очередное значение на той же строчке, что и последний выведенный текст (после символа «0»).

Оператор PRINT для вывода в файл имеет такие же возможности, что и при выводе на экран. Пример вывода показан в описании оператора EOF .

PRINT USING — выводит форматированные данные на экран или в файл. Оператор примерно также работает, как и PRINT , за исключением того, что можно использовать дополнительное описание формата, которое может быть:

# — позиция для одной цифры,

. — десятичная точка, разделяющая целую и дробную часть числа,

+ — позиция для знака,

^ — позиция для значений экспоненты,

$ — печать вместо лидирующих нулей символа $,

* — печать вместо лидирующих нулей символа *,

& — печать всех символов,

! — печать только первого символа,

\ \ — печать первых символов символьной переменной, число которых равно: 2+количество пробелов между символами «\».

Пример . i1% = 33 / 7: i2# = 33 / 7: i3# = -330000 / 7: a$ = » Моя программа «

PRINT i1%, i2#, i3#, a$: PRINT USING «###.#####»; i1%

PRINT USING «###.####»; i3# : PRINT USING «+###.##^^^^»; i2#

PRINT USING «$$##.####»; i2#: PRINT USING «**#.####»; i2#

PRINT USING «!»; a$: PRINT USING » \ \»; a$

В первом операторе PRINT USING выводится значение целочисленной переменной i 1% . В формате указано, что необходимо вывести пять цифр после нуля, а в переменной дробная часть отсутствует, поэтому выводится пять нулей как дробная часть.

Далее выводится значение переменной i 3# , причем для целой части отводится три позиции. Так как целая часть требует шесть позиций (одну на знак числа, пять на целую часть), то программа выводит все число не по формату. Поэтому впереди числа имеется символ « % », который указывает об этом несоответствии. Третье выводимое число по данному формату имеет шаблон: « +###.##^^^^ », в котором одна позиция выделена на знак числа, шесть на значение числа и четыре на значение степени числа. В независимости от того, какое имеется число: положительное или отрицательное, знак всегда будет выводиться, если указана позиция для него. Если позиция для знака не указана, то выводится только знак минус. При указании позиции для степени числа она будет представлена в виде « D + nn » или « E + nn », где D — обозначает двойную точность числа, Е — простую точность, на месте знака плюс может быть как знак плюс, так и минус, а nn — значение степени числа.

Цукерберг рекомендует:  Css - Ищу друзей дизайнеров и web программистов

Следующие два числа выводятся с лидирующими символами: «$» и «*». То есть, если число занимает меньше позиций целой части числа, чем ему выделено, например, содержит одну значащую цифру, а выделено 3 или 4, то перед числом будут выведены символы, указанные в формате (знак доллара и звездочка).

Далее выводится сначала первый символ, а затем три элемента символьной переменной. При указании формата как «\ \», на экран будет выведено столько символов, сколько их имеется в формате. Так, в примере их имеется: один символ «/», один пробел и один символ «/», то есть, всего три символа. Столько же символов и будет выведено на экран из символьной переменной.

PSET — выводит на экране точку, цвет которой равен либо основному цвету, либо указанному явно в данном операторе (пример см. в описании оператора PRESET ).

PUT — 1. запись данных в файл произвольного доступа (примеры см. в описании операторов FIELD и LOC ).

PUT — 2. вывод на экран графической области, ранее сохраненной в памяти при помощи оператора GET (пример см. в описании оператора GET ).

RANDOMIZE — позволяет создать новую последовательность случайных чисел. Случайные числа вычисляются при помощи оператора RND , который имеет специальный для этого алгоритм. Если первоначальное число для этой последовательности не изменяется, то не изменяется и последовательность случайных чисел. Для того, чтобы изменить первоначальное значение и получить новую последовательность случайных чисел используется оператор RANDOMIZE TIMER , который применяется до оператора RND .

READ — считывает данные, которые установлены при помощи оператора DATA (пример см. в описании оператора DATA ).

REDIM — переопределяет размерность массива. Для того, чтобы это было возможным, массив должен быть определен как динамический.

REDIM A(2 TO 8, 14)

В данном примере массив А% определен как динамический, так как его определение находится за ключевым словом « ‘ $ DYNAMIC » и поэтому можно менять его размерность. Изменение размерности происходит при помощи оператора REDIM , в котором устанавливается первая размерность от 2 до 8, а вторая от 0 до 14.

REM — комментарий. Следующий за данным ключевым словом текст будет воспринят, как комментарий к программе и выполняться не будет. Данный оператор имеет аналог: символ «’», который действует таким же образом.

Примеры . 1. PRINT i 1% REM вывод на экран значений переменной i 1%

2. PRINT i 1% ‘ вывод на экран значений переменной i 1%

Данные примеры идентичны друг другу.

RESET — закрывает все открытые файлы и устройства. Отличие от оператора CLOSE в том, что закрывает не только файлы, но и устройства.

RESTORE — позволяет заново считывать данные из оператора DATA .

FOR i1% = 1 TO 2: READ i2%, i3%, i4%: PRINT i2%, i3%, i4%,

NEXT i 1% ((1 1 1 1 1 1))

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

RESUME — продолжение работы программы в случае возникновения ошибки (пример см. в описании оператора ERDEV ).

RETURN — возврат управления в конце работы подпрограммы (пример см. в описании оператора GOSUB ).

RIGHT $ — возвращает символы справа, находящиеся в символьной переменной.

Пример. a $ = «Моя первая программа»

PRINT RIGHT$(a$, 9) (( программа ))

В данном примере на экран выводятся 9 символов, находящихся справа в символьной переменной.

RMDIR — удаление директории.

Пример . MKDIR «TEMP»: FILES

RMDIR » TEMP «: FILES

В примере сначала создается директория « TEMP » при помощи оператора « MKDIR » и выводится на экран содержимое текущей директории. Далее эта директория уничтожается при помощи оператора « RMDIR » и содержимое текущей директории выводится на экран.

RND — возвращает случайное число в промежутке от 0 до 1.

Пример . RANDOMIZE TIMER

x% = INT(RND * 100) + 1

y% = INT(RND * 100) + 1

PRINT » координата х — «; x%; » координата у — «; y%

(( координата х — 37 координата у — 43 ))

Данный пример выводит случайным образом координаты х и у в диапазоне от 1 до 100. Первый оператор позволяет изменить начальное число последовательности случайных чисел. Если бы этого оператора не было, то каждый раз при запуске программы, она выдавала бы одну и ту же последовательность чисел. По оператору выдается число от 0 до 1, не включая значение 1. Поэтому, умножая данное значение на 100, получим число от 0 до 99. При помощи оператора INT убирается дробная часть числа, к которому прибавляется значение 1. В результате получаем число в диапазоне от 1 до 100, которое и выводится на экран дисплея.

RSET — занесение значений в поле, образованное оператором FIELD (пример см. в описании оператора FIELD ). Кроме того, производит перенос значения из одной переменной в другую, также как и в операторе LSET .

RTRIM $ — убирает лидирующие пробелы с правого края символьной переменной.

Пример . a1$ = » 123456 «: a2$ = «7 8»

PRINT «==»; RTRIM$(a1$); «==»; RTRIM$(a2 $) (( == 123456==7 8 ))


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

RUN — запуск программы на выполнение.

Примеры . 1. RUN «C:\DOS\TEST.BAS» 2. RUN 40

В первом примере запускается программа, которая находится в другом файле, имя которой указано в аргументе оператора. Во втором примере происходит запуск текущей программы, начиная с линии под номером 40 (конечно, если строки перенумерованы). Если параметры не указать, то текущая программа будет выполняться сначала. При начале выполнения закрываются текущие файлы и инициализируются переменные, то есть для числовых переменных происходит присвоение им нулевого значения, а для символьных переменных — отсутствие символов, находящихся в них.

SCREEN — 1. возвращает код символа и его цвет.

Пример. COLOR 0, 7: CLS: PRINT » Привет «;

PRINT «код первого символа слова Привет — «; SCREEN(1, 1)

PRINT » цвет и атрибут — «; SCREEN(1, 1, 1)

((Привет код первого символа слова Привет — 143

цвет и атрибут — 112))

В данном примере первый оператор PRINT выводит код символа « П », а второй оператор PRINT выводит цвет и атрибут, которые находятся в одном числе. Код 112 обозначает цвет 0, код 113 — цвет 1, 114 — 2 и т.д.

SCREEN — 2. установка режима работы дисплея и некоторых его характеристик. Существуют следующие режимы работы дисплея:

SCREEN 0 — только для вывода текста. Всего может быть (столбцов х строк): 40 x 25, 40 x 43, 40 x 50, 80 x 25, 80 x 43, 80 x 50.

SCREEN 1 — графика 320 x 200 пикселов, текст 40 (столбцов) x 25 (строк), символы размером 8 x 8 пикселов.

SCREEN 2 — графика 640 x 200 пикселов, текст 80 x 25, символы 8 x 8.

SCREEN 3, 4, 5, 6 — для старых видов видеоадаптеров.

SCREEN 7 — графика 320 x 200 пикселов, текст 40 x 25, символы 8 x 8.

SCREEN 8 — графика 640 x 200 пикселов, текст 80 x 25, символы 8 x 8.

SCREEN 9 — графика 640 x 350 пикселов, текст 80 x 25 или 80 x 43, символы 8 x 14 или 8 x 8.

SCREEN 10 — графика 640 x 350 пикселов, текст 80 x 25 или 80 x 43, символы 8 x 14 или 8 x 8.

SCREEN 11 — графика 640 x 480 пикселов, текст 80 x 30 или 80 x 60, символы 8 x 16 или 8 x 8.

SCREEN 12 — графика 640 x 480 пикселов, текст 80 x 30 или 80 x 60, символы 8 x 16 или 8 x 8.

SCREEN 13 — графика 320 x 200 пикселов, текст 40 x 25, символы 8 x 8.

В данных режимах может существовать от одной до нескольких видеостраниц, что можно проверить экспериментальным путем при помощи оператора PCOPY , однако их изменение на практике довольно редко используются. Количество цветов, которые поддерживаются в данных режимах, может несколько отличаться от количества цветов, указанных в справочной системе.

Пример . 1. SCREEN 9 2. SCREEN 9,,1,0

Первый пример позволяет установить режим дисплея . Как правило, он и используется. Во втором примере имеются и другие необязательные параметры, например, второй параметр (в примере отсутствует, предназначен для вывода на черно-белый монитор, равен 0), третий параметр устанавливает номер видеостраницы, на которую производится вывод графики и текста, а четвертый — номер страницы, которая будет выводиться на экран дисплея.

SEEK — устанавливает или выводит текущее положение в файле произвольного доступа.

Пример . OPEN «Rab.txt» FOR RANDOM AS #1

FOR i1% = 1 TO 5: PUT #1, , i1%: NEXT i1%

SEEK #1, 3: GET #1, , i1%

PRINT «Данное — «; i1%; » следующая запись — «; SEEK(1)

((Данное — 3 следующая запись — 4))

В данном примере открывается файл произвольного доступа под именем « Rab . txt », в который записываются 5 записей со значением, равным номеру записи. Далее по оператору « SEEK » происходит установка на третью запись, которая и считывается. Так как запись под номером три была считана, то указатель текущего положения установится на следующей записи, то есть на четвертой. Последний оператор выводит при помощи оператора « SEEK » номер текущей записи.

SELECT CASE — позволяет вычислять разные операторы в зависимости от условия.

CASE «1»: PRINT » первый шаг «

CASE «2»: PRINT » второй шаг «

CASE » в «: GOTO m2

CASE ELSE: PRINT » неверный ввод «: GOTO m1

END SELECT: GOTO m1

В примере в переменную а$ заносится из клавиатуры один символ и затем в зависимости от введенного символа выполняются определенные операторы. Если введен символ « 1 », то выполняется оператор « PRINT » первый шаг » », если введен символ « 2 », то — « PRINT » второй шаг » », если « в », то происходит выход из программы. При введении другого символа, отличного от предыдущих, выполняется оператор « PRINT » неверный ввод » » и снова происходит запрос для ввода нового символа по оператору перехода ( GOTO m 1 ).

SGN — возвращает значение -1, если число отрицательное, 0 — если 0 и 1 — если число положительное.

Пример . i1% = 9: PRINT SGN(-5), SGN(0), SGN(i1%) ((-1 0 1))

SHARED — разрешает программам совместный доступ к переменным.

SHELL — позволяет выполнять команды ДОС или командные файлы.

Пример . SHELL «mkdir rab»

Данный пример позволяет создать новую директорию под именем « mkdir rab ».

SIN — вычисление синуса. Аргумент задается в радианах.

Пример . PRINT SIN(0), SIN(1) ((0 .841471))

Для того, чтобы вычислить значение, данное в градусах, нужно перевести его в радианы, а затем вычислить значение синуса, например, SIN ( i 1 * 3.1415/180) , где i 1 — аргумент, заданный в радианах.

SLEEP — задержка выполнения программы.

Примеры. 1. SLEEP 2 2. SLEEP

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

SOUND — генерирует звук, который воспроизводится громкоговорителем в системном блоке.

Пример. SOUND 65, 6

В примере производится звук частотой 65 герц в течении 6 тактов. Частота может быть указана в пределах от 37 до 32767 герц. Продолжительность звука указывается в тактах, где 18.2 такта равняются одной секунде.

SPACE $ — определяет количество пробелов.

Пример . a$ = «123»: PRINT a$ + SPACE$(5) + a$ ((123 123))

В примере переменной « а$ » присваивается значение «123» и затем оно два раза выводится на экран, между которыми находится пять пробелов.

SPC — указывает количество пробелов для вывода на экран.

Пример . a$ = «123»: PRINT a$; SPC(5); a$ ((123 123))

Данный пример выполняет те же действия, что и в предыдущем операторе. Однако, он работает только для вывода пробелов на экран, в то же время оператор SPACE $ позволяет присваивать символьным переменным определенное число пробелов. Таким образом оператор SPACE $ имеет большие возможности, чем оператор SPC .

SQR — возвращает значение корня квадратного от аргумента.

Пример . PRINT SQR(4), SQR(9) ((2 3))

STATIC — позволяет определить переменные как статические.

В примере переменные « i 1 » в основной программе и подпрограмме разные, так как эта переменная не передается подпрограмме. При первом вызове подпрограммы « аа » переменной « i 1 » будет назначено значение 0 и после работы подпрограммы оно увеличится на 2, которое и будет выведено на экран дисплея. При втором вхождении в подпрограмму данное значение останется и будет увеличено на 2, станет равным 4 и будет выведено на экран. Если убрать оператор STATIC , то на экран будут выведены значения: ((2 2)), так как переменная « i 1 » будет перед каждым входом инициализироваться и будет равна нулю.

‘ $ STATIC — определение массива статическим, то есть в процессе выполнения программы нельзя переопределять его размерность.

STICK — возвращает координаты джойстика. Команда « STICK (0) » возвращает координату х первого джойстика, « STICK (1) » — возвращает координату у первого джойстика, « STICK (2) » — возвращает координату х, а « STICK (3) » — координату у второго джойстика. Если присвоить значение какой-либо переменной, например, « i 1%= STICK (3) », то переменной « i 1% » будет присвоено значение координаты у второго джойстика.

STOP — остановка программы. Если программа приостановила работу, встретив этот оператор, то продолжить работу программы можно, нажав на клавишу F 5.

STR $ — преобразование числа в символы.

a1$ = a$ + STR$(i1%) + a$

В примере переменной « i 1% » присвоено значение 15, которое хранится в числовой форме. Далее в переменную « а1$ » заносится значение текста «—», потом текста в виде числа и снова текст «—», которое затем выводится на экран.

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

STRING $ — выдает повторяющуюся последовательность символов.

Пример . а $=”—“: a1$ = a$ + STRING$(5, «+») + a$: PRINT a1$

В указанном примере происходит вывод на печать переменной « a 1$ », содержимое которой равно два символа тире, пять плюсов и два символа тире. Если указать в операторе « STRING $ » не “+”, “+ a ”, то есть два символа, то будет повторяться все равно один первый символ, а не два.

Язык программирования Basic

История языка Basic

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

Рисунок 1. Программа на BASIC. Автор24 — интернет-биржа студенческих работ

BASIC появился в 1964 г. Его создатели — Джон Кемени и Томас Курц, сотрудники Дартмутского колледжа. Цель языка — обучение программированию на маломощных компьютерах, каковыми в ту пору являлись установленные в учебных заведениях вычислительные машины. Отличительной особенностью BASIC стало стремление разработчиков сделать этот язык не закрытым проектом, а общественным достоянием. Они руководствовались следующими принципами:

  1. легкость освоения;
  2. универсальная направленность;
  3. возможность подключения расширенных возможностей для продвинутых пользователей;
  4. интерактивность;
  5. сообщения об ошибках должны быть максимально понятными;
  6. небольшие программы должны компилироваться быстро;
  7. язык не должен требовать знания аппаратной архитектуры;
  8. пользователь должен быть изолирован от операционной системы.


Попробуй обратиться за помощью к преподавателям

Название BASIC можно рассматривать как аббревиатуру — Beginner’s All-purpose Symbolic Instruction Code (Многоцелевой код символьных инструкций для начинающих).

В 1977 г. Microsoft выпустила Altair BASIC и превратила этот язык в средство коммерческого давления, добившись встраивания его в чипы ПЗУ IBM PC. Это поспособствовало резкому росту популярности языка. В те годы, на волне всплеска потребительского спроса на первые персональные компьютеры, это было объяснимо. Возможности ранних ПК были скромны, программного обеспечения для них было мало, перенос и установка ПО были трудоемки (для хранения программ использовались бытовые магнитофоны), поэтому корпорации, выпускавшие ПК, охотно встраивали BASIC в свои машины. Благодаря этому владелец компьютера мог сразу же после включения устройства приступить к его использованию.

Со второй половины 1980-х гг. персональные компьютеры становятся сложнее и мощнее. BASIC уже, во-первых, не подходит для полноценного управления такими устройствами, во-вторых, появляется рынок готового ПО, и необходимость в написании компьютерных программ неспециалистами отпадает.

Задай вопрос специалистам и получи
ответ уже через 15 минут!

В начале 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 настолько прост и легковесен, что не комплектуется, подобно другим языкам, стандартными внешними библиотеками. Их возможности включены непосредственно в транслятор (или компилятор) — программу, превращающую исходный код в бинарный.

Недостатком BASIC является и то, что в программах на этом языке большая роль отводится оператору GOTO («перейти к. «), с помощью которого осуществляются ветвления. GOTO ссылается на номера строк, а они, по мере написания программы, могут изменяться. Несмотря на все ухищрения, с помощью которых программисты пытались решить эту проблему, использование GOTO затрудняет читаемость, превращает листинг в «спагетти-код», разобраться в котором со временем становится трудно даже автору программы. Интенсивное использование GOTO было связано с отсутствием в ранних версиях BASIC возможности использовать собственные подпрограммы и функции. Со временем в большинстве реализаций этот недостаток исправили.

BASIC стал одним из первых языков, создатели которого поняли, что компьютерные программы имеют дело не только с числами, но и с текстом. Поэтому его сильной стороной стало появление процедур обработки строк (LEFT, MID, RIGHT). Что касается чисел, то в языке использовался единственный их тип — числа с плавающей точкой. Поддерживаются также массивы и матрицы (двумерные массивы).

Реализации и диалекты BASIC

Несмотря на то, что BASIC с самого начала считался «несерьезным» языком программирования, многие компании и просто IT-специалисты создали собственные его разновидности.

Варианты BASIC существуют для множества платформ. Под свободной лицензией распространяется, например, кроссплатформенный Bywater BASIC (bwBASIC). Он предназначен для работы в консоли, т.е. без оконного интерфейса.

Еще одна бесплатная версия BASIC — Phoenix Object Basic. Он также не предназначен для работы с графическим интерфейсом, но для других целей хорошо проявляет себя и на Windows, и в Linux.

  • Microsoft Quick BASIC;
  • QBASIC:
  • PowerBASIC;
  • True BASIC;
  • REALbasic (для Apple Macintosh);
  • PureBasic;
  • FreeBASIC;
  • SmallBASIC и др.

Пример программы на языке BASIC (диалект FreeBASIC)

Рассмотрим программу, записывающую строки в файл, а затем считывающую из него.

Так и не нашли ответ
на свой вопрос?

Просто напиши с чем тебе
нужна помощь

Basic — Внутри Minecraft можно программировать на Basic

Информатика и информационно-коммуникационные технологии в школе

13.11.2020г.

Добрый вечер!

Разделы сайта
Материалы к урокам информатики в 7-9 по ФГОС. Новые презентации. Тесты.
Планы, конспекты, презентации, методические находки, дидактический материал к уроку
Настройка и использование школьной компьютерной сети
Краткий теоретический материал, который можно применять на уроке.
Разные полезности, программы, инструкции, советы.
Как сохранить здоровье на уроках информатики
Примерные экзаменационные билеты и ответы
Программы для скачивания.
Правила для пользователей портала
Компьютерное тестирование знаний. Наш проект. Cправочное online руководство по программе
Сервисы сайта
все новости.
поиск по статьям сайта.
вопросы, обсуждения, решаем проблемы вместе .
отзывы, замечания, предложения.
проверить свои знания, пройдя тесты в режиме online.
образовательные сайты, друзья портала.
для связи с администратором портала
____________________

Полная или частичная перепечатка каким бы то ни было способом материалов данного сайта допускается только с письменного согласия автора.
При цитировании или ином использовании материалов ссылка на сайт www.klyaksa.net обязательна.

____________________

Учимся программировать!
Конспекты школьника.

Введение в язык программирования Basic.

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

Языки программирования — искусственные языки. От естественных они отличаются ограниченным числом «слов», значение которых понятно транслятору, и очень строгими правилами записи команд (операторов).

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

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

Некоторые операторы языка Basic.

REM – оператор комментария. Все что следует после этого оператора до конца строки игнорируется компилятором и предназначено исключительно для человека. Т.е. здесь можно писать что угодно. Удобно использовать комментарий в начале программы для указания её названия и назначения.

пример:
REM Это комментарий
можно и так:
‘ Это тоже комментарий

CLS — очистить экран. Вся информация, которая была на экране стирается.

PRINT (вывод, печать) – оператор вывода.

пример:
PRINT «Привет! Меня зовут Саша.»

На экран будет выведено сообщение: Привет! Меня зовут Саша.

INPUT (ввод) – оператор ввода. Используется для передачи в программу каких-либо значений.

На экране появится приглашение ввести данные (появится знак «?») и компьютер будет ждать их ввода. Для ввода необходимо ввести данные с клавиатуры и нажать ввод (enter).

INPUT «Введите число а: «, а

Компьютер выведет на экран: ‘Введите число а:’ и будет ждать ввода данных.

DIM – оператор описания типа переменной.

Под переменной языках программирования понимают программный объект (число, слово, часть слова, несколько слов, символы), имеющий имя и значение, которое может быть получено и изменено программой.
Если «заглянуть» в компьютер, то переменную можно определить так:

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

Переменная — это ячейка в оперативной памяти компьютера для хранения какой-либо информации.

Само название «переменная» подразумевает, что содержимое этого участка может изменяться.
В качестве имен переменных могут быть латинские буквы с индексами. Причем может быть не одна буква, а несколько.

Пример:
DIM a, b, chislo1 AS INTEGER

Integer – целые числа от -32768 до 32768

Если в программе используются переменные не описанные с помощью оператора DIM, то компьютер будет рассматривать их как универсальные переменные. Это может привести к неэффективному использованию оперативной памяти. К тому же, такие программы не всегда легки для восприятия — плохо читаемы.

Для задания значения переменной служит оператор присваивания. Он записывается так:
LET переменная = значение (или просто: переменная = значение)

Пример:
LET a = 3
chislo1 = 15

END – оператор конца программы.

Арифметические операции на языке 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)

Теперь уже без осложнений можно переходить непосредственно к составлению программ.

Понравилась статья? Поделиться с друзьями:
Все языки программирования для начинающих