Здавалка
Главная | Обратная связь

Основные операторы BASIC.



 

Мы рассмотрим несколько основных операторов языка.

CLS – очищает экран. Формат CLS[{0,1,2}]

Очищает либо текстовую, либо графическую области просмотра. Если была установлена графическая области просмотра (с помощью VIEW), то очищает только графическую область просмотра. В противном случае очищает текстовую область просмотра или весь экран.

0 – полностью очищает экран

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

2 – очищает текстовую область просмотра.

 

INPUT – оператор производит операцию ввода информации с клавиатуры дисплея в оперативную память.

Этот оператор используется для диалога между пользователем и компьютером.

Пример:

Команда в программе Результат на экране монитора.

INPUT k ?

INPUT “k=”,k k=

INPUT k1, k2, k3 ?

INPUT a1$, k1, a2$, k2 ?

В результате действия оператора, в первом случае, на экране дисплея появится «?» и машина будет ждать ввода числа «К» с клавиатуры, т.е. надо ввести с помощью клавиатуры нужное число и нажать на клавишу ввода (ENTER).

Количество вводимых данных должно соответствовать количеству переменных в списке. Если введено недостаточное количество значений, то компьютер вновь выводит знак «?» и ждет дополнительного ввода данных. Избыточные значения игнорируются. В третьем и четвертом примере показано, что с помощью одного оператора можно вводить как несколько чисел, так и сочетания разных типов констант.

REM – оператор позволяет включать комментарий в программу.

Формат: REM<произвольный текст>.

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

 

PRINT – Оператор обеспечивает вывод информации на дисплей, как числовой, так и символьной.

Пример1: PRINT «Исходные данные»

PRINT X,Y

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

Пример 2: PRINT «Значение Х=»;Х, «Значение Y=»;Y

Этот пример демонстрирует одновременное применение в операторе печати текста и значение числа, если на момент печати X и Y соответственно равны, например 50 и 70, то после выполнения этого оператора на дисплее будет напечатано: значение X=50 значение Y=70

 

Для вывода информации на принтер используют следующую форму оператора: LPRINT.

 

Оператор LET – оператор присвоения значения выражения, стоящего справа от знака = , переменной стоящей слева от знака =.

Переменная и выражение должны быть или оба числовыми или оба символьными.

Имя оператора LET может быть опущено.

Пример:

10 LET A=1

10 A=1

100 X= X*2+B

 

В операторе 100 происходит вычисление переменной X по формуле X=X*2+B, причем, здесь, заранее должно быть присвоено значение переменных X и B в программе.

 

Оператор DATA – служит для предварительной подготовки и хранения в памяти значений исходных данных.

Формат оператора: DATA <список констант>

Константы в списке разделяются между собой запятыми.

 

Пример: DATA 10,20,5,0.5

 

В программе может быть несколько операторов DATA. Интерпретатор объединяет их всех в один блок в том порядке, в каком они встречаются в программе. Операторы могут стоять в любом месте программы.

Оператор READ – осуществляет ввод данных, значения которых представлены в операторе DATA.

Формат оператора: READ<список переменных>

 

Пример: DATA 10,20,5,0.5

READ A,B,S,D

 

После выполнения этих операторов переменные примут следующие значения

A=10, B=20, C=5, D=0.5, E=начало, F=конец.

Оператор GOTO – оператор безусловного перехода.

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

Формат оператора: GOTO<№ оператора куда перейти>

Пример:

100 GOTO 200 т.е. перейти к оператору с номером 200

 

Условные операторы

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

Общий вид оператора:

IF…THEN…ELSE…

IF<условие> THEN [блок операторов1] [ELSE [блок операторов2]]

Где <условие> логическое выражение

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

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

Пример1:

 

IF x>0 THEN y=A*X*B ELSE Y=*X^2+B

Если <условие> = истина, то оператор 1

Если <условие> = ложь, то оператор 2

Очень часто вместо линейной формы записи оператора IF(приведена выше)используют блочную форму, особенно в тех случаях, когда размер блоков операторов очень большой и не вмещается в одну строку при написании их в среде программирования. Эта форма имеет следующий вид:

IF<условие> THEN

[блок операторов1]

ELSE

[блок операторов2]

END IF.

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

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

FOR…NEXT

Формат:

FOR<переменная цикла> = A TO B [STEP C]

… операторы

NEXT<переменная цикла>

 

Где <переменная цикла> - числовая переменная, используется как счетчик цикла.

A, B – числовые выражения, определяющие начальное и конечное условие цикла.

C – величина приращения счетчика после каждого цикла.

Если С=1, то обычно приращение не указывается.

Циклы FOR…NEXT могут быть вложенными друг в друга. Тогда каждый оператор цикла должен иметь своё имя переменной цикла (имя счетчика).

