Remkomplekty.ru

IT Новости из мира ПК
8 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Модуль math паскаль

Pascal-Паскаль

Программирование. Стандартные функции Pascal-Паскаль

  • Скачено бесплатно: 9311
  • Куплено: 414
  • Pascal-Паскаль->Программирование. Стандартные функции Pascal-Паскаль

Программирование. Стандартные функции Pascal-Паскаль

Стандартные функции Pascal-Паскаль

Порядок вычислений в выражениях следующий:

  1. вычисляются подвыражения, заключенные в скобки;
  2. затем выполняются операции с наибольшим приоритетом; обычно используются следующие уровни приоритетов (в порядке убывания):
    • возведение в степень;
    • мультипликативные операции: * , / , div , mod;
    • унарные операции: + , — , abs , not;
    • аддитивные операции: +, -;
    • операции отношения: = , <>, , =;
    • логические операции: and, or, not;
  3. операции с одинаковым приоритетом выполняются слева направо.

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

  • в Паскале нет стандартной операции или стандартной функции возведения в степень, поэтому используется следующее математическое тождество: x y = e ylnx
  • в Паскале существует только стандартная функция вычисления натурального логарифма, поэтому используется следующее математическое тождество: logab= ln b/ln a

Математическое выражение: x 3/2 — 7x + tg (x+2)

Выражение на Паскале: exp(3*ln(x)/2)-7*x+sin(x+2)/cos(x+2)

Операторы действия

Операторы действия — это средства языка, позволяющие изменять в процессе выполнения программы состояние вычислений. Самый простой оператор действия — оператор присваивания.

Пример оператора присваивания

Оператор присваивания, несмотря на кажущуюся простоту, имеет очень важное алгоритмическое значение.

Удобно считать, что выполнение присваивания переменной некоторого значения означает помещение этого значения в выделенный для переменной ящик. При этом каждый запоминающий ящик обладает следующими свойствами.

  1. В каждый момент времени в ящике может храниться не более одного значения.
  2. Каждый ящик способен хранить только значения одного и того же типа. Попытка поместить в ящик значение любого другого типа приводит к тому, что ящик отказывается принимать на хранение передаваемое ему значение — это расценивается как ошибка в программе.
  3. Значение, помещенное в ящик, будет храниться в нем до тех пор, пока в этот ящик не будет помещено новое значение (в момент присваивания соответствующей переменной этого нового значения) — при этом предыдущее содержимое ящика безвозвратно теряется (уничтожается).
  4. Находящееся в ящике значение считается текущим значением соответствующей переменной. Это текущее значение может быть выдано из ящика для использования сколько угодно раз, но при этом содержимое ящика не меняется: из него каждый раз выдается копия хранящегося значения с сохранением оригинала в ящике без какого-либо изменения.
  5. К началу выполнения программы содержимое всех запоминающих ящиков считается неопределенным; в частности, их нельзя считать и пустыми, поскольку эти ящики могли использоваться при выполнении предыдущих программ, после чего в ящиках могло что-то остаться.

Еще один оператор действия, хотя его можно лишь условно назвать таковым: он не выполняет никакого действия, это — пустой оператор (в Паскале он обознается знаком «;»). В Паскале оператором действия является также оператор процедуры. Последний из простейших операторов действия — оператор останова, который прерывает работу программы (в Паскале это оператор halt).

Ввод и вывод данных

Ввод данных с клавиатуры производится с помощью стандартной процедуры read( ) или ее разновидности readln( ). Элементы списка ввода — идентификаторы (имена) переменных, перечисляемые через запятую. При выполнении этого оператора пользователь набирает на клавиатуре соответствующую последовательность значений, разделяя их пробелами (это важно!).

Пример ввода данных с клавиатуры

read(a,b,c);

readln(a,b,c);

Вывод данных на экран производится с помощью стандартной процедуры write( ) или ее разновидности writeln( ).

Список вывода может содержать константы, переменные, выражения, формат вывода. Выражения в списке вывода разделяются запятыми.

Пример вывода данных на экран

write(a,b,c);

writeln(a,b,c);

Окончание ln в имени процедуры означает, что курсор автоматически будет переведен в начало следующей строки экрана.

Программирование

Исходники Pascal (127)

Справочник

Справочник по паскалю: директивы, функции, процедуры, операторы и модули по алфавиту

Модуль math паскаль

В таблице приведены основные математические операции Турбо Паскаль (Delphi, Lazarus)..

Операции отношения

К операциям отношения в Турбо Паскаль относятся такие операции, как:

  • > — больше
  • — не равно
  • >= — больше или равно
  • = in

Порядок выполнения операций переопределить можно с помощью скобок. Например 2*5+10 равно 20, но 2*(5+10) равно 30.

Основные математические функции

В этом разделе приведены основные математические функции, встроенные в системную библиотеку Турбо Паскаль (Delphi, Lazarus).

Функций тангенс и котангенс в Турбо Паскале нет. Для их вычисления используйте выражение sin(x)/cos(x) (или cos(x)/sin(x) для котангенса).

ArcTan(X) Возвращает арктангенc числа X. Exp(X) Возвращает число, равное e в степени X. Ln(x) Возвращает число, равное натуральному логарифму от числа X. Pi Число Пи. Sqr(X) Возвращает число, равное квадрату числа X.

Функции возведения в произвольную степень в Турбо Паскале нет. Используйте многократное умножение для возведения в целочисленную степень, либо функции Exp и Ln для возведения в вещественную степень.

Sqrt(X) Возвращает число, равное квадратному корню из числа X. Trunc(X) Возвращает число, равное целой части числа X. (Происходит отбрасывание дробной части числа X. Результат выполнения имеет тип Longint). Frac(X) Возвращает число, равное дробной части числа X. Int(X) Возвращает число, равное целой части числа X. Результат выполнения функции — real. Round(X) Функция округляет число X. Возвращаемое значение имеет тип Longint. Random(X) Возвращает случайное целое число в диапазоне 0..X. Если аргумент опущен (Random), то возвращается случайное вещественное число от 0 до 1.

Перед использованием random в программах рекомендуется сначала инициализировать генератор псевдослучайных чисел процедурой Randomize. В противном случае при каждом запуске программы будет генерироваться одна и та же последовательность случайных чисел.

Пример. Вывод на экран 5 случайных чисел в диапазоне -10..10.

var i: integer; begin randomize; for i:=1 to 5 do writeln(random(21)-10); end. Inc(X,Y) Увеличивает значение числа X на Y. Если число Y не указано, то увеличение происходит на 1. Dec(X,Y) Уменьшает значение числа X на Y. Если число Y не указано, то уменьшение происходит на 1.

Сводка функций модуля Math

ArcCos Арккосинус

ArcCosh Гиперболический арккосинус

ArcSin Арксинус

ArcSinh Гиперболический арксинус

ArcTahn Гиперболический арктангенс

ArcTan2 Арктангенс с учетом квадранта (функция ArcTan, не учитывающая квадрант, находится в модуле System)

Cosh Гиперболический косинус

Cotan Котангенс

CycleToRad Преобразование циклов в радианы

DegToRad Преобразование градусов в радианы

GradToRad Преобразование градов в радианы

Hypot Вычисление гипотенузы прямоугольного треугольника по длинам катетов

RadToCycle Преобразование радианов в циклы

RadToDeg Преобразование радианов в градусы

RadToGrad Преобразование радианов в грады

SinCos Вычисление синуса и косинуса угла. Как и в случае SumAndSquares и MeanAndStdDev, одновременная генерация обеих величин происходит быстрее

Sinh Гиперболический синус

Tan Тангенс

Tanh Гиперболический тангенс

