Студопедия
Главная страница | Контакты | Случайная страница

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

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

Читайте также:
  1. PR и использование новейших СМИ.
  2. SADT. Виды, назначение, использование обратной связи на диаграммах.
  3. V. СТАТУС МЕЖДУНАРОДНОЙ КОНВЕНЦИИ О БОРЬБЕ С ВЕРБОВКОЙ, ИСПОЛЬЗОВАНИЕМ, ФИНАНСИРОВАНИЕМ И ОБУЧЕНИЕМ НАЕМНИКОВ
  4. VI. Саурсы и кисло-сладкие коктейли с использованием ароматических модификаторов.
  5. Абсолютные и относительные показатели колеблемости рисков. Их использование в страховании.
  6. Алгоритм, виды алгоритмов. Алгоритмизация поиска правовой информации.
  7. Алгоритм. Свойства алгоритмов. Способы записи алгоритмов. Базовые структуры алгоритмов. Примеры.
  8. Алгоритмов разветвляющейся структуры
  9. Базовые структуры алгоритмов(базис Вирта, базис Дейкстры). В виде блок-схем и на Паскале
  10. Базовые структуры алгоритмов. В виде блок-схем и на Паскале.

 

 

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

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

Формат описания:

Procedure<имя процедуры>[(<список параметров>)];

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

begin

<блок операторов>

end;

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

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

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

Формальные параметры делятся на параметры-значения и параметры-переменные.

Процедура вызывается оператором процедуры, состоящем из:

Если процедура без параметров <имя процедуры>;

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

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

Формат описания:

Function<имя процедуры>[(<список параметров>)]:<тип результата>;

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

begin

<блок операторов>

end;

<список параметров> - это аргументы функции.

<тип результата> - это тип значения функции.

Отличия функции от процедуры:

В заголовке указывается имя типа значения описываемой функции.

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

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

Модули. Кроме подпрограмм, средства языка позволяют создавать модули. В отличие от программы, модуль не может быть автономно запушен на выполнение и содержит элементы, например, переменные и подпрограммы, которые допускается использовать в программе или в других модулях. Для того чтобы можно было использовать средства модуля, его необходимо подключить, указав имя этого модуля в разделе uses. Типичными примерами модулей являются system и sysutils, содержащие большое количество стандартных подпрограмм (некоторые из них уже были рассмотрены). Напомним, что для каждой формы приложения создается отдельный модуль.

Компилятор распознает модуль по его заголовку и создает в результате своей работы не исполняемый файл (ЕХЕ), как это было для приложения, а файл модуля с расширением DCU.

Модуль состоит из заголовка, в котором после ключевого слова unit указывается имя модуля, и четырех разделов: интерфейса (interface), реализации (implementation), инициализации (initialization) и деинициализации (Finalization).

Модуль имеет следующую структуру:

<Операторы>

// Раздел деинициализации

Finalization

<Операторы>

End.

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

 

 

1.3.1 Способы структурирования программ

 

 

Язык Object Pascal является объектно-ориентированным расширением языка Pascal и реализует концепцию объектно-ориентированного программирования (ООП). Это означает, что функциональность приложения определяется набором связанных между собой задач, каждая из которых становится самостоятельным объектом. Объект имеет свои свойства (т. е. характеристики, или атрибуты), методы, определяющие его поведение, и события, на которые он реагирует. Одним из наиболее важных понятий ООП является класс. Класс представляет собой дальнейшее развитие концепции типа и объединяет в себе задание не только структуры и размера переменных, но и выполняемых над ними операций. Объекты в программе всегда являются экземплярами того или иного класса (аналогично переменным определенного типа).

Базой ООП являются:

− инкапсуляция;

− наследование;

− полиморфизм.

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

Наследование — это процесс порождения новых объектов-потомков от существующих объектов-родителей, при этом потомок берет от родителя все его поля, свойства и методы. В дальнейшем наследуемые поля, свойства и методы можно использовать в неизменном виде или переопределять (модифицировать).

Классы. В языке Object Pascal классы — это специальные типы данных, используемые для описания объектов. Соответственно объект, имеющий тип какого-либо класса, является экземпляром этого класса или переменной этого типа.

Класс представляет собой особый тип записи, имеющий в своем составе такие элементы (члены), как поля, свойства и методы. Поля класса аналогичны полям записи и служат для хранения информации об объекте. Методами называются процедуры и функции, предназначенные для обработки полей. Свойства занимают промежуточное положение между полями и методами. С одной стороны, свойства можно использовать как поля, например, присваивая им значения с помощью оператора присваивания; с другой стороны, внутри класса доступ к значениям свойств выполняется методами класса.

Описание класса имеет следующую структуру:

Туре <Имя класса> = class (<Имя класса-родителя>)

private

<Частные описания>;

protected

<защищенные описания>;

public

<Общедоступные описания>;

published

<Опубликованные описания>;

end;

В приведенной структуре описаниями являются объявления свойств, методов и событий.

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

Разделы private и protected содержат защищенные описания, которые дос­тупны внутри модуля, в котором они находятся. Описания из раздела protected, кроме того, доступны для порожденных классов за пределами названного модуля.

Раздел public содержит общедоступные описания, которые видимы в любом месте программы, где доступен сам класс. Раздел published содержит опубликованные описания, которые в дополнение к общедоступным описаниям порождают динамическую (т. е. во время выполнения программы) информацию о типе (Run-Time Type Information, RTTJ).




Дата добавления: 2015-02-22; просмотров: 108 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2025 год. (0.008 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав