Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

Введение

             Данное руководство  посвящено используемому в Borland Pascal
        with Objects языку Паскаль. Оно

             * Дает формальное определение языка Borland Pascal.

             * Поясняет,  как использовать и писать динамически компонуе-
               мые библиотеки.

             * Знакомит вас с библиотекой исполняющей системы.

             * Поясняет, как писать программы для защищенного режима DOS.

             * Освещает  такие вопросы Borland Pascal,  как использование
               памяти, форматы данных, соглашения по вызову, ввод и вывод
               и автоматическая оптимизация.

             * Описывает,  как  использовать  Borland Pascal с языком ас-
               семблера.

                   Примечания: Обзор всего набора документации по Borland
              Pascal вы можете найти во введении к "Руководству пользова-
              теля".

             Если вы

             - хотите узнать, как установить Borland Pascal в системе;

             - использовали Turbo Pascal или Turbo Pascal for Windows ра-
               нее и хотите узнать, что нового в этой версии;

             - не  знакомы  с интерактивной интегрированной средой разра-
               ботки программ (IDE) фирмы Borland;

             - хотите познакомиться с введением в  объектно-ориентирован-
               ное программирование;

             - не имеете опыта программирование на Паскале в Windows;

             - хотите познакомиться с ObjectWindows;

        то прочитайте "Руководство пользователя".

             Чтобы найти справочные материалы по следующим темам:

             - библиотеки исполняющей системы;

             - директивы компилятора;

             - сообщения об ошибках;


             - работа с редактором;

        прочтите "Справочное руководство программиста".

О чем рассказывается в данном руководстве

             Данное руководство разбито на четыре части:  грамматика язы-
        ка, библиотеки, вопросы продвинутого программирования и использо-
        вание с Borland Pascal языка ассемблера.

             В Части I "Язык Borland Pascal"  определяется  язык  Borland
        Pascal. Сначала  вы  познакомитесь  с  общей структурой программы
        Borland Pascal; затем о каждом элементе программы будет рассказа-
        но более подробно.

             Часть II  "Библиотеки исполняющей системы" содержит информа-
        цию о стандартных модулях, образующих библиотеку исполняющей сис-
        темы, и о том,  как их использовать.  Здесь рассказывается также,
        как писать программы для защищенного режима DOS.

             В Части III "В среде Borland Pascal" дается техническая  ин-
        формация для продвинутых пользователей. Здесь рассказывается:

             - об использовании памяти в Borland Pascal;

             - о  том,  как в Borland Pascal реализовано управление прог-
               раммой;

             - о деталях по вводу и выводу;

             - об оптимизации вашего кода.

             В Части IV "Использование Borland Pascal с языком  ассембле-
        ра" поясняется,  как использовать встроенный ассемблер и как ком-
        поновать ваши программы Паскаля с кодом Турбо Ассемблера.

Часть I. Язык Borland Pascal

Глава 1. Что такое программа Borland Pascal?

             Следующие несколько  глав  посвящены формальному определению
        языка Borland Pascal.  В каждой главе обсуждается один из элемен-
        тов Borland  Pascal.  Совместно  эти  элементы образуют программу
        Borland Pascal.

             Однако, изучая части,  трудно понять целое.  В данной  главе
        дается общий  обзор  программы  Borland  Pascal,  опуская детали.
        Здесь приводится краткое описание каждого элемента  программы,  а
        затем показывается,  как все это компонуется вместе.  Подробности
        элементов языка освещаются  главах 2 - 11.

Программа Borland Pascal

             В своей простейшей форме программа Borland Pascal состоит из
        заголовка программы, который именует программу, и основного прог-
        раммного блока,  выполняющего  назначение  программы.  В основном
        программном блоке находится секция кода, заключенная между ключе-
        выми словами begin и end.  Приведем простейшую программу, иллюст-
        рирующую эти принципы:

             program Privet;
             begin
               Writeln('Добро пожаловать в Borland Pascal');
             end.

             Первая строка  -  это  заголовок программы,  который именует
        данную программу.  Остальная часть программы - это исходный  код,
        который начинается ключевым словом begin и заканчивается end. Хо-
        тя данная конкретная программа содержит только  одну  строку,  их
        может быть  много.  В любой программе Borland Pascal все действия
        выполняются между begin и end.


Процедуры и функции

