СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Презентация Параметры

Категория: Информатика

Нажмите, чтобы узнать подробности

Параметры. Что это такое? Какие они бывают? Как с ними работать? С этими вопросами Вам поможет разобраться презентация "Параметры"  

Просмотр содержимого документа
«Презентация Параметры»

ПАРАМЕТРЫ  В описании процедуры или функции задается список формальных параметров. Каждый параметр, описанный в списке формальных параметров, является локальным по отношению к описываемой процедуре или функции и в модуле, связанным с данной процедурой или функцией на него можно ссылаться по его идентификатору.  Существует три типа параметров: значение,  переменная и нетипизированная переменная .

ПАРАМЕТРЫ

В описании процедуры или функции задается список формальных параметров. Каждый параметр, описанный в списке формальных параметров, является локальным по отношению к описываемой процедуре или функции и в модуле, связанным с данной процедурой или функцией на него можно ссылаться по его идентификатору.

Существует три типа параметров:

значение,

переменная и

нетипизированная переменная .

Они характеризуются следующим: 1) Группа параметров, перед которыми отсутствует ключевое слово var и за которыми следует тип, является списком параметров- значений . 2) Группа параметров, перед которыми следует ключевое слово var и за которыми следует тип, является списком параметров-переменных . 3) Группа параметров, перед которыми стоит ключевое слово var и за которыми не следует тип, является списком нетипизованных параметров-переменных.

Они характеризуются

следующим:

1) Группа параметров, перед которыми отсутствует ключевое слово var и за которыми следует тип, является списком параметров- значений .

2) Группа параметров, перед которыми следует ключевое слово var и за которыми следует тип, является списком параметров-переменных .

3) Группа параметров, перед которыми стоит ключевое слово var и за которыми не следует тип, является списком нетипизованных параметров-переменных.

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

Параметры-значения

Формальный параметр-значение обрабатывается, как локальная по отношению к процедуре или функции переменная, за исключением того, что он получает свое начальное значение из соответствующего фактического параметра при активизации процедуры или функции. Изменения, которые претерпевает формальный параметр-значение, не влияют на значение фактического параметра.

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

Фактический параметр должен иметь тип, совместимый по присваиванию с типом формального параметра-значения. Если параметр имеет строковый тип, то формальный параметр будет иметь атрибут размера, равный 255.

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

Параметры-переменные

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

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

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

Параметры-переменные

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

Внутри процедуры или функции любая ссылка на формальный параметр-переменную приводит к доступу к самому фактическому параметру.

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

Параметры-переменные

Тип фактического параметра должен совпадать с типом формального параметра-переменной (вы можете обойти это ограничение с помощью нетипизованного параметра-переменной).

Если формальный параметр имеет строковой тип, ему присваивается атрибут длины, равный 255, и фактический параметр должен также иметь строковой тип и атрибут длины, равный 255.

Область действия идентификаторов при использовании процедур и функций.  Областью действия  идентификатора называется часть про- граммы, где он может быть использован. Область действия идентификаторов определяется местом их объявления. Если идентификаторы допускается использовать только в рамках одной процедуры или функции, то такие идентификаторы, как уже говорилось выше, называются  локальными, а если действие идентификаторов распространяется на несколько вложенных процедур и/или функций, то такие идентифика- торы называются  глобальными.  Заметим, что понятие “глобальные” и “локальные” следует понимать относительно по отношению к конкретной процедуре или функции.

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

Областью действия идентификатора называется часть про-

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

идентификаторов определяется местом их объявления. Если

идентификаторы допускается использовать только в рамках

одной процедуры или функции, то такие идентификаторы,

как уже говорилось выше, называются локальными, а если

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

вложенных процедур и/или функций, то такие идентифика-

торы называются глобальными.

Заметим, что понятие “глобальные” и “локальные”

следует понимать относительно по отношению к

конкретной процедуре или функции.

Продемонстрируем это на следующем примере :  program S ;  var A0,B0,C0: integer;  procedure P1;  var A1,B1,C1: integer;  procedure P2;  var A2,B2,C2: integer;  begin  Допустимо использование как глобальных  A0,B0,C0,A1,B1,C1 так и локальных А2,В2,С2  end;  begin  Допустимо использование как глобальных А0, В0  и С0, так и локальных А1,В1 и С1  end;   begin   Допустимо использование только А0, В0 и С0.  End.  Данные А2, В2 и С2, объявленные в самой внутренней процедуре Р2, будут только локальными. А1, В1 и С1 будут глобальными для процедур и функций, описанных внутри процедуры Р1 и локальными для самой процедуры Р1 .   В данном примере А0, В0 и С0 будут глобальными для всех процедур и функций, используемых в программе.

Продемонстрируем это на следующем примере :

program S ;

var A0,B0,C0: integer;

procedure P1;

var A1,B1,C1: integer;

procedure P2;

var A2,B2,C2: integer;

begin Допустимо использование как глобальных

A0,B0,C0,A1,B1,C1 так и локальных А2,В2,С2

end;

begin

Допустимо использование как глобальных А0, В0

и С0, так и локальных А1,В1 и С1

end;

begin

