Файл: Основы программирования на языке QBasic (Некоторые основные директивы QBasic).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 29.06.2023

Просмотров: 42

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

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

Оператор безусловного перехода GOTO N, где N-метка. В качестве N можно взять любое число, не обязательно совпадающее с номером строки, так как в QBasic 4.5 строки можно не нумеровать. Но двух одинаковых меток в одной программе не должно быть. Исполнение программы будет продолжено с той её части, которая начинается с указанной метки.

Условный оператор IF...THEN...ELSE (Если...Тогда...Иначе):

IF <условие> THEN <список операторов> ELSE <список операторов>

Если заданное условие истинно, выполняется список операторов, стоящий после THEN, в противном случае выполняется список операторов, стоящий после ELSE.

Слово ELSE может и отсутствовать. Тогда происходит переход к строке, следующей за оператором IF...THEN.

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

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

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

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

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

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

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

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

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

SCREEN N - этот оператор очищает экран и задает графический режим, где N определяет тип графического режима: N=1,7,8,9,12.


COLOR C1, C2. COLOR - оператор, задающий цвет текста и фона, где C1 задаёт цвет текста, а C2 - цвет фона. C1, C2=0-15.

Рисование точки: PSET (X, Y), C, где X,Y - координаты точки, C - цвет точки. C=0-15. X=160, Y=100 - координаты центра экрана для режима SCREEN 7.

Рисование линии: LINE (X1,Y1)-(X2,Y2), C. Здесь X1,Y1 и X2, Y2 - координаты концов линии, C-цвет. Пример: LINE (30, 100)-(120, 150), 10

Рисование прямоугольной рамки: LINE (X1,Y1)-(X2,Y2), C, B. Здесь X1,Y1 и X2,Y2-кординаты концов левой диагонали, C-цвет. Пример: LINE (90, 110)-(140, 170), 10, B

Рисование закрашенного прямоугольника: LINE (X1,Y1)-(X2,Y2), C, BF. Здесь X1,Y1 и X2,Y2-кординаты концов левой диагонали, C-цвет. Пример: LINE (90, 110)-(140, 170), 12, BF

Рисование окружности: CIRCLE (X, Y), R, C. Здесь X,Y - координаты центра, R - радиус, C - цвет.

Рисование закрашенной окружности: CIRCLE (X, Y), R, C.

PAINT (X, Y), C1, C2. Здесь PAINT - оператор закрашивания. X,Y - координаты точки внутри закрашиваемой области, C1 - цвет закрашивания, C2 - цвет линии границы.

Рисование дуги и сектора: CIRCLE (X, Y), R, C, Ф1, Ф2.

Рисование эллипса: CIRCLE (X, Y), R, C, , , K.

Примеры реализации программ

Пример 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

Пример 3

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.

CLS

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

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

Пример 6.

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

Пример 7.

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

Пример 8.

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

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

Пример 10.

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

'' Открываем файл для записи:

open "test.txt" for output as #1

'' Записываем в него строки:

print #1, "Hi,"

print #1, ""

print #1, "this is an example file,"

print #1, "powered by BASIC."

'' Закрываем файл:

close #1

'' ---

'' Открываем тот же файл для чтения:

open "test.txt" for input as #1

'' Определяем переменную для хранения строк:

dim as string ln

'' Последовательно считываем строки и выводим на экран:

do until( eof(1) ) line input #1, ln print ln loop

'' Закрываем файл:

close #1

Заключение

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

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

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

Языки Basic и Visual Basic прошли серьезный путь и претерпели существенные, можно сказать, необратимые изменения. От их изначальной простоты мало что осталось. В результате VB превратился в «обычный» объектно-ориентированный язык программирования высокого уровня.

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

В наши дни QuickBASIC остался одним из раритетных языков из эпои зарождения программирования. Однако он до сих пор сохраняет свою мощь. Новаторский проект под названием QB64 создал современную реплику QuickBASIC. Он запускается на Windows, MacOS и Linux, и не требует эмулятора. При запуске программы в QB64 среда выполняет следующее — сначала она транслирует код на BASIC в C++, а затем компилирует его.