Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа 3.pdf
Скачиваний:
51
Добавлен:
04.06.2015
Размер:
908.52 Кб
Скачать

Компонент BitBtn (кнопка с изображением) . Используется как обычная кнопка для инициирования некоторого события, но может содержать графическое изображение. Относится к группе Additional.

Caption

Kind

Glith

Задает текст надписи на кнопке.

Предлагает на выбор десять предопределенных типов кнопок Предлагает создание собственного типа кнопки с помощью окна Picture Editor.

Пример использования в программе

Компонент Image (графический образ) . Позволяет отображать рисунок, загруженный из графического файла. Относится к группе Additional.

Align

Задает режим выравнивания расположения объекта Image внутри формы.

Picture

Задает имя файла графического файла с рисунком с помощью окна Picture

 

Editor.

 

 

Streth Задает разрешение на автоматическое масштабирование рисунка относительно Image.

Пример использования в программе

Использование рекуррентной формулы

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

Как правило, в этом случае рекуррентная формула имеет вид: , откуда, зная

общий член последовательности, можно будет найти коэффициент С, на который нужно умножать каждый предыдущий член последовательности, чтобы найти следующий:

Пример. Вычислить сумму бесконечного ряда:

.

Найдем коэффициент C, разделив (k+1)-ое слагаемое на k–ое:

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

.

Процедуры и функции пользователя

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

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

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

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

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

Процедуры

Структура процедуры

Procedure <имя процедуры> (список формальных параметров); <Раздел описаний программного кода процедуры>

Begin

<Операторы тела процедуры> End;

Список формальных параметров может включать:

параметры-значения или входные параметры, значения которых должны быть установлены до начала работы данной процедуры (определяют исходные данные для работы процедуры);

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

должно стоять ключевое слово var.

Каждый параметр имеет имя и тип, указанный через «:». Параметры отделяются друг от друга «;»

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

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

Вычисление площади треугольника по формуле Герона оформлено с помощью процедуры.

Функции

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

Структура функции

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

Begin

<Операторы тела функции> <Имя функции>:=<Вычисленное значение>

End;

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

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

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

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

Вычисление площади треугольника по формуле Герона оформлено с помощью функции.

Рекурсивные процедуры и функции

Слово «рекурсия» происходит от латинского слова «recursio» - возвращение.

Если процедура (или функция) обращается сама к себе как к процедуре (или функции)

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

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

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

Факториал заданного числа – это произведение натуральных чисел от 1 до заданного числа.

Например, n-факториал это

Работа с несколькими формами

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

Application.Initialize;

// инициализация приложения

Application.CreateForm(TForml, Forml);

// создание формы 1

Application.CreateForm(TForm2, Form2);

// создание формы 2

Application.CreateForm(TForm3, Form3);

// создание формы 3

Application.Run;

// запуск приложения

Порядок создания дополнительных форм проекта:

1.создаем новую форму (File->New->Form);

2.сохраняем файл формы в папку рабочего проекта (Save);

3.подключаем к проекту созданную форму (Project->Add to Project).

При конструировании приложения более удобно указать главную форму в окне параметров проекта, вызываемом командой Project | Options (Проект | Параметры). Главная форма выбирается в раскрывающемся списке Main Form на странице Form, после этого Delphi автоматически вносит в файл проекта соответствующие изменения.

Форма может быть модальной и немодальной. Немодальная форма позволяет переключиться в другую форму приложения без своего закрытия. Модальная форма требует обязательного закрытия перед обращением к любой другой форме приложения.

Отображение и скрытие форм:

procedure TForml.btnShowFormsClick(Sender :TObject); begin

Form2.Show; // Показ формы 2 в немодальном режиме end;

procedure TForml.btnHideFormsClick(Sender :TObject); begin

Form3.ShowModal; // Показ формы 3 в модальном режиме end;

Вопросы для подготовки

кзащите лабораторной работы

1.Каково назначение операторов цикла?

2.Какие операторы цикла вы знаете?

3.Когда используется цикл c параметром For (ДЛЯ)?

4.Когда используются циклы c предусловием или постусловием?

5.Как изменяется управляющая переменная в цикле For?

6.Когда в цикле применяется составной оператор?

7.Когда выполняется тело оператора цикла с предусловием While (ПОКА)?

8.Когда выполняется тело оператора цикла Repeat с постусловием (ДО)?

9.Когда осуществляется выход из оператора Repeat?

10.Когда осуществляется выход из оператора While?

11.Чем отличаются циклы While и Repeat?

12.Что представляет из себя объект BitBtn?

13.Для чего служит управляющий элемент Image?

14.Какие форматы поддерживает Image?

15.Каково назначение свойства Stretch?

16.Для чего используется объект Memo?

17.Как используется свойство Text компоненты Memo?

18.Для чего необходимы коды ASCII-таблицы 13 и 10?

19.Для чего используется свойство Lines компоненты Memo?

20.Как заполняется свойство Lines компоненты Memo при проектировании проекта?

21.Как заполняется свойство Lines компоненты Memo при выполнении проекта?

22.Что такое подпрограмма?

23.Что такое функция и процедура?

24.Опишите различия между функцией и процедурой.

25.В каком разделе описываются процедуры и функции?

26.Что такое формальные параметры?

27.Что такое фактические параметры?

28.В чем разница между параметрами-значениями и параметрами-переменными?

29.Как осуществляется обращение к функциям и переменным?