Операторы работы с библиотеками пользователя.
Оператор объявления BASIC-процедур — DECLARE (BASIC)
Назначение: Объявляет ссылки к BASIC-процедурам и вызывает проверку типов аргументов.
Синтаксис:
DECLARE {FUNCTION | SUB} [ ( [] ) ]
Аргумент | Описание |
Имя процедуры; оно ограничено 40 символами. Имяпроцедуры-функции FUNCTION может сопровождаться маркером типа (%, ,!, #, $) для возвращаемой величины | |
Списокпараметров используется при вызове процедуры, определяет только количество итип аргументов |
Оператор объявления процедур на языках семейства Microsoft — DECLARE
Назначение: Объявляет вызываемые последовательности внешних процедур, написанных на других языках программирования семейства Microsoft.
Синтаксис 1:
DECLARE FUNCTION [CDECL] [ALIAS »»] [ ( [] ) ]
Синтаксис 2
DECLARE SUB [CDECL] [ALIAS ] [( [] ) ]
Элемент | Описание |
FUNCTION | Указывает, что внешняя процедура возвращаетзначение; может использоваться в составе арифметических выражений |
SUB | Указывает,что внешняя процедура вызывается аналогично BASIC-процедуре |
Имя,используемое в BASIC-программе для вызова процедуры; длина до 40 символов;имя процедуры-функции может включать маркер типа (%, , !, #, $)для .возвращаемой величины. | |
CDECL | Указывает,что процедура использует порядок размещения аргументов, свойственный языку С;ключевое слово CDECL указывает на передачу аргументов справа налево, а неслева направо, как принято в среде языка BASIC |
ALIAS | Указывает,что процедура имеет другое имя в .OBJ-файле или библиотеке; если отсутствуетключ ALIAS, то имя процедуры отображается строчными буквами,маркер типа удаляется, а в начале имени добавляется символ подчеркивания, иименно это имя используется при поиске библиотек и внешних файлов; если заключомCDECL следует ключ ALIAS, то используетсяуказанное альтернативное имя. |
<p>Синтаксис аргумента
[ {BYVAL SEG} ][AS ]
[ , [ {BYVAL SEG} ][AS ] ] …
Элемент | Описание |
BYVAL | Указывает, что параметр передается значением, а нессылкой; передача ссылкой принята по умолчанию; ключ можно применять толькодля числовых параметров типа INTEGER, LONG, SINGLE, DOUBLE; при использовании BYVALтекущий аргумент преобразуется к типу, указанному в операторе DECLARE,непосредственно перед передачей параметра |
SEG | Указывает,что параметр передается адресом сегмента |
Имя,допустимое для переменных языка BASIC; существенным являетсятип переменной; если переменная — массив, то в скобках можно указать его размерность(в частности, чтобы обеспечить совместимость с прежними версиями языка) | |
AS | Указываеттип переменной: INTEGER, LONG, SINGLE, DOUBLE, STRING, ANY — или имя структуры;можно указывать также и маркер типа (%, , !, #, $) или принимать его поумолчанию; при объявлении внешних процедур, написанных на других языках,можно указать тип ANY, и это приведет к тому, что проверка типа невыполняется; нельзя использовать тип ANY для аргумента,передаваемого значением |
Если не используются ключи BYVAL и SEG, то аргументы передаются смещением.
Оператор вызова BASIC-процедур — CALL
Назначение: Передает управление подпрограмме SUB на языке BASIC.
Синтаксис 1: CALL [ () ]
Синтаксис 2: [ () ]
Аргумент | Описание |
Имя ограничено длиной в 40 символов. Имя должнобыть объявлено в операторе SUB, если процедураразмешается в этом же модуле | |
Переменныеили константы, передаваемые в процедуру. Аргументы в списке отделяютсяза—пятыми. Аргументы, передаваемые ссылкой, могут быть изменены привыполнении процедуры |
Есливключает переменную массива, то массив указывается именем, за которым следуют пустые скобки.
2. Описание практической части работы:
2.1. Цели лабораторной работы: Изучить возможность подключения библиотек пользователя, работающих в среде qbx.exe.
2.2. Постановка задачи: В соответствии с вариантом задания рассчитать значение функции на интервале х от 0 до 360 град., используя возможность подключения функций из библиотеки пользователя.
2.3. Порядок выполнения работы:
2.3.1. Ознакомиться с теоретической частью.
2.3.2. Получить задание у преподавателя.
2.3.3. Выполнить работу.
2.3.4. Оформить отчет:
2.3.4.1. Содержание отчета:
1. Цель работы — краткая формулировка поставленной цели.
2. Порядок выполнения — определяются действия, необходимые для выполнения данной работы.
3. Постановка задачи — формулирование задачи в соответствии с индивидуальным заданием.
4. Решение поставленной задачи:
4.1. Математическое описание решения поставленной задачи содержит описание связей между параметрами с использованием принятых в математике обозначений.
4.2. Описание логической структуры программы (алгоритм решения) содержит:
— краткое описание схемы программы,
— алгоритм решения (по ГОСТ ) — рисунок,
— краткое описание используемых операторов языка программирования (при необходимости).
4.3. Описание программы содержит:
— название файла, его размер,
— текст программы (или фрагмент для решения конкретной, наиболее важной части задания).
4.4. Результат работы программы:
— значения, полученные в результате выполнения программы
— анализ полученных результатов.
Выводы — отвечают на поставленную цель.
2.4. Контрольные вопросы:
1. Какие программы помещают в библиотеки ?
2. Есть ли в языке Basic Microsoft стандартные библиотеки и что в них содержится ?
3. Для чего нужна библиотека пользователя ?
4. Можно ли в Basic Microsoft использовать одновременно несколько библиотек ?
5. Как вызываются функции и подпрограммы из библиотеки пользователя ?
6. Может ли имя переменной совпадать с именем процедуры, размещенной в подключенной библиотеки ?
7. Каким оператором вызывается подпрограмма из библиотеки ?
8. Может ли библиотечный файл быть в виде текстового файла, написанного на языке Basic Microsoft и как его подключить ?
9. Что содержит файл с расширением .мак ?
10. можно ли объединить несколько библиотек в одну ?
Таблица
Задания
n | Функцияy(x) | n | Функцияy(x) |