Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Основы программирования на языке QBasic (Алфавит языка QBasic)

Содержание:

Введение

Персональные компьютеры, планшеты, смартфоны и другая компьютерная техника занимают в нашей жизни не последнее место. Если каких-то пятнадцать лет назад компьютеры можно было увидеть лишь в солидных организациях, то сегодня они в каждом магазине, офисе, кафе, библиотеке или квартире. Используются ПК на сегодняшний день во многих сферах – для ведения бухгалтерского учета и создания сложных научных моделей, разработки дизайна и создания музыки, хранения и поиска информации в базах данных, обучения, игр и прослушивания музыки.

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

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

Название языка Basic в переводе с английского означает универсальный код символических инструкций для начинающих. В 1964 году профессорами Дартмутского колледжа Томасом Курцем и Джоном Кемени был разработан Basic [1, 24]. Данный язык программирования создавался для студентов. Осваивая язык BASIC, человек получает универсальную информацию о программировании и языках программирования. При помощи него студенты могли создавать компьютерные программы для решения собственных задач. Basic был прост в изучении, благодаря чему стал популярен и известен [1, 44].

Basic является языком программирования высокого уровня. Как и другие языки, этот язык имеет алфавит, синтаксис, семантику [1, 24].

Существует множество различных диалектов этого языка. Вот QBasic это один из них [2, 132].

Целью курсовой работы является изучение основ программирования на языке QBasic, а также описать их в курсовой работе.

В соответствии с целью были поставлены следующие задачи:

  • ознакомиться с историей создания языка QBasic;
  • изучить подробно синтаксис и алфавит языка;
  • разобраться с существующими операторами языка и описать их синтаксис в курсовой работе;
  • рассмотреть конкретные примеры использования операторов;
  • рассмотреть функции и массивы в QBasic;
  • познакомиться с графическими возможности языка.

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

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

1. ОБЩИЕ СВЕДЕНИЯ О ЯЗЫКЕ ПРОГРАММИРОВАНИЯ QBASIC

Конструкции языка максимально просты, так как он в первую очередь задумывался для обучения. Много элементов заимствовано из языка Fortran, ключевые слова взяты из английского языка. Строки и числа – вот основные типы данных. QBasic – это среда программирования со строчным редактором текста, что во многом определяет внешний вид программы. Каждая строка начинается с номера. Признаком конца оператора служит конец строки [10, 89].

Программа на языке QBasic состоит из последовательности строк, которые имеют вид:

Line statement [: statement]...['comment]

Здесь: line - номер строки от 0 до 65535; statement - оператор; comment - комментарии, отделяющиеся апострофом <‘> [3, 44].

Строка программы может содержать 255 знаков и занимать несколько физических строк на экране дисплея. В строке может быть один или несколько операторов, разделенных двоеточием <:> или ни одного. Естественный порядок выполнения программы сверху вниз или в порядке возрастания номеров строк. Порядок выполнения операторов в пределах одной много операторной строки слева направо. Как выглядит среда программирования QBasic можно увидеть на Рисунке 1.

Рисунок 1. Вид программы на языке QBasic

Особым достоинством QBASIC следует считать возможность работы в режиме интерпретации, который резко упрощает процесс отладки программ: исполнение почти каждой команды можно проверить сразу после написания (Shift +F5).

1.1 Алфавит языка QBasic

Перечислим все символы, которые входят в алфавит языка QBasic: прежде всего это 26 букв латинского алфавита от А до Z, буквы русского алфавита, цифры от 0 до 9, а также знаки арифметических операций: + , - , * , / , ^ , \ , отношений: = , < , > и другие специальные символы: пробел , " (кавычки) , # , $ , & , ? ,' (апостроф), ( , ) , . , ; , % [3, 102].

1.2 Данные и стандартные функции, используемые в QBasic

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

а) переменные

Ячейка памяти, где хранится информация называется именем переменной, а информация, хранимая в переменной, носит название ее значения. В имени переменных первым символом обязательно должна быть буква, а сами имена переменных могут состоять из букв и цифр и быть любой длины. Переменные различных типов могут иметь одинаковые имена, например, X и X$.

б) константы используются следующих типов:

      • целые (-2; +128).
      • действительные с фиксирующей точкой (3.14; .18; -.67).
      • действительные с плавающей точкой – используется для очень больших или очень малых чисел.
      • строковые ("АБИТУРИЕНТ-2019", "2019") [3, 54].

