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

Рекурсия и опережающее описание

Читайте также:
  1. СХЕМА БОРТОВОЙ СЕТИ. ОПИСАНИЕ. РАБОТА.

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

Рассмотрим классический пример – вычисление факториала. Программа получает от компонента Edit1 целое число N и выводит в компонент Label1 значение N!, которое вычисляется с помощью рекурсивной функции Factorial:

Procedure Form2.Button1Click(Sender:TObject);

Function Factorial(N:Word):real;

Begin

If N<=0 then Factorial:=1

Else Factorial:=N*Factorial(N-1)

End;

Var N:integer;

Begin

N:=StrToInt(Edit1.Text);

Label1.Caption:=FloatToStr(Factorial(N));

End;

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

 

3. Понятие модуля, его структура.

Модуль – это автономно компилируемая программная единица. В отличие от программы, модуль не может быть запущен на выполнение. Модуль содержит элементы (переменные, подпрограммы), которые можно использовать в программе или других модулях. Чтобы можно было использовать средства модуля, его необходимо подключить, указав имя этого модуля в разделе Uses программы.

Типы модулей в Delphi.

Наиболее распространенным типом модуля в Delphi является Форма – модуль со связанным с ним окном. Интерфейсная часть такого модуля обычно содержит объявление класса новой формы (класс – особый тип данных) и автоматически обновляется Delphi в ходе конструирования окна. А также в разделе подключения модулей уже имеется список необходимых стандартных модулей Delphi.

Модули данных имеют связанные с ними окна, однако эти окна никогда не появляются на экране. Невидимое окно модуля данных предназначено для размещения компонентов доступа к данным и связанных с ним объектов-полей.

Модули динамических библиотек предназначены для создания широко используемых Windows динамически связываемых библиотек.dll..dll служат универсальным средством согласования подпрограмм, написанных на разных языках программирования.

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

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

Урок № 22. Общие сведения ввода-выхода данных. Процедуры ввода-выхода данных.

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.)