Как пишется модуль числа в паскале

Pascal. Модуль (UNIT)

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

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

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

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

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

Модуль может использовать другие модули, для этого они определяются в предложении 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. Кроме того, определяются некоторые другие константы и типы данных.

Читайте также:  Как пишется норманская теория

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

Язык паскаль онлайн

Математические операции в паскале – Pascal Математические функции для работы с числами

    Browse: Home / Самоучитель паскаль онлайн / Математические операции в паскале – Pascal Математические функции для работы с числами

Арифметические операции

Другие операции с числами

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

Результат : переменной «а» присваивается значение 25.

Результат : переменной «а» присваивается значение 5.

Результат : переменной «а» присваивается значение 25.

Результат : переменной «а» присваивается значение 0.2.

Чтобы получить модуль некоторого числа используется операция abs(x).
Пример :

Результат : переменной «а» присваивается значение 8.

Читайте также:  Как правильно пишется слово нифига

Это были самые важные и часто используемые операции в паскале для работы с числами ( переменными ). Найти другие вы можете на этой странице.

Выводы :

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

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

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

Математические операции

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

Математическое выражение Запись на языке Паскаль
2+2=4 2+2=4
a*(1+sqr(e))/2
(-b+sqrt(sqr(b)-4*a*c))/(2*a)
exp(2*x+y)
abs(cos(x)*sin(x)*cos(y)/tan(y))

если компилятор не поддерживает Tan.

Базовая арифметика

Название операции Оператор Пример Примечание
Добавление + 2+2 (=4)
Вычитание 18.3-11 (=7.3)
Умножение * 7*8 (=56)
Деление / 7/8 (=0.875) Результат всегда действительного типа (real)
Целая часть деления div 7 div 2 (=3)
Остаток от деления mod 7 mod 2 (=1)

Сравнение

Все операции сравнения возвращают значение типа boolean, то есть могут использоваться в операторах ветвления и циклах, например

Название операции Оператор Пример
Равно = 2+2=4
Не равно (?) <> 2+2<>5
Больше > 72>71.99
Больше или Равно >= x*x>=0
Меньше Функции для преобразования действительных и целых чисел

Паскаль — язык программирования со статической сильной типизацией. Это означает, что компилятор не выполняет преобразований значений между типами, которые могут привести к потере информации; в частности, если подставить в конструкцию, предусматривает целое значение, действительное число, компилятор сообщит об ошибке, даже если это число имеет целое значение. Так, как мы видели выше, 13 and 11 равна 9, но выражение 13.0 and 11 вызовет сообщение компилятора об ошибке! Чтобы избежать этого, надо явно задавать преобразования действительного числа на целое с помощью следующих функций:

Название функции описание пример
Round(X) Возвращает целое значение, ближайшее к X Round(1.7)=2, Round(-3.1)=-3
Int(X),
Trunc(X)
Возвращает целую часть X Int(1.8)=1, Trunc(-11.3)=-11
Floor(X) Возвращает наибольшее целое значение, не превышает X Floor(1.7)=1, Floor(-3.1)=-4
Ceil(X) Возвращает наименьшее целое значение, не менее от X Ceil(1.7)=2, Ceol(-3.1)=-3

Логические и побитовые операции

Логические операции используются для объединения нескольких логических условий в одну.

Название операции оператор пример описание
Логическое И, and, логическое умножение and (2+3=5) and (0>-1) Истинное, если оба операнда истинны
Логическое ИЛИ, or, логическое сложение or (2+2=5) or (1=1) Истинное, если хотя бы один из операндов истинный
Логическое исключающее ИЛИ, eXclusive or xor (2+2=5) xor (1=1) Истинное, если ровно один из операндов истинный
Отрицание, логическое НЕ, not not not (2+2=5) Истинное, если операнд ложный

Логические операторы, применены к целым типов, могут использоваться, как побитовые. Чтобы получить результат побитовой операции, надо представить операнды в двоичной системе (так, как они представлены в компьютере), после чего применить соответствующую операцию в соответствующих разрядов, причем 1 означает true 0 — false. так,

13 в двоичной системе будет 1 1 1
11 в двоичной системе будет 1 1 1
9 в двоичной системе будет 1 1

Кроме того, есть еще две побитовых операции сдвига:

Название операции оператор пример описание
сдвиг вправо shr 14 shr 2 (=3) Сдвигает двоичные разряды первого операнда справа на второй операнд разрядов;эквивалент целой части деления на степень 2
смещение слева shl 7 shl 3 (=56) Сдвигает двоичные разряды первого операнда слева на второй операнд разрядов;эквивалент умножению на степень 2

Алгебраические функции

Cерым обозначены функции, которые не поддерживаются в Turbo Pascal

Название функции описание Заменитель (для Turbo Pascal)
Pi Возвращает значение числа <\ displaystyle \ pi

> (+3,141592653589793238462643383279 … с точностью, определенным типом real)

Abs(X) Абсолютное значение (модуль) X
Sign(X) Знак числа X: 1, если X отрицательный, 1, если положительный 0, если X = 0
Exp(X) Экспонента X (e X)
Ln(X) Натуральный логарифм X
Log2(X) Логарифм X по основанию 2 Ln(X)/Ln(2)
Log10(X) Логарифм X по основанию 10 Ln(X)/Ln(10)
LogN(X,Y) Логарифм Y по основанию X Ln(Y)/Ln(X)
Power(X,Y) Степень X Y Exp(Y*Ln(X))
Sqrt(X) Корень квадратный из X
Sqr(X) квадрат X
Max(X,Y) Более из значений X и Y
Min(X,Y) Меньше из значений X и Y

Примечание: корень степени Y из числа X можно представить как X 1 / Y, и, соответственно, как Power (X, 1 / Y) или в Turbo Pascal как Exp (Ln (X) / Y).

Тригонометрические функции

Функции для работы со случайными величинами

Для имитации случайных процессов в Паскале есть генератор псевдослучайных чисел (ГПВЧ) и функции для работы с ним; такие числа достаточно непредсказуемыми для практического использования (то есть каждое последующее использование функции Random даст какой-то мере неожиданный результат), но их последовательность может быть полностью воспроизведена, если установить начальное значение ГПВЧ.

Название функции описание Заменитель (для Turbo Pascal)
Randomize Устанавливает начальное значение ГПВЧ равным текущему значению часов
Randomize (X) Устанавливает начальное значение ГПВЧ равным X
Random Возвращает псевдослучайное действительное число от 0 (включительно) до 1 (без включительно)
Random (X) Возвращает псевдослучайное целое число от 0 до X-1
Random (X, Y) Возвращает псевдослучайное целое число от X до Y X + Random (Y-X + 1)

Функции для работы со сочтеными типами

Для величин сочтеных типов (все цели, буквенный, логическое и перечни) существуют также несколько удобных стандартных функций и процедур:

Название функции описание
Succ (X) Возвращает значение, идет после X (для целых — X + 1, для буквенного — символ с последующим значением, для перечисления — следующее значение: так, Succ ( ‘A’) возвращает ‘B’
Pred (X) Возвращает, предшествующий X (для целых — X-1, для буквенного — символ с предыдущим значением, для перечисления — предварительное значение: так, Pred ( ‘A’) возвращает ‘@’
Inc (X) Увеличивает значение X на 1, эквивалент X = Succ (X)
Inc (X, N) Увеличивает значение X на N, эквивалент N приложений Inc (X)
Dec (X) Уменьшает значение X на 1, эквивалент X = Pred (X)
Dec (X, N) Уменьшает значение X на N, эквивалент N применений Dec (X)
Ord (X) Возвращает X (для нечисловых типов)
Odd (X) Проверяет X на нечетность, true, если X нечетный или false, если X имеет четное значение

Приоритет операций

Во время разбора математического выражения Паскаль сначала выполняет операции с высоким приоритетом, затем с низким, все справа налево. Так, в выражении 2 + 2 * 2 сначала будет вычислено 2 * 2 = 4, а уже затем 2 + 4 = 6 — так же, как в обычной математике; в выражении 10 mod 2 * 3 сначала будет выполнено 10 mod 2 = 0, а уже потом 0 * 3 = 0!

Источник

Читайте также:  Рассчитываться с работы как пишется
Поделиться с друзьями
admin
Детский развивающий портал