Хотя компилятору это безразлично, располагайте операторы между FOR и NEXT, с отступом на 2 или 3 пробела от края, выделяя, таким образом, структуру цикла.

Оператор DIM

Оператор DIM – объявляет массивы.

Формат команды:

DIM {переменная (индексы)} где:

«переменная» - идентификатор, используемый для обозначения массива.

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

 

Оператор используется для явного описания размерности массива и количества его элементов путем указания имени массива, за которым следует одно или два числа, заключенных в скобки. Если в программе отсутствует описание массива, то при первом использовании его элемента BASIC по умолчанию резервирует место в памяти для 11 элементов одномерного массива или для 121 элемента двумерного массива. Имена массивов в списке разделяется запятыми.

Пример:

 

300 DIM A(5), В(4,5)

 

Значение индекса элементов массива может принимать значение от 0 до числа, указанного в описании массива.

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

Пример:

 

10 DIM C%(10), A$(5,6), D(7)

 

Где массив С – одномерный массив из целых значений.

Где массив А – двумерный массив из строковых переменных.

Где массив D – одномерный вещественный массив.

 

GOSUB и RETURN (подпрограмма).

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

Формат команды:

GOSUB №(номер строки программы)

RETURN

Пример:

 

10 REM ”главная программа”

100 GOSUB 500

200 GOSUB 500

300 STOP

500 REM

600 RETURN

700 END

 

FUNCTION

Процедура FUNCTION имя [(параметры)] [STATIC]

имя [блок операторов]

Имя = выражение [блок операторов]

END FUNCTION

- имя – имя функции и возвращаемый ею тип данных, указанный суффиксом типа данных (%,&,!,#,$).

параметры – одна или несколько переменных, указывающих параметры, которые передаются в функцию при ее вызове:

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

тип – тип данной переменной

переменная [()][AS тип][, переменная[()][AS тип]]…

[STATIC] – указывает, что значение локальных переменных функции сохраняются между вызовами функций.

[выражение] – возвращаемое значение функции.

 

Варианты третьего задания на контрольную работу.

Задание №3 содержит два вида заданий программирование разветвляющегося и циклического алгоритмов. Первый вид задания имеет нечетные номера вариантов - второй четные. Кроме этого в приложениях №1 и№2 даны среда программирования QBASIC и образец оформления третьего задания. В приложении №3 приводятся встроенные функции реализованные в среде QBASIC.

Пример №1. Программирование разветвляющегося алгоритма.

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

 

 

 

 

Алгоритм решения данной задачи будет иметь вид:

 

 

По полученному алгоритму запишем текст программы (используя блочную форму оператора IF):

 

CLS

REM С разветвлением

Pi=3.14

INPUT «Введите а»;а

INPUT «Введите х»;х

IF x>0 THEN

y=sin(Pi/(12+x))+x^2-5*a

ELSE

y=sin(Pi/(12+x))+x^2+5*a

END IF

PRINT «y=»;y

END

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

Пример №2. Программирование циклического алгоритма.

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

для х=-1 до 3 с шагом 0.5

Алгоритм решения данной задачи будет иметь вид:

 

Приведем один из возможных вариантов программы:

 

CLS

REM Циклическая программа

FOR х=-1 TO 3 STEP 0.5

y=(exp(x^2)+exp(-x^2))/2

PRINT “y(”;x;”)=”;y

NEXT х

END

Составить программу для вычисления значения функции. Результаты выдать на печать:

  1. Y =
  2. M= , для х= 0¸3; шаг 0,5.
  3. Y =

 

  1. N= , для х=0,4¸4; шаг 0,4.
  2. Y =

6. P= , для х=0¸10; шаг 1.

  1. Y =

 

  1. R= e- , для х=0¸2; шаг 0,2.
  2. . Y =
  1. L= sin , для х=0¸3; шаг 0,3.

 

  1. Y =

 

 

  1. M= , для х=0¸4; шаг 0,5.

 

  1. Y=

 

  1. N= 5x- 8lnx – 8, для х=2¸5; шаг 0,1.

 

  1. R = где L(x)=
  1. N= 5x- 8lnx – 8, для х=2¸5; шаг 0,1.

 

  1. R = где L(x)=

 

  1. P= x- 2,89 sin - 0,126, для х=-1¸3; шаг 0,2.

19. R = где L(X)=

  1. R= tgx-e-x +x-1, для х=-1¸1; шаг 0,1.

 

  1. R=
  2. L= ln(x+ )+x+4, для х=1¸5; шаг 0,25.
  1. R =

 

  1. N= , для х=0¸5; шаг 0,25.

 

  1. R =

 

26.

  1. R =

29. R= где L(z)=

 

 

 







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.