Учебник по QBasic. Язык Quick Basic


Добавил:DMT
Дата создания:29 июня 2008, 21:59
Дата обновления:1 июля 2008, 13:29
Просмотров:229408 последний сегодня, 5:58
Комментариев: 1

Учебник QBasic. Язык QBasic/Quickbasic. Среда разработки QBasic.

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

 

Учебник QBasic. Язык Quick Basic. Работа с переменными.

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

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

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

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

Учебник QBasic. Язык QuickBasic. Оператор PRINT.

Словарь qbasic содержит около 200 ключевых слов,каждое из которых обозначает выполнение определенного действия. Многие ключевые слова вместе с допролнительными параметрами формируют операторы, из которых и состоит текст программы.Вот Print и есть пример такого слова.При выполнение данного оператора на экран выводиться текст, заключенный в двойные кав)
Но у этого оператора есть еще две особенности. Вот первая из них: Этот оператор может выполнять арифметические действия. Рассмотрим на примере:
Print 2+3

После выполнения этой программы на экране высветиться 5 , а не 2+3, так что можно использовать qbasic вместо калькулятора .
Вторая особенность заключается в том, что если вы поставите знак вопроса(?) И после этого нажмете на ENTER то он вопросительный знак превратиться в Print. Ну более подробно о нем поговорим попозже.Идите и попробуйте поработать с оператором Print. или внимание на то, что Qbasic не очищает экран автоматически при запуске новой программы, и после выполнения разных программ или многократного выполнения одной и той же на экране вывода результа помещается в начале программы- это хорошая привычка и прекрасный стиль программирования(так пишут во всех учебниках , а мне честно сказать как то по барабану где его поставвить ) Но ниче не мешает в случае необходимости использовать его в произвольном месте программы.Ну это все касалось того,с чего начинается программа . А теперь перейдем к тому ка закончить программу. Оператор END- еще один пример ключевого слова- прекращает выполнение программы. В случае его отсутствия Qbasic сччитает, что программа заканчивается после последней строки(вспомните ппограммы из одной строки например какие я писал об операторе PRINT ),но END весьма полезен при необходимости прервать выполнеие программы. Оператор END может и не быть последним оператором программы. Текст может продолжаться и после данной команды, но выполнение ее будет прервано сразу при встрече END .Давайте посмотрим еще один пример:
cls
Print "Это моя программа"
Print "я создал ее сам"
End

Нажатием клавиш Shift+F5 мы запускаем программу на выполнение. И тогда на экране мы увидим:
Это моя программа
Я создал ее сам

Теперь нажмем любую клавишу чтбы вернуться в режим редактирования текста. И изменим программу:
Cls
Print "Это моя программа"
End
Print "Я создал ее сам"
End

При выполнение нового варианта программы результат будет иным. Вы можете запускать программу любое количество раз- но второй оператор PRINT все равно работать не будет. Оператор END прерывает выполнение программы и у нас будет выводиться только:
Это моя программа

Qbasic имеет три оператора, которые прерывают выполнение программы--END,Stop и System. Когда Qbasic встречает команды End и System, он закрывает вусе файлы и прекращает выполнение программы. Команда Stop отличается тем, что оставляет текущие файлы открытыми, временно приостанавливает выполнение и возвращает на экран текст программы. При следующем запуске выполнение программы начнется с оператора, следующего за оператором Stop.Но лучше всего использовать оператор End .

 

Учебник QBasic. Ввод данных в программу. Оператор Input.

Какими же способами можно ввести данные в программу? Во-первых , эта проблема решается с помощью оператора присваивания. Вот пример программы с оператором присваивания:
Rem программа суммирования двух чисел
Cls
Number1=3
Number2=7
summa=number1+number2
Print "number1=";number1
Print "number2=";number2
Print"summa=";summa
end

После запуска этой программы мы увидим на экране это:
Number1=3
number2=7
Summa=10

Сразу можно понять то, чтобы вычислить сууму другой пары чисел, мы должны будем вернуться в окно редактора и изменить программу.Решение возможное, но не самое лучшее. Как раз для этого случая в Qbasic вы можете присвоить переменной значение непосредственно с клавиатуры во время выполнения программы. Простейшая форма оператора, дающего вам возможность это сделать:
INPUT number,
где number-имя переменной, для которой требуется ввод значения

Команда INPUT NUMBER является уже достаточой командой, при встрече с которой программы выполняет следующие действия:1)После запуска программы на экране появиться знак вопроса.2) Программа приостанавливает работу и ждет, когда вы наберете какие-либо значение на клавиатуре. Нажатие клавиши ввода (то бишь ENTER)сообщает программе, что ввод окончен.3) Введенное значение присваивается перем и когда мы запускали программу у нас просто высвечивался значок вопроса(чтобы мы ввели переменную). А если мы напишем: Input "высота"; hТо он бы нам написал после запуска не просто вопросительный знак , а:высота?Ну что вы видите как полезно это свойство оператора Input. Надо только запомнить, что описание пишется в двойных кавычках и отделяется от переменной точкой запятой(;)Ну посмотрите как написал это я раньше. Кстати надо еще отметить, что оператор Print обладает таким же свойством, как и Input. Зачем спросите вы а я отвечу: Для того же зачем и у Input(Вот например у вас ответов десять и после выполнения программы он вам выведет десять чисел и фиг знает, где какое число. Надо помнить что тоже надо отделять точкой с запятой).Вот пример:Print "Площадь треугольника равна=";s.

 

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

