Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Раздел2-QB-лр1-8.doc
Скачиваний:
51
Добавлен:
22.05.2015
Размер:
1.19 Mб
Скачать

Input "Ввести d, k,n"; d, k,n

Встретив оператор INPUT, среда QB печатает соответственно знак вопроса"?" или Ввести d, k,N? И ждёт ввода значений этих переменных через запятую, например 5, 2.2, 3Е-2.

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

3 Операторы read, datа, restore

Они организуют блок данных, считываемых в ходе выполнения программы, имеют формат:

READ <список переменных >

DATA <список констант >

RESTORE

Списки вводятся через ",".

Перед выполнением программы QB просматривает все операторы DATA и создаёт объединённый блок данных, в котором содержатся все

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

Пример:

READ A,B$,C

DATA 3.5,Gruppa,81,15,1.2E+14

READ D,E,F

RESTORE

READ K,H$,G,M

DATA 87,Sigma,1090

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

Первый оператор READ присвоит A = 3.5, B$ = Gruppa, C = 81, второй - присвоит D = 15, E = 1.2Е+14, F = 87, затем RESTORE переведёт точку считывания на начало блока данных и следующий READ присвоит переменным K = 3.5, H$ = Gruppa, G = 81, M = 15.

Операторы вывода

Служат для вывода данных на дисплей. В QB используются операторы

Print <список> и

Print using <список форматов> <список вывода>,

где:

<список форматов> - задаёт звёздочками "*" количество знаков до и после запятой.

Пустой оператор PRINT, без списка, выводит пустую строку.

Вместо слова RRINT можно вводит знак вопроса "?", при нажатии клавиши [Enter] он заменится на PRINT автоматически.

Строка вывода символов состоит из 5 зон по 14 позиций в каждой, т.е. для каждого элемента в строке отведено 14 позиций. Шестой элемент выводится в первой позиции новой строки.

Пример:

Print А : Print "А=";А

Print

Print "А+В="; А+В

Print using "**.*"; А,В,С

При А = 3,54 , В = 4, 02 и С = 24,152 на экран выйдет:

3.54 А=3.54

А+В=7.56

3.5 4.0 24.1

Разделительные знаки

  • знак ":" является разделителем операторов, он действует так, как будто оператор за двоеточием записан с новой строки;

  • знак "." – десятичная запятая;

  • знаки "," и ";" – разделители для любых целей;

  • кавычки "" – вывод текста, заключённого между кавычками,

  • апостроф "'" – вывод комментария;

  • круглые скобки "(,)" – аргумент стандартных функций;

  • квадратные скобки"[,]" – аргумент массивов

Составим программу по алгоритму задачи 1 (рис. 3)

CLS ' оператор clear screen – очистка экрана

а=2.15 : b=1 ' присвоение переменным а и b их значений

INPUT x ' ввод значения переменной х

у = a*x^2– b*cos(x+PI*34/180) ' вычисление значения функции у

print "y=";y ' вывод значения у на дисплей с текстом "у="

END ' конец программы

Рисунок 3 Линейная программа с оператором ввода INPUT и

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

В программе для ввода использованы операторы присваивания а=2.15, b = 1 и оператор ввода данных INPUT x.

Если входных данных много и требуется их повторное считывание, то вместо операторов присваивания удобнее применять операторы READ, DATА, RESTORE. В данном случае повторное считывание не требуется, поэтому составим ту же программу с использованием только операторов READ и DATA (рис. 4).

CLS ' очистка экрана

DATA 2.15, 1 ' ввод значений блока данных

READ a,b ' присвоение a и b их значений из блока DATA

INPUT x ' ввод значения переменной х

у = a*x^2– b*cos(x+PI*34/180) ' вычисление значения функции у

print "y=";y ' вывод значения у на дисплей с текстом "у="

END ' конец программы

Рисунок 4 Линейная программа с операторами

ввода INPUT, READ и DATA