Информатика и информационные технологии - [5]

Шрифт
Интервал

ЛЕКЦИЯ № 3. Процедуры и функции

1. Понятие вспомогательного алгоритма

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

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

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

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

1) параметры-переменные;

2) параметры-константы;

3) параметры-значения;

4) параметры-процедуры и параметры-функции, т. е. параметры процедурного типа;

5) нетипизированные параметры-переменные.

Тексты процедур и функций помещаются в раздел описаний процедур и функций.

Передача имен процедур и функций в качестве параметров

Во многих задачах, особенно в задачах вычислительной математики, необходимо передавать имена процедур и функций в качестве параметров. Для этого в TURBO PASCAL введен новый тип данных – процедурный, или функциональный, в зависимости от того, что описывается. (Описание процедурных и функциональных типов приводится в разделе описания типов.)

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

type

Proc = Procedure;

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

2. Процедуры в Pascal

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

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

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

3. Функции в Pascal

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

Function <имя > [(<список формальных параметров>)]: <тип возвращаемого результата >;

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

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

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

4. Опережающие описания и подключение подпрограмм. Директива

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

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

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


Рекомендуем почитать
История Новосибирской области. Часть 2

Учебное пособие по истории Новосибирской области для учащихся 9-10 классов школ Новосибирской области. Издание 1977 г. Охватывает период с начала XX века до середины 70-х гг. XX века. Соответствует школьной программе по истории СССР. Содержит фактические и цифровые данные, характеризующие развитие области в период социализма. В книге используются таблицы и CSS, поэтому для чтения лучше использовать программу Cool Reader3. Для пользующихся другими программами, таблицы дублируются в графическом формате.


Социология

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


История зарубежной литературы XIX века: Реализм

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


Культурология

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


Готовые сочинения по былинам. 5-6 классы

Дорогие ребята!На уроках литературы вы знакомитесь с произведениями устного народного творчества. Один из самых сложных жанров фольклора – былины. У вас часто возникают трудности в изучении этих произведений – особенно в написании сочинений. Нынешнему школьнику непросто понять мир старинных былин и чувства, которые древнерусский сказитель вкладывал в них. В тексте былин всегда встречается много слов и образов, которые в умах и сердцах наших далёких предков вызывали яркие впечатления и горячие отклики, а современному человеку их необходимо пояснять.Эта книга поможет вам легко выполнить самые различные задания учителя: найти постоянные эпитеты в тексте былины, дать сравнительную характеристику персонажей, ответить на вопросы по содержанию произведения, подобрать пословицы на заданную тему и объяснить их происхождение и, конечно же, написать отличное сочинение.На темы, которые предлагает школьная программа, в книге представлены уже готовые сочинения.


Массовая литература сегодня

В пособии обсуждаются вопросы, связанные с историей массовой литературы, этапами ее изучения в России и на Западе, выявляются дифференциальные признаки массовой литературы, устанавливается ее место в литературном процессе и культуре, степень влияния на читательскую аудиторию, характеризуется язык текстов массовой литературы в проекции на языковую ситуацию рубежа XX–XXI веков. Особый раздел пособия посвящен филологическому анализу детектива, романа-боевика, фантастического романа, дамского романа, историко-авантюрного романа, популярной песни и некоторых других актуальных жанров массовой литературы.


Детские болезни

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


История экономики

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


Психология труда

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


Педагогическая психология

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