Программирование на языке BASIC 1990 г.

Глава 2 - Основы программирования на языке Бейсик.


Глава 2
         О С Н О В Ы   П Р О Г Р А М М И Р О В А Н И Я
Краткое содержание:  программы,  номера  строк,  редактирование
                     программ с использованием клавиш:
                     < вверх>, < вниз>, EDIT,
                     команды RUN, LIST, GO TO , CONTINUE,INPUT,
                     NEW, REM, PRINT, STOP в INPUT данных, BREAK
    Наберите эти две строки программы вычисления суммы двух чисел
            10 LET A=10
            20 PRINT A
 так, чтобы на экране появилось:
                   10 (>) LET а=10
                   20 PRINT A
                   (K)
    Строка программы должна начинаться с номера, который не запи-
сывается в память,  а служит лишь для указания порядка следования
строк в программе, что важно при ее выполнении.
    Теперь наберите:
               15 LET в=15
и введите. Подобного невозможно было бы сделать, если бы нумерация
начиналась с 1 и 2,  а не с 10 и 20,  как в нашем случае,  (номер
может быть в интервале от 1 до 9999).
    Допустим,  теперь вам понадобилось изменить строку 20 на сле-
дующую:
                20 PRINT а+в
Это можно сделать используя команду EDIT.
    Символ  (>) в строке 15 называется  программным  курсором,  а
строка  на которую он указывает,  называется текущей,  это обычно
последняя введенная строка,  но вы имеете возможность переместить
программный  курсор выше или ниже использыя соответствующие  кла-
виши управления курсором,  установите его в строку 20,  когда  вы
нажмете  клавишу  EDIT,  то в нижней части экрана появится  копия
текущей строки, в нашем случае копия строки 20, нажмите и удержи-
вайте клавишу перемещения курсора вправо до тех пор,  пока курсор
(L)  не  переместится на конец оператора и затем  введите 'В' без
нажатия ENTER, строка в нижней части экрана примет вид:
                 20 PRINT A+B
Теперь  нажмите  ENTER и это вызовет замену старой строки  20  на
новую  записанную  в нижней части экрана,  на  экране  это  будет
выглядеть так:
                         10    LET A=10
                         15    LET B=15
                         20(>) PRINT A+B
                         (K)
Запустите  программу  нажав  RUN и ENTER  и  получите  на  экране
сумму.
    Выполните  программу PRINT а,в,  переменные сохраняются  даже
после завершения программы.
    Есть  еще  одно применение команды EDIT,  допустим  вам  надо
удалить всю строку набранную в нижней части экрана,  для этого вы
можете  нажать  и удерживать до конца строки клавишу  DELETE,  но
можно сделать быстрее:  нажать EDIT,  что вызовет копирование те-
кущей строки в нижнюю часть экрана,  затем нажать  ENTER,  строка
заменит такую же в программе, а нижняя часть экрана очистится.
    Введите строку:
                           12 LET B=B
Теперь для удаления этой строки наберите:
                           12    (и затем ENTER)
программный  курсор станет между строками 10 и 15,  но  клавишами
управления курсором вы можете установить его в любую строку.
Еще  раз  выполните 12 и ENTER,  курсор снова  установится  между
строками 10 и 15,  теперь нажмите EDIT и строка 15 будет скопиро-
вана  в нижнюю часть экрана.  Оператор EDIT копирует вниз  строку
следующую за строкой с новым номером,  нажмите ENTER для  очистки
нижней части экрана.
     Теперь введите:
                            30 ( и затем ENTER)
программный  курсор  установится после конца программы,  если  вы
теперь нажмете EDIT вниз будет перенесена строка 20
     и, наконец, выполните команду:
                             LIST 15
Теперь вы увидите на экране:
                             15 LET B=15
                             20 PRINT A+B
Строка 10 не отображается на экране,  но она сохраняется в  вашей
программе, вы можете убедиться в этом нажав ENTER.
    Команда  LIST  15  указывает что надо отобразить  листинг  со
строки  с  номером 15 и устанавливает в  эту  строку  программный
курсор, это бывает удобно при просмотре очень больших программ.
    Другое назначение номеров строк это, служить именем оператора
при ссылке к нему из другого места программы, ( GO TO N).
    Команда LIST без операндов выдает листинг с первой строки.
    Команда  NEW очищает память компьютера от старых  программ  и
переменных.
    Теперь  выполним программу переводящую значение температуры в
градусах по Фаренгейту в температуру по Цельсию
                      10 REM TEMPERATURE CONVERSION
                      20 PRINT "DEG F", "DEG C"
                      30 PRINT
                      40 INPUT "ENTER DEG F ", F
                      50 PRINTF;( F-32)=5/9
                      60 GO TO 40
    Вы  увидите  что заголовок выводится в строке  20,  и  у  вас
