Информатика Ответы на вопросы 3

Вид материалаДокументы
20 Процедуры и функции формальные и фактические параметры в Turbo Pascal`е
21 Переход в графический режим в Turbo Pascal`е. Масштабирование
Подключение графической библиотеки
InitGraph(Gd, Gm, 'way')
Монитор драйвер режим Число точек Число Число видео
Изменить режим
Подобный материал:
1   ...   6   7   8   9   10   11   12   13   14

20 Процедуры и функции формальные и фактические параметры в Turbo Pascal`е


Формальные параметры в заголовке процедур и функций записываются в виде:

procedure имя процедуры ( var имя праметра: имя типа );

раздел описаний процедуры

begin

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

end;

и отделяются друг от друга точкой с запятой. Ключевое слово var может отсутствовать (об этом далее). Если параметры однотипны, то их имена можно перечислять через запятую, указывая общее для них имя типа. При описании параметров можно использовать только стандартные имена типов, либо имена типов, определенные с помощью команды type.Список формальных параметров может отсутствовать.

Вызов процедуры производится оператором, имеющим следующий формат:

имя процедуры(список фактических параметров);

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

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

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

имя функции := результат;


При вызове процедур и функций необходимо соблюдать следущие правила:

количество фактических параметров должно совпадать с количеством формальных;

соответствующие фактические и формальные параметры должны совпадать по порядку следования и по типу.

Заметим, что имена формальных и фактических параметров могут совпадать. Это не приводит к проблемам, так как соответствующие им переменные все равно будут различны из-за того, что хранятся в разных областях памяти. Кроме того, все формальные параметры являются временными переменными - они создаются в момент вызова подпрограммы и уничтожаются в момент выхода из нее.

21 Переход в графический режим в Turbo Pascal`е. Масштабирование



Графический режим ПК существенно отличается от текстового как по принципам функционирования, так и по возможностям. Графика применяется практически во всех серьезных программных разработках, так как позволяет увидеть результаты расчетов в виде чертежей, графиков, иллюстраций в движении. Фирмой Borland разработана библиотека графических функций (Модуль Graph. tpu) как приложение к Turbo-пакетам фирмы Borland и графические драйверы - файлы *. bgi (Borland Graphics Interface ), обеспечивающие взаимодействие программ с графическими устройствами.

Подключение графической библиотеки при программировании в среде Turbo-Pascal производится оператором:

Uses Graph;


Переход из текстового режима к графическому (инициализация графики) осуществляется оператором:


InitGraph(Gd, Gm, 'way');


где Gd - имя графического драйвера (параметр-переменная),

Gm - номер графического режима монитора (параметр-переменная),

'way' - дорожка DOS к файлам с графическими драйверами (*. bgi), например, C:\TP7\BGI .

Файлы графических драйверов принято хранить в поддиректории BGI. Если эти файлы располагаются в текущей директории, то дорожку DOS можно не указывать.

В графическом режиме изображение формируется из точек (пикселов) разных цветов. Количество точек на экране и число допустимых цветов можно задавать выбором подключаемого драйвера и номером графического режима. Вариации графических режимов весьма разнообразны, особенно для качественных мониторов. Например, адаптер IBM 8514 / A может обеспечить разрешение 1024 х768 точек и 256 цветов. Однако не все программные продукты рассчитаны на такие режимы.

Приведем таблицу графических возможностей для мониторов EGA, VGA.

Монитор драйвер режим Число точек Число Число видео-

"Gd" "Gm" на экране цветов страниц


EGA EGA 0 640 x 200 16 4

EGA 1 640 x 350 16 2

VGA VGA 0 640 x 200 16 4

VGA 1 640 x 350 16 2

VGA 2 640 x 480 16 1


Обычно драйверы подключаются в режиме автоопределения используемого монитора ПК. Для этого перед инициализацией графики задается Gd:= Detect; или Gd:= 0;. В этом случае по умолчанию устанавливается режим с наибольшим числом точек на экране, а значение параметра "Gm" игнорируется. Номер наибольшего режима для текущего драйвера возвращает функция GetMaxMode;.


Изменить режим можно процедурой SetGraphMode(Gm);

где 0 =

0 X Разрешающую способность для текущего графического

0 GetMaxX; режима можно определить функциями, возвращающими

максимальные значения координат экрана:

GetMaxX; - по оси "Х", GetMaxY; - по оси "Y".

GetMaxY; Начало координат (X= 0, Y= 0) расположено в левом верхнем углу

Y экрана. Ось Х направлена слева направо, ось Y - сверху вниз.

Для возврата из графического режима в текстовый можно использовать операторы:




CloseGraph; - полное прекращение работы графической системы,

RestoreCrtMode; - переключение в текстовый режим с возможностью возврата

к текущим установкам графического режима (без восстановления графического изображения) оператором SetGraphMode; .