в) массивы

Совокупность однородных элементов, которые имеют общее имя и отличаются друг от друга порядковым номером называют массивом. Массивы характеризуются размерностью. Одномерный массив можно записать А(i), где i - порядковый номер элемента A(i). Двумерный массив (матрица) имеет вид A (i, j), где i - порядковый номер строки, j – порядковый номер столбца. Правила именования массивов аналогичны как для переменных. Массивы, у которых элементы содержат строковые значения, называются строковыми [4, 43].

Для вычислений в QBasic используются стандартные функций их аргументы заключаются в скобки. Аргументами могут быть константы, переменные и арифметические выражения [6, 43]. Некоторые из них приведены в Таблице 1.

Таблица1. Стандартные функции

ABS(x)

абсолютное значение x

ATN(x)

арктангенс х

COS(x)

косинус х

SIN(x)

синус х

EXP(x)

экспоненциальная функция

FIХ(x)

целая часть числа

INT(x)

вычисление наибольшего целого, не превосходящего значение х

LOG(x)

натуральный логарифм х (х>0), ln x

PI

системная константа, имеющая значение 3.1415

RND(x)

определение случайного действительного числа

SQR(x)

квадратный корень из х (х>=0)

TAN(x)

тангенс х

LEN (A$)

определение длины строки

MID$(A$,n,[,m])

выделение заданной части строки

INSTR([n,]A$,B$)

поиск подстроки В$ в строке символов А$.

2. ОСНОВНЫЕ ОПЕРАТОРЫ ЯЗЫКА ПРОГРАММИРОВАНИЯ QBASIC

2.1 Оператор присваивания и операторы ввода-вывода

Для программирования на QBasic используются специально зарезервированные слова – операторы при помощи которых пишут программы. Начнем знакомство с операторами QBasic, рассмотрев для начала операторы присваивания и ввода-вывода [11, 65].

  1. Оператор присваивания используется для присваивания значения переменной. Его формат следующий

LET V=E

LET – необязательное слово, V – переменная, Е – константа либо переменная, либо арифметическое или строковое выражение.

Примеры операторов присваивания: S=2, K=C+E^2, D=D+9.

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

  1. Рассмотрим оператор INPUT (оператор ввода). Этот оператор используется для вывода на экран заданного текста и ввода с клавиатуры значений переменных, указанных в этом операторе, во время выполнения программы.

Формат: INPUT ["текст";] X1, [X2, X3... XN]

Для пояснения какие данные нужно вводить используется тест, его использовать не обязательно. На экране появляется знак «?», при выполнении оператора INPUT и программа ждет ввода данных с клавиатуры. Данные которые нужно вводить разделяются запятыми, а заканчивается ввод <Enter>. Если значений переменных введено меньше, чем переменных содержится в операторе INPUT, то оставшиеся переменные полу чают значение 0 [11, 68].

Примеры использования оператора ввода INPUT рассмотрены на Рисунке 2. Слева в таблице приведены примеры строк на языке QBasic, справа примеры выполнения этих строк с введенными данными.

Рисунок 2. Оператор ввода INPUT

  1. Оператор вывода PRINT – оператор который предназначен для вывода данных на экран дисплея.

Формат: PRINT S1 [; S2; S3 ...] или? [список вывода]

Список вывода – это данные, которые нужно вывести на печать. Это могут быть константы, имена переменных, арифметические выражения, тексты. Тексты обязательно нужно заключать в кавычки. Элементы списка вывода отделяются друг от друга запятой либо точкой с запятой. При использовании запятой в качестве разделителя списки отделяются друг от друга шагом табуляции, равным 8 пробелам, при точке с запятой списки печатаются вплотную [11, 83].

Если нужно на экране вывести пустую строку, можно использовать пустой оператор PRINT без списка вывода.

Приведем примеры данного оператора.

10 Print 10 (выведет на экран число 10), 10 Print 10+12+1 (вычислит и выведет на экран число 23),

  1. Операторы блока данных

При написании программ на языке QBasic можно не только вводить данные с клавиатуры, а и задавать их в программе. Для этого используется специальные оператор блока данных [11, 73].

Его формат

READ X1, X2, X3, ... XN, где X1, X2,..XN - это имена переменных

DATA C1, C2, C3, ... CN C1, C2 ... CN - это значения

Переменная X1 получит значение C1, X2 примет значение С2.