Код между последними операторами begin и end программы уп- равляет логикой программы. В очень простой программе в этой сек- ции кода может содержаться все, что вам нужно. В более крупных и сложных программах размещение в этой секции всего программного кода может затруднить чтение и понимание программы. К тому же ее будет труднее разрабатывать. Процедуры и функции позволяют разделить логику программы на более мелкие и управляемые фрагменты и аналогичны подпрограммам в других языках. Как и в основном блоке программы, все действия в процедурах и функциях заключаются в begin и end. Каждый из этих сегментов кода выполняет конкретную задачу. ----------------------------------------------------------- ¦ Процедура или функция ¦ ¦---------------------------------------------------------¦ ¦¦ Заголовок процедуры или функции ¦¦ ¦L---------------------------------------------------------¦ ¦---------------------------------------------------------¦ ¦¦ Блок процедуры или функциями ¦¦ ¦¦ begin ¦¦ ¦¦-------------------------------------------------------¦¦ ¦¦¦ Логика ¦¦¦ ¦¦L-------------------------------------------------------¦¦ ¦¦ end; ¦¦ ¦L---------------------------------------------------------¦ L----------------------------------------------------------- Рис. 1.1 Диаграмма процедуры или функции. Если вы обнаружите, что в вашей диаграмме одни и те же дейс- твия выполняются многократно, такую логику желательно выделить в процедуру или функцию. Вы можете один раз записать этот код в процедуре или функции, а затем многократно вызывать его в прог- рамме. Приведем пример функции. Следующая функция GetNumber получа- ет число от пользователя: function GetNumber: Real; var Responce: Real; begin Write('Введите число: '); Readln(Response); GetNumber := Response; end; Процедура или функция должна содержаться в программе перед секцией основного кода. В основном коде она может затем использо- ваться (вызываться). ----------------------------------------------------------- ¦ Процедура или функция ¦ ¦---------------------------------------------------------¦ ¦¦ Заголовок процедуры или функции ¦¦ ¦L---------------------------------------------------------¦ ¦---------------------------------------------------------¦ ¦¦ Блок процедуры или функциями ¦¦ ¦¦-------------------------------------------------------¦¦ ¦¦¦ Процедуры или функции (0 или более) ¦¦¦ ¦¦L-------------------------------------------------------¦¦ ¦¦ begin ¦¦ ¦¦-------------------------------------------------------¦¦ ¦¦¦ Логика ¦¦¦ ¦¦L-------------------------------------------------------¦¦ ¦¦ end; ¦¦ ¦L---------------------------------------------------------¦ L----------------------------------------------------------- Рис. 1.2 Простая программа на Паскале. В следующем примере дается набросок программы, в которой ис- пользуется функция GetNumber. Программист разделил логику прог- раммы на три задачи: 1. Получение числа от пользователя. 2. Выполнение с этим числом необходимых вычислений. 3. Печать отчета. Основная логика программы заключена в последнем блоке begin..end. Program Report; var A: Real; { другие описания } . . . function GetNumber: Real; var Responce: Real; begin Write('Введите число: '); Readln(Response); GetNumber := Response; end; procedure Calculate(X: Real); . . . procedure PrintReport; . . . begin A: = GetNumber; Calculate(A); PrintReport; end. Основная логика программы достаточно проста для понимания. Все детали убраны в тела процедур и функций. Использование проце- дур и функций позволяет вам рассматривать программу более удобным и модульным способом.

Операторы

Исходный код между begin и end содержит операторы, которые описывают выполняемые программой действия. Это называются опера- торной частью программы. Приведем примеры операторов: A := B + C; { присвоить значение } Calculate(Length, Height); { активизировать процедуру } if X < 2 then { оператор условия } Answer := X * Y; begin { составной оператор } X := 3; Y := 4; Z := 5; end; while not EOF(InFile) do { оператор цикла } begin ReadLn(InFile, Line); Process(Line); end; В простых операторах можно присваивать значение, активизиро- вать процедуру или функцию или передавать управление на другую часть кода. Структурные операторы могут быть составными и содер- жать несколько операторов, оператор цикла или оператор условия, управляющий логикой программы, а также операторы with, упрощающие доступ к данным в записи.

Выражения

