Информатика на пять О нас
 Добавить в избранное
5byte.ru
 Теория
 8 класс
 9 класс
 10 класс
 11 класс
Задания
 8 класс
 9 класс
 10 класс
 11 класс
Книги
Тесты
ЕГЭ
Turbo Pascal 7
 Описание
 Задачи
HTML
Рефераты

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

В языке Паскаль имеется две разновидности подпрограмм - процедуры и функции.

Структура любой подпрограммы аналогична структуре всей программы. Подпрограмма должна быть описана до того, как она будет использована в программе или другой подпрограмме.

Все параметры, которые использует подпрограмма, можно разбить на две категории: локальные параметры, объявленные внутри подпрограммы и доступные только ей самой, и глобальные - объявленные в основной программе и доступные как программе, так и всем ее подпрограммам. Обмен информацией между основной программой и подпрограммой может осуществляться только с помощью глобальных параметров.

Подпрограмма может использовать глобальные параметры двояким образом: непосредственно обращаясь к глобальному параметру по его имени или используя механизм формальных параметров. Подпрограмма может непосредственно использовать любые глобальные параметры за исключением тех, которые имеют те же имена, что и ее локальные параметры. Механизм формальных параметров будет рассмотрен в п. 10.3.

10.1. Процедура

Подпрограмма-процедура предназначена для выполнения какой-то закончен-; ной последовательности действий. Любая процедура начинается с заголовка. В отличие от основной программы заголовок в процедуре обязателен. Он состоит из зарезервированного слова procedure, за которым следует идентификатор имени процедуры, а далее в круглых скобках - список формальных параметров:

procedure <имя процедуры>(<список формальных параметров>);

За заголовком могут идти такие же разделы, что и в основной программе В отличие от основной программы процедура завершается не точкой, а точкой с запятой.

Пример. Процедура ввода N целых чисел. Пусть в основной программе определен тип:

type tArr = array[1..100] of Integer;

Процедура может иметь вид:

procedure InpInt(var Mas: tArr; N: Integer); {заголовок процедуры со списком формальных параметров проверка N <= 100 - в основной программе}
var i: Integer; {локальный параметр - параметр цикла}
begin  
   Writeln ('Ввведите', N, 'целых чисел');  
   for I := 1 to N do  
     Read (Mas[i])  
end;  

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

InpInt(M, К);

означает, что вызывается процедура Inplnt для ввода К целых чисел в массив М. Естественно, что в этом случае параметр К целого типа, а М - массив типа tArr.





 У Вас есть материал пишите нам
 
    Copyright © 2008    
  Top.Mail.Ru