Основные операторы 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 Составить программу для вычисления значения функции. Результаты выдать на печать:
6. P= , для х=0¸10; шаг 1.
19. R = где L(X)=
26.
29. R= где L(z)=
©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.
|