
Лабораторные работы. Методические указания для подготовки бакалавров по направлению 552900 - Техноло / лабы ТМС / Лабораторная работа №14
.docМинистерство образования Российской Федерации
Тульский государственный университет
Кафедра "ТЕХНОЛОГИЯ МАШИНОСТРОЕНИЯ"
ИНФОРМАТИКА
Лабораторная работа №14
Работа с параметрами библиотеки пользователя.
Методические указания
для подготовки бакалавров по направлению 552900 - "Технология, оборудование и автоматизация машиностроительных производств" дневного обучения
Тула 2001.
1. Операторы работы с библиотеками пользователя.
Оператор объявления 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, то используется указанное альтернативное имя. |
Синтаксис аргумента <список параметров>
[ {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. Контрольные вопросы:
-
Какие программы помещают в библиотеки ?
-
Есть ли в языке Basic Microsoft стандартные библиотеки и что в них содержится ?
-
Для чего нужна библиотека пользователя ?
-
Можно ли в Basic Microsoft использовать одновременно несколько библиотек ?
-
Как вызываются функции и подпрограммы из библиотеки пользователя ?
-
Может ли имя переменной совпадать с именем процедуры, размещенной в подключенной библиотеки ?
-
Каким оператором вызывается подпрограмма из библиотеки ?
-
Может ли библиотечный файл быть в виде текстового файла, написанного на языке Basic Microsoft и как его подключить ?
-
Что содержит файл с расширением .мак ?
-
можно ли объединить несколько библиотек в одну ?
Таблица
Задания
n |
Функция y(x) |
n |
Функция y(x) |
1 |
|
16 |
|
2 |
|
17 |
|
3 |
|
18 |
|
4 |
|
19 |
|
5 |
|
20 |
|
6 |
|
21 |
|
7 |
|
22 |
|
8 |
|
23 |
|
9 |
|
24 |
|
10 |
|
25 |
|
11 |
|
26 |
|
12 |
|
27 |
|
13 |
|
28 |
|
14 |
|
29 |
|
15 |
|
30 |
|