Сириус. Руководство по эксплуатации. 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. Есть еще несколько возможностей
описания данных.

Одна из них -




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
Обзор - обзор свежих релизов: Lord of Chaos, F-19 Stealth Fighter, Carrier Command, The Simpsons, Gauntlet 3, The Addams Family, Wild West Seymour, Sly Spy, Paris To Dakar, Duck Out, Johangir Khan World Championchip Squash, The Amazing Adventures of Robin Hood.
Editorial - две триады кристая: "...Однако я люблю крик2! Он получился немного наивным, возможно, абсурдным, но для меня он характерен прежде всего теплотой..."
For Coderz - CD video на ZX. Как написать плеер видео с компакт-диска.
Игры - ARKANOID 2
Scene - Notcon 2004 report from Gasman.

В этот день...   6 ноября