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

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

Теоретические сведения

Теоретические сведения - раздел Информатика, ИНФОРМАТИКА Подпрограмма – Это Специальным Образом Оформленный Алгоритм, Который М...

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

В языке Pascal подпрограмма является частью основной программы, ее описание располагается в описательной части программы, т.е. перед первым begin программы.

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

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

Различают два вида подпрограмм – процедуры и функции. Далее рассмотрим подпрограммы-процедуры.

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

 

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

[<раздел описаний>]

Begin

<перечисление операторов и программных единиц>

End;

 

Таким образом, процедуры имеют структуру, аналогичную главной программе и содержат:

 

· заголовок со специальным словом procedure – признаком подпрограммы, именем процедуры и необязательным списком формальных параметров – данных, передаваемых на обработку и получаемых из процедуры;

· все разделы описаний, необходимые для работы подпрограммы: метки, константы, типы, переменные и подпрограммы;

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

 

При работе с подпрограммой всегда выделяется два этапа:

· описание подпрограммы, т.е. запись алгоритма решения задачи в специальной форме;

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

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

 

Обмен данными между процедурой и вызывающей программой

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

 

Program Example1;

{Описание процедуры}

Procedure Hello; {Заголовок процедуры}

Begin

Writeln (‘Привет!’) {Исполняемый оператор процедуры}

End;

{Раздел операторов основной программы}

 

Begin

Hello; {Вызов процедуры}

Hello;

Hello

End.

 

Процедура Hello при каждом вызове (а их в основной программе три) делает одно и то же – просто выводит слово на печать.

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

Исходные данные à Алгоритм процедуры à Результат.

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

 

Использование глобальных переменных для обмена данными

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

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

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

Задача 1. Найти минимальное из трех вещественных чисел

z = min (a, b, c), где z, a, b, c Î R.

Для решения задачи напишем процедуру, находящую минимальное из двух чисел и дважды последовательно вызовем ее для решения задачи, т.е. вначале найдем z = min (a,b), а затем z = min (z,c).

Program Min1;

{Описание переменных}

Var a,b,c, {исходные данные задачи}

x,y, {исходные данные функции}

z : real; {результат функции и результат задачи}

{Описание процедуры}

Procedure Min;

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

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

ИНФОРМАТИКА

Национальный аэрокосмический университет им Н Е Жуковского... Харьковский авиационный институт... А В Карташов Ю А Скоб В А Халтурин И А Трофимова...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Теоретические сведения

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

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

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

ИНФОРМАТИКА
Учебное пособие по лабораторному практикуму   Харьков “ХАИ” 2005 УДК 681.3.06+519.6   Информатика / А.В. Карташов, Ю.А. Скоб, В.А. Ха

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

Логический тип: BOOLEAN .
Отводится 1 байт памяти. Значением является множество из двух упорядоченных элементов с названием FALSE и TRUE. Форма изображения – запись соответствующего слова false или true.

Действительные типы величин.
Наиболее распространенная из этих форм – REAL. Для величин этого типа отводится 6–7 байт памяти. Допустимы положительные и отрицательные значения порядка 10-39…10+3

Процедуры ввода данных
  Для ввода значений величин типа: real, integer, char используется стандартная процедура, которую условно можно представить в следующем виде: read[ln][([файл], идентификатор

Процедура вывода данных
  Процедура вывода используется для стандартных типов данных вида real, integer, char, boolean и имеет вид write[ln][([файл],параметр1[:w1[:d1]],параметр2[:w2[:d2]],..)],

Теоретические сведения
Оператор условия if является одним из самых популярных средств, изменяющих естественный порядок выполнения операторов программы. Он может принимать одну из следующ

Теоретические сведения
  Очень часто при составлении программ встречается ситуация, когда действие необходимо выполнить некоторое количество раз. Здесь требуется оператор цикла. В языке Pasc

Вывод коэффициента рекуррентности q
        до цикла

Теоретические сведения
Простые типы данных определяют различные множества атомарных (неразделимых) значений. Составные или структурированные типы, в отличие от простых, задают множества «сложных» значений; каждое значени

Теоретические сведения
Физические файлы Файл – поименованная область для хранения данных на физическом носителе. Доступ к файлу для обмена данными происходит по имени. Устройства ЭВМ, с которыми

Теоретические сведения
Определение Запись – структура, состоящая из конечного числа компонент, называемых полями. Компоненты записи (поля) могут принадлежать разным типам. Компонента (поле) – пер

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

Создание модуля
Модуль содержит: · заголовок модуля (UNIT <имя модуля>); · раздел объявлений – интерфейс : INTERFACE; · раздел реализаций – IMPLEMENTATION; · раздел инициа

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