Считывать данные из хранилища DATA можно с помощью нескольких операторов READ. Оператор DATA может стоять в любом месте программы. Оператор RESTORE возвращает считывание данных на начало.

Пример

10 READ y: DATA 5

20 PRINT 2 * y + 1, 10, 5

В этом примере у получит значение 5, затем будет вычислено значение выражения 2 * y + 1 и ведено на экран 11,10,5.

2.2 Операторы условного и безусловного перехода

В языке QBasic используются операторы условного и безусловного перехода. Они предназначены для изменения естественного порядка выполнения операторов в программе [11, 110].

1) оператор безусловного перехода GOTO

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

Формат: GOTO N, где N - номер строки

Данный оператор передает управление строке, номер которой указан в операторе. Например, GOTO 190.

б) оператор условного перехода IF

Если в программе нужно изменить порядок операторов в зависимости от конкретного условия, в таком случае используются условные операторы [11, 11]. В языке QBasic существуют аналогично формам ветвления операторы условного перехода полной и неполной альтернативы, соответственно формам ветвления, как на Рисунке 3.

Рисунок 3. Формы ветвления.

Полная линейная форма в общем виде выглядит следующим образом:

IF (условие) THEN (операторы 1) ELSE (операторы 2)

Логика работы этого условного оператора следующая: если выполняется условие (условие истинно), то выполняются операторы, стоящие после THEN (операторы 1). Если же условие не выполняется (условие ложно), то выполняются операторы, стоящие после ELSE (операторы 2). После выполнения операторов 1 или операторов 2 программа переходит на следующую после оператора IF...THEN строку. Полная линейная форма особенно удобна при проверке альтернативного условия, такого как "Быть или не быть" [4, 11].

Рассмотрим пример условного оператора полной альтернативы:

Пример 1 [7, 43].

IF С=2 THEN PRINT "Yes" ELSE PRINT "No"

PRINT "End"

Здесь все происходит следующим образом:

если условие С=2 «ИСТИННО», то выполняются операторы PRINT " Yes " и PRINT " End ";

если условие С=2 «ЛОЖНО», то выполняются операторы PRINT" No " и PRINT " End ".

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

IF условие THEN блок операторов

Пример 2. Определить наибольшее из двух чисел Х и У, введенных клавиатуры [11, 95].

INPUT "Введите числа, которые нужно сравнить "; X, Y

IF X > Y THEN

PRINT "БОЛЬШЕЕ ЧИСЛО X="; X

ELSE

PRINT " БОЛЬШЕЕ ЧИСЛОY="; Y

END IF

END

В примере 2 используется условный оператор полной альтернативы.

Пример 3.

Решить квадратное уравнение ax2+bx+c=0

10 INPUT "Введите значения A, B, C"; A, B, C

20 D=B^2-4*A*C

30 IF D>0 THEN X1= (-B-SQR (D))/(2*A): X2=(-B+SQR(D))/(2*A): PRINT"X1="; X1; "X2="; X2 ELSE PRINT "Действительных корней нет"

40 END

Полная блочная форма в общем виде выглядит следующим образом (Рисунок 4): [9, 11].

Рисунок 4. Блочная форма записи оператора условного перехода.

2.3 Операторы цикла

Операторы циклов существуют во всех языках программирования и являются мощным инструментом для создания красивых и эффективных программ.

1) Операторы FOR и NEXT (ДЛЯ... СЛЕДУЮЩИЙ) [3, 72].

Имеется очень много задач, в которых заранее известно или легко вычислить число повторений цикла. Для решения таких задач и предназначен оператор цикла FOR...NEXT — управляющий оператор, повторяющий блок операторов указанное число раз. Наглядно работу операторов FOR и NEXT можно представить следующим образом (Рисунок 5).

Рисунок 5. Операторы FOR и NEXT

В общем виде оператор цикла выглядит следующим образом:

FOR I = P TO N STEP T (тело цикла) NEXT I

где I — счетчик цикла; P — начальное значение счетчика; N — конечное значение счетчика; T — шаг. Эти значения указываются в первой строке цикла FOR I = 7 TO 12 STEP 3 [3, 73].

Операторы FOR и NEXT используются всегда только вместе, каждому оператору FOR должен соответствовать свой оператор NEXT в программе. Начало цикла определяется FOR, а NEXT - конец цикла. Можно опускать конструкцию STEP T, если шаг изменения T равен 1.

Такие операции выполняются при работе оператора цикла:

