Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
11 / тп / lections / 5_Protsedury_i_funktsii.doc
Скачиваний:
28
Добавлен:
19.05.2015
Размер:
57.34 Кб
Скачать

Процедуры и функции как модульное программирование

1. Вводные понятия

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

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

Благодаря подпрограммам VB позволяет структурировать программу, то есть отделить ее функционально независимые части. В подпрограммы выделяется любой функционально законченный фрагмент программы. Стремятся к тому, чтобы программа состояла из большого количества подпрограмм. Каждая подпрограмма должна быть не более 20-30 строк кода.

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

Подпрограммы подобны и подчинены программе и решают четыре важные задачи, значительно облегчающие программирование:

1) избавляют от необходимости многократно повторять в тексте прог­раммы аналогичные фрагменты;

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

3) повышают устойчивость к ошибкам программирования и непредвиден­ным последствиям при модификациях;

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

Каждая подпрограмма определяется уникальным именем.

Процедуры и функции — относительно самостоятельные фрагменты прог­раммы, оформленные особым образом и снабженные именем.

Упоминание имени подпрограммы в теле программы называется вызовом подпрограммы.

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

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

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

Процедуры и функции общего назначения относятся к секции (General). Так как процедура не связана ни с одним элементом управления, то поле (Object) окна кода вместо имени объекта содержит строку (General). Используются, как правило, для решения каких-либо общих задач, например расчетов, которые необходимо вы­полнять в различных местах программы.

2. Объявление процедур и функций общего назначения в vb

Формат определения процедуры следующий:

[Private | Public] Sub <имя процедуры> (список аргументов)

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

[Exit Sub]

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

End Sub

Формат определения функции следующий:

[Private | Public ] Function <Имя функции> (список аргументов)

As <тип возвращаемого результата>

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

<имя функции> = <возвращаемое значение>

[Exit Function]

End Function

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

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

Exit SubилиExit Function. Эти команды осуществляют досрочный выход из процедуры или соответственно функции.

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

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

Соседние файлы в папке lections