Условия представляют собой логические соотношения: равенства или неравенства = равно, <> неравно, > больше, < меньше, >= больше или равно, <= меньше или равно.

При использовании сложных условий (объединении двух и более условий) применяют слова AND (И) и OR (ИЛИ): Условие1 AND (или OR) Условие2...

Условный оператор позволяет реализовать алгоритм с ветвлением.

Пример 1:

CLS

INPUT "Введите год основания Москвы: M="; M

IF M = 1147 THEN PRINT "Вы правы!" ELSE PRINT "Вы ошиблись!"

Пример 2:

CLS

PRINT "Вычислите y=1/(x-2) для всех x"

INPUT "Введите x=", x

IF x = 2 THEN PRINT "При x=2 функция не определена!": END

y = 1 / (x - 2)

PRINT "y="; y

Применяется также частный случай условного оператора - оператор условного перехода: IF <условие> 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 происходит до тех пор, пока XB.

Пример 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 <= 2 THEN PRINT "При 1<=x=<2 функция не определена!"

ELSE y = 1 / SQR(x ^ 2 - 3 * x + 2)

PRINT "x="; x, " y="; y

NEXT x

 

Учебник QBasic. Язык QBasic. Некоторые полезные команды QBasic.

Оператор LOCATE a, b - указывает позицию экрана (a-строка, b-столбец), начиная с которой будет печататься текст или число. Обычно используется перед оператором PRINT. Пример: LOCATE 4, 10: PRINT "Здравствуй, мир!"

Оператор SWAP X1, X2 - заставляет переменные X1 и X2 обменяться своими значениями. Пример:

X = 3

Y = 5

SWAP X, Y

Директива FILES выдает список подкаталогов и файлов в текущем каталоге. Кроме того, выдается свободная память на жестком диске.

Директива SHELL осуществляет сеанс связи с MS-DOS. Возвращение обратно из DOS в QBasic - команда EXIT.

Кроме того, директива SHELL "name" позволяет запускать программу name.exe или name.com, указанную в кавычках. Эта программа должна находиться в текущем каталоге, там же, где и *.bas файл. Расширение exe или com можно не указывать.

Материалы взяты из открытых источников

Теги:

QBasic, Учебник QBasic, Язык QBasic, qbasic самоучитель, примеры qbasic

up

Комментарии для "Учебник по QBasic. Язык Quick Basic"


Пользователь: DMT
Сообщений: 123
Статус: Программист
Зарегистрирован:
18 октября 2007, 2:35
Был:13 ноября 2017, 4:54
DMT
smsup
Дата: 11 июля 2011, 11:16 Сообщение № 1
У начинающих программировать на Бейсик (QBasic) часто возникает вопрос,аналогичный
http://otvet.mail.ru/question/59982535/?pg=self о невозможности переключится на русский язык внутри самой
среды QBasic.Нельзя ли добавить в учебник на QBasic,выложенный на вашем сайте об этом информацию.К
примеру использовать ответ с упомянутой страницы.Учебник ведь для начинающих,поэтому они должны
знать об этом.Сам ответ:
-------------------------------------------------------------------------------------------------------------------------
( Пуск - Панель управления - Дата,время,язык и региональные стандарты - Язык и региональные стандарты -
Вкладка Языки - Параметр Языки и службы текстового ввода - Подробнее - На вкладке Параметры пункт
Язык ввода по умолчанию - у меня стоит Английский(США)-США. Если её раскрыть, то есть ещё Русский -
русская.
Так вот суть - Пока по умолчанию у тебя загружается при старте ПК - Английский язык - никакими
клавишами после загрузки ПК на русский язык в QBasic ты не переключишься.
Поэтому ставишь по умолчанию Русский - русская,как описано выше. Жмешь - Применить - ОК.
И всё.Переключайся себе на здоровье.ПЕРЕГРУЖАТЬ ПК НЕ НАДО.Проверял сейчас - Всё работает.
Но если у тебя по умолчанию - Английский - результата не будет.
Да,если хочешь быстрее попасть на вкладку Параметры,где будешь менять Язык ввода по умолчанию на
Русский - русская. Внизу синяя Панель задач Жмешь левой кнопкой мыши на RU или EN - Отобразить
языковую панель На верху монитора выскочит синяя маленькая
панелька Жмешь рисунок треугольника левой кнопкой и выбираешь параметры. И всё - ты в нужном окне.
Закончив работу в QBasic - можешь вернуть установки на прежние,можешь оставить Русский по
умолчанию,тогда при очередном включении ПК в панели Задач будет вместо EN висеть RU и всё.Когда будет
висеть RU, сразу можешь работать в QBasic ничего не переключая и не выставляя )
--------------------------------------------------------------------------------------------------------------------------------
соответственно сократив и подредактировав ответ,без потери смысла.
С уважением, Алексей (Alex Alexahin ) 12al34ex56@mail.ru