1. Вычисляются значения P, N, T, если они являются арифметическими выражениями [8, 151].

2. Переменной I присваивается в качестве начального значения значение P.

3. Полученное значение I сравнивается со значением выражения N. При этом, если T> 0, то проверяется условие I ≤P, если P <0, то проверяется условие I ≥ N.

4. Если проверяемое условие истинно, то выполняется группа операторов, расположенных между FOR и NEXT.

5. Оператор NEXT изменяет текущее значение переменной I на шаг T (I=I+T) и передает управление в начало цикла. Для нового значения I опять проверяется одно из условий пункта 3. При истинности условия еще раз выполняется группа операторов между FOR и NEXT. Весь процесс выполняется до тех пор, пока проверяемое условие не примет значение "ложно". В этом случае выполнение цикла заканчивается и управление передается оператору, следующему в программе непосредственно после оператора NEXT [8, 150].

Пример 4. Найти среднее арифметическое значение натурального ряда чисел от 1 до N.

10 INPUT N

20 S=0

30 FOR I=1 TO N

40 S=S+I

50 NEXT I

60 С= S/N

60 PRINT " Cреднее арифметическое равно S="; S

70 END

При организации циклов с использованием операторов FOR-NEXT необходимо учитывать следующее:

1. Проверка истинности условия I ≤ P (I ≥ T) осуществляется перед очередным выполнением цикла. Следовательно, если это условие не выполняется перед первым выполнением цикла, то цикл не будет выполняться ни разу [8, 150].

Например, FOR I=23 TO 3

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

Например,

30 FOR I=1 TO 11

40 A=I^2

50 I=I+A

60 NEXT I

  1. Передача управления внутрь цикла, минуя его заголовок, не допускается.

2) WHILE... WEND (ПОКА... КОНЕЦ)

При разработке программ довольно часто возникает ситуация, когда заранее невозможно установить, сколько раз потребуется повторить цикл. Условие выхода из цикла в этих случаях определяется ходом решения самой поставленной задачи [8, 157]. Для решения этого вида задач цикл FOR...NEXT не годится. Во всех языках программирования подобные ситуации разрешаются с помощью специальных циклов, каковым и является рассматриваемый оператор цикла WHILE...WEND. Этот оператор цикла способен не только выполнять задачи, для решения которых он и был разработан, но и повторять все задачи цикла FOR...NEXT.

В общем виде рассматриваемый оператор цикла WHILE...WEND выглядит следующим образом:

WHILE (условие входа в цикл) (тело цикла) WEND

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

Рисунок 6. Операторы WHILE... WEND

С помощью WHILE... WEND можно организовать вложенные циклы - каждый со своими WHILE... WEND. После завершения цикла управление передается команде, следующей за WEND [7, 55]. Если при проверке условия окажется, что значение логического выражения - "Ложь", блок команд не будет выполнен ни разу. Ограничение: из этой конструкции нельзя выйти "досрочно", т.е. до завершения работы оператора [7, 57].

Пример 5.

10 I=1

20 WHILE I < 5

30 PRINT "I="; I;

40 I=I+1

50 WEND

На экране увидим такой результат работы программы: I=1 I=2 I=3 I=4.

2.4 Обработка символьных переменных

Напомним, строка символов, заключенная в кавычки, является символьной константой. Её значением является последовательность символов без кавычек. Если нужно задать пустую строку, используют два идущих подряд знака кавычек. Имя символьной переменной заканчивается обязательно знаком $, и значение в виде строки символов [11, 199].

Для строк можно использовать операцию сравнения:

  • строки считаются равными, если их длины равны и коды всех символов попарно совпадают.
  • если одна из строк совпадает с началом другой (но короче ее), то она меньше.

Перечислим операции, которые можно проводить над строковыми переменными:

  1. ввод значений строковых переменных с клавиатуры:

INPUT М$, Е$

  1. склейка(конкатенация) двух строк: A$=T$+P$, C$="СЛОВО: "+A$, C$="ИЗОБРАЗИТЕЛЬНОЕ"+" "+"ИСКУССТВО"
  2. присвоение переменной текстовой константы:

A$="ГОРОД НОВГОРОД", L$="" - очистка строки (пустая строка)

  1. печать значений строковых переменных:

PRINT M$, A$

Рассмотрим основные функции работы с символьными переменными:

1) LEN(F$) – определяет длину символьного выражения [11, 202].

