Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Операторы ввода данных из списка 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; Нарушение авторского права страницы