Арифметические функции и процедуры

Ceil Округление вверх

Floor Округление вниз

Frexp Вычисление мантиссы и порядка заданной величины

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

Ldexp Умножение X на 2 в заданной степени

LnXP1 Вычисление натурального логарифма X+1. Рекомендуется для X, близких к нулю

LogN Вычисление логарифма X по основанию N

Log10 Вычисление десятичного логарифма X

Log2 Вычисление двоичного логарифма X

Power Возведение числа в степень. Работает медленнее IntPower, но для операций с плавающей точкой вполне приемлемо.

Финансовые функции и процедуры

DoubleDecliningBalance Вычисление амортизации методом двойного баланса

FutureValue Будущее значение вложения

InterestPayment Вычисление процентов по ссуде

InterestRate Норма прибыли, необходимая для получения заданной суммы

InternalRateOfReturn Вычисление внутренней скорости оборота вложения для ряда последовательных выплат

NetPresentValue Вычисление чистой текущей стоимости вложения для ряда последовательных выплат с учетом процентной
ставки

NumberOfPeriods Количество периодов, за которое вложение достигнет заданной величины

Payment Размер периодической выплаты, необходимой для погашения ссуды, при заданном числе периодов, процентной ставке, а также текущем и будущем значениях ссуды

PeriodPayment Платежи по процентам за заданный период

PresentValue Текущее значение вложения

SLNDepreciation Вычисление амортизации методом постоянной нормы

SYDepreciation Вычисление амортизации методом весовых коэффициентов

Статистические функции и процедуры

MaxIntValue Максимальное значение в наборе целых чисел.

MaxValue Максимальное значение в наборе чисел.

Mean Среднее арифметическое для набора чисел

MeanAndStdDev Одновременное вычисление среднего арифметического и стандартного отклонения для набора чисел. Вычисляется быстрее, чем обе величины по отдельности

MinIntValue Минимальное значение в наборе целых чисел.

MinValue Минимальное значение в наборе чисел.

MomentSkewKurtosis Статистические моменты порядков с первого по четвертый, а также асимметрия (skew) и эксцесс (kurtosis) для набора чисел

Norm Норма для набора данных (квадратный корень из суммы квадратов)

PopnStdDev Выборочное стандартное отклонение. Отличается от обычного стандартного отклонения тем, что при вычислениях используется выборочное значение дисперсии, PopnVariance (см. ниже)

PopnVariance Выборочная дисперсия. Использует «смещенную» формулу TotalVariance/n

RandG Генерация нормально распределенных случайных чисел с заданным средним значением и среднеквадратическим отклонением

StdDev Среднеквадратическое отклонение для набора чисел

Sum Сумма набора чисел

SumsAndSquares Одновременное вычисление суммы и суммы квадратов для набора чисел. Как и в других функциях модуля Math, обе величины вычисляются быстрее, чем по отдельности

SumInt Сумма набора целых чисел.

SumOfSquares Сумма квадратов набора чисел

TotalVariance «Полная дисперсия» для набора чисел. Это сумма квадратов расстояний всех величин от их среднего арифметического

Variance Выборочная дисперсия для набора чисел. Функция использует «несмещенную» формулу TotalVariance/(n1)

Математические функции Турбо Паскаль

Все математические операции Турбо Паскаль можно разделить на арифметические, отношения и логические.

Арифметические операции выполняют арифметические действия в выражениях над значениями переменных целочисленных или вещественных типов. Основные арифметические операции языка Турбо Паскаль представлены в следующей таблице.

Таблица 2. Арифметические операции

Особое внимание следует обратить на то, что тип результата деления – всегда вещественное число.

Операции сложения (+), вычитания (-), умножения (*) и деления (/). Приоритет тот же, что и в обычных арифметических выражениях.

