Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Операторы окончания выполнения программ

Поиск

END -оператор окончания текста программы.

STOP - оператор остановки программы в необходимом месте.

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

 

Ввод в программу данных для обработки

Вводить данные можно следующими способами:

- непосредственно в тексте программы оператором присваивания (=) или операторами DATA и READ

- с клавиатуры, при выполнении программы - оператором INPUT

- путем считывания данных из файла.

Оператор DATA задания констант и оператор READ чтения констант

Оператор DATA и READ всегда присутствуют в программе одновремен­но, хотя и в разных местах программы, и имеют вид:

DATA С1,С2,СЗ, …

READ V1,V2,V3, …

где С1, С2, СЗ - описок констант, составляющих блок данных. Блок данных допускает только последовательное считывание, может находиться в любом месте программы. Если в программе используется несколько операторов DATA, то они рассматриваются один общий блок данных, включающий в себя все константы в порядке очередности их записи;

V1, V2, V3 - список переменных, которым присваиваются значения из блока констант.

Переменным, перечисленным в операторе READ, присваиваются последова­тельно значения констант из блока DATA.

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

Пример:

DATA 1, 2, 34, 5, 6

READ A, B, C, D, E

Результат выполнения программы: переменные A, B, C, D и E имеют значения 1, 2, 34, 5 и 6 соответственно.

Оператор восстановления данных RESTORE

С помощью оператора RESTORE константы из списка оператора DATA могут использоваться повторно и присваиваться другим переменным.

Пример:

DATA 6.7, 8

READ А, В

RESTORE

READ C, D

Оператор RESTORE возвратит указатель в операторе DATA в начальное положение и присвоит переменным С и D те же самые значения. Результат: А = 6.7, В = 8, С = 6.7, D=8.

Оператор INPUT

INPUT считывает входные данные от клавиатуры или из файла.

Синтаксис:

INPUT ["приглашение"{; |,}] список переменных

■ приглашение - необязательная строка, отображаемая на экране перед вводом данных. Точка с запятой, стоящая сразу после приглашения, добавляет знак вопроса в строку приглашения.

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

Во время выполнения оператора INPUT вычисления по программе ос­танавливаются (прерываются) и на экране появляется или текст приглашения, или (если приглашения нет) вопросительный знак (?). После ввода всего списка данных следует нажать клавишу Enter.

Пример:

INPUT “Введите значение переменной А > 10 ”, A

На экране будет выведено:

Введите значение переменной А > 10

Далее следует ввести значение А и нажать клавишу Enter.

Пример:

INPUT a,b,c

На экран будет выведен только знак вопроса (?). Вводить значения переменных a, b, c необходимо через запятую. После ввода значения последней переменной нажимается Enter. Выполнение программы продолжается, и все переменные, перечисленные в списке, принимают введенные значения.

В одном операторе INPUT возможно использование переменных с различным типом данных.

Пример:

INPUT A$, b%.

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

Вывод данных

Операторы PRINT, LPRINT, PRINT USING, функции SPC и TAB

Оператор PRINT выводит данные на экран

Оператор LPRINT печатает данные на принтере LPT1.

Синтаксис:

PRINT [выражения] [{; |,}]

LPRINT [выражения] [{; |,}]

■ выражения - одно или несколько выражений для печати. Разделяются “;” или “,”.

■ символы “;” и “,” определяют, где начинается следующий вывод:

“;” - печать сразу после последнего значения (PRINT А; В),

“,” - печать в новой зоне (PRINT А, В)

Выводная строка разбита на зоны по 14 позиций каждая. Ширина зоны печати - 14 символов.

Если в операторе выражение, то оно сначала вычисляется, а затем выводиться на печать вычисленное значение.

Если очередное значение не умещается в оставшуюся часть строки, то оно размещается с начала следующей строки.

Числовые значения выводятся с предшествующей знаковой позицией и последующим пробелом. Для положительных значений в знаковой позиции ставится пробел, для отрицательных - “-”.

Оператор PRINT выводит пустую строку.

Пример:

PRINT “A”;”A”,”A”;-1;1,1

PRINT 2;

PRINT “A

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

AA A-1 1 1

A (15) (29)

Функции SPC и TAB

Используются для вывода на экран (на печать) данных в удобной форме.

SPC(X) – число Х пробелов (1≤X≤80)

Пример:

PRINT “Иванов”; SPC(5); “студент”

На экран с первой позиции будет выведено:

Иванов студент.

ТАВ: PRINT TAB (выражение1); выражение2

(Выражение1) определяет положение значения (выражения2) при печати, относительно начала строки. Если значение (Выражение1) имеет дробную часть, то дробная часть отбрасывается. Значение (Выражение1) должно быть в диапазоне 0 – 79, определяющем номера позиций строки экрана.

