Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование_ответы.docx
Скачиваний:
8
Добавлен:
22.09.2019
Размер:
138.16 Кб
Скачать

5. Функции с параметрами. Описание, пример.

Фу́нкция — в программировании — это поименованная часть программы, которая может вызываться из других частей программы столько раз, сколько необходимо. Функция, в отличие от процедуры, необязательно возвращает значение.

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

Функция предназначена для вычисления какого-либо параметра. У этой программы 2 основных отличия от процедуры:

  1. Заголовок. Он состоит из слова function, за которым следует имя функции, далее в круглых скобках – список формальных параметров; затем через двоеточие записывается тип функции – тип возвращаемого параметра. Функция может возвращать параметры типов: порядкового, вещественного, стандартного типа String и Char.

  2. В теле функции хотя бы раз имени функции должно быть присвоено значение.

Тело функции состоит из раздела описаний (констант, типов, переменных) и операторов языка, реализующих её алгоритм. Обращение к функции осуществляется по имени с указанием списка фактических параметров.

Пример:

procedure TForm1.Button1Click(Sender:TObject);

function summa (s: real): real;

var a,b,c:real;

begin

a:=StrToFloat(Edit1.Text);

b:=StrToFloat(Edit2.Text);

c:=StrToFloat(Edit3.Text);

s:=a;

if a>b then

s:=b+c

else

s:=a+c;

Edit4.Text:=FloatToStr(s);

end;

end.

6. Область действия идентификаторов при использ. Проц. И функц.

Идентифика́тор, ID (англ. data name, identifierнаименование данных) – имя любого объекта программы – может включать буквы, цифры и символ подчеркивания, начинается только с буквы или знака подчеркивания. Между двумя идентификаторами должен быть хотя бы один пробел. В качестве букв можно использовать 26 латинских букв (прописных и строчных) от A до Z и от a до z. Помимо идентификаторов буквы могут использоваться в шестнадцатиричных числах для обозначения цифр от 10 до 15 (буквы от A до F и от a до f), в строковых константах, служебных словах и комментариях.

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

-каждый идентификатор должен быть описан перед тем, как он будет использован; -областью действия идентификатора является блок, в котором он описан; -все идентификаторы в блоке должны быть уникальными, т.е. не повторяться; -один и тот же идентификатор может быть по-разному определен в каждом отдельном блоке, при этом блоки могут быть вложенными; -если один и тот же идентификатор определен в нескольких вложенных блоках, то в пределах вложенного блока действует вложенное описание; -все глобальные описания подключенного модуля видны программе (подключающему модулю), как если бы они были сделаны в точке подключения; -если подключаются несколько модулей, в которых по-разному определен один и тот же идентификатор, то определение, сделанное в последнем подключенном модуле перекрывает все остальные; -если один и тот же идентификатор определен и в подключенном модуле, и в программе (подключающем модуле), то первый игнорируется, а используется идентификатор, определенный в программе (подключающем модуле). Доступ к идентификатору подключенного модуля возможен с помощью уточненного имени. Уточненное имя формируется из имени модуля и записанного через точку идентификатора. Например, чтобы в предыдущем примере получить доступ к стандартному значению числа ?, нужно записать System.Pi.

Переме́нная — в традиционных языках программирования поименованная, либо адресуемая иным способом область памяти, имя или адрес которой можно использовать для осуществления доступа к данным, находящимся в переменной (по данному адресу).

По зоне видимости различают локальные и глобальные переменные. Первые доступны только конкретной подпрограмме, вторые — всей программе. С распространением модульного и объектного программирования, появились ещё и общие переменные (доступные для определённых уровней иерархии подпрограмм). Область видимости иногда задаётся классом памяти. Ограничение видимости может производиться путём введения пространств имён.

Правила определения области действия идентификаторов:

  1. Каждая переменная, константа или тип перед использованием должны быть описаны.

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

  3. Все имена в пределах подпрограммы, где они объявлены, должны быть уникальными и не совпадать с именем самой подпрограммы.

  4. Одноименные локальные и глобальные переменные – это разные переменные. Обращение у таким переменным в подпрограмме трактуется как обращение к локальным переменным (глобальные переменные недоступны).

  5. При обращении к подпрограмме доступны объекты, которые объявлены в ней до её описания.

program Name;

var AO, BO: integer;

procedure p1;

var A1, B1: integer;

procedure p2;

var A2, B2: integer;

begin

<оператор2>;

end;

begin

<оператор1>;

end;

begin

<оператор>;

end;