Целочисленное деление (div) отличается от обычного тем, что возвращает целую часть частного, дробная часть отбрасывается. Перед выполнением операции оба операнда округляются до целых значений. Результат целочисленного деления всегда равен нулю, если делимое меньше делителя.

Деление по модулю (mod) восстанавливает остаток, полученный при выполнении целочисленного деления.

Операции отношения выполняют сравнение двух операндов и определяют истинность или ложность выражения. В качестве результата всегда используется тип Boolean, который может принимать лишь два значения True (истина) или False (ложь).

Таблица 3. Операции отношения

Таблица 4. Логические операции

Более подробно логические операции будут рассмотрены на примере условных операторов.

В Турбо Паскаль имеются встроенные математические функции и процедуры.

Таблица 5. Встроенные математические функции

Таблица 6. Встроенные математические процедуры

Программа нахождения среднего арифметического двух введенных целых чисел.

Writeln(‘Введите числа X и Y’);

Writeln(‘Среднее арифметическое чисел ‘, X, ‘ и ‘,Y,’ равно ‘, Summa);

В данном примере переменная Sred вещественного типа, поскольку в правой части присутствует операция деления.

Задачи

1. Ввести число купленных тетрадей и карандашей. Вычислить стоимость покупки, если цена одной теради 5 рублей, а карандаша 2 рубля.

2. Ввести расстояния до дачи, количество бензина, которое автомашина потребляет в среднем на 100 км и стоимость бензина. Вычислить стоимость поездки (туда и обратно).

3. Ввести длину дистанции, на которую бежал бегун и его время. Вычислить среднюю скорость бегуна.

4. Ввести расстояние в километрах. Перевести расстояние в версты (1 верста – это 1066,8 м).

5. Ввести вес в килограммах. Перевести вес в фунты (1 фунт – это 405,9 граммов).

6. Ввести время, затраченное на выполнение ломашнего задания в часах и минутах. Перевести это время в минуты.

7. Ввести три целых числа. Найти их среднее геометрическое.

8. Ввести радиус окружности, подсчитать длину окружности.

9. Ввести радиус окружности, подсчитать площадь круга.

10. Ввести катеты a и b прямоугольного треугольника. Найти гипотенузу c. (Указание: использовать встроенную функцию вычисления квадратного корня из числа x — Sqrt(x)).

11. Ввести длины сторон произвольного треугольника и угол a между ними в градусах. Найти третью сторону с.

12. Ввести длины сторон произвольного треугольника a, b и c. Найти площадь треугольника.

13. Вычислить объем шара радиуса R. Длина R вводится с клавиатуры.

14. Ввести координаты двух точек на плоскости. Вычислить расстояние между ними.

15. Ввести длину грани куба. Вычислить его площадь боковой поверхности и объем.

16. Ввести коэффициенты и значения правых частей системы уравнений. Найти ее решение. Вывести на экран вид системы уравнений и ответ.

17. Ввести число a. Для данного числа напечатать таблицу вида:

12. Ввести целые числа x и y. Вычислить .

13. Ввести длины катетов прямоугольного треугольника. Найти его гипотенузу и площадь.

14. Смешано V1 литров воды температуры t1 и V2 литров воды температуры t2. Найти объем и температуру образовавшейся смеси.

15. Найти площадь равнобедренной трапеции с основаниями a и b и углом при большем основании a. Значения a, b и a вводятся с клавиатуры.

16. Ввести длины сторон треугольника. Вычислить:

б) длины биссектрис;

17. Ввести вещественные числа x и y. Вычислить расстояние от точки плоскости с координатами (x, y) до ближайшей границы квадрата с вершинами:

18. Ввести целые (либо вещественные) числа x1, y1, x2, y2, …, xn, yn. Выяснить, найдутся ли среди точек с координатами (x1; y1), (x2; y2), …, (xn; yn) четыре таких, которые являются вершинами квадрата.

Пользовательские модули в Паскале

