Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Операторы ввода данных из списка DATA / READ, RESTORE



Оператор READ считывает в ячейки памяти данные, перечисленные в программе в строке DATA. После выполнения оператора RESTORE оператор READ начинает чтение данных с первого элемента оператора DATA (если нет номера строки в операторе RESTORE). Общий вид операторов:

DATA c1 [, c2,...ci,...cn ]

READ x1 [ x2,...xi,...xn ]

RESTORE [номер строки]

где:

xi - имя переменной или элемента массива;

ci - константа (числовая или текстовая);

номер строки - номер строки действия оператора RESTORE.

Работа операторов: последовательно каждой величине xi оператора READ присваивается значение ci из оператора DATA, т.е. действие операторов равносильно выполнению следующих операций: x1=c1; x2=c2;...xn=cn

Особенности записи и размещения операторов:

- тип и длина ci должны соответствовать типу и длине xi ;

- оператор DATA обычно помещается в начале программы и должен быть единственным в строке;

- возможно использование нескольких операторов DATA (READ), они работают так же, как один оператор с общим списком;

- лишние константы игнорируются;

- при недостаточном количестве данных в DATA выдается сообщение.

Пример.

DATA 10, 20, 30, 40

READ A, B

RESTORE

READ C, D

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

A, B, C, D получают значения 10, 20, 10, 20

Оператор CLS

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

Оператор STOP

Оператор STOP прерывает выполнение программы и выдает сообщение ОСТАНОВ В СТРОКЕ n. Его можно поместить в любой строке программы, а использовать удобно при отладке. В QBASIC STOP выделяется ярким цветом. Для продолжения работы с точки прерывания нужно выполнить команду /RUN/СONTINUE.

Оператор END

Оператор END завершает выполнение программы, закрывает все используемые в ней файлы. Он может быть использован неоднократно в любом месте программы, где согласно логике программируемого алгоритма должно завершаться выполнение программы. Наличие оператора END после в последней строке программы необязательно.

Оператор REM

Оператор REM предназначен для ввода комментариев в программу. Относится к невыполняемым операторам и не влияет на порядок выполнения программы. В этом операторе можно использовать буквы русского алфавита и специальные символы. Вместо ключевого слова REM можно использовать апостроф (‘). Общий вид оператора:

REM текст

Примеры.

REM сортировка данных

REM РЕШЕНИЕ СИСТЕМЫ УРАВНЕНИЙ

Или:

‘сортировка данных

‘РЕШЕНИЕ СИСТЕМЫ УРАВНЕНИЙ

 

Операторы для разветвляющихся вычислительных процессов

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

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

Оператор безусловного перехода служит для перехода из одной точки (строки) программы к другой. Общий вид оператора:

GOTO n