Пример 6. Для строки A$="ГОРОД НОВГОРОД» функция LEN(A$) =14 определяет её длину, в данном случае она равна 14.

2) LEFT$ (F$, N) - вырезает заданное количество символов слева;

Пример 7. Для строки A$="ГОРОД НОВГОРОД» функция LEFT$(А$, 6) = "ГОРОД" слева вырезает 6 символов и возвращает оставшуюся строку на экран или можно сказать выбирает слева указанное количество символов из данной строки.

3) RIGHT$ (F$, N) - вырезает заданное количество символов справа;

Данная функция аналогична LEFT$(F$, N) [11, 207].

  1. MID$(F$, N1, N2) – возвращает указанную часть строки

A$="String равен Null", MID$(А$, 8, 5) = "равен"

  1. VAL(A$) – возвращает число, которое содержится в строке

A$="12 String равен Null" [11, 206].

VAL (A$) =12

7) CHR$(L) - выдает символ по коду данного числа;

8) ASC(S$) - выдает код первого символа строки

9) SRT$(K) - преобразует число в символьную строку, которая является записью в виде последовательности десятичных цифр [11, 203].

3. РАБОТА С МАССИВАМИ

Массив — это однородная совокупность данных. Различают массивы одномерные и многомерные.

Пример одномерного массива А(i), i изменяется от 1 до 7. Одномерные массивы ещё называют рядом. Каждый элемент массива имеет свой индекс в массиве. Это наглядно можно увидеть на Рисунке 7. Размер данного массива равен количеству символов в массиве – 7.

Рисунок 7. Массив А(7)

Помимо одномерных массивов могут использовать и двумерные, которые называются матрицами. Обозначаются A (I, J). [11, 140].

Массивы могут быть статические и динамические. Статическими называются массивы, память для размещения которых выделяется интерпретатором еще до начала работы программы, в ходе ее трансляции. Число элементов и размерность таких массивов не могут изменяться в ходе выполнения программы и задаются только при его описании с помощью оператора DIM. Память для динамических массивов отводится лишь тогда, когда в этом возникает необходимость. Убираются они из памяти по ходу выполнения программы по желанию программиста. Очистив память от первого обработанного динамического массива, его место можно последовательно занять любым количеством других динамических массивов [11, 139].

Для объявления массивов в программе используется оператор DIM. Он указывает общее количество переменных в массиве. Это необходимо для рационального распределения памяти компьютера.

Пример 8. DIM А (7). Эта запись указывает, что объявлен одномерный массив размерностью 7 с общим именем А. Исполнение оператора DIM заключается в том, что в памяти компьютера образуется массив переменных.

Рассмотрим существующие способы ввода элементов массива [3, 86].

  1. при помощи оператора присваивания.

В этом случае фрагмент программы можно представить так:

DIM A (6)

A(0)=4: A(1)=-2.5: А(4)=5: A(3)=6: A(5)=7: A(2)=3

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

  1. элементы массива можно вводить с клавиатуры. В таком случае фрагмент программы будет таким:

DIM А (6)

FOR I=0 TO 6

INPUT A(I)

NEXT I

3) можно использовать оператор ввода блока

DIM B (6)

DATA 0, -2, 1, 5, 8, 5, 6. 26

FOR N=0 TO 6

READ B (N)

NEXT N

Рассмотрим примеры, которые описывают вывод элементов массива [3, 94].

1) используя перечисление элементов (вывод построчно). Этот способ вывода удобен, когда массив небольшой.

DIM A (3)

PRINT A (0), A (I), A(2), A(3)

2) используя оператор цикла.

DIM A (9)

FOR I=0 TO 9

PRINT A (I)

NEXT I

Пример 9. Даны одномерные массивы A и B, содержащие по N элементов. Сформировать новый массив D, каждый элемент которого определяется по формуле D(i)=A(i)+B(i)+C(i). Здесь i изменяется от 1 до N [3, 67].

10 INPUT "Укажите размерность для массивов"; N

20 DIM A (N), B (N), C (N), D (N)

30 FOR I=1 TO N

40 INPUT A (I), B (I), C (I)

50 NEXT I

60 FOR I=1 TO N

70 D (I) =A (I) + B (I) +C (I)

80 PRINT "D ("; I; ") ="; D (I);

90 NEXT I

100 END

4. ПОДПРОГРАММЫ ЯЗЫКА QBASIC