Модули в Паскале по отношению к основной части программы напоминают подпрограммы (процедуры и функции). Но по определению они являются самостоятельными программами, ресурсы которых могут быть задействованы в других программах. Кроме того описание модулей происходит вне вызывающего приложения, а в отдельном файле, поэтому модуль – это отдельно компилируемая программа. Файл скомпилированного модуля (именно такой нужен для использования) будет иметь расширение предусмотренное средой программирования (например, .tpu, .ppu, .pcu).

Модули создаются, как правило, для обеспечения компактности кода, о чем приходиться заботиться крупным проектам. Стоит также отметить, что использование модулей в каком-то смысле снимает ограничение на сегментацию памяти, так как код каждого модуля располагается в отдельном сегменте.

Структура модуля выглядит так:

Далее мы поочередно рассмотрим каждый из данных разделов.

Имя модуля (Unit)

Имя модуля, следующее после ключевого слова Unit, должно совпадать с названием файла (без .pas), в котором находиться его код. Также с помощью имени, модуль подключается к другому модулю, либо к основной программе. Для этого необходимо указать служебное слово Uses, и перечислить через запятую список подключаемых модулей:

Интерфейсная часть (Interface)

В интерфейсной части описываются заголовки объектов, к которым будут иметь доступ другие модули и программы. Это константы, типы, переменные и подпрограммы. Например, так может выглядеть интерфейсная часть модуля Search, содержащего в себе алгоритмы поиска элементов в массиве.

Для объявления данного модуля, в программе нужно указать его имя:

После чего станет возможным использование всех описанных в интерфейсной части объектов.

Исполняемая часть (Implementation)

Начинается этот раздел со слова Implementation (реализация). Именно здесь нужно описать подпрограммы, объявленные в интерфейсной части. При этом в их заголовках разрешается не указывать формальные параметры, иначе они должны полностью совпадать с таковыми в интерфейсной части. Кроме этого, интерфейсная часть может содержать локальные (недоступные вызывающей программе) для модуля объекты.

Инициирующая часть

Инициирующая часть начинает свою работу до начала выполнения основной программы. В ней (между Begin и End), как правило, описываются операторы, предназначенные для разного рода вспомогательной работы. Данная часть может отсутствовать, либо не иметь в себе никакого кода. В первом случае нужно указать End с точкой, во втором – оставить пустое место внутри Begin и End.

Компиляция модулей

Использовать в программе можно лишь скомпилированные модули, имеющие расширение, предусмотренное вашей средой разработки приложений. Рассмотрим три наиболее популярные из них:

Turbo Pascal

Итогом компиляции модуля в Turbo Pascal, будет файл с расширением .tpu (Turbo Pascal Unit), хранящий его код.

Free Pascal

После компиляции модуля в среде Free Pascal, создаются два файла с разными разрешениями: .ppu и .o. Первый содержит интерфейсную часть модуля, а второй (необходим для компоновки программы) – часть реализаций.

Pascal ABC.NET

Pascal ABC.Net во время компиляции модуля не генерирует код на машинном языке. В случае, если компиляция выполнена успешна код сохраняется в файле с разрешением .pcu.

Для сред программирования Turbo Pascal и Free Pascal предусмотрены три режима компиляции: Compile, Make и Build. В режиме Compile все используемые в программе модули должны быть заранее скомпилированы. Приложение в режим Make-компиляции проверяет все подключенные модули на наличие файлов с соответствующим для среды программирования разрешением (.tpu или .o). Если какой-то из них не найден, то происходит поиск файла с названием ненайденного модуля и расширением .pas. Самый надежный из режимов – Build. Поиск и компиляция файлов (с расширением .pas) в данном режиме происходит даже тогда, когда модульные файлы уже имеются.

Пример

Создадим небольшой модуль, содержащий в себе процедуры двоичного и линейного поиска элементов в массиве. Код модуля:

Весь этот код должен находиться в отдельном файле. Теперь напишем основную программу, в которую подключим наш модуль Search.

После компиляции файлов данное приложение должно исправно работать. Конечно, если вы, отвечая на вопрос “Этот массив упорядочен?” укажите программе ложную информацию, то и она может ответить тем же.

Pascal. Модуль (UNIT)

Модуль (unit) представляет собой набор констант, типов данных, переменных, процедур и функций. Каждый модуль аналогичен отдельной программе на Паскале: он может иметь основное тело, которое вызывается перед запуском Вашей программы и осуществляет необходимую инициализацию. Короче говоря, модуль представляет собой библиотеку описаний, которую можно вставить в свою программу и которая позволит разбить программу на части, компилируемые отдельно.

Турбо-Паскаль обеспечивает Вам доступ к большому числу встроенных констант, типов данных, переменных, процедур и функций. Некоторые из них специфичны для Турбо-Паскаля; другие специфичны для персонального компьютера РС фирмы IBM (и совместимых с ним компьютеров) или для операционной системы MS-DOS. Их количество велико, однако, в своей программе Вы редко используете их все сразу. Поэтому они разделены на связанные группы, называемые модулями. В этом случае Вы можете использовать только те модули, которые необходимы в программе.

Структура модуля

Модуль обеспечивает набор средств благодаря процедурам и функциям при поддержке констант, типов данных и переменных, однако действительная реализация этих средств скрыта в силу того, что модуль разделен на две секции: интерфейса и реализации. Если программа использует модуль, то все описания модуля становятся доступными этой программе, как если бы они были определены в ней самой.

Структура модуля аналогична структуре программы, однако есть несколько существенных различий. Например, рассмотрим модуль:

Заголовок модуля начинается зарезервированным словом unit, за которым следует имя модуля (идентификатор) точно так же, как и в случае имени программы. Следующим элементом в модуле является ключевое слово interface. Оно обозначает начало секции интерфейса модуля — секции, видимой всем другим модулям или программам, в которых он используется.

Модуль может использовать другие модули, для этого они определяются в предложении uses. Предложение uses, если имеет место, то следует сразу после ключевого слова interface. Отметим, что здесь выполняется общее правило использования предложения uses: если модуль, имя которого указано в предложении uses, использует другие модули, то имена этих модулей также должны быть указаны в предложении uses, причем до того, как они будут использованы.

Стандартные модули

Файл TURBO.TPL содержит все стандартные пакеты, кроме Graph и пакетов совместимости (Graph3 и Turbo3): System, Overlay, Crt, Dos и Printer. Эти пакеты загружаются в память вместе с Турбо-Паскалем и всегда вам доступны. Обычно файл TURBO.TPL хранят в одном каталоге с TURBO.EXE (или TPC.EXE). Вы можете хранить его и в другом каталоге, если он описан как каталог Турбо-Паскаля. Для этого необходимо с помощью TINST.EXE установить этот каталог в файле TURBO.EXE.

Используемые пакеты: нет

System содержит все стандартные и встроенные процедуры и функции Турбо-Паскаля. Любая подпрограмма Турбо-Паскаля, не являющаяся частью стандартного Паскаля и не находящаяся ни в каком другом модуле, содержится в System. Этот модуль присоединяется ко всем программам.

Используемые пакеты: нет

DOS определяет многочисленные паскалевские процедуры и функции, которые эквивалентны наиболее часто используемым вызовам DOS, как например, GetТime, SetТime, DiskSize и так далее. Кроме того, он определяет две программы низкого уровня МsDos и Intr, которые позволяют активизировать любой вызов MS-DOS или системное прерывание. Registers представляет собой тип данных для параметра в МsDos и Intr. Кроме того, определяются некоторые другие константы и типы данных.

Используемые пакеты: нет

Overlay — содержит инструменты для создания оверлейных программ. Программа OVERKAY — программа, которая загружается не вся , а по частям.