Допустимо использование только А0, В0 и С0.

End.

Данные А2, В2 и С2, объявленные в самой внутренней процедуре Р2, будут только локальными.

А1, В1 и С1 будут глобальными для процедур и функций, описанных внутри процедуры Р1 и локальными для самой процедуры Р1 .

В данном примере А0, В0 и С0 будут глобальными для всех процедур и функций, используемых в программе.

 Сформулируем правила определения области действия для идентификаторов процедур и функций:  1. Действуют все идентификаторы, определенные внутри  процедуры/функции;  2. Действуют все идентификаторы окружающего контекста, если их имена отличаются от имен, объявленных внутри процедуры/функции;  Локальные идентификаторы процедуры/функции во внешнем окружении действовать не будут никогда (при выходе их процедуры/функции компьютеры о них забывает!) В случае совпадения имен глобального и локального идентификаторов действовать будет только внутренний локальный идентификатор.

Сформулируем правила определения области действия для идентификаторов процедур и функций:

1. Действуют все идентификаторы, определенные внутри

процедуры/функции;

2. Действуют все идентификаторы окружающего контекста, если их имена отличаются от имен, объявленных внутри процедуры/функции;

  • Локальные идентификаторы процедуры/функции во внешнем окружении действовать не будут никогда (при выходе их процедуры/функции компьютеры о них забывает!)
  • В случае совпадения имен глобального и локального идентификаторов действовать будет только внутренний локальный идентификатор.

Если первые три правила поясняются рассмотренным примером, то для пояснений четвертого приведем еще один пример:  program S2;  var A,B,C: integer;  procedure P1;  var A,B,C: real;   procedure P2;  var A,B,C: char;  begin  A,B,C- символьные  переменные и только!  end;  begin  Допустимо использование А, В и С, как  действительные переменные  end;  begin   Допустимо использование только А, В и С-целые,.  End.

Если первые три правила поясняются рассмотренным примером,

то для пояснений четвертого приведем еще один пример:

program S2;

var A,B,C: integer;

procedure P1;

var A,B,C: real;

procedure P2;

var A,B,C: char;

begin

A,B,C- символьные переменные и только!

end;

begin

Допустимо использование А, В и С, как

действительные переменные

end;

begin

Допустимо использование только А, В и С-целые,.

End.

 То есть, объявление во внутренней процедуре данных с идентификаторами, совпадающих по имени с данными внешних процедур, отменяет действие внешних идентификаторов и вводит свои локальные описания, независимо от того совпадают они по типу, или нет.  Локальные данные создаются при вызове процедуры/функции и существуют только во время ее выполнения. Выделение памяти для локальных данных происходит автоматически в начале выполнения процедуры/функции, а освобождается эта память - как только выполнение процедуры/функции заканчивается.  Операторы, расположенные в теле процедуры/функции могут обращаться к ее локальным данным и изменять их значения. Однако эти значения существуют только, пока процедура /функции работает!!! Как только она прекращает свою работу,  все изменения значений локальных данных,  исчезнут вместе с освобождением памяти!!!

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

Локальные данные создаются при вызове процедуры/функции и существуют только во время ее выполнения. Выделение памяти для локальных данных происходит автоматически в начале выполнения процедуры/функции, а освобождается эта память - как только выполнение процедуры/функции заканчивается.

Операторы, расположенные в теле процедуры/функции могут обращаться к ее локальным данным и изменять их значения. Однако эти значения существуют только, пока процедура /функции работает!!!

Как только она прекращает свою работу,

все изменения значений локальных данных,

исчезнут вместе с освобождением памяти!!!

И еще несколько правил! Если Вы хотите получить результат, полученный в процедуре/ функции и использовать в программе, то необходимо формальный соответствующий параметр oбъявить как переменную с ключевым словом VAR в списке параметров.  При вызове процедуры указывать константы в качестве параметров (в виде чисел или условных обозначений-имен) можно только в том случае, если соответствующий параметр в объявлении процедуры не имеет атрибута VAR, т.е. объявлен как параметр-значение.  3)  При вызове процедуры/функции не ставить на место фактических параметров различные выражения.  4)  Оформлять подпрограмму как функцию целесообразно только в том случае, если ожидается некоторый результат работы подпрограммы. Если же последовательность команд ориентирована на выполнение некоторого действия или действий, целесообразно оформлять ее как процедуру.

И еще несколько правил!

  • Если Вы хотите получить результат, полученный в процедуре/ функции и использовать в программе, то необходимо формальный соответствующий параметр oбъявить как переменную с ключевым словом VAR в списке параметров.
  • При вызове процедуры указывать константы в качестве параметров (в виде чисел или условных обозначений-имен) можно только в том случае, если соответствующий параметр в объявлении процедуры не имеет атрибута VAR, т.е. объявлен как параметр-значение.

3) При вызове процедуры/функции не ставить на место фактических параметров различные выражения.

4) Оформлять подпрограмму как функцию целесообразно только в том случае, если ожидается некоторый результат работы подпрограммы. Если же последовательность команд ориентирована на выполнение некоторого действия или действий, целесообразно оформлять ее как процедуру.


Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!