рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Передача данных в подпрограмму с помощью параметров. Формальные и фактические параметры

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

 

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

(<описание параметра 1>; < описание параметра 2>;…

< описание параметра n>) .

 

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

a) параметры – значения:

<имя параметра>: <тип параметра>;

b) параметры – переменные:

Var <имя параметра>: <тип параметра>;

c) параметры – константы:

Const <имя параметра>: <тип параметра>;

d) параметры без типа:

<имя параметра>;

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

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

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

 

< имя переменной >:=<имя функции>(< список фактических параметров >); в случае функций вызов функции должен присутствовать в выражении как операнд.

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

 

Рассмотрим способы передачи параметров.

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

Пусть имеется процедура с заголовком:

Procedure Proc1(par1: type1; par2,par3: type2);


В этом случае в ячейку памяти формального параметра передается копия фактического параметра и обратно не возвращается (рис. 9.1).

 

       
 
 
   
Рис. 9.1

 


Параметры – значения являются входными параметрами подпрограммы. В качестве фактического параметра могут использоваться как переменные, так и константы.

 

Параметры – переменные.

Пусть имеется процедура с заголовком:

Procedure Proc1(Var par1, par2: type1; Var par3: type2);

В этом случае подпрограмме передается адрес фактического параметра. По имеющемуся адресу изменяется содержимое ячеек памяти фактического параметра, т.е. выполняется возврат значения в вызывающую программу. (рис. 9.2).

 

       
 
 
   
Рис. 9.2

 

 


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

 

Параметры – константы.

Пусть имеется процедура с заголовком:

Procedure Proc1(Const par1, par2: type1; Const par3: type2);

В этом случае подпрограмме передается адрес фактического параметра. По имеющемуся адресу разрешено только брать значение фактического параметра, а изменять его значение запрещено (рис. 9.3).

 

 

       
 
 
   
Рис. 9.3

 

 


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

 

Параметры без типа.

Бестиповые параметры могут передаваться только по адресу, т. е. как параметры – переменные или параметры – константы. Для параметра без типа в списке формальных параметров тип в описании не указывается.

Пусть имеется процедура с заголовком:

Procedure Proc1(Var par1, par2; Const par3);

Вследствие отсутствия типа, нельзя использовать бестиповые параметры так же, как типизированные параметры. Перед использованием параметра требуется параметр без типа привести к какому-либо типу.

Операция приведения типа имеет следующий вид:

<имя типа>(<имя переменной>) .

Например,

Var a: integer;

R: real;

…………..

R:= real(a) /2;

…………..

где real(a) – операция явного приведения целочисленной переменной в вещественный тип.

 


– Конец работы –

Эта тема принадлежит разделу:

Информатика и программирование на языке Паскаль

Московский государственный горный университет... Кафедра Системы автоматизированного проектирования... КАРПОВИЧ Е Е...

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

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Москва-2005
    УДК 681.142.2(075.8)     Карпович Е.Е. Информатика и программирование на языке Паскаль. Учебное пособие. -М.: МГГУ, 2005 г. 152

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

Структура аппаратных средств ПЭВМ
  Персональная ЭВМ–это комплекс программных и аппаратных средств, предназначенных для автоматической обработки информации. П

Программное обеспечение ПЭВМ
  Назначением ЭВМ является выполнение программ. Совокупность программ для персонального компьютера называется программным обеспечением (ПО). ПО ПЭВМ включает в себя три больших класса

Этапы разработки программ
  Разработка программ включает в себя следующие этапы: 1. Анализ и уточнение требований, предъявляемых к программе. Иногда этот этап называют постановкой задачи. 2.

Формы представления алгоритмов
  Ключевым этапом разработки программы является этап разработки алгоритма и структур данных. Результат этого этапа – формализованное описание или представление алгоритма. Под формой п

Алгоритм линейной структуры.
  Заданы радиусы оснований R1 и R2, длина образующей L и высота h прямого усеченного конуса. Найти площадь поверхности и объем усеченного конуса.   Постановк

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

Ввод (X)
3.2.3. Алгоритмы циклической структуры.   Пример 1. Опреде

Ввод(K)
       

Ввод(R)
           

Алфавит и лексемы
  Язык Паскаль, как и любой язык программирования имеет свой алфавит, синтаксис и семантику. Алфавит ¾ это набор допустимых в языке символов. Синтаксис ¾ это совокупност

Структура программы на языке Паскаль
  Паскаль-программа включает в себя следующие разделы: § заголовок программы (Program); § раздел указания используемых модулей (Uses); § раздел объявления м

Массивы
  Данными типа «массив» являются массивы. Массив представляет собой фиксированное количество компонент одного и того же типа. Массив определяется именем, количеством размерностей (коо

Множества
  Тип-множество, используемый в языке Паскаль, соответствует понятию множества в математике, и создается с помощью следующего конструктора типа: Type T = set of T0;

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

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

Использование процедур и функций
  Задание. Определить наибольший общий делитель двух целых чисел. Постановка задачи. Входные данные: A , B – целые, положительные числа. Вых

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

Основные определения
  По способу распределения памяти данных в программах делятся на статические и динамические. Данные статической структуры – это данные, размещение которых в памяти ЭВМ и взаимосвязи м

Объявление и создание динамических структур данных. Указатели
В языке Паскаль имеются средства создания динамических структур данных, которые позволяют изменять количество элементов данных во время выполнения программы, т.е. создавать динамические переменные,

Программа создания и обработки линейного списка
  Линейный список – это структура данных, представляющая собой последовательность компонент, связанных между собой адресами, как показано на рис. 1.

Результаты работы программы.
0 -- Exit; 1 -- Create; 2 -- Display; 3 -- Add; 4 -- Delete; Input option (0 -- 4)   0 -- Exit; 1 -- Create; 2 -- Display; 3 -- Add; 4 -- Delete; Input o

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги