Методичка. Полный обучающий курс по Turbo Pascal. Полный обучающий курс Turbo Pascal
Скачать 0.56 Mb.
|
Глава 3. Процедуры и функцииСтандартные библиотечные модулиВ систему Турбо Паскаль версии 6.0. и старше включены 8 модулей: System, Crt, Dos, Graph, Graph3, Overlay, Printer, Turbo3 и специализированная библиотека Turbo Vision. Модуль System подключается по умолчанию, поэтому в любой программе становятся доступными все его встроенные процедуры и функции (см главу 1.3.). Остальные модули должны подключаться с помощью зарезервированного слова usesс добавлением имени модуля. Например: uses Crt. Рассмотрим кратко назначение каждого модуля. System - сердце Турбо Паскаля. Подпрограммы, содержащиеся в нем, обеспечивают работу всех остальных модулей системы. Crt - содержит средства управления дисплеем и клавиатурой компьютера. Dos - включает средства, позволяющие реализовывать различные функции Dos. Graph3 - поддерживает использование стандартных графических подпрограмм. Overlay - содержит средства организации специальных оверлейных программ. Printer - обеспечивает быстрый доступ к принтеру. Turbo3 - обеспечивает максимальную совместимость с версией Турбо Паскаль 3.0. Graph - содержит пакет графических средств. Turbo Vision - библиотека объектно-ориентированных программ для разработки пользовательских интерфейсов. На примере модуля Crt познакомимся поближе с работой встроенных процедур и функций. Он устанавливает режим работы адаптера дисплея, организует вывод в буфер экрана, регулирует яркость свечения символов и т.д. С момента подключения пользователю доступны все содержащиеся в нем стандартные средства. Рассмотрим некоторые из них. § Установка текстового режима TextMode(Mode:integer); Значение Mode равно 1 (40 / 25) или 3(80 / 25). § Очистка экрана ClrScr – полностью очищает экран; ClrEol – стирает все символы в строке, начиная с текущей позиции до конца строки; § Управление курсором GotoXY(x,y) – перемещает курсор в позицию, заданную координатами x, y. § Управление цветом TextColor(Color:byte) - установка цвета выводимых символов; TextBackGround(Color) – цвет фона. Чтобы добавить при выводе эффект мерцания, при установке цвета указывается Blink (16). Пример. Вывести в центре экрана цветными символами слово «Привет» с эффектом мерцания. Program primer; Uses crt; Begin TextMode(3); Clrscr; Gotoxy(36,12); Textcolor(5+16); Write(‘Привет’); End. Глава 3. Процедуры и функцииПроцедурыДля использования подпрограммы-процедуры необходимо сначала описать процедуру, а затем обращаться к ней (обращение к процедуре – отдельный оператор). Описание процедуры включает заголовок (имя) и тело процедуры. Заголовок состоит из зарезервированного слова procedure, имени процедуры и, заключенного в скобки, списка формальных параметров с указанием типа. Название «формальные» эти параметры получили в связи с тем, что в этом списке заданы только имена для обозначения исходных данных и результатов работы процедуры, а при вызове подпрограммы на их место будут поставлены конкретные значения. Тело процедуры – блок, по структуре аналогичный программе. При создании программ, использующих процедуры, следует учитывать, что все объекты, которые описываются после заголовка в теле процедуры, называются локальными объектами и доступны только в пределах этой процедуры. Все объекты, описанные в вызывающей программе, называются глобальными и являются доступными внутри процедур, вызываемых этой программой. Общий вид описания процедуры: Procedure <имя> (список формальных параметров, блок описания); Const …; ù … ý блок описания Var ….; û begin <операторы> end; Пример 1. Вывести по четырем углам экрана свое имя цветными буквами, можно с эффектом мерцания. Program names; Uses crt; Procedure name(x, y, c: byte, ); Begin Gotoxy (x, y); Textcolor(c); {textcolor (c+16);} Write(‘Имя’); end; begin Clrscr; {очистка экрана} name (2,2, 14); name (2, 22, 8); name (75,2, 3); name (75, 22, 5); End. Пример 2. Найти наибольшее из четырех чисел, используя подпрограмму нахождения наибольшего из двух чисел. Program max; Uses crt; Var a, b, c, d, m, p, q:real; Procedure Bd(x,y:real, var z: real); Begin If x>y then z:=x else z:=y; end; begin Clrscr; {очистка экрана} Write(‘Введите числа’); Readln(a,b,c,d); Bd (a, b, p); Bd (c, d, q); Bd (p, q, m); Writeln(‘наибольший элемент’, m:8:3); End. |