Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Подпрограммы (методы) в языках программирования. Формальные и фактические параметры. Глобальные и локальные переменные. Рекурсивное выполнение подпрограммы.






 

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

Язык Турбо Паскаль содержит два типа подпрограмм:

1. Процедуры

2. Функции.

Процедуры в Паскале. Структура процедуры аналогична структуре программы и состоит из заголовка и блока (тела программы).

Procedure < имя> (< список параметров>)

< блок описаний>

begin

< тело процедуры>

end;

Структура процедуры почти полностью совпадает со структурой программы. Но имеются исключения:

I. Заголовок начинается с зарезервированного слова Procedure, кроме того содержит список параметров. Параметры – это средства связи процедуры с программой и другими процедурами, механизм обмена данными. Параметры процедуры бывают двух видов:

- параметры-значения, или входные параметры – это исходные, (входные) данные, передаваемые в процедуру. Их значения после окончания работы процедуры остаются неизменными. Описание параметров-значений: < имя>: < тип>.

- параметры-переменные, или выходные параметры – это результаты работы процедуры, передаваемые обратно в программу или другую процедуру. Их значения поле окончания процедуры изменяются. Описание выходных параметров: Var < имя>: < тип>.

Например, процедура может иметь такой заголовок:

Procedure Calculate (x, y: integer; var z: integer, var f: real);

Имя этой процедуры Calculate. Она имеет 4 параметра: два входных (или параметра значения) – это параметры x и y целого типа; два выходных (или параметра-переменных) – я целого типа и f вещественного типа, т.к. типы у них различны, перед описанием каждого указано зарезервированное слово Var.

Блок описаний может содержать те же разделы, что и блок описаний программы (Const, Type, Var, Procedure, Function), за исключением описания подключения модулей библиотек Uses.

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

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

Тело процедуры также представляет собой составной оператор, но заканчивается End;

ВЫЗОВ ПРОЦЕДУРЫ может осуществляться из основной программы или процедуры, описанной после вызываемой. При вызове указывается имя процедуры и список фактических параметров, т.е. тех, которые будут подставлены на место формальных (используемых в списке параметров процедуры). Количество, порядок и типы фактических параметров должны совпадать с количеством, порядком и типами формальных параметров. Например, процедуру Calculate, заголовок которой был описан выше, можно вызвать следующим образом:

Calculate (a, b, c, d); - при условии, что a, b, с имеют тип Integer, d – Real.

Calculate(23, p+14, q, w); - если p и q имеют тип Integer, a w – Real.

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

Описание функции:

Function < имя> (< список аргументов>): < тип значения функции>;

< Блок описания локальных переменных>

Begin

< тело функции>

End;

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

< имя функции>: =< вычисленное значение>;

Которая и позволит функции возвратить вычисленное значение.

Например, опишем функцию вычисления среднего арифметического двух целых чисел:

Function middle(a, b: integer): real;

Begin

Middle: =(a+b)/2

End;

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

41 Объектно-ориентированное программирование: класс, объект, поле, метод. Принципы объектно-ориентированного подхода. Их реализация в современных языках программирования.

 

42 Языки разметки HTML и XML. Каскадные таблицы стилей.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.