где GOTO - имя оператора (переводится – «перейти к...»;

n - номер строки программы.

Пример 1.Пример 2.

30 x=x+1 40 x=3*A

40 y=(x+2)*2 50 GOTO 70

50 GOTO 30 60 y=2*x

70 z=5*x

В первом примере оператор перехода обеспечивает бесконечное циклическое выполнение двух операторов. В втором примере оператор GO TO 70 позволяет обойти 60 строку программы.

Логические выражения в QBASIC

Логическое выражение - это отношение, либо формула, составленная из отношений, круглых скобок и символов логических операций. В QBASIC значение “истина” (TRUE) = -1, “ложь” (FALSE) = 0.

Операции отношения:

= равно (2 = 2; x = y)

< > не равно (2 < > 3; x < > y)

< меньше, чем (2 < 3; x < y)

> больше, чем (4 > 3; x > y)

< = меньше, или равно (1< =1; x < = y)

> = больше или равно (2> =2; x > = y)

Логические операции описываются служебными словами:

AND логическое умножение (конъюнкция);

OR логическое сложение (дизъюнкция);

NOT логическое отрицание;

XOR исключающее или;

EQU эквивалентность;

IMP импликация.

Операция AND («и») вырабатывает истинное значение в том случае, когда истинны оба ее аргумента.

Операция OR («или») вырабатывает истинное значение в том случае, когда истинным является хотя бы один из ее аргументов.

Операция XOR вырабатывает истинное значение, когда значения ее аргументов не совпадают.

Операция NOT А истинна тогда и только тогда, когда А ложно.

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

Операция IMP вырабатывает ложное значение, когда А истинно и значение истина в других случаях.

Правила выполнения логических операций:

- Вычисляются значения арифметических выражений;

- Вычисляются значения отношений;

- Вычисляются операции NOT, затем AND и после - OR.

Пример 1.

x= 10

PRINT “(ЗНАЧЕНИЕ X< 20 )=“; X< 20

END

Результат: (ЗНАЧЕНИЕ X< 20) = -1

Если X=100, то (ЗНАЧЕНИЕ X< 20) = 0

Пример 2. Вычислить значение логического выражения при X=3 и Y=-2

(X< 7) AND (X -Y< X^2) OR(ABS(Y) > 3)

(3< 7)AND(3-(-2)< 3*3)OR(ABS(-2)> 3)=(3< 7)AND(5< 9)OR(2> 3)=

1 1 OR 0 =

1 OR 0 =1-истинно

Условный оператор IF … THEN … ELSE

Оператор IF THEN ELSE осуществляет условное ветвление, основанное на оценке логического выражения. Этот оператор можно записать в линейной или блочной форме.

Линейная форма

IF логическое выражение THEN операторы 1 [ELSE операторы 2],

где IF (если), THEN (то), ELSE (иначе) - служебные слова языка QBASIC;

Операторы 1 - операторы, выполняющиеся при значении логического выражения «истина»;

Операторы 2 - операторы, выполняющиеся при значении логического выражения «ложь».

Два варианта оператора (рис. 7.3):

1). IF условие THEN P1 ELSE P2

2). IF условие THEN P1

 

 
 

       
 
   
 

Вариант 1: Вариант 2:

Рис. 7.3 Бок-схема оператора IF THEN ELSE

Пример 1.

IF X< Y THEN A=X: B=Y ELSE A=Y: B=X

PRINT “A=“; A; ”B=“; B

Пример 2.

Y=SIN (X)

IF (2< =X) AND (X< =10) THEN Y=COS (X): Z=Y*X

Y = 2: Z=10

Блочная форма

Кроме простого оператора IF в языке QBASIC предусмотрен структурный оператор IF, позволяющий программировать более сложные разветвляющиеся структуры, не пользуясь при этом оператором безусловного перехода GOTO и позволяющий упростить чтение программ. Общий вид оператора:

IF условие 1 THEN

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

ELSE IF условие 2 THEN

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

.........

[ELSE]

блок операторов n

END IF

где параметры условие 1, условие 2 являются логическими выражениями.

Пример.

REM УСЛОВНЫЙ ОПЕРАТОР

INPUT C$

IF C$ > =“A” AND C$ < = “Z” THEN

PRINT “ ПРОПИСНАЯ БУКВА “; C$

ELSE IF C$ > = “a” AND C$ < = “z”

PRINT “ СТРОЧНАЯ БУКВА “; C$

ELSE IF C$ > = “0” AND C$ < = “a”

PRINT “ЦИФРА”; C$

ELSE

PRINT “ СПЕЦИАЛЬНЫЙ СИМВОЛ”; C$

ENDIF

Особенности работы оператора:

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

- Поскольку вещественные переменные - приближенные числа, то условие X=Y можно, например, заменить: ABS(X -Y) < 0.001

- Предпочтительная конструкция: IF условие THEN P1: GOTO n, которая наиболее соответствует принципам структурного программирования.


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-04-09; Просмотров: 785; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.024 с.)
Главная | Случайная страница | Обратная связь