|
Главная -> Справочник по алгоритмам 0 1 2 3 4 5 6 [7] 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 происходит выполнение следующего за циклом оператора. Переменная а должна быть простой, а-Э, v и б могут быть числами, переменными , или значениями арифметических выражений. Отсутствие в цикле оператора STEP автоматически придает величине 6 значение б= + 1. Примеры применения операторов организации циклов даны в 2.4. Оператор обращения к подпрограмме GOSUB п (от слов go subroutine - идти к подпро1-рамме) обеспечивает переход к выполнению подпрограммы, начинающейся со строки п. Подпрограммы применяются в том случае, когда нужно неоднократно выполнить одну и ту же группу операторов. Оператор возврата из подпрограммы RETURN (return - возвращение) обеспечивает возврат из подпрограммы после ее выполнения к оператору, следующему за обращением .QOSUB п. Оператор RETURN ставится в конце подпрограммы. Циклы й подпрограммы могут быть вложенными друг в друга (более подробно см. § 2.4). Оператор программных комментариев REMARK (или сокращенно REM, от слова remark - комментировать). Этот оператор служит для ввода в программу пояснений - комментариев, заключенных в апострофы или кавычки (или без них). Эти комментарии выводятся на печать только при выводе листинга программы. Применение комментариев, делает сложные программы более наглядными. Оператор останова STOP используется для остановки вычислений в любом месте программы. Обычно при этом ПЭВМ выдает комментарий с указанием, в какой строке произошел останов, например; ОСТАНОВ В СТРОКЕ 100 ГОТОВ Оператор окончания программы END служит для фиксации конца программы, что необходимо, например; при записи программы на магнитную ленту ил"и диск. Если этот оператор поместить в середине программы, будет записана только ее часть - до оператора END. Оператор END также обеспечивает останов вычислений. Служебные операторы бейсика Оператор задания функций пользователя - DEF FN (переменная) (параметр) =а, где а - собственно функция. Например, выражение DEF EN Y(X) ==SrN(X)/X задает функцию Y(X) =SIN(X)/X, которую можно использовать как обычную стандартную функцию. Служебные операторы бейсика приведены в табл. 2.5. Вместо оператора стирания DELETE (от слова delete - уничтожать) часто используется оператор CLEAR (Clear - стирать). Оператор SAVE записи программы на носитель и операторы загрузки программы в ЭВМ с носителя (OLD или LOAD) часто дополняются указаниями на тип носителя (перфолента, магнитофонная кассета, магнитный диск и т. д.) и на место записи или считывания (номер дорожки, сектора и т. д.). Полный вид этих операторов у различных ПЭВМ может иметь некоторые непринципиальные различия. Приведенные ниже примеры относятся к работе с системой подготовки программ на базе микроЭВМ Электроника-ДЗ-28. При записи текста программы на магнитную ленту интерпретатор формирует так называемый программный файл, состоящий из заголовка, записи строк программы и закрывающей файл записи. Для записи программы используется оператор SAVE (хранить). Примеры. SAVE 50, 150 - записываются строки от 50 до 150 безымянной программы; SAVE СТАТИСТИКА - записывается вся программа с именем СТАТИСТИКА; SAVE - записываются все строки (от 1 до 7 999) программ, имеющихся в ОЗУ; SAVE END - служебная запись, означающая конец ленты. Чтение программных файлов с магнитной ленты и нх загрузка в ОЗУ производится оператором LOAD (загрузить). Примеры. LOAD а НС1, НС2 - в ОЗУ загружаются строки программы с именем а от НС1 до НС2; LOAD СТАТИСТИКА - загружается вся программа с именем СТАТИСТИКА. Следует отметить, что имя программ распознается только по шести начальным символам, включая пробелы. Если имя файла Таблица 2.5
не задано, при выполнении оператора SAVE произойдет загрузка очередного файла. Для записи на магнитную ленту блока данных применяется оператор DATA SAVE с последующим списком блока. Например, оператор DATA SAVE В(3), SIN (X+Y) • Z, С обеспечивает запись на ленте значений переменной В(3) одномерного массива В, выражения Z * SIN (X + Y), переменной С. Блоки могут объединяться в файлы данных, которые начинаются с оператора (заголовка) DATA SAVE OPEN и заканчиваются оператором DATA SAVE END. После заголовка может указываться имя файла, заключенное в апострофы. Чтение с магнитной ленты блока данных с присвоением их переменным производится оператором- DATA LOAD со списком переменных, разделенных запятыми. Оператор DATA LOAD а обеспечивает поиск на магнитной ленте файла с именем а. Для пропуска некоторого числа блоков или файлов используется оператор SKIP (перепрыгнуть), после которого указывается это число, например, оператор SKIP 2 обеспечивает пропуск двух блоков данных, а оператор SKIP 3 - пропуск трех файлов данных. Перемотка ленты в начало производится оператором REWIND (перемотать). Операторы SAVE и LOAD могут использоваться также при работе с дисковым накопителем. При этом после них указываются: номер дисковода (# 1), номер диска (О или 1 при двухдисковом дисководе), номер дорожки диска и номер сектора. § 2.2. Модификации языка бейсик Бейсик имеет десятки модификаций, рассмотреть которые в одной книге едва ли возможно. Это и нецелесообразно, поскольку достаточно ознакомиться с несколькими характерными версиями бейсика, начиная с простых (§ 2.1) и кончая расширенными, описанными ниже. Версия бейсика систем подготовки программ (СПП) на базе мнкроЭВМ Электроника-ДЗ-28 содержит ряд дополнительных операторов, приведенных в табл. 2.6. Прежде всего они расширяют набор используемых математических функций. Оператор PRINT TAB а обеспечивает перемещение места печати (или индикации) в строке на позицию с номером, задаваемым целой частью арифметического выражения, числа или переменной а. Этот оператор используется для табуляции табличных данных и печати простых графиков (см. § 2.5). Оператор CALL (вызов) служит для вызова внешней подпрограммы с номером я. Внешняя подпрограмма должна завершаться оператором RTS (код 0511). Внешние программы загружаются в начале диалога и могут писаться в кодах, что существенно ускоряет вычисления. Оператор ON (по) обеспечивает безусловный переход (ветвление) по адресу, заданному целой частью арифметического выражения, числа или переменной а (косвенная адресация) . Версия бейсика микроЭВМ FX-702P класса Pocket Computers содержит практически все операторы описанных выше версий. Дополнительные операторы этой версии приведены в табл. 2.7. Они наглядно иллюстрируют большие функциональные возможности, которыми могут обладать даже сверхминиатюрные ЭВМ класса Pocket Computers. В состав этой версии входит ряд дополнительных операторов вычисления математических функций: ! (факториала), FRAC (выделения дробной части чисел), DEG и DMS (преобразования углов), RPC и PRC Таблица 2.6 Дополнительные операторы расширенной версии языка бейсик для системы подготовки программ на базе микроЭВМ Электроиика-ДЗ-28
Дополнительные операторы расширенной версии языка бейсик ПЭВМ
LENICS) MlD(m[.«]) AS = KEY CLR ALL PASS"K" GSB #n GOTO #n GSB a GSB #a GOTO cc GOTO #a IF NS = "<V>-THEN n. #n DEF.V\ n CSR n PRT *#.## PRT #.##t SET N Вычисление числа символов в символьной переменной СБ Выделение п симаолов символьной переменной 6, начиная с символа с номера т Присвоение клавише А свойств клавиши пользователя Стирание всех.ячеек памяти (обиулеиие всех переменных) Стирание ячеек памяти статистических расчетов Стирание всех программ (от РО до Р9) Кодирование (засекречивание) програм-мы кодо.м К (до 8 знаков) Обращение к подпрограмме, помещенной в программную область Рп Безусловный переход к программе, помещенной в программной области Рп Обращение к подпрограмме с косвенной адресацией (номер строки задается арифметическим выражением ct) Безусловный переход с косвенной адресацией (адрес задается значением арифметического выражения а) Безусловный переход к программе Рп. номер которой п задается значением арифметического выражения а Условный переход по адресу п или к программе Рп, если символьная константа МБ равна символу <V> Высвобождение памяти под 10 (я-)- 1) переменных массивов, где п --О-г- 19 Перемещение начала индикации или печати на позицию п (л = 0-=-19), оператор используется вместе с оператором PRT Задание фор.мата чисел в форме с фиксированной запятой (знак # соответствует одной цифре) Задание формата чисел в экспоненциальной форме с плавающей запятой (знак # соответствует одной цифре) Задание Стандартной формы чисел с Ю-ю знаками мантиссы 0 1 2 3 4 5 6 [7] 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 0.0125 |
|