Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика_лекции_Саладаев.doc
Скачиваний:
55
Добавлен:
03.05.2015
Размер:
15.75 Mб
Скачать

5. Позиционирование курсора

Для перемещения курсора в требуемую позицию экрана, как правило, применяют оператор LOCATE. Это очень удобно, например, для создания сложных форм вывода на экран.LOCATE [Строка] [, [Столбец][,[Курсор] [,Старт[,[Стоп] ]]]

Строка- Строка экрана (1-25), на которую должен переместиться курсор.

Столбец- Столбец экрана (1-80), к которому должен переместиться курсор.

Курсор- Указывает, в каком состоянии находится курсор при выводе. 0— выключен, 1 — включен.

Старт, Стоп- Числа от 1 до 31, которые задают высоту курсора.

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

Пример 1:

После очистки первый вывод на экран должен быть в десятой строке.  

'Вывод в десятую строку после CLS CLS LOCATE 10 PRINT "Вывод появляется в десятой строке экрана" 'Конец программы

6. Вывод пробелов

Функция SPCв сочетании с оператором PRINT может выводить на экран пробелы. Это полезно, например, при оформлении вывода информации на экран.

SPC (Значение) Значение- Арифметическое выражение типа INTEGER в диапазоне значений от 0 до 32767.

Пример: CLS PRINT "Text Г; SPC(10); "Text 2"

7. Функция табуляции

Функция TABтак же, как функция SPC, применяется в операторе PRINT. Позволяет начать вывод данных текущей строки с определенной позиции.TAB (Столбец)

Столбец- Переменная типа INTEGER, задает номер столбца вывода данных текущей строки. Функция TAB очень полезна в случаях, когда с помощью оператора LPRINT требуется оформить наглядный листинг.

8. Остановка программы

В основном любой алгоритм должен как-то заканчиваться, поэтому отсутствие необходимости использовать оператор END в последних версиях QBASICа, считается отрицательным его качеством. Но он всё же существует, и вставлять его в конец программы всё же стоит (потом пригодится). Также если хотите прервать вашу программу в любом её месте то надо использовать оператор STOP.Он останавливает выполнение программы на том месте, где стоит.

10.4.Управляющие операторы

 

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

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

Оператор GOTO позволяет изменить последовательность выполнения шагов программы, но его применение нежелательно, так как увеличивается время выполнения, снижается наглядность и понимаемость программы. В предыдущих версиях BASICa не было возможности отказаться от применения GOTO, так как практически не существовало других языковых элементов для управления программой. GOTO Метка_перехода

Метка_переходаОбъявленная в программе метка. Метка объявляется произвольным именем, заканчивающимся двоеточием.

Пример 1:

В приведенной ниже программе происходит переход к последнему оператору PRINT, В результате на экране получаем сообщение "Хелло, Долли!". 'Оператор GOTO CLS PRINT "Хелло, " GOTO weiter PRINT "Здесь проявляется GOTO"; Welter: ‘Метка перехода PRINT "Долли!" 'Конец программы

Если указать в операторе GOTO метку, не объявленную в программе, то при запуске программы, появится соответствующее сообщение об ошибке. Если одну метку объявить в программе дважды, тоже появится сообщение об ошибке.

Пример 2:

В этом примере представлена "бесконечная" (зациклившаяся) программа, которая всегда возвращается к своему началу. 'Зациклившаяся программа (прервать нажатием клавиш "CTRL" + "Pause") anfang: PRINT 234.23 GOTO anfang 'Недосягаемый конец программы  

Пример 3:

Последний пример показывает, насколько плохую услугу при конструировании программ оказывает оператор GOTO. 'Как не надо писать программы anfang: GOTO schritti schritt4: PRINT "совсем непонятная " GOTO schritt5 schritt6: GOTO ende schritti: CLS GOTO schritt2 schrin3: PRINT "простая, но " GOTO schritt4 schritt2: PRINT "Это очень" GOTO schrin3 Schritt5: PRINT "программа." GOTO schritt6 PRINT "Здесь работает Goto-" ende: PRINT "Наконец готово!" 'Конец программы