возникнет вопрос,  что же делает строка 10?  компьютер игнорирует
эту строку.  Это коментарии (REMARK или RENAMBER) все что следует
после REMARK компьютером игнорируется до конца строки.
    Вычисления  доходят  до  строки 40 и  компьютер  переходит  в
режим ожидания значения переменной F,  вы можете ввести это
значение в режиме (L), наберите число и нажмите  ENTER, компьютер
выведет  результат и снова перейдет в ожидание следующего  числа,
этот переход обеспечивается в строке 60 в операторе GO TO 40.
    Если  на запрос очередного числа ответить STOP,  то компьютер
остановится  с выдачей сообщения:  'H STOP IN INPUT IN  LINE  40'
которое поясняет причину останова и место останова (первый опера-
тор в строке 40).
    Если  теперь вы желаете вновь продолжить выполнение программы
то введите CONTINUE и компьютер запросит очередное число.
    При  использовании CONTINUE компьютер запоминает (до  выдачи
'0 ок') номер последней выполняемой строки и продолжает выполне-
ние именно с этой строки.
    Просмотрите внимательно оператор PRINT в строке 50, запятая в
нем  очень  важна,  запятые  в операторе PRINT  используются  для
указания того, что вывод следующий после запятой должен продолжа-
ться либо с левого края экрана либо с его середины, в зависимости
от  того какая это по порядку запятая в данном операторе,  так  в
строке  50 запятая предписывает выводить значение  температуры  в
градусах цельсия с середины эрана.
    Если  использовать в операторе PRINT вместо запятой  точку  с
запятой ';',  то очередные данные будут выводится непосредственно
после предыдущих.
    Оператор в строке 30 выводит чистую строку.
    Оператор  PRINT  всегда  начинает вывод  с  начала  следующей
строки,  но  это  можно изменить,  поставив в  конце  предыдущего
оператора PRINT запятую или точку с запятой :
                     50 PRINT F ,
                     60 PRINT F;
Не  путайте  эти  знаки с двоеточием  ':',  которое  используется
только для разделения разных операторов в одной строке.
     Теперь наберем еще несколько программных строк:
                     100 REM THIS POLITE PROGRAM REMEMBER 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 TO,
но  имеются и отличия,  RUN 100 очищает все переменные и экран  и
после  этого выполняет GO TO 100,  другое отличие в том,  что  вы
можете указать RUN без номера строки, и тогда выполнение начнется
с  первой строки,  а оператор GO TO всегда должен содержать номер
строки.
    Обе приведенные программы останавливались нами вводом команды
STOP,  но  могут быть программы,  которые  невозможно  остановить
подобным образом, например:
                          200 GO TO 200
                          RUN 200
Остановить эту программу можно,  если нажать клавиши CAPS SHIFT и
SPACE,  это вызовет ввод программы BREAK, которая остановит вычи-
сления с выдачей сообщения 'L BREAK INTO PROGRAM'.  Команда BREAK
может  быть использована и во время выполнения операции на магни-
тофоне  или принтере,  в этом случае выдается сообщение 'D  BREAK
CONT REPEATS',  команда CONTINUE в этом случае (как и в  большин-
стве других),  вызовет повторение оператора,  в котором произошел
останов.  Ввод  команды  CONTINUE после сообщения 'L BREAK  INTO
PROGRAM' прдолжит выполнение со следующего оператор.
    Запустите  вторую программу снова и когда она запросит  ввод,
введите:
                   N$        (удалив перемычки)
Поскольку значение N$' не определено, то будет выдано сообщение:
'Z VARIABLE NOT FOUND', если теперь вы выполните:
                      LET N$="SONETING DEFINITE"
на что компьютер ответит '0 ок,0:1',
а  затем введете CONTINUE,  то увидите что  программа  завершится
нормально.  Как  уже отмечалось сообщение 'L BREAK INTO PROGRAM'
особое, так как выдача после него CONTINUE не вызывает повторение
команды, вызвавшей останов.
    Все приведенные в этой главе утверждения PRINT,  LET,  INPUT,
RUN, LIST, GO TO, CONTINUE,NEW и REM могут быть использованы либо
как  операторы в программе,  либо как команды,  хотя  RUN,  LIST,
CONTINUE  и  REM чаще используются как  команды,  но  могут  быть
использованы и в программе.



СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
Опрос - результаты анкетирования 45 Спектрумистов.
Hу извини братан! - полный бред.
AY музыка с цифровыми сэмплами - цифровая музыка в Pro Tracker.3 для General Sound.
Введение - Новоя оболочка газеты.
final words to scene - "excelente!, - сказали бы сейчас мои испанские друзья, и я бы с ними согласился."

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