В различных местах программы очень часто возникает необходимость в выполнении одних и тех же действий, причем действия должны производиться с различными исходными данными. Повторяющийся участок вычислений записывают один раз, затем обращаться к нему из различных мест программы. Этот повторяющийся участок программы называется подпрограмма [10, 124].

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

Операторы GOSUB и RETURN

Оператор GOSUB используется в языке QBasic для обращения к подпрограмме.

Формат оператора: GOSUB N, где GOSUB - ключевое слово, а N - номер первой строки, с которой должно начаться выполнение подпрограммы (точка входа в подпрограмму). Подпрограмма завершается оператором RETURN, который возвращает управление в основную программу.

Работа этих операторов выполняется таким образом. Интерпретатор языка BASIC формирует стек возврата. Если в программе встречается оператор GOSUB, в стек возврата заносится адрес (номер строки) оператора, который следует непосредственно за GOSUB и управление передается на точку входа, которая задается номером строки в операторе GOSUB, затем начинают выполняться операторы подпрограммы [10, 126].

Если в подпрограмме встречается оператор RETURN, то из вершины стека извлекается текущий адрес возврата, и интерпретатор передает управление в вызывающую программу на оператора, непосредственно следующий за оператором GO SUB.

Подпрограмму GOSUB...RETURN можно вызывать любое количество раз. Можно вызвать одну подпрограмму из другой. В то же время подпрограмма GOSUB...RETURN не может быть рекурсивной, т. е. вызывать сама себя. Одна подпрограмма может иметь несколько операторов RETURN.

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

Пример 10. Имеются данные. Требуется определить количество данных, в которые больше некоторой за данной величины [10, 94].

10 REM основная программа

20 DIM A (100)

30 PRINT "Введите количество данных"

40 INPUT M

50 FOR I=1 TO M

60 PRINT "Введите число"; I

70 INPUT A (I)

80 NEXT I

90 PRINT "Введите нижнюю границу"

100 INPUT D

110 GOSUB 200

120 PRINT "Количество таких данных>"; D;"="; K

130 STOP

200 REM Подпрограмма

210 K=0

220 FOR I=1 TO M

230 IF A (I)>D THEN K=K+1

240 NEXT I

250 RETURN

В данной задаче подпрограмма находит количество данных которые больше заданной величины. Обращение к подпрограмме строка 200.

5. ОПЕРАТОРЫ ГРАФИКИ

Превосходными графическими возможностями обладают современные компьютеры. Хотя QBasic уже нам кажется очень древним языком программирования, но всё-таки он содержит набор операторов для работы с графикой. Графика QBasic ориентирована прежде всего на построение простейших геометрических фигур и реализацию простейших возможностей динамической графики [11, 150].

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

SCREEN N- оператор включения графического режима, где N - номер режима работы (0 - текстовый режим работы, от 1 до 13 - графические режимы работы). Например, следующий оператор устанавливает темно-синий основной цвет и цвет фона — белый: COLOR 1, 15. В основном работаем во втором графическом режиме, который имеет следующие характеристики: черно- белый экран, размер по горизонтали 0≤X≤639, по вертикали 0≤Y≤190.

Пример 11. Программа выводит символы разного цвета [11, 156].

10 CLS

20 SCREEN 9

30 FOR i = 0 TO 15

40 COLOR i

50 PRINT i; SPC (1);

60 NEXT i

70 END.

Рассмотрим операторы для построения графических фигур:

  1. Рисование точки PSET (X, Y). Данный оператор позволяет нарисовать тоску с координатами Х, У
  2. Оператор рисования отрезка LINE (X1, Y1) - (X2, Y2) где (X1, Y1), (X2, Y2) - координаты концов отрезка. Этот же оператор позволяет нарисовать прямоугольник, LINE (X1, Y1) - (X2, Y2), , B- оператор рисования прямоугольника со сторонами параллельными осям X2,Y2 координат, если вместо параметра B воспользоваться BF, то прямоугольник будет закрашенный.
  3. Оператор для рисования окружности CIRCLE (X, Y), R

CIRCLE (X, Y), R, , A,B - оператор рисования дуги от угла A до B против часовой стрелки, углы измеряются в радианной мере. PAINT (X, Y) - оператор окрашивает замкнутую область, начиная от указанной точки

Пример 12. Постройте n концентрических окружностей [8, 24].

10 INPUT N

20 SCREEN 2

30 CLS