Пример:

PRINT “ФАМИЛИЯ”; TAB (20); “ИМЯ”

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3

ФАМИЛИЯ ИМЯ

 

Функцию TAB(), например, можно использовать для вывода результатов вычислений в виде графиков относительно начала строки. Так, если табулируется у и определяются его мах и мin, то, по значениям А = 75*(у – мin)/(мах – мin) + 1, можно оператором PRINT TAB(А); “*” построить вертикально расположенный график зависимости функции у от аргумента.

 

Оператор форматированного вывода

Синтаксис:

PRINT USING формат; список выражений [{;|,}]

“Формат” – текстовое выражение, содержащее один или более спецификаторов формата.

Спецификаторы формата для числовых данных:

# - позиция цифры,

. - позиция десятичной точки,

+ - позиция знака числа,

, - разделение каждых трех разрядов с помощью запятой,

$ - знак доллара перед числом.

Пример:

A=1234.567

PRINT USING “ ####”; A 1234

PRINT USING “ ####.#”; A 1234.5

PRINT USING “ ####.##”; A 1234.56

PRINT USING “ ###.###”; A %1234.567

В последней строке символ % свидетельствует о несоответствии заданного формата фактическому значению переменной.

Спецификаторы формата для символьных данных:

& - вывод всего текстового значения,

! - вывод первого символа текстового значения,

\\ - число выводимых символов.

 

Пример:

A=”Студент”

PRINT USING “&”; A Студент

PRINT USING “!”; A С

PRINT USING “\\\”; A Сту

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

Оператор позиционирования курсора LOCATE

Синтаксис:

LOCATE [<строка>],[<колонка>],[<курсор>]

<строка> -значение из диапазона 1..24

<колонка> -значение из диапазона 1..80

<курсор> - 1 (курсор виден) или 0 (курсор невиден)

<строка>,<колонка> могут быть числовыми выражениями.

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

Лекция 7

Управление ходом выполнения программы

Организация цикла

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


Оператор цикла FOR … NEXT

FOR <счетчик> = <начало> TO <конец> [STEP <приращение>]

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

NEXT [счетчик]

[счетчик] - числовая переменная (переменная цикла),

<начало>, <конец> - начальное и конечное значение счетчика,

<приращение> - приращение счетчика при каждом шаге цикла.

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

Пример:

FOR I = 1 TO 15 FOR I = 7 to -6 STEP -3

PRINT I PRINT I

NEXT I NEXT I

Оператор цикла DO … LOOP

Оператор цикла DO … LOOP - оператор цикла с предусловием, без счетчика (с неопределенным числом циклов). Блок операторов повторяется, пока условие верно, или до тех пор, пока условие не станет верным. Синтаксис:

DO DO {WHILE | UNTIL} <условие>

<блок операторов> <блок операторов>

LOOP {WHILE | UNTIL} условие LOOP

Где <условие> - числовое выражение, которое BASIC оценивает как «истина» (1) или «ложь» (0).

Проверка в конце цикла – операторы будут выполнены хотя бы один раз. В этом основное различие двух форм записи. При этом WHILE – цикл продолжается пока условие – «истина»; UNTIL – цикл продолжается, пока условие «ложь».

 

Пример:

DO

INPUT “ВВЕДИТЕ ЗНАЧЕНИЕ Х<10”

INPUT X

LOOP UNTIL X<10

(Выполнять до тех пор, пока не выполнится условие)

INPUT X

DO

PRINT X

X=X-1

LOOP WHILE X >10

(Выполнять до тех пор, пока истинно условие)

I = 0

PRINT "Значение I в начале цикла равно "; I

DO WHILE I < 10

I = I + 1

LOOP

PRINT "Значение I в конце цикла равно "; I

(Выполнять до тех пор, пока истинно условие)

I = 0

PRINT "Значение I в начале цикла равно "; I

DO LOOP WHILE I < 10

I = I + 1

LOOP

PRINT "Значение I в конце цикла равно "; I

(Выполнять до тех пор, пока не выполнится условие)

Оператор цикла без счетчика WHILE …WEND

Синтаксис:

WHILE условие

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

WEND

Пример:

INPUT X

WHILE X>10

SOUND 1000 X*99,10

Х=Х-1

WEND

SOUND X,Y – оператор выдающий звуковой сигнал, где

X – частота (в ГЦ),

Y – длительность в тактах (16.2 Т= 1 сек).

Цикл с предусловием DO...LOOP предоставляет больше возможностей для организации цикла.



Поделиться:


Последнее изменение этой страницы: 2016-04-21; просмотров: 917; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 13.58.53.112 (0.008 с.)