Глава 2
Основы программирования н ?
Ц з ы к с б р й с и к
Краткое содержание: программы, помера строк, редактирование прог-
рамм с использованием клавиш: <вверх>,
<вппз>, EDIT, Команды RUN, LIST, GO ТО,
CONTINUE, INPUT, NEW, REM, PRINT, STOP в
INPUT-данных, BREAK*
Наберите эти две строки программы вычисления суммы двух чисел .
20 PRINT А
10 LET А*10
так, чтобы на экране появилось:*<* ОЗЬВТ А* 1С
ZV PffXtfT Айсз
строка программы должна начинаться с номера, который не записыва-
ется в память, а служит лишь для указания порядка следования
строк в программе, что важно при ее выполнении.
Теперь наберите:
15 LET В*15И введите, подобного невозможно было бы сделать, если бы нуме-
рация начиналась с 1 н 2, а не с 10 н 20, как в нашем случае.(номер может быть в интервале от 1 до 9999).
Допустим, теперь вам понадобилось изменить строку 20 иа следу-
ющую: 20 PRINT А+ВЭто можно сделать, используя команду EDIT. Символ [>] в строке
15 называется программным курсором, а строка, на которую он ука-
зывает, называется текущей, это обычно последняя введенная стро-
ка, но вы имеете возможность переместить программный курсор выше
или ниже, используя соответствующие клавиши управления курсором,
установите его в строку 20, когда вы нажмете клавишу EDIT, то в
нижней части экрана появится копия текущей строки, в нашем случае
копия строки 20, нажмите и удержите клавишу перемещения курсора
вправо до тех пор., пока курсор (L) не переместится на конец опе-
ратора и затем введите "+В" (без нажатия ENTER), строка в нижней
части экрана примет вид:
20 PRINT А+Втеперь нажмите ENTER, и это вызовет замену старой строки 20 на
новую, записанную в нижней части экрана:10 LET А*10
15 LET ЗВ* i 5
20 [>]PRINT А+ВМ ________
Запустив программу, нажав RUN и ENTER, получите на экране сум-
му, выполните теперь команду PRINT а, в; переменные сохраняются
даже после завершения программы, есть еще одно применение команды
EDIT, допустим вам надо удалить всю строку, набранную в нижней
части экрана, для этого вы можете нажать и удерживать до конца
строки клавишу DELETE, но можно сделать быстрее: нажать EDIT, что
вызовет копирование текущей строки в нижнюю часть экрана, затем
нажать ENTER, строка заменит такую же в программе, а нижняя часть
экрана очистится.Введите строку:
12 LET В»Втеперь для удаления этой строки наберите
12 (и затем ENTER)Программный курсор станет между строками 10 и 15, но клавишами
управления курсором вы можете установить его в любую строку. Еще
раз выполните 12 и ENTER, курсор снова установится между строками
10 и 15. Теперь нажмите EDIT и строка 15 будет скопирована в ниж-
нюю часть экрана. Оператор EDIT копирует вниз строку, следующую
за строкой с новым номером, нажмите ENTER для очистки нижней
части экрана,теперь введите:
30 (и затем ENTER)программный курсор установится после конца программы, если вы те-
перь нажмете EDIT вниз будет переслана строка 20, и наконец, вы-
полните команду:
LIST 15теперь вы увидите на экране:
15 LET В«15
20 PRINT А+ВСтрока 10 не отображается на экране, но она сохраняется в ва-
шей программе. Вы можете убедиться в этом нажав ENTER.Команда LIST IS указывает, что надо отобразить листинг со
строки с номером IS и устанавливает в эту строку программный
курсор. Это бывает удобно при просмотре очень больших программ.Другое назначение номеров строк -это служить именем оператора
при ссылке к нему другого места программы, (в GO ТО N).Команда LIST без операндов выдает листинг с первой строки, ко-
манда NEW очищает память компьютера от старых программ и перемен-
ных .Терерь выполним программу переводящую значения температуры в
градусах по Фаренгейту в температуру по иельсию:
10 REM TEMPERATURE CONVERSION
20 PRINT "DEG F" , " DEG C"
30 PRINT40 INPUT "ENTER DEG F" , F
50 PRINT F, (F-32) *5/9
60 GO TO 40Вы увидите, что заголовок выводится в строке 20, и у вас воз-
никает вопрос, что же деЛает строка 10? Компьютер игнорирует эту
строку, это коментарий (REMARK или REMINDER). Все, что следует
после REM компьютером игнорируется до конца строки.Вычисления доходят до строки 40 н компьютер переходит в ожида-
ние ввода вами значения переменной F, вы можете ввести это значе-
ние в режиме (L). Наберите число и нажмите ENTER, компьютер выве-
дет результат и снова перейдет в ожидание следующего числа. Этот
переход обеспечивается в строке 60 оператором GO ТО 40. Если на
запрос очередного числа ответить STOP, то компьютер остановится с
выдачей сообщения: 'и STOP IN INPUT IN LINE 40: 1', которое по-
ясняет причину останова и место останова (первый оператор в стро-
ке 40). Если теперь вы желаете вновь продолжить выполнение прог-
раммы, то введите CONTINUE и компьютер запросит очередное число.
При использовании CONTINUE компьютер запоминает (до выдачи им '0
ок') номер последней выполнявшейся строки и продолжает выполнение
именно с этой строки. Посмотрите внимательно оператор PRINT в
строке 50, запятая в нем очень важна, запятые в операторе PRINT
используются для указания того, что вывод, следующий после запя-
той, должен продолжаться либо с левого края экрана, либо с его
середины, в зависимости от того какая это по порядку запятая в
данном операторе, так в строке 50 запятая предписывает выводить
значения температуры в градусах цельсия с середины экрана. Если
использовать в операторе PRINT вместо занятой точку с запятой (';
'), то очередные данные будут выводиться непосредственно после
предыдущих. Оператор в строке 30 выводит чистую строку. Оператор
PRINT всегда начинает вывод с начала следующей строки, но это
можно изменить, поставив в в конце предыдущего оператора PRINT
запятую или точку с запятой:
50 PRINT F,
60 PRINT F;Не путайте эти знаки с двоеточием (': *), которое используется
только для разделения разных операторов в одной строке.Теперь наберем несколько программных строк:
100 REM TNIS POLITE PROGRAM REMEMBER YOUR NAME
1 10 INPUT NS120 PRINT "N'ELLO"; N*; "I"
130 GO TO 110Эта программа никак не связана с набранной нами ранее програм-
мой, но их обе можно держать в памяти компьютера одновременно.
Для того, чтобы выполнить отдельно только последнюю программу,надо ввести команду:
RUN 100Эта программа вводит строку символов, что должно указываться
строковыми кавычками, если их опустить, то компьютер попытается
найти переменную с таким же именем и использовать ее значение в
качестве INPUT-данных, например, ответьте программе
N* (удалив кавычки)
это сделает оператор INPUT в строке 110 подобным оператору
LET NS=NSЕсли вы решили ввести STOP под строковый ввод, то должны уста-
новить курсор в начало строки, используя клавишу управления
курсором <влево>.Действие команды 'RUN 100' подобно дейспвию оператора 'GO ТО',
но имеются и различия, RUN 100 очищает все переменные и экран и
после этого выполняет GO ТО 100, другое отличие в том, что вы мо-
жете указать RUN без номера строки, и тогда выполнение начнется с
первой строки, а оператор GO ТО всегда должен содержать номер
строки.Обе приведенные программы останавливались нами вводом команды
STOP, но могут быть программы, которые невозможно остановить по-
добным образом, например:
200 GO ТО 200
RUN 200Остановить эту программу можно, если нажать клавиши CAPS SHIFT
и SPASE, это вызовет ввод команды BREAK, которая остановит работу
с выдачей сообщения 'L BREAK INTO PROGRAM'. Команда BREAK может
быть использована и во время выполнения операции на магнитофоне
или принтере, в этом случае выдается сообщение "D BREAK-CONt
REPEATS", команда CONTINUE в этом случае (как и в большинстве
других), вызовет повторение оператора, в котором произошла оста-
новка. Ввод команды CONTINUE после сообщения "L BREAK INTO
PROGRAM" продолжит выполнение со следующего оператора.Запустите вторую программу снова и когда она запросит ввод,
введите: NS (удалив кавычки)Поскольку значение "NB" не определено, то будет выдано сообще-
ние "2 VARIABLE NOT FOUND", если теперь вы выполните:
LET NB ="SOMETHING DEFINITE"На что компьютер ответит "0 ок,0. Iм, а затем введите
CONTINUE, то увидите, что программа завершится нормально.Как уже отмечалось, сообщение "L BREAK INTO PROGRAMM" особое,
так как выдача после него CONTINUE не вызывает повторение коман-
ды, вызывающей останов.Все приведенные в этой главе утверждения: PRINT, LET, INPUT,
RUN, LIST, GO, CONTINUE, NEW, REM могут быть использованы либо
как операторы в программе, либо как команды, хотя RUN, LIST,
CONTINUE и NEW чаще используются как команды, но могут быть
использованы и в программе.