Главная » Basic » ВВОД ПРОГРАММЫ НА БЕЙСИКЕ

0

После выполнения Вами одной из описанных выше процедур система готова к вводу программы. Наберите первую строку, не забыв указать номер оператора, и нажмите клавишу возврата каретки (на Вашей клавиатуре она может иметь маркировку RETURN, CR или ACCEPT). Тем самым управление будет передано ЭВМ, которая запомнит введенную строку и выдаст приглашение к вводу следующей строки.  Некоторые  вычислительные  системы,  в  основном  большие  мультитерминальные  ЭВМ, проверяют правильность строки перед тем, как воспринять ее. Это свойство очень полезно, так как сразу выявляются нередко случающиеся опечатки и такие ошибки, как недостающие скобки. В этом случае система не запомнит ошибочную строку. Большинство систем с Бейсиком для микроЭВМ не обладает таким свойством; они выполняют аналогичные синтаксические проверки только в момент исполнения программы.

Наберите следующую строку, завершив ее ввод нажатием клавиши возврата каретки, и продолжайте до тех пор, пока не введете всю программу.

Ошибки  в  операторах  неизбежны.  Процесс  изменения  операторов  называется  редактированием.

Проще всего изменить текущую строку; это называется редактированием строки.

1.1.3.  РЕДАКТИРОВАНИЕ СТРОКИ

Существует два способа исправления ошибок в отдельной строке. Рассмотрим ошибочный оператор

10 INPUS A

(а)  Если  Вы  уже  послали  эту  строку  в  ЭВМ  (нажатием  на  клавишу  возврата  каретки),  то  для исправления ошибки вся строка попросту набирается заново, включая ее номер:

10 INPUT А   нажмите клавишу возврата каретки

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

10   нажмите клавишу возврата каретки

Набор такой строки вызовет удаление строки 10. Зачастую имеется команда удаления строк по одной или целой группой.

(б)  Если  клавиша  возврата  каретки  еще  не  нажата,  то  можно  аннулировать  всю  строку   или попытаться исправить ошибку. Если аннулировать строку проще, то обычно требуется одновременно нажать две клавиши: одна из них — клавиша управляющего регистра  (маркированная CTRL или CONTROL), а другая зависит от конкретной системы. Приведем несколько примеров:

ЭВМ 1CL 2903/4    — CONTROL и X SINCLAIR ZX81    — EDIT и затем NEWLINE Бейсик Microsoft — CONTROL и X

Если ошибка замечена вскоре после того, как она была сделана, нажмите клавишу удаления символа (маркированную DELETE, или ←, или RUBOUT, или подчеркиванием (_)) столько  раз, сколько символов надо удалить. Тем самым уничтожаются символы, которые должны быть посланы ЭВМ. В некоторых системах изображение удаляемых символов может остаться на  экране ВТУ. Например, ввод строки

10 INPUS ←T А   нажмите клавишу возврата каретки

эквивалент вводу 10 INPUT А. Здесь нажатие на клавишу удаления показано как ← ; при  этом удаляется набранный перед ней символ. Чтобы сделать правильной строку

10 INPT А

нажмите клавишу удаления трижды (для уничтожения последовательности символов "Т пробел А") : 10 INPT A ←←← UT А     нажмите клавишу возврата каретки Запомните, что последней  версией данной строки является та, которая находится в памяти и будет взята при исполнении  программы. Строки можно вводить в любом порядке;  пропущенные строки можно добавить в любой момент до исполнения программы.

Большинство  микроЭВМ  обеспечивает  возможность  изображения  на  ВТУ  всей  программы  или только ее части и перемещения курсора по экрану в процессе изменения программы. Этот  способ редактирования называется редактированием экрана и в значительной степени зависит от конкретной

системы. В системе с Бейсиком ВВС требуется переместить курсор к изменяемой строке и  затем использовать клавишу COPY для создания новой строки. После завершения коррекции строки надо нажать клавишу возврата каретки.

1.2.  ПРИМЕРЫ ПРОГРАММ

Ниже   представлены  для   исполнения  три   программы.  После   каждой   приводится   подробное обсуждение ее свойств. При этом потребуются  команды

RUN, исполняющая программу, и LIST, изображающая программу на ВТУ. Эти команды подробно описаны в разд. 2.4.

Первая программа выполняет простое преобразование из английских мер длины (футы и дюймы) в метрические:

10 REM ПРОГРАММА ПРЕОБРАЗОВАНИЯ

20 PRINT "ЗАДАЙТЕ ДЛИНУ В ФУТАХ И ДЮЙМАХ"

30 INPUT F,I

40   I=I+F*12

50   C=I*2.540

60  C=C/100

70 PRINT "МЕТРИЧЕСКИЙ ЭКВИВАЛЕНТ РАВЕН";С;"М" 80 END

Строка 10 служит комментарием и не вызывает никаких действий.

Строка 20 выдает сообщение "ЗАДАЙТЕ ДЛИНУ В ФУТАХ И ДЮЙМАХ".

Строка 30  требует ввода двух  элементов данных; укажите их  значения вместе в  одной  строке,

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

Строка 40 преобразует футы в дюймы и добавляет полученный результат к ранее введенному числу дюймов.

Строка 50 преобразует длину из дюймов в сантиметры (считая, что в одном дюйме 2.540 см) .

Строка 60 делением на 100 преобразует длину из сантиметров в метры.

Строка 70 изображает результат в виде текста "МЕТРИЧЕСКИЙ ЭКВИВАЛЕНТ РАВЕН  XXX.XX

МЕТРОВ".

Раздельное изображение числа метров и сантиметров при выводе результата требует несколько более подробных сведений о Бейсике, чем до сих пор изложено. Необходимые детали можно почерпнуть из обсуждения функции INT в гл. 3.

Строки (или любые символы) можно использовать наряду с числами, но определенные детали  их применения несколько отличаются в  разных  системах  с  Бейсиком.  Следующий пример  должен успешно исполняться на большинстве ЭВМ:

10 REM ИЛЛЮСТРАЦИЯ РАБОТЫ СО СТРОКАМИ СИМВОЛОВ

20 PRINT "ПОЖАЛУЙСТА, ВВЕДИТЕ ВАШУ ФАМИЛИЮ"

30 INPUT A$

40 PRINT "ПОЖАЛУЙСТА. ВВЕДИТЕ ВАШЕ ИМЯ"

50 INPUT B$

60 С$=В$+" "+А$

70 PRINT "ДОБРЫЙ ДЕНЬ. ";С$;" КАК ПОЖИВАЕТЕ?"

80 END

Строка 20 выдает изображение "ПОЖАЛУЙСТА, ВВЕДИТЕ ВАШУ ФАМИЛИЮ". Строка 30 требует ввода нескольких символов в качестве значения переменной А$. Строки 40 и 50 имеют аналогичное назначение для переменной В$.

В строке 60 формируется строка текста, состоящая из имени, за которым следует вначале пробел, а затем   фамилия.   Хотя   при   этом   и   используется   знак   сложения,   эта   операция   называется конкатенацией и представляет собой

слияние строк для образования более длинной строки, в нашем случае запоминаемой в переменной С$.

В некоторых системах для обозначения конкатенации используется не знак сложения, а знак &. Последняя программа похожа по структуре как на первые две, так и на те, что мы видели  ранее, однако она содержит несколько ошибок. Она должна вычислить и изобразить на экране  среднее значение трех величин, которые программа получает при вводе. Если программа набрана следующим образом:

10 REM ПРОГРАММА ВЫЧИСЛЕНИЯ СРЕДНЕГО ЗНАЧЕНИЯ

20 PRINT "ВВЕДИТЕ 3 ЧИСЛА, ПОЖАЛУЙСТА"

30 INPUT A,B1,C2

40 А1=А+В+С/3

50 PRINT "СРЕДНЕЕ ИЗ";А;В;С;"РАВНО";А0

60 END

то исполняться она будет, но при этом будут выдаваться ошибочные результаты.

Запустите эту программу, задавая тестовые значения для трех переменных. Проверьте  результат; если  он  ошибочен,  займитесь  "отладкой"  программы,  другими  словами,  поиском  и  удалением ошибок. Умение отлаживать программу искусство, развиваемое практикой. Но  если  Вы только начинаете заниматься отладкой, полезно задаться двумя вопросами. Во-первых, по какому пути идет выполнение программы (в какой последовательности исполняются операторы,  т.  е. как передается управление от оператора к оператору); во-вторых, какие значения принимают внутренние переменные в различных точках программы?

Просмотрите  программу  с  помощью  команды  LIST.  Изучение  программы  показывает,  что  она исполняется последовательно, без каких-либо отклонений, начиная со строки 10 и до  строки 60. Затем  проверьте  значения  переменных.  Конечные  значения  переменных  можно   посмотреть  с помощью  немедленно  выполняемого  оператора  PRINT  (например,  PRINT  A2,   А,  В,  С).  Для изображения промежуточных значений в программу можно вставлять  дополнительные операторы PRINT, давая им новые номера строк, например 25,35 и т. д. Исполняйте программу несколько раз, до тех пор пока не добьетесь желаемого результата.

Источник: Уолш Б.    Программирование на Бейсике: Пер. с англ. М.: Радио и связь, 1988. 336 с: ил.

По теме:

  • Комментарии