40 FOR X=1 TO N

50 R=1+3.14*(X -1)

60 CIRCLE (315, 100), R

70 NEXT X

80 END

Пример 13. Программа демонстрирующая движение отрезка [11, 162].

10 CLS

20 SCREEN 9

30 FOR x = 0 TO 640 STEP 4

'==1===== Блок рисования отрезка основным цветом ==========

40 FOR i = x TO x + 15

50 PSET (i, 70)

60 NEXT i

'===============================================

70 FOR iv = 1 TO 10000: NEXT iv

'временная задержка

'==2===== Блок рисования отрезка цветом фона ============

80 FOR j = x TO x + 15

90 PRESET (j, 70)

100 NEXT j

'=====================================================

110 NEXT x

120 END

Пример 14. Составить программу, изображающую окружность в закрашенном прямоугольнике [2, 124].

SCREEN 2

CLS

LINE (60, 30) - (180, 150), , B

CIRCLE (120, 90), 60

PAINT (61, 31)

PAINT (179, 149)

END.

Заключение

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

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

А также выполнены следующие задачи:

  • ознакомились с историей создания языка QBasic;
  • изучили подробно синтаксис и алфавит языка;
  • разобрались с существующими операторами языка и описали их синтаксис в курсовой работе;
  • рассмотрели конкретные примеры использования операторов;
  • рассмотреть также функции и массивы в QBasic;
  • познакомились с графическими возможности языка.

Язык программирования QBasic лет двадцать назад был самым популярным и любимым языком программирования для многих. Синтаксически простой, семантически схожий с английским языком, с суперкомпактным набором команд, позволяющий писать сразу, с ходу, не задумываясь об инициализациях и прочем подобном, он был идеальным решением для тех, кто ничего не смыслит в программировании, но хочет разобраться [10, 24].  Почему от стал таким популярным и любимым для многих пользователей ПК, здесь ответ прост. Конечно же благодаря своей простоте и понятности. Но времена меняются, и на данный момент язык BASIC устарел и практически нигде не используется. Роль данного языка в истории развития программирования очень огромная.

Сейчас также довольно популярна обновлённая версия языка - Visual Basic, а также его диалекты Visual Basic for Applications (VBA) и Visual Basic Scripting Edition (VBScript) и язык для платформы .NET — Visual Basic .NET [12, 5].

Список использованной литературы

  1. Бьянкуцци, Ф. Пионеры программирования. Диалоги с создателями наиболее популярных языков программирования / Ф. Бьянкуцци, Ш. Уорден. — М.: Символ, 2018. — 608 c.
  2. Бобровский, С. Программирование на языке QBasic для школьников и студентов. - М.: ДЕСС КОМ, 2012. - 207 с.
  3. Геворкян, Г.Х. Бейсик - это просто / Г.Х. Геворкян, В.Н. Семенов. - М.: Радио и связь, 2015. - 144 c.
  4. Гринчишин Алгоритмы и программы на Бейсике / Гринчишин, Я.Т. и. - М.: Просвещение, 2012. - 160 c.
  5. Дьяконов, В.П. Справочник по алгоритмам и программам на языке бейсик для персональных ЭВМ / В.П. Дьяконов. - М.: М: Наука, 2013. - 240 c.
  6. Кен Программирование в MS Office Полное руководство по VBA + CD / Кен, Гетц и др. - М.: К: BHV, 2011. - 760 c.
  7. Кетков, Ю.Л. Диалог на языке бейсик для мини- и микро-ЭВМ / Ю.Л. Кетков. - М.: Наука, 2017. - 368 c.
  8. Мельникова, О.И. Начала Программирования на языке QBasic / О.И. Мельникова, А.Ю. Бонюшкина. - М.: Эком, 2018. - 304 c.
  9. Мудров, А.Е. Численные методы для ПЭВМ на языках Бейсик, Фортран и Паскаль / А.Е. Мудров. - М.: [не указано], 2015. - 937 c.
  10. Новичков, В.С. Начала программирования на языке QBASIC. Учебное пособие / В.С. Новичков, А.Н. Пылькин. — М.: ГЛТ, 2017. — 268 c.
  11. Пестриков, В.М, Тяжев, А.В. QBASIC на примерах— М.: БХВ-Петербург, 2010 г.- 296 с.
  12. Якушева, Н. М. Введение в программирование на языке Visual Basic. Net; Финансы и статистика - М., 2016. - 320 c.