Работа с ZX-Spectrum 1993 г.

Глава 2 - основы программирования.


ГЛАВА 2

ОСНОВЫ ПРОГРАММИРОВАНИЯ
НА ЯЗЫКЕ «BASIC»

Краткое содержания программы; номера строк; редактирование
программ с использованием клавиш: вверх,
вниз, EDIT;

команды RUN, LIST, GO ТО, CONTINUE,
INPUT, NEW, REM, PRINT, STOP в INPUT -
данных; BREAK.

Наберите эти две строки программы вычисления суммы двух чисел
20 PRINT А
10 LET А-10
так. чтоб на экоане появилось:

10 [>] LET А-10
20 PRINT А

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

Теперь наберите:

15 LET В-15

и введите.

Подобного невозможно было бы сделать, если бы нумерация начина-
лась с 1 и 2, а не с 10 и 20, как в нашем случае. (Номер может быть в интер-
вале от 1 до 9999).

Допустим, теперь Вам понадобилось изменить строку 20 на следую-
щую:

20 PRINT А+В

это можно сделать, используя команду EDIT.

Символ [>] в строке 15 называется программным курсором, а строка, на
которую он указывает, называется текущей. Это обычно последняя введен-
ная строка, но Вы имеете возможность переместить программный курсор
выше или ниже, используя соответствующие клавиши управления курсором.
Установите его в строку 20. Когда Вы нажмёте клавишу EDIT, то в нижней
части экрана появится копия текущей строки, в Нашем случае копия строки
20. Нажмите и удерживайте клавишу перемещения курсора вправо до тех
пор, пока курсор [Ц не переместится на конец оператора, и затем введите
"+В* (без нажатия ENTER). Строка в нижней Масти экрана примет вид:
20 PRINT А+В

Теперь нажмите ENTER и это вызовет замену старой строки 20 на но-
вую, записанную в нижней части экрана. На экране это будет выглядеть так:

10 LET А-10
15 LET В - 15
20 [>] PRINT А+В

Запустите программу, нажав RUN и ENTER и получите на экране сум-
му.

Выполните теперь команду PRINT А, В. Переменные сохраняются даже
после завершения программы.

Есть ещё одно применение команды EDIT. Допустим, Вам надо
удалить всю строку, набранную в нижней части экрана. Для этого Вы можете
нажать и удерживать до конца строки клавишу DELETE. Но можно сделать
быстрее: нажать EDIT, что вызовет копирование текущей строки в нижнюю
часть экрана, затем нажать ENTER, строка заменит такую же в программе. А
нижняя часть экрана очистится.

Введите строку:

12 LET В«8

Теперь для удаления этой строки наберите:

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 15 указывает, что надо отобразить листинг со строки с
номером 15 и устанавливает в эту строку программный курсор. Это бывает
удобно при просмотре очень больших программ. Другое назначение номе-
ров строк, это служить именем оператора при ссылке к нему из другого мес-
та программы, (в GO ТО п). Команда LIST без операндов выдает листинг с
первой строки. Команда NEW очищает память компьютера от старых прог-
рамм и переменных.

Теперь выполним программу, переводящую значения температуры в
градусах по Фаренгейту в температуру по Цельсию:
10 REM Temperature conversion
20 PRINT "deg FVdeg C"
30 PRINT

40 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 This polite program remembers your name

110 INPUT N$

120 PRINT "HELLO";N$;"!"

130 GO TO 110

Эта программа никак не связана с набранной нами ранее программой,
но их обе можно держать в памяти компьютера одновременно.

Для того, чтобы выполнить отдельно только последнюю программу надо
ввести команду:

RUN 100

Эта программа вводит строку символов, что должно указываться стро-
ковыми кавычками. Если их опустить, то компьютер попытается найти пере-
менную с таким именем и использовать её значение в качестве INPUT -
данных. Например, ответьте программе:

N$ (удалив кавычки)

Это сделает оператор INPUT в строке 110 подобным оператору
LET N$=N$

Если Вы решили ввести STOP под строковый ввод, то должны уста-
новить курсор в начало строки, используя клавишу управления курсором
<влево>. Действие команды "RUN 100й подобно действию оператора GO
ТО", но имеются и различия. RUN 100 очищает все переменные и экран, и
после этого выполняет GO ТО 100. Другое отличие в том, что Вы можете ука-
зать RUN без номера строки, и тогда выполнение начнётся с первой строки,
а оператор GO ТО всегда должен содержать номер строки.

Обе приведенные программы останавливались нами вводом команды
STOP, но могут быть программы, которые невозможно остановить подоб-
ным образом, например:

200 GO ТО 200
RUN 200

Остановить эту программу можно, если нажать клавиши CAPS SHIFT и
SPACE. Это вызовет ввод команды BREAK, которая остановит вычисления с
выдачей сообщения "L BREAK into program". Команда BREAK может быть
использована и во время выполнения операции на магнитофоне или принте-
ре. В этом случае выдается сообщение D BREAK - CONt repeats ...и. Ко-
манда CONTINUE.в этом случае ( как и в большинстве других ), вызовет
повторение оператора, в котором произошел останов. Ввод команды
CONTINUE после сообщения "L BREAK into program..." продолжит выпол-
нение со следующего оператора. Запустите вторую программу снова и ког-
да она запросит ввод, введите:

N$ (удалив кавычки)

поскольку значение " N$ " не определено, то будет выдано сообщение:
"2 Variable not found ...". Если теперь Вы выполните:
LET N$ - "Something definite"
на что компьютер ответит "О ОК, 0:1", а затем введете CONTINUE, то
увидите, что программа завершится нормально.

Как уже отмечалось, сообщение "L BREAK into program..." особое, так
как выдача после него CONTINUE не вызывает повторение команды, вы-
звавшей останов.

Все приведенные в этой главе утверждения PRINT, LET, INPUT, RUN,
LIST, GO TO, CONTINUE, NEW и REM могут быть использованы либо как
операторы в программе, либо как команды. Хотя RUN, LIST, CONTINUE и
NEW чаще используются как команды, но могут быть использованы и в прог-
рамме.




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
Премьера - две авторские программы "Считалка" - обучение устному счету и LIFE - позволяет исследовать математическую модель деления клеток.
На досуге - 10:2 Hacker eRRoR новый вирус от Митника.
HARDWARE - анонс Falcon Sound Drive.
Обратная связь - контакты редакции.
BBS на ZX - Проект устава , создающейся в Санкт-Петербурге компьютерной сети для ZX-совместимых машин SPbZXNet.

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