Сириус. Руководство по эксплуатации. 1989 г.

Как программировать на BASICe - оператор GOTO (GO ТО).


оператор GOTO (GO ТО)

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

10 INPUT "А=";А
20 INPUT "В=";В
30 LET С=А+В
40 PRINT С
50 GO ТО 10

После выполнения строк 10...40 В строке 50 программа
сообщит интерпретатору, что следующей надо выполнять строку с
номером 10, после чего произойдет так называемое зацикливание,
и программа будет работать бесконечно. Таким образом, вы
получили бесконечный цикл. Гораздо чаще применяются циклы,
число повторений которых известно или вычисляется в программе.
Для их организации служит

оператор цикла

Формат которого!

FOR <параметр цикла> ТО <конечное значение параметра>
STEP (шаг параметра); NEXT (параметр цикла) - конец цикла.

В качестве параметра цикла используется любая переменная.
Например, напишите программу, которая лесенкой будет выводить
на экран любое слово, например "SIRIUS".

10 FOR 1=0 то 19
20 PRINT AT 1,1;"SIRIUS"
30 NEXT I

В этой программе параметром цикла является переменная
"I". Сначала ей задается значение 1=0 и оговаривается, что оно
может меняться до 19. Строго говоря, эта строка должна бы
иметь вид!

10 FOR 1=0 то 19 STEP 1
( .для до шаг ),

но для величины шага +1 подоператор STEP допустимо не

Указывать, интерпретатор примет его значение, равное единице,
так, последовательность выполнения программы.

Для первого прохода значение I принимается равным 0.
Далее проверяется, не больше ли значение I величины конца
цикла, в нашем случае 19. Если 1<=19 (меньше или равно), то к
величине I прибавляется шаг (здесь - 1) и происходит переход к
следующему оператору, находящемуся в строке 20. Там по
правилам работы оператора PRINT печатается слово "SIRIUS",
после чего в стороке 30 встречается слово NEXT, которое
ограничивает содержимое цикла. Это слово является как бы
скобкой, все, что стоит перед ним, относится к циклу, что за
ним - нет. Программа возвращается к началу цикла.

Если величина параметра цикла (I ) станет больше
допустимой величины (19 в нашем случае), то цикл не
выполняется и программа идет дальше, за слово NEXT.

А что если необходим досрочный выход из цикла? Напишем
программу, выводящую на экран любую из 100 введенных букв при
условии, что она не " " (пробел). Для этого вам понадобится

условный оператор IF

10 FOR 1=0 то 100
20 INPUT "LETTER";L&
30 IF L&=" " THEN GOTO 50
40 PRINT L&: NEXT I
50 PRINT "END"

В этой программе вы встречаетесь еще с одним дополнением
- операторы в строке могут быть не в единственном количестве.
В этом случае они, как в строке 40, разделяются ":".

Обратите внимание на строку 30. Здесь введенное в строке
20 значение переменной L& сравнивается со знаком " " и, если
(IF англ.) Значение L& равно " ", то (THEN англ.) Производится
переход к выполнению строки 50, то есть выход из цикла, хотя
параметр цикла I еще не равен 101.

Условный оператор можно использовать при задании условий

50 IF А>В THEN LET А=В

Он может быть сложным

70 IF А>В THEN IF C<D THEN LET U=0

(Если а>в, то если c<D то U=0, в любом другом случае U
равно ранее присвоенному значению).

70 IF А>В AND C<D THEN LET U-0

(Если A>B и C<D то U=0). На месте AND (и англ.) Может
быть OR (или англ.), NOT (не англ.), XOR (исключающее или), а
вместо знаков знаков ">" и "<" использоваться "<=" (меньше или
равно), "=>" (больше или равно), '"О" (не равно), "=" (равно).

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

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

переход к подпрограммам

Оператор имеет формат GO SUB N (GOSUB N), где N - номер
строки, с которой начинается подпрограмма. Текст самой
подпрограммы обязательно должен заканчиваться оператором
RETURN (возврат англ.).

70 INPUT А&;А
80 GOSUB 300
90 LET B=A*SIN(X)

300 FOR N=0 ТО 10
310 PRINT AT N,N;N,A
320 NEXT N

В этой программе в строке 80 происходит переход к
подпрограмме, начинающейся со строки 300. После выполнения
подпрограммы по команде RETURN интерпретатор вернет обычный
ход течения программы и следующей будет выполнена команда,
записанная в строке 90. Такая запись позволяет резко сократить
текст программы.

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

Одна из них -




СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Local News - новости из Глазова и Перми.
IZHnews #0C - Hidden part.
Отдых - Воспоминания штандартенфюрера Макс-Отто Фон Штирлица.
СС'99 - интервью: Вячеслав Медноногов/Copper Feet (о Черном Вороне 2).
Не надо Ля-ля! - весьма прикольные стишки.

В этот день...   28 апреля