Используемые пакеты: нет

Crt обеспечивает набор специфичных для РС описаний констант, переменных и программ для операций ввода/вывода. Последние можно использовать для работы с экраном (задание окон, непосредственное управление курсором, цвет текста и фона). Кроме того, Вы можете осуществлять «необработанный» ввод с клавиатуры и управлять платой генерации звукового сигнала персонального компьютера. Этот модуль обеспечивает множество подпрограмм, которые были стандартными в версии 3.0.

Используемые пакеты: Crt

В модуле Printer дано описание переменной текстового файла Lst, которая связывается с драйвером устройства, позволяющим направлять стандартный для Паскаля вывод на печатающее устройство с помощью Write и Writeln. Например, включив Printer в свою программу, Вы можете сделать следующее:

Используемые пакеты: Crt

Graph3 поддерживает полный набор графических подпрограмм для версии 3.0 — для обычной, расширенной графики и графики, использующей относительные команды. Они идентичны по имени, параметрами функции подпрограммам версии 3.0.

Используемые пакеты: Crt

Этот модуль содержит две переменные и несколько процедур, которые больше не поддерживаются Турбо-Паскалем. Они включают встроенную файловую переменную Кbd, булеву переменную CBreak и первоначальные целочисленные версии MemAvail и MaxAvail (которые возвращают размер свободной памяти в параграфах, а не в байтах, как это делают настоящие версии).

Используемые пакеты: Crt

Graph обеспечивает набор быстродействующих, эффективных графических подпрограмм, которые позволяют использовать в полной мере графические возможности Вашего персонального компьютера.

Этот модуль реализует независимый от устройства графический драйвер фирмы «Борланд», позволяющий поддерживать графические адаптеры типа СGА, ЕGА, Hercules, АТТ 400, МСGА, 3270 РС и VGА.

Написание собственных модулей

Допустим, Вы написали модуль IntLib, записали его в файл INTLIВ.PAS и оттранслировали на диск; получившийся в результате код находится в файле INTLIВ.ТРU. Для использования этого модуля в программе необходимо включить в нее оператор uses, указывающий компилятору, какой модуль используется. Ваша программа может выглядеть следующим образом:

Отметим, что Турбо-Паскаль предполагает, что файл, в котором находится модуль, имеет такое же имя, что и сам модуль. Если имя Вашего модуля МyUtilities, то Турбо-Паскаль будет искать файл с именем МYUTILIТ.PAS.

Модуль компилируется точно так же, как компилируется программа: он создается с помощью редактора, а затем вызывается команда Соmpile/Соmpile (Компилировать/ Компилировать) (или нажимаются клавиши Аlt-С). Однако, вместо файла с расширением .ЕХЕ Турбо-Паскаль создает файл с расширением .ТРU (Turbо Раscal Unit — модуль Турбо-Паскаля). После этого Вы можете оставить этот файл как есть или же вставить его в ТURВО.TPL с помощью TPUMOVER.ЕХЕ.

В любом случае имеет смысл переслать файлы с расширением *.ТРU (вместе с исходными файлами) в каталог модулей, который определен с помощью команды О/D/Unit directories (Каталоги модулей). В одном исходном файле может находиться только один модуль, поскольку компиляция прекращается, как только обнаружен завершающий оператор end.

Напишем небольшой модуль. Назовем его IntLib и вставим в него две простые подпрограммы для целых чисел — процедуру и функцию:

Введем эту подпрограмму, запишем ее в файл INTLIВ.PAS, а затем оттранслируем на диск. В результате получим код модуля в файле INTLIВ.ТРU. Перешлем его в каталог модулей. Следующая программа использует модуль IntLib:

Все описания внутри модуля связаны друг с другом. Например, модуль Crt содержит все описания, необходимые для подпрограмм работы с экраном на Вашем персональном компьютере.

Читать еще:  Формы си шарп
Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector
×
×