Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
информатика, билеты.docx
Скачиваний:
5
Добавлен:
16.04.2019
Размер:
131.51 Кб
Скачать

Вопрос 23

Понятие процедуры и функции в Паскале. Их назначение, применение, варианты размещения в программе.

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

В языке программирования Турбо Паскаль все используемые процедуры и функции объединены в стандартные модули. К основным модулям можно отнести следующие:

SYSTEM – включает стандартные процедуры и функции языка; при использовании этого модуля его не требуется подключать с помощью USES, так как он подключен по умолчанию;

DOS – содержит процедуры и функции для взаимодействия с MS DOS;

CRT - объединяет процедуры и функции для работы с экраном в текстовом режиме и клавиатурой;

GRAPH - состоит из процедур и функций для работы с экраном в графическом режиме;

OVERLAY - обеспечивает работу с оверлеями (то есть частями программы), используется для обработки программ большого объема при недостатке оперативной памяти;

PRINTER – модуль для работы с принтером.

Процедуры и функции модуля SYSTEM наиболее часто встречаются в программах. Рассмотрим некоторые из них.

5.1 Математические функции.

Имя функции

Назначение функции

Tип результата

Abs(X)

Абсолютное значение (модуль) аргумента

Abs(-3.5)=3.5

Совпадает с типом Х

ArcTan(X)

Арктангенс аргумента в радианах

ArcTan(1)=7.8539816340E-01

Real

Cos(X)

Косинус аргумента в радианах

Сos(PI/3)=5.0000000000E-01

Real

Exp(X)

Экспонента аргумента (E в степени X)

Exp(1)=2.7182818285E+00

Real

Ln(X)

Натуральный логарифм

Ln(10)=2.3025850930E+00

Real

PI

Значение числа π PI=3.1415926536E+00

( более точно 3.1415926535897932385 )

Real

Random

Случайное число из диапазона от 0 до 1

Real

Вопросы 24-29 читать в учебнике

Вопрос 30

Область действия имен. Глобальные и локальные переменные.

В программе на языке FPC различают глобальные и локальные имена. Глобальные имена определены во внешней программе. Память под них выделяется статически при компиляции. Они доступны во всех внутренних точках, в том числе в подпрограммах.

Локальные имена определены в подпрограммах. Память под них выделяется динамически (в стеке) при исполнении подпрограммы. Они доступны во внутренних точках подпрограммы, а во внешней программе недоступны.

Если локальное и глобальное имя совпадают, то в подпрограмме локальное имя блокирует глобальное. Совпадения глобальных и локальных имен лучше избегать. Чтобы получить доступ к глобальному имени в подпрограмме, его надо указывать составным. Формат доступа к глобальному имени: <имя программы>.<глобальное имя>. Пример:

program Names_View;

{$mode objfpc}{$H+}

uses SysUtils;                         // Ссылка на модули

var I:integer;                                // Глобальная переменная I

procedure Proc;

var I:real;                         // Локальная переменная I

begin

I:=7;                                 // Задание локальной переменной

I:=2.1+Names_View.I;          // Обращение к глобальной переменной

writeln(I);                         // Результат в процедуре – число 5.1

end;

begin

I:=3;                                      // Задание глобальной переменной

Proc;                               // Обращение к процедуре

readln;                             // Пауза, чтобы увидеть результат

end.