Оператор Паскаля состоит из выражений. Выражения оператора могут состоять из операндов и операций. Обычно в выражениях вы- полняется сравнение либо арифметические, логические или булевские операции. Выражения Паскаля могут состоять из более простых выражений. О комбинации операндов и операций вы можете прочитать в Главе 6. Они могут быть достаточно сложными. Приведем некоторые примеры выражений: X + Y Done <> Error I <= Length -X

Лексемы

Лексемы - это наименьшие значащие элементы в программе Пас- каля. Они образуются операндами и операциями выражений. Лексемы - это специальные символы, зарезервированные слова, идентификаторы, метки и строковые константы. Приведем примеры лексем Паскаля: function { зарезервированное слово } ( { специальный символ } := { специальный символ } Calculate { идентификатор процедуры } 9 { число } Приведем пример, из которого вы можете видеть, что операторы состоят из выражений, которые в свою очередь состоят из лексем. ----------------------------------------------------------- ¦ Операторы (1 или более) ¦ ¦---------------------------------------------------------¦ ¦¦ Выражения (1 или более) ¦¦ ¦¦-------------------------------------------------------¦¦ ¦¦¦ Лексемы (1 или более) ¦¦¦ ¦¦L-------------------------------------------------------¦¦ ¦L---------------------------------------------------------¦ L----------------------------------------------------------- Рис. 1.3 Диаграмма оператора.

Типы, переменные, константы и типизированные константы

Переменная может содержать изменяемое значение. Каждая пере- менная должна иметь тип. Тип переменной определяет множество зна- чений, которые может иметь переменная. Например, в следующей программе описываются переменные X и Y, имеющие тип Integer. Таким образом, X и Y могут содержать только целые значения (числа). Если в вашей программе предприни- мается попытка присвоить этим переменным значения другого типа, Borland Pascal сообщает об ошибке. program Example; const A = 12; { константа A не изменяет значения } B: Integer = 23; { типизированная константа B получает начальное значение } var X, Y: Integer; { переменные X и Y имеют тип Integer } J: Real; { переменная J имеет тип Real } begin X := 7; { переменной X присваивается значение } Y := 7; { переменной Y присваивается значение } X := Y + Y; { значение переменной X изменяется } J := 0.075; { переменной J присваивается значение с плавающей точкой } end. В этой простой и не очень полезной программе X первоначально присваивается значение 7; двумя операторами ниже ей присваивается новое значение: Y + Y. Как можно видеть, значение переменной мо- жет изменяться. A - это константа. Программа назначает ей значение 12, и это значение изменяться не может - в ходе выполнения программы оно остается постоянным. B представляет собой типизированную константу. Ей присваива- ется значение при описании, но дается также тип Integer. Типизи- рованую константу можно рассматривать как переменную с начальным значением. Позднее программа может изменить первоначальное значе- ние B на какое-то другое значение. Если вы вернетесь обратно к приведенному в начале главы при- меру кода, то увидите, что функция GetNumber имеет раздел описа- ний, в котором описывается переменная. Процедуры и функции могут содержать разделы описаний также как программы и модули.

Компоновка частей

Теперь, когда вы познакомились с основными компонентами программы Borland Pascal, давайте посмотрим, как все это работает вместе. Приведем диаграмму программы Borland Pascal: ----------------------------------------------------------- ¦ Программа на Паскале ¦ ¦---------------------------------------------------------¦ ¦¦ Заголовок программы ¦¦ ¦L---------------------------------------------------------¦ ¦---------------------------------------------------------¦ ¦¦ Необязательные операторы uses ¦¦ ¦L---------------------------------------------------------¦ ¦---------------------------------------------------------¦ ¦¦ Основной блок программы ¦¦ ¦¦-------------------------------------------------------¦¦ ¦¦¦ Описания ¦¦¦ ¦¦L-------------------------------------------------------¦¦ ¦¦-------------------------------------------------------¦¦ ¦¦¦ Процедуры или функции (0 или более) ¦¦¦ ¦¦¦-----------------------------------------------------¦¦¦ ¦¦¦¦ Описания ¦¦¦¦ ¦¦¦L-----------------------------------------------------¦¦¦ ¦¦¦ begin ¦¦¦ ¦¦¦ -------------------------------------------------¦¦¦ ¦¦¦ ¦ Операторы (1 или более) ¦¦¦¦ ¦¦¦ L-------------------------------------------------¦¦¦ ¦¦¦ end; ¦¦¦ ¦¦L-------------------------------------------------------¦¦ ¦¦ begin ¦¦ ¦¦ -----------------------------------------------------¦¦ ¦¦ ¦ Операторы (1 или более) ¦¦¦ ¦¦ ¦---------------------------------------------------¦¦¦ ¦¦ ¦¦ Выражения (1 или более) ¦¦¦¦ ¦¦ ¦¦-------------------------------------------------¦¦¦¦ ¦¦ ¦¦¦ Лексемы (1 или более) ¦¦¦¦¦ ¦¦ ¦¦L-------------------------------------------------¦¦¦¦ ¦¦ ¦L---------------------------------------------------¦¦¦ ¦¦ L-----------------------------------------------------¦¦ ¦¦ end. ¦¦ ¦L---------------------------------------------------------¦ L----------------------------------------------------------- Рис. 1.4 Расширенная диаграмма программы на Паскале. Программу на Паскале составляют заголовок программы, необя- зательный оператор uses (о нем будет рассказано позднее) и основ- ной блок программы. В основном блоке могут присутствовать более мелкие блоки процедур и функций. Хотя на диаграмме это не пока- зано, процедуры им функции могут быть вложенными в другие проце- дуры или функции. Другими словами, блоки могут содержать другие блоки. В сочетании с другими лексемами и пробелами лексемы могут образовывать выражения, формирующие оператор. Операторы, в свою очередь, в сочетании с разделом описаний образуют блоки основной программы или блок в процедуре или функции.

Модули

Программа Borland Pascal может использовать блоки кода в программных модулях. Модуль (unit) можно рассматривать как ми- ни-программу, которую может использовать ваша прикладная програм- ма. Как и программа, он имеет заголовок (который называется заго- ловком модуля) и основной блок, ограниченный begin и end. Основной блок любой программы Borland Pascal может включать в себя строку, позволяющую программе использовать один или более модулей. Например, если вы пишете программу DOS с именем Colors и хотите изменять цвета выводимого на экран текста, то ваша прог- рамма может использовать стандартный модуль Crt, являющийся частью библиотеки исполняющей системы Borland Pascal: program Colors; uses Crt; begin . . . end. Строка uses Crt сообщает Borland Pascal, что нужно включить модуль Crt в выполняемую программу. Кроме всего прочего, модуль Crt содержит весь необходимый код для изменения цвета в вашей программе. Путем простого включения uses Crt ваша программа может использовать весь код, содержащийся в модуле Crt. Поэтому опера- тор uses называют также оператором использования. Если бы вы по- местили весь код, необходимый для реализации функциональных воз- можностей Crt, в свою программу, это потребовало бы огромных уси- лий и отвлекло бы вас от основной цели программы. Библиотеки исполняющей системы Borland Pascal включают в се- бя несколько модулей, которые вы найдете весьма полезными. Напри- мер, благодаря использованию модулей Dos или WinDos, ваша прог- рамма может получить доступ к нескольким подпрограммам операцион- ной системы и подпрограммам работы с файлами. Вы можете также писать свои собственные модули. Применяйте их для разделения больших программ на логические связанные фраг- менты. Программный код, который вы помещаете в модуль, может ис- пользоваться любой программой. Вам нужно написать исходный код только один раз, а затем вы сможете много раз его использовать.

Синтаксические диаграммы

----------------------------------------------------------------- При изучении глав 2 - 11, где определяется язык Borland Pascal, вы встретите синтаксические диаграммы, например: ---- --------------- ---- константа-массив --->¦ ( +---->¦типизированная+--T->¦ ) +--> L---- ^ ¦ константа ¦ ¦ L---- ¦ L--------------- ¦ ¦ ---- ¦ L------+ , ¦<--------- L---- Чтобы прочитать диаграмму, следуйте по стрелкам. Часто встречаются альтернативные пути: путь, начинающийся слева и за- канчивающийся стрелкой справа, является допустимым. Путь пересе- кает блоки, содержащие имена элементов, используемых для построе- ния этой части синтаксиса. Имена в прямоугольных рамках с текстом должны быть заменены действительными конструкциями. Некоторые рамки содержат зарезер- вированные слова, знаки операций и знаки пунктуации, то есть фак- тические термы, используемые в программе. Имена в блоках - это конструкции языка. Имена, написанные по-английски (например, procedure), представляю собой зарезервированные слова и операции Borland Pascal.
                       Содержание | Вперед

 

VPS